@parischap/conversions 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1304 -0
- package/cjs/BigDecimal.js +16 -0
- package/cjs/BigDecimal.js.map +1 -0
- package/cjs/BigInt.js +34 -0
- package/cjs/BigInt.js.map +1 -0
- package/cjs/DateTime.js +2202 -0
- package/cjs/DateTime.js.map +1 -0
- package/cjs/DateTimeFormat.js +269 -0
- package/cjs/DateTimeFormat.js.map +1 -0
- package/cjs/DateTimeFormatContext.js +327 -0
- package/cjs/DateTimeFormatContext.js.map +1 -0
- package/cjs/Email.js +73 -0
- package/cjs/Email.js.map +1 -0
- package/cjs/Integer.js +155 -0
- package/cjs/Integer.js.map +1 -0
- package/cjs/NumberBase10Format.js +759 -0
- package/cjs/NumberBase10Format.js.map +1 -0
- package/cjs/PositiveInteger.js +191 -0
- package/cjs/PositiveInteger.js.map +1 -0
- package/cjs/PositiveReal.js +162 -0
- package/cjs/PositiveReal.js.map +1 -0
- package/cjs/Real.js +113 -0
- package/cjs/Real.js.map +1 -0
- package/cjs/RoundingMode.js +86 -0
- package/cjs/RoundingMode.js.map +1 -0
- package/cjs/RoundingOption.js +152 -0
- package/cjs/RoundingOption.js.map +1 -0
- package/cjs/Schema.js +218 -0
- package/cjs/Schema.js.map +1 -0
- package/cjs/SemVer.js +73 -0
- package/cjs/SemVer.js.map +1 -0
- package/cjs/Template.js +189 -0
- package/cjs/Template.js.map +1 -0
- package/cjs/TemplatePart.js +51 -0
- package/cjs/TemplatePart.js.map +1 -0
- package/cjs/TemplateParts.js +46 -0
- package/cjs/TemplateParts.js.map +1 -0
- package/cjs/TemplatePlaceholder.js +381 -0
- package/cjs/TemplatePlaceholder.js.map +1 -0
- package/cjs/TemplateSeparator.js +116 -0
- package/cjs/TemplateSeparator.js.map +1 -0
- package/cjs/index.js +67 -0
- package/cjs/index.js.map +1 -0
- package/cjs/internal/Int.js +50 -0
- package/cjs/internal/Int.js.map +1 -0
- package/cjs/internal/Positive.js +50 -0
- package/cjs/internal/Positive.js.map +1 -0
- package/dts/BigDecimal.d.ts +11 -0
- package/dts/BigDecimal.d.ts.map +1 -0
- package/dts/BigInt.d.ts +30 -0
- package/dts/BigInt.d.ts.map +1 -0
- package/dts/DateTime.d.ts +1421 -0
- package/dts/DateTime.d.ts.map +1 -0
- package/dts/DateTimeFormat.d.ts +257 -0
- package/dts/DateTimeFormat.d.ts.map +1 -0
- package/dts/DateTimeFormatContext.d.ts +112 -0
- package/dts/DateTimeFormatContext.d.ts.map +1 -0
- package/dts/Email.d.ts +61 -0
- package/dts/Email.d.ts.map +1 -0
- package/dts/Integer.d.ts +123 -0
- package/dts/Integer.d.ts.map +1 -0
- package/dts/NumberBase10Format.d.ts +641 -0
- package/dts/NumberBase10Format.d.ts.map +1 -0
- package/dts/PositiveInteger.d.ts +161 -0
- package/dts/PositiveInteger.d.ts.map +1 -0
- package/dts/PositiveReal.d.ts +130 -0
- package/dts/PositiveReal.d.ts.map +1 -0
- package/dts/Real.d.ts +102 -0
- package/dts/Real.d.ts.map +1 -0
- package/dts/RoundingMode.d.ts +72 -0
- package/dts/RoundingMode.d.ts.map +1 -0
- package/dts/RoundingOption.d.ts +79 -0
- package/dts/RoundingOption.d.ts.map +1 -0
- package/dts/Schema.d.ts +159 -0
- package/dts/Schema.d.ts.map +1 -0
- package/dts/SemVer.d.ts +61 -0
- package/dts/SemVer.d.ts.map +1 -0
- package/dts/Template.d.ts +113 -0
- package/dts/Template.d.ts.map +1 -0
- package/dts/TemplatePart.d.ts +28 -0
- package/dts/TemplatePart.d.ts.map +1 -0
- package/dts/TemplateParts.d.ts +23 -0
- package/dts/TemplateParts.d.ts.map +1 -0
- package/dts/TemplatePlaceholder.d.ts +274 -0
- package/dts/TemplatePlaceholder.d.ts.map +1 -0
- package/dts/TemplateSeparator.d.ts +130 -0
- package/dts/TemplateSeparator.d.ts.map +1 -0
- package/dts/index.d.ts +21 -0
- package/dts/index.d.ts.map +1 -0
- package/dts/internal/Int.d.ts +6 -0
- package/dts/internal/Int.d.ts.map +1 -0
- package/dts/internal/Positive.d.ts +6 -0
- package/dts/internal/Positive.d.ts.map +1 -0
- package/esm/BigDecimal.js +9 -0
- package/esm/BigDecimal.js.map +1 -0
- package/esm/BigInt.js +27 -0
- package/esm/BigInt.js.map +1 -0
- package/esm/DateTime.js +2130 -0
- package/esm/DateTime.js.map +1 -0
- package/esm/DateTimeFormat.js +238 -0
- package/esm/DateTimeFormat.js.map +1 -0
- package/esm/DateTimeFormatContext.js +296 -0
- package/esm/DateTimeFormatContext.js.map +1 -0
- package/esm/Email.js +65 -0
- package/esm/Email.js.map +1 -0
- package/esm/Integer.js +128 -0
- package/esm/Integer.js.map +1 -0
- package/esm/NumberBase10Format.js +717 -0
- package/esm/NumberBase10Format.js.map +1 -0
- package/esm/PositiveInteger.js +164 -0
- package/esm/PositiveInteger.js.map +1 -0
- package/esm/PositiveReal.js +135 -0
- package/esm/PositiveReal.js.map +1 -0
- package/esm/Real.js +106 -0
- package/esm/Real.js.map +1 -0
- package/esm/RoundingMode.js +79 -0
- package/esm/RoundingMode.js.map +1 -0
- package/esm/RoundingOption.js +120 -0
- package/esm/RoundingOption.js.map +1 -0
- package/esm/Schema.js +203 -0
- package/esm/Schema.js.map +1 -0
- package/esm/SemVer.js +65 -0
- package/esm/SemVer.js.map +1 -0
- package/esm/Template.js +158 -0
- package/esm/Template.js.map +1 -0
- package/esm/TemplatePart.js +22 -0
- package/esm/TemplatePart.js.map +1 -0
- package/esm/TemplateParts.js +19 -0
- package/esm/TemplateParts.js.map +1 -0
- package/esm/TemplatePlaceholder.js +342 -0
- package/esm/TemplatePlaceholder.js.map +1 -0
- package/esm/TemplateSeparator.js +107 -0
- package/esm/TemplateSeparator.js.map +1 -0
- package/esm/index.js +21 -0
- package/esm/index.js.map +1 -0
- package/esm/internal/Int.js +43 -0
- package/esm/internal/Int.js.map +1 -0
- package/esm/internal/Positive.js +43 -0
- package/esm/internal/Positive.js.map +1 -0
- package/esm/package.json +3 -0
- package/package.json +49 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"NumberBase10Format.js","names":["MBigDecimal","MBigInt","MFunction","MInspectable","MMatch","MNumber","MPipeable","MPredicate","MRegExpString","MString","MStruct","MTypes","Array","BigDecimal","BigInt","Either","flow","Function","Number","Option","pipe","Predicate","String","Struct","Tuple","CVReal","CVRoundingMode","CVRoundingOption","moduleTag","_TypeId","Symbol","for","SignDisplay","isPlusSign","strictEquals","isMinusSign","signStringToSignValue","liftPredicate","as","getOrElse","constant","hasASign","get","isNonEmpty","map","hasNoSign","isEmpty","hasNotPlusSign","not","toParser","make","whenIs","Auto","Always","ExceptZero","when","struct","isZero","identity","orElse","Negative","Never","exhaustive","toFormatter","sign","constEmptyString","ScientificNotation","_stringToExponent","unsafeFromString","orElseSome","None","whenIsOr","Standard","Normalized","Engineering","filter","isMultipleOf","zeroOrinRange","rangeTop","or","and","greaterThanOrEqualTo","unsafeFromNumber","lessThan","zeroOrinOneToTenRange","zeroOrinOneToOneThousandRange","toMantissaChecker","some","toMantissaAdjuster","appendElement","none","b","value","log10","unsafeLog10","abs","scale","correctedLog10","intModulo","has","u","hasProperty","proto","BaseProto","params","objectFromDataAndProto","thousandSeparator","fractionalSeparator","showNullIntegerPart","minimumFractionalDigits","maximumFractionalDigits","eNotationChars","scientificNotation","roundingMode","signDisplay","toDescription","self","isInteger","isUngrouped","_toBigDecimalExtractor","fillChar","removeThousandSeparator","removeNCharsEveryMCharsFromRight","m","DIGIT_GROUP_SIZE","n","length","getParts","matchAndGroups","append","base10Number","atStart","RegExp","signParser","exponentParser","mantissaChecker","fillCharIsZero","text","gen","match","signPart","fillChars","mantissaIntegerPart","mantissaFractionalPart","exponentPart","mantissaFractionalPartLength","between","minimum","maximum","mantissa","onNone","zero","onSome","fromPrimitiveOrThrow","sum","checkedMantissa","exponent","toBigDecimalExtractor","compose","parsedText","multiply","toThrowingBigDecimalExtractor","getOrThrowWith","Error","toRealExtractor","flatMap","fromBigDecimalOption","toThrowingRealExtractor","toBigDecimalParser","extractor","getSecond","getFirst","toThrowingBigDecimalParser","toRealParser","toThrowingRealParser","toNumberFormatter","rounder","Infinity","precision","toBigDecimalRounder","signFormatter","mantissaAdjuster","hasThousandSeparator","eNotationChar","takeNFirstCharsOfFillChars","flipDual","takeLeft","number","selfAsBigDecimal","isNumber","Object","is","adjusted","absRounded","integerPart","fractionalPart","truncatedAndFollowingParts","signString","normalizedFractionalPart","normalize","fractionalPartString","fromNonNullablePrimitive","padStart","padEnd","prepend","integerPartString","toString","fIfTrue","condition","f","splitEquallyRestAtStart","intersperse","join","merge","exponentString","fromNumber","numberString","pad","subtract","max","withNDecimals","decimalNumber","withMaxNDecimals","maxDecimalNumber","Math","min","withMinNDecimals","minDecimalNumber","withNoScientificNotation","withStandardScientificNotation","withNormalizedScientificNotation","withEngineeringScientificNotation","withThousandSeparator","withoutThousandSeparator","withFractionalSeparator","withSignDisplayForNegative","withSignDisplay","withSignDisplayExceptZero","withSignDisplayForNegativeExceptZero","withoutSignDisplay","withCeilRoundingMode","Type","Ceil","withFloorRoundingMode","Floor","withExpandRoundingMode","Expand","withTruncRoundingMode","Trunc","withHalfCeilRoundingMode","HalfCeil","withHalfFloorRoundingMode","HalfFloor","withHalfExpandRoundingMode","HalfExpand","withHalfTruncRoundingMode","HalfTrunc","withHalfEvenRoundingMode","HalfEven","withNullIntegerPartNotShowing","withNullIntegerPartShowing","frenchStyleNumber","frenchStyleUngroupedNumber","frenchStyleInteger","dutchStyleNumber","dutchStyleUngroupedNumber","dutchStyleInteger","ukStyleNumber","ukStyleUngroupedNumber","ukStyleInteger","integer"],"sources":["../../esm/NumberBase10Format.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,164 @@
|
|
1
|
+
/**
|
2
|
+
* This module implements a finite integer brand (Infinity, NaN or non-null fractional part
|
3
|
+
* disallowed)
|
4
|
+
*/
|
5
|
+
import { Brand, Either, flow, Function, Option, Schema } from 'effect';
|
6
|
+
import * as CVInteger from './Integer.js';
|
7
|
+
import * as CVPositive from './internal/Positive.js';
|
8
|
+
/**
|
9
|
+
* Module tag
|
10
|
+
*
|
11
|
+
* @category Module markers
|
12
|
+
*/
|
13
|
+
export const moduleTag = '@parischap/conversions/PositiveInteger/';
|
14
|
+
/**
|
15
|
+
* Brand constructor. Should not be used directly
|
16
|
+
*
|
17
|
+
* @category Constructors
|
18
|
+
*/
|
19
|
+
export const constructor = /*#__PURE__*/Brand.all(CVInteger.constructor, CVPositive.constructor);
|
20
|
+
/**
|
21
|
+
* Constructs a PositiveInteger from a number without any verifications
|
22
|
+
*
|
23
|
+
* @category Constructors
|
24
|
+
*/
|
25
|
+
export const unsafeFromNumber = /*#__PURE__*/Brand.nominal();
|
26
|
+
/**
|
27
|
+
* Constructs an Option of a PositiveInteger from a number
|
28
|
+
*
|
29
|
+
* @category Constructors
|
30
|
+
*/
|
31
|
+
export const fromNumberOption = /*#__PURE__*/constructor.option.bind(constructor);
|
32
|
+
/**
|
33
|
+
* Constructs an Either of a PositiveInteger from a number
|
34
|
+
*
|
35
|
+
* @category Constructors
|
36
|
+
*/
|
37
|
+
export const fromNumber = /*#__PURE__*/constructor.either.bind(constructor);
|
38
|
+
/**
|
39
|
+
* Constructs a PositiveInteger from a number or throws
|
40
|
+
*
|
41
|
+
* @category Constructors
|
42
|
+
*/
|
43
|
+
export const fromNumberOrThrow = constructor;
|
44
|
+
/**
|
45
|
+
* Constructs a PositiveInteger from a BigDecimal without any checks
|
46
|
+
*
|
47
|
+
* @category Constructors
|
48
|
+
*/
|
49
|
+
export const unsafeFromBigDecimal = CVInteger.unsafeFromBigDecimal;
|
50
|
+
/**
|
51
|
+
* Constructs an Option of a PositiveInteger from a BigDecimal
|
52
|
+
*
|
53
|
+
* @category Constructors
|
54
|
+
*/
|
55
|
+
export const fromBigDecimalOption = /*#__PURE__*/flow(CVInteger.fromBigDecimalOption, /*#__PURE__*/Option.flatMap(CVPositive.fromNumberOption));
|
56
|
+
/**
|
57
|
+
* Constructs an Either of a PositiveInteger from a BigDecimal
|
58
|
+
*
|
59
|
+
* @category Constructors
|
60
|
+
*/
|
61
|
+
export const fromBigDecimal = /*#__PURE__*/flow(CVInteger.fromBigDecimal, /*#__PURE__*/Either.flatMap(CVPositive.fromNumber));
|
62
|
+
/**
|
63
|
+
* Constructs a PositiveInteger from a BigDecimal or throws
|
64
|
+
*
|
65
|
+
* @category Constructors
|
66
|
+
*/
|
67
|
+
export const fromBigDecimalOrThrow = /*#__PURE__*/flow(CVInteger.fromBigDecimalOrThrow, CVPositive.fromNumberOrThrow);
|
68
|
+
/**
|
69
|
+
* Constructs a PositiveInteger from a BigInt without any checks
|
70
|
+
*
|
71
|
+
* @category Constructors
|
72
|
+
*/
|
73
|
+
export const unsafeFromBigInt = CVInteger.unsafeFromBigInt;
|
74
|
+
/**
|
75
|
+
* Constructs an Option of a PositiveInteger from a BigInt
|
76
|
+
*
|
77
|
+
* @category Constructors
|
78
|
+
*/
|
79
|
+
export const fromBigIntOption = /*#__PURE__*/flow(CVInteger.fromBigIntOption, /*#__PURE__*/Option.flatMap(CVPositive.fromNumberOption));
|
80
|
+
/**
|
81
|
+
* Constructs an Either of a PositiveInteger from a BigInt
|
82
|
+
*
|
83
|
+
* @category Constructors
|
84
|
+
*/
|
85
|
+
export const fromBigInt = /*#__PURE__*/flow(CVInteger.fromBigInt, /*#__PURE__*/Either.flatMap(CVPositive.fromNumber));
|
86
|
+
/**
|
87
|
+
* Constructs a PositiveInteger from a BigInt or throws
|
88
|
+
*
|
89
|
+
* @category Constructors
|
90
|
+
*/
|
91
|
+
export const fromBigIntOrThrow = /*#__PURE__*/flow(CVInteger.fromBigIntOrThrow, CVPositive.fromNumberOrThrow);
|
92
|
+
/**
|
93
|
+
* Constructs a PositiveInteger from a Real without any checks
|
94
|
+
*
|
95
|
+
* @category Constructors
|
96
|
+
*/
|
97
|
+
export const unsafeFromReal = Function.identity;
|
98
|
+
/**
|
99
|
+
* Constructs an Option of a PositiveInteger from a Real
|
100
|
+
*
|
101
|
+
* @category Constructors
|
102
|
+
*/
|
103
|
+
export const fromRealOption = /*#__PURE__*/flow(CVInteger.fromRealOption, /*#__PURE__*/Option.flatMap(CVPositive.fromNumberOption));
|
104
|
+
/**
|
105
|
+
* Constructs an Either of a PositiveInteger from a Real
|
106
|
+
*
|
107
|
+
* @category Constructors
|
108
|
+
*/
|
109
|
+
export const fromReal = /*#__PURE__*/flow(CVInteger.fromReal, /*#__PURE__*/Either.flatMap(CVPositive.fromNumber));
|
110
|
+
/**
|
111
|
+
* Constructs a PositiveInteger from a Real or throws
|
112
|
+
*
|
113
|
+
* @category Constructors
|
114
|
+
*/
|
115
|
+
export const fromRealOrThrow = /*#__PURE__*/flow(CVInteger.fromRealOrThrow, CVPositive.fromNumberOrThrow);
|
116
|
+
/**
|
117
|
+
* Constructs an Option of a PositiveInteger from an Integer
|
118
|
+
*
|
119
|
+
* @category Constructors
|
120
|
+
*/
|
121
|
+
export const fromIntegerOption = /*#__PURE__*/flow(CVPositive.fromNumberOption);
|
122
|
+
/**
|
123
|
+
* Constructs an Either of a PositiveInteger from an Integer
|
124
|
+
*
|
125
|
+
* @category Constructors
|
126
|
+
*/
|
127
|
+
export const fromInteger = CVPositive.fromNumber;
|
128
|
+
/**
|
129
|
+
* Constructs a PositiveInteger from an Integer or throws
|
130
|
+
*
|
131
|
+
* @category Constructors
|
132
|
+
*/
|
133
|
+
export const fromIntegerOrThrow = /*#__PURE__*/flow(CVPositive.fromNumberOrThrow);
|
134
|
+
/**
|
135
|
+
* Constructs an Option of a PositiveInteger from a PositiveReal
|
136
|
+
*
|
137
|
+
* @category Constructors
|
138
|
+
*/
|
139
|
+
export const fromPositiveRealOption = /*#__PURE__*/flow(CVInteger.fromRealOption);
|
140
|
+
/**
|
141
|
+
* Constructs an Either of a PositiveInteger from a PositiveReal
|
142
|
+
*
|
143
|
+
* @category Constructors
|
144
|
+
*/
|
145
|
+
export const fromPositiveReal = CVInteger.fromReal;
|
146
|
+
/**
|
147
|
+
* Constructs a PositiveInteger from a PositiveReal or throws
|
148
|
+
*
|
149
|
+
* @category Constructors
|
150
|
+
*/
|
151
|
+
export const fromPositiveRealOrThrow = /*#__PURE__*/flow(CVInteger.fromRealOrThrow);
|
152
|
+
/**
|
153
|
+
* A Schema that transforms a number into a CVPositiveInteger.Type
|
154
|
+
*
|
155
|
+
* @internal
|
156
|
+
*/
|
157
|
+
export const SchemaFromNumber = /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.fromBrand(constructor));
|
158
|
+
/**
|
159
|
+
* A Schema that represents a CVPositiveInteger.Type
|
160
|
+
*
|
161
|
+
* @internal
|
162
|
+
*/
|
163
|
+
export const SchemaFromSelf = /*#__PURE__*/Schema.typeSchema(SchemaFromNumber);
|
164
|
+
//# sourceMappingURL=PositiveInteger.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PositiveInteger.js","names":["Brand","Either","flow","Function","Option","Schema","CVInteger","CVPositive","moduleTag","constructor","all","unsafeFromNumber","nominal","fromNumberOption","option","bind","fromNumber","either","fromNumberOrThrow","unsafeFromBigDecimal","fromBigDecimalOption","flatMap","fromBigDecimal","fromBigDecimalOrThrow","unsafeFromBigInt","fromBigIntOption","fromBigInt","fromBigIntOrThrow","unsafeFromReal","identity","fromRealOption","fromReal","fromRealOrThrow","fromIntegerOption","fromInteger","fromIntegerOrThrow","fromPositiveRealOption","fromPositiveReal","fromPositiveRealOrThrow","SchemaFromNumber","Number","pipe","fromBrand","SchemaFromSelf","typeSchema"],"sources":["../../esm/PositiveInteger.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,135 @@
|
|
1
|
+
/**
|
2
|
+
* This module implements a positive finite number brand (NaN, Infinity and negative numbers
|
3
|
+
* disallowed). Useful for a price, a physical quantity...
|
4
|
+
*/
|
5
|
+
import { MNumber } from '@parischap/effect-lib';
|
6
|
+
import { Brand, Either, flow, Function, Option, Schema } from 'effect';
|
7
|
+
import * as CVPositive from './internal/Positive.js';
|
8
|
+
import * as CVReal from './Real.js';
|
9
|
+
/**
|
10
|
+
* Module tag
|
11
|
+
*
|
12
|
+
* @category Module markers
|
13
|
+
*/
|
14
|
+
export const moduleTag = '@parischap/conversions/PositiveReal/';
|
15
|
+
/**
|
16
|
+
* Brand constructor. Should not be used directly
|
17
|
+
*
|
18
|
+
* @category Constructors
|
19
|
+
*/
|
20
|
+
export const constructor = /*#__PURE__*/Brand.all(CVReal.constructor, CVPositive.constructor);
|
21
|
+
/**
|
22
|
+
* Constructs a PositiveReal from a number without any verifications
|
23
|
+
*
|
24
|
+
* @category Constructors
|
25
|
+
*/
|
26
|
+
export const unsafeFromNumber = /*#__PURE__*/Brand.nominal();
|
27
|
+
/**
|
28
|
+
* Constructs an Option of a PositiveReal from a number
|
29
|
+
*
|
30
|
+
* @category Constructors
|
31
|
+
*/
|
32
|
+
export const fromNumberOption = /*#__PURE__*/constructor.option.bind(constructor);
|
33
|
+
/**
|
34
|
+
* Constructs an Either of a PositiveReal from a number
|
35
|
+
*
|
36
|
+
* @category Constructors
|
37
|
+
*/
|
38
|
+
export const fromNumber = /*#__PURE__*/constructor.either.bind(constructor);
|
39
|
+
/**
|
40
|
+
* Constructs a PositiveReal from a number or throws
|
41
|
+
*
|
42
|
+
* @category Constructors
|
43
|
+
*/
|
44
|
+
export const fromNumberOrThrow = constructor;
|
45
|
+
/**
|
46
|
+
* Constructs a PositiveReal from a BigDecimal without any checks
|
47
|
+
*
|
48
|
+
* @category Constructors
|
49
|
+
*/
|
50
|
+
export const unsafeFromBigDecimal = MNumber.unsafeFromBigDecimal;
|
51
|
+
/**
|
52
|
+
* Constructs an Option of a PositiveReal from a BigDecimal
|
53
|
+
*
|
54
|
+
* @category Constructors
|
55
|
+
*/
|
56
|
+
export const fromBigDecimalOption = /*#__PURE__*/flow(CVReal.fromBigDecimalOption, /*#__PURE__*/Option.flatMap(CVPositive.fromNumberOption));
|
57
|
+
/**
|
58
|
+
* Constructs an Either of a PositiveReal from a BigDecimal
|
59
|
+
*
|
60
|
+
* @category Constructors
|
61
|
+
*/
|
62
|
+
export const fromBigDecimal = /*#__PURE__*/flow(CVReal.fromBigDecimal, /*#__PURE__*/Either.flatMap(CVPositive.fromNumber));
|
63
|
+
/**
|
64
|
+
* Constructs a PositiveReal from a BigDecimal or throws
|
65
|
+
*
|
66
|
+
* @category Constructors
|
67
|
+
*/
|
68
|
+
export const fromBigDecimalOrThrow = /*#__PURE__*/flow(CVReal.fromBigDecimalOrThrow, CVPositive.fromNumberOrThrow);
|
69
|
+
/**
|
70
|
+
* Constructs a PositiveReal from a BigInt without any checks
|
71
|
+
*
|
72
|
+
* @category Constructors
|
73
|
+
*/
|
74
|
+
export const unsafeFromBigInt = MNumber.unsafeFromBigInt;
|
75
|
+
/**
|
76
|
+
* Constructs an Option of a PositiveReal from a BigInt
|
77
|
+
*
|
78
|
+
* @category Constructors
|
79
|
+
*/
|
80
|
+
export const fromBigIntOption = /*#__PURE__*/flow(CVReal.fromBigIntOption, /*#__PURE__*/Option.flatMap(CVPositive.fromNumberOption));
|
81
|
+
/**
|
82
|
+
* Constructs an Either of a PositiveReal from a BigInt
|
83
|
+
*
|
84
|
+
* @category Constructors
|
85
|
+
*/
|
86
|
+
export const fromBigInt = /*#__PURE__*/flow(CVReal.fromBigInt, /*#__PURE__*/Either.flatMap(CVPositive.fromNumber));
|
87
|
+
/**
|
88
|
+
* Constructs a PositiveReal from a BigInt or throws
|
89
|
+
*
|
90
|
+
* @category Constructors
|
91
|
+
*/
|
92
|
+
export const fromBigIntOrThrow = /*#__PURE__*/flow(CVReal.fromBigIntOrThrow, CVPositive.fromNumberOrThrow);
|
93
|
+
/**
|
94
|
+
* Constructs a PositiveReal from a Real without any checks
|
95
|
+
*
|
96
|
+
* @category Constructors
|
97
|
+
*/
|
98
|
+
export const unsafeFromReal = Function.identity;
|
99
|
+
/**
|
100
|
+
* Constructs an Option of a PositiveReal from a Real
|
101
|
+
*
|
102
|
+
* @category Constructors
|
103
|
+
*/
|
104
|
+
export const fromRealOption = CVPositive.fromNumberOption;
|
105
|
+
/**
|
106
|
+
* Constructs an Either of a PositiveReal from a Real
|
107
|
+
*
|
108
|
+
* @category Constructors
|
109
|
+
*/
|
110
|
+
export const fromReal = CVPositive.fromNumber;
|
111
|
+
/**
|
112
|
+
* Constructs a PositiveReal from a Real or throws
|
113
|
+
*
|
114
|
+
* @category Constructors
|
115
|
+
*/
|
116
|
+
export const fromRealOrThrow = CVPositive.fromNumberOrThrow;
|
117
|
+
/**
|
118
|
+
* Constructs a PositiveReal from a PositiveInteger
|
119
|
+
*
|
120
|
+
* @category Constructors
|
121
|
+
*/
|
122
|
+
export const fromPositiveInteger = Function.identity;
|
123
|
+
/**
|
124
|
+
* A Schema that transforms a number into a CVPositiveReal.Type
|
125
|
+
*
|
126
|
+
* @internal
|
127
|
+
*/
|
128
|
+
export const SchemaFromNumber = /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.fromBrand(constructor));
|
129
|
+
/**
|
130
|
+
* A Schema that represents a CVPositiveReal.Type
|
131
|
+
*
|
132
|
+
* @internal
|
133
|
+
*/
|
134
|
+
export const SchemaFromSelf = /*#__PURE__*/Schema.typeSchema(SchemaFromNumber);
|
135
|
+
//# sourceMappingURL=PositiveReal.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"PositiveReal.js","names":["MNumber","Brand","Either","flow","Function","Option","Schema","CVPositive","CVReal","moduleTag","constructor","all","unsafeFromNumber","nominal","fromNumberOption","option","bind","fromNumber","either","fromNumberOrThrow","unsafeFromBigDecimal","fromBigDecimalOption","flatMap","fromBigDecimal","fromBigDecimalOrThrow","unsafeFromBigInt","fromBigIntOption","fromBigInt","fromBigIntOrThrow","unsafeFromReal","identity","fromRealOption","fromReal","fromRealOrThrow","fromPositiveInteger","SchemaFromNumber","Number","pipe","fromBrand","SchemaFromSelf","typeSchema"],"sources":["../../esm/PositiveReal.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;AAKA,SAASA,OAAO,QAAgB,uBAAuB;AACvD,SAAqBC,KAAK,EAAEC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,MAAM,QAAQ,QAAQ;AAClF,OAAO,KAAKC,UAAU,MAAM,wBAAwB;AAEpD,OAAO,KAAKC,MAAM,MAAM,WAAW;AAEnC;;;;;AAKA,OAAO,MAAMC,SAAS,GAAG,sCAAsC;AAE/D;;;;;AAKA,OAAO,MAAMC,WAAW,gBAAGT,KAAK,CAACU,GAAG,CAACH,MAAM,CAACE,WAAW,EAAEH,UAAU,CAACG,WAAW,CAAC;AAShF;;;;;AAKA,OAAO,MAAME,gBAAgB,gBAAGX,KAAK,CAACY,OAAO,EAAQ;AAErD;;;;;AAKA,OAAO,MAAMC,gBAAgB,gBAGzBJ,WAAW,CAACK,MAAM,CAACC,IAAI,CAACN,WAAW,CAAC;AAExC;;;;;AAKA,OAAO,MAAMO,UAAU,gBAGnBP,WAAW,CAACQ,MAAM,CAACF,IAAI,CAACN,WAAW,CAAC;AAExC;;;;;AAKA,OAAO,MAAMS,iBAAiB,GAAwCT,WAAW;AAEjF;;;;;AAKA,OAAO,MAAMU,oBAAoB,GAChCpB,OAAO,CAACoB,oBAA6B;AAEtC;;;;;AAKA,OAAO,MAAMC,oBAAoB,gBAG7BlB,IAAI,CAACK,MAAM,CAACa,oBAAoB,eAAEhB,MAAM,CAACiB,OAAO,CAACf,UAAU,CAACO,gBAAgB,CAAC,CAAU;AAE3F;;;;;AAKA,OAAO,MAAMS,cAAc,gBAGvBpB,IAAI,CAACK,MAAM,CAACe,cAAc,eAAErB,MAAM,CAACoB,OAAO,CAACf,UAAU,CAACU,UAAU,CAAC,CAAU;AAE/E;;;;;AAKA,OAAO,MAAMO,qBAAqB,gBAAuDrB,IAAI,CAC5FK,MAAM,CAACgB,qBAAqB,EAC5BjB,UAAU,CAACY,iBAAiB,CACnB;AAEV;;;;;AAKA,OAAO,MAAMM,gBAAgB,GAC5BzB,OAAO,CAACyB,gBAAyB;AAElC;;;;;AAKA,OAAO,MAAMC,gBAAgB,gBAAuDvB,IAAI,CACvFK,MAAM,CAACkB,gBAAgB,eACvBrB,MAAM,CAACiB,OAAO,CAACf,UAAU,CAACO,gBAAgB,CAAC,CAClC;AAEV;;;;;AAKA,OAAO,MAAMa,UAAU,gBAGnBxB,IAAI,CAACK,MAAM,CAACmB,UAAU,eAAEzB,MAAM,CAACoB,OAAO,CAACf,UAAU,CAACU,UAAU,CAAC,CAAU;AAE3E;;;;;AAKA,OAAO,MAAMW,iBAAiB,gBAAwCzB,IAAI,CACzEK,MAAM,CAACoB,iBAAiB,EACxBrB,UAAU,CAACY,iBAAiB,CACnB;AAEV;;;;;AAKA,OAAO,MAAMU,cAAc,GAA6CzB,QAAQ,CAAC0B,QAAiB;AAElG;;;;;AAKA,OAAO,MAAMC,cAAc,GAGvBxB,UAAU,CAACO,gBAAyB;AAExC;;;;;AAKA,OAAO,MAAMkB,QAAQ,GAGjBzB,UAAU,CAACU,UAAmB;AAElC;;;;;AAKA,OAAO,MAAMgB,eAAe,GAC3B1B,UAAU,CAACY,iBAA0B;AAEtC;;;;;AAKA,OAAO,MAAMe,mBAAmB,GAC/B9B,QAAQ,CAAC0B,QAAiB;AAE3B;;;;;AAKA,OAAO,MAAMK,gBAAgB,gBAAgC7B,MAAM,CAAC8B,MAAM,CAACC,IAAI,cAC9E/B,MAAM,CAACgC,SAAS,CAAC5B,WAAW,CAAC,CAC7B;AAED;;;;;AAKA,OAAO,MAAM6B,cAAc,gBAAwBjC,MAAM,CAACkC,UAAU,CAACL,gBAAgB,CAAC","ignoreList":[]}
|
package/esm/Real.js
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
/** This module implements a finite number brand (Infinity or Nan disallowed) */
|
2
|
+
import { MNumber, MString } from '@parischap/effect-lib';
|
3
|
+
import { Brand, flow, Schema } from 'effect';
|
4
|
+
/**
|
5
|
+
* Module tag
|
6
|
+
*
|
7
|
+
* @category Module markers
|
8
|
+
*/
|
9
|
+
export const moduleTag = '@parischap/conversions/Real/';
|
10
|
+
/**
|
11
|
+
* Module TypeId
|
12
|
+
*
|
13
|
+
* @category Module markers
|
14
|
+
*/
|
15
|
+
export const TypeId = /*#__PURE__*/Symbol.for(moduleTag);
|
16
|
+
/**
|
17
|
+
* Brand constructor. Should not be used directly
|
18
|
+
*
|
19
|
+
* @category Constructors
|
20
|
+
*/
|
21
|
+
export const constructor = /*#__PURE__*/Brand.refined(MNumber.isFinite, /*#__PURE__*/flow(/*#__PURE__*/MString.fromNumber(10), /*#__PURE__*/MString.prepend("'"), /*#__PURE__*/MString.append("' does not represent a finite number"), Brand.error));
|
22
|
+
/**
|
23
|
+
* Constructs a Real from a number without any verifications
|
24
|
+
*
|
25
|
+
* @category Constructors
|
26
|
+
*/
|
27
|
+
export const unsafeFromNumber = /*#__PURE__*/Brand.nominal();
|
28
|
+
/**
|
29
|
+
* Constructs an Option of a Real from a number
|
30
|
+
*
|
31
|
+
* @category Constructors
|
32
|
+
*/
|
33
|
+
export const fromNumberOption = /*#__PURE__*/constructor.option.bind(constructor);
|
34
|
+
/**
|
35
|
+
* Constructs an Either of a Real from a number
|
36
|
+
*
|
37
|
+
* @category Constructors
|
38
|
+
*/
|
39
|
+
export const fromNumber = /*#__PURE__*/constructor.either.bind(constructor);
|
40
|
+
/**
|
41
|
+
* Constructs a Real from a number or throws
|
42
|
+
*
|
43
|
+
* @category Constructors
|
44
|
+
*/
|
45
|
+
export const fromNumberOrThrow = constructor;
|
46
|
+
/**
|
47
|
+
* Constructs a Real from a BigDecimal without any checks
|
48
|
+
*
|
49
|
+
* @category Constructors
|
50
|
+
*/
|
51
|
+
export const unsafeFromBigDecimal = MNumber.unsafeFromBigDecimal;
|
52
|
+
/**
|
53
|
+
* Constructs an Option of a Real from a BigDecimal.
|
54
|
+
*
|
55
|
+
* @category Constructors
|
56
|
+
*/
|
57
|
+
export const fromBigDecimalOption = MNumber.fromBigDecimalOption;
|
58
|
+
/**
|
59
|
+
* Constructs an Either of a Real from a BigDecimal.
|
60
|
+
*
|
61
|
+
* @category Constructors
|
62
|
+
*/
|
63
|
+
export const fromBigDecimal = MNumber.fromBigDecimal;
|
64
|
+
/**
|
65
|
+
* Constructs a Real from a BigDecimal or throws
|
66
|
+
*
|
67
|
+
* @category Constructors
|
68
|
+
*/
|
69
|
+
export const fromBigDecimalOrThrow = MNumber.fromBigDecimalOrThrow;
|
70
|
+
/**
|
71
|
+
* Constructs a Real from a BigInt without any checks
|
72
|
+
*
|
73
|
+
* @category Constructors
|
74
|
+
*/
|
75
|
+
export const unsafeFromBigInt = MNumber.unsafeFromBigInt;
|
76
|
+
/**
|
77
|
+
* Constructs an Option of a Real from a BigInt.
|
78
|
+
*
|
79
|
+
* @category Constructors
|
80
|
+
*/
|
81
|
+
export const fromBigIntOption = MNumber.fromBigIntOption;
|
82
|
+
/**
|
83
|
+
* Constructs an Either of a Real from a BigInt.
|
84
|
+
*
|
85
|
+
* @category Constructors
|
86
|
+
*/
|
87
|
+
export const fromBigInt = MNumber.fromBigInt;
|
88
|
+
/**
|
89
|
+
* Constructs a Real from a BigInt or throws
|
90
|
+
*
|
91
|
+
* @category Constructors
|
92
|
+
*/
|
93
|
+
export const fromBigIntOrThrow = MNumber.fromBigIntOrThrow;
|
94
|
+
/**
|
95
|
+
* A Schema that transforms a number into an CVReal.Type
|
96
|
+
*
|
97
|
+
* @internal
|
98
|
+
*/
|
99
|
+
export const SchemaFromNumber = /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.fromBrand(constructor));
|
100
|
+
/**
|
101
|
+
* A Schema that represents a CVReal.Type
|
102
|
+
*
|
103
|
+
* @internal
|
104
|
+
*/
|
105
|
+
export const SchemaFromSelf = /*#__PURE__*/Schema.typeSchema(SchemaFromNumber);
|
106
|
+
//# sourceMappingURL=Real.js.map
|
package/esm/Real.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Real.js","names":["MNumber","MString","Brand","flow","Schema","moduleTag","TypeId","Symbol","for","constructor","refined","isFinite","fromNumber","prepend","append","error","unsafeFromNumber","nominal","fromNumberOption","option","bind","either","fromNumberOrThrow","unsafeFromBigDecimal","fromBigDecimalOption","fromBigDecimal","fromBigDecimalOrThrow","unsafeFromBigInt","fromBigIntOption","fromBigInt","fromBigIntOrThrow","SchemaFromNumber","Number","pipe","fromBrand","SchemaFromSelf","typeSchema"],"sources":["../../esm/Real.ts"],"sourcesContent":[null],"mappings":"AAAA;AAEA,SAASA,OAAO,EAAEC,OAAO,QAAgB,uBAAuB;AAChE,SAAqBC,KAAK,EAAUC,IAAI,EAAUC,MAAM,QAAQ,QAAQ;AAExE;;;;;AAKA,OAAO,MAAMC,SAAS,GAAG,8BAA8B;AAEvD;;;;;AAKA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAACH,SAAS,CAAY;AAUrE;;;;;AAKA,OAAO,MAAMI,WAAW,gBAAGP,KAAK,CAACQ,OAAO,CACvCV,OAAO,CAACW,QAAQ,eAChBR,IAAI,cACHF,OAAO,CAACW,UAAU,CAAC,EAAE,CAAC,eACtBX,OAAO,CAACY,OAAO,CAAC,GAAG,CAAC,eACpBZ,OAAO,CAACa,MAAM,CAAC,sCAAsC,CAAC,EACtDZ,KAAK,CAACa,KAAK,CACX,CACD;AAED;;;;;AAKA,OAAO,MAAMC,gBAAgB,gBAAGd,KAAK,CAACe,OAAO,EAAQ;AAErD;;;;;AAKA,OAAO,MAAMC,gBAAgB,gBAGzBT,WAAW,CAACU,MAAM,CAACC,IAAI,CAACX,WAAW,CAAC;AAExC;;;;;AAKA,OAAO,MAAMG,UAAU,gBAGnBH,WAAW,CAACY,MAAM,CAACD,IAAI,CAACX,WAAW,CAAC;AAExC;;;;;AAKA,OAAO,MAAMa,iBAAiB,GAAwCb,WAAW;AAEjF;;;;;AAKA,OAAO,MAAMc,oBAAoB,GAChCvB,OAAO,CAACuB,oBAA6B;AAEtC;;;;;AAKA,OAAO,MAAMC,oBAAoB,GAG7BxB,OAAO,CAACwB,oBAA6B;AAEzC;;;;;AAKA,OAAO,MAAMC,cAAc,GAGvBzB,OAAO,CAACyB,cAAuB;AAEnC;;;;;AAKA,OAAO,MAAMC,qBAAqB,GACjC1B,OAAO,CAAC0B,qBAA8B;AAEvC;;;;;AAKA,OAAO,MAAMC,gBAAgB,GAC5B3B,OAAO,CAAC2B,gBAAyB;AAElC;;;;;AAKA,OAAO,MAAMC,gBAAgB,GAGzB5B,OAAO,CAAC4B,gBAAyB;AAErC;;;;;AAKA,OAAO,MAAMC,UAAU,GAGnB7B,OAAO,CAAC6B,UAAmB;AAE/B;;;;;AAKA,OAAO,MAAMC,iBAAiB,GAC7B9B,OAAO,CAAC8B,iBAA0B;AAEnC;;;;;AAKA,OAAO,MAAMC,gBAAgB,gBAAgC3B,MAAM,CAAC4B,MAAM,CAACC,IAAI,cAC9E7B,MAAM,CAAC8B,SAAS,CAACzB,WAAW,CAAC,CAC7B;AAED;;;;;AAKA,OAAO,MAAM0B,cAAc,gBAAwB/B,MAAM,CAACgC,UAAU,CAACL,gBAAgB,CAAC","ignoreList":[]}
|
@@ -0,0 +1,79 @@
|
|
1
|
+
/** This module defines possible rounding modes (see Intl.NumberFormat) */
|
2
|
+
import { MMatch } from '@parischap/effect-lib';
|
3
|
+
import { flow, Function, Struct } from 'effect';
|
4
|
+
/**
|
5
|
+
* Possible rounding modes
|
6
|
+
*
|
7
|
+
* @category Models
|
8
|
+
*/
|
9
|
+
export var Type;
|
10
|
+
(function (Type) {
|
11
|
+
/** Round toward +∞. Positive values round up. Negative values round "more positive" */
|
12
|
+
Type[Type["Ceil"] = 0] = "Ceil";
|
13
|
+
/** Round toward -∞. Positive values round down. Negative values round "more negative" */
|
14
|
+
Type[Type["Floor"] = 1] = "Floor";
|
15
|
+
/**
|
16
|
+
* Round away from 0. The magnitude of the value is always increased by rounding. Positive values
|
17
|
+
* round up. Negative values round "more negative"
|
18
|
+
*/
|
19
|
+
Type[Type["Expand"] = 2] = "Expand";
|
20
|
+
/**
|
21
|
+
* Round toward 0. The magnitude of the value is always reduced by rounding. Positive values round
|
22
|
+
* down. Negative values round "less negative"
|
23
|
+
*/
|
24
|
+
Type[Type["Trunc"] = 3] = "Trunc";
|
25
|
+
/**
|
26
|
+
* Ties toward +∞. Values above the half-increment round like "ceil" (towards +∞), and below like
|
27
|
+
* "floor" (towards -∞). On the half-increment, values round like "ceil"
|
28
|
+
*/
|
29
|
+
Type[Type["HalfCeil"] = 4] = "HalfCeil";
|
30
|
+
/**
|
31
|
+
* Ties toward -∞. Values above the half-increment round like "ceil" (towards +∞), and below like
|
32
|
+
* "floor" (towards -∞). On the half-increment, values round like "floor"
|
33
|
+
*/
|
34
|
+
Type[Type["HalfFloor"] = 5] = "HalfFloor";
|
35
|
+
/**
|
36
|
+
* Ties away from 0. Values above the half-increment round like "expand" (away from zero), and
|
37
|
+
* below like "trunc" (towards 0). On the half-increment, values round like "expand"
|
38
|
+
*/
|
39
|
+
Type[Type["HalfExpand"] = 6] = "HalfExpand";
|
40
|
+
/**
|
41
|
+
* Ties toward 0. Values above the half-increment round like "expand" (away from zero), and below
|
42
|
+
* like "trunc" (towards 0). On the half-increment, values round like "trunc"
|
43
|
+
*/
|
44
|
+
Type[Type["HalfTrunc"] = 7] = "HalfTrunc";
|
45
|
+
/**
|
46
|
+
* Ties towards the nearest even integer. Values above the half-increment round like "expand"
|
47
|
+
* (away from zero), and below like "trunc" (towards 0). On the half-increment values round
|
48
|
+
* towards the nearest even digit
|
49
|
+
*/
|
50
|
+
Type[Type["HalfEven"] = 8] = "HalfEven";
|
51
|
+
})(Type || (Type = {}));
|
52
|
+
/**
|
53
|
+
* Returns the name of `self`
|
54
|
+
*
|
55
|
+
* @category Destructors
|
56
|
+
*/
|
57
|
+
export const toName = /*#__PURE__*/flow(MMatch.make, /*#__PURE__*/flow(/*#__PURE__*/MMatch.whenIs(Type.Ceil, /*#__PURE__*/Function.constant('Ceil')), /*#__PURE__*/MMatch.whenIs(Type.Floor, /*#__PURE__*/Function.constant('Floor')), /*#__PURE__*/MMatch.whenIs(Type.Expand, /*#__PURE__*/Function.constant('Expand')), /*#__PURE__*/MMatch.whenIs(Type.Trunc, /*#__PURE__*/Function.constant('Trunc')), /*#__PURE__*/MMatch.whenIs(Type.HalfCeil, /*#__PURE__*/Function.constant('HalfCeil')), /*#__PURE__*/MMatch.whenIs(Type.HalfFloor, /*#__PURE__*/Function.constant('HalfFloor')), /*#__PURE__*/MMatch.whenIs(Type.HalfExpand, /*#__PURE__*/Function.constant('HalfExpand')), /*#__PURE__*/MMatch.whenIs(Type.HalfTrunc, /*#__PURE__*/Function.constant('HalfTrunc')), /*#__PURE__*/MMatch.whenIs(Type.HalfEven, /*#__PURE__*/Function.constant('HalfEven'))), MMatch.exhaustive);
|
58
|
+
/**
|
59
|
+
* Builds a `Correcter` implementing `self`
|
60
|
+
*
|
61
|
+
* @category Destructors
|
62
|
+
*/
|
63
|
+
export const toCorrecter = /*#__PURE__*/flow(MMatch.make, /*#__PURE__*/flow(/*#__PURE__*/MMatch.whenIs(Type.Ceil, () => ({
|
64
|
+
firstFollowingDigit
|
65
|
+
}) => firstFollowingDigit > 0 ? 1 : 0), /*#__PURE__*/MMatch.whenIs(Type.Floor, () => ({
|
66
|
+
firstFollowingDigit
|
67
|
+
}) => firstFollowingDigit < 0 ? -1 : 0), /*#__PURE__*/MMatch.whenIs(Type.Expand, () => flow(Struct.get('firstFollowingDigit'), Math.sign)), /*#__PURE__*/MMatch.whenIs(Type.Trunc, () => Function.constant(0)), /*#__PURE__*/MMatch.whenIs(Type.HalfCeil, () => ({
|
68
|
+
firstFollowingDigit
|
69
|
+
}) => firstFollowingDigit >= 5 ? 1 : firstFollowingDigit < -5 ? -1 : 0), /*#__PURE__*/MMatch.whenIs(Type.HalfFloor, () => ({
|
70
|
+
firstFollowingDigit
|
71
|
+
}) => firstFollowingDigit > 5 ? 1 : firstFollowingDigit <= -5 ? -1 : 0), /*#__PURE__*/MMatch.whenIs(Type.HalfExpand, () => ({
|
72
|
+
firstFollowingDigit
|
73
|
+
}) => firstFollowingDigit >= 5 ? 1 : firstFollowingDigit <= -5 ? -1 : 0), /*#__PURE__*/MMatch.whenIs(Type.HalfTrunc, () => ({
|
74
|
+
firstFollowingDigit
|
75
|
+
}) => firstFollowingDigit > 5 ? 1 : firstFollowingDigit < -5 ? -1 : 0), /*#__PURE__*/MMatch.whenIs(Type.HalfEven, () => ({
|
76
|
+
firstFollowingDigit,
|
77
|
+
isEven
|
78
|
+
}) => firstFollowingDigit > 5 ? 1 : firstFollowingDigit < -5 ? -1 : firstFollowingDigit === 5 ? isEven ? 0 : 1 : firstFollowingDigit === -5 ? isEven ? 0 : -1 : 0)), MMatch.exhaustive);
|
79
|
+
//# sourceMappingURL=RoundingMode.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"RoundingMode.js","names":["MMatch","flow","Function","Struct","Type","toName","make","whenIs","Ceil","constant","Floor","Expand","Trunc","HalfCeil","HalfFloor","HalfExpand","HalfTrunc","HalfEven","exhaustive","toCorrecter","firstFollowingDigit","get","Math","sign","isEven"],"sources":["../../esm/RoundingMode.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|