@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.
Files changed (142) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1304 -0
  3. package/cjs/BigDecimal.js +16 -0
  4. package/cjs/BigDecimal.js.map +1 -0
  5. package/cjs/BigInt.js +34 -0
  6. package/cjs/BigInt.js.map +1 -0
  7. package/cjs/DateTime.js +2202 -0
  8. package/cjs/DateTime.js.map +1 -0
  9. package/cjs/DateTimeFormat.js +269 -0
  10. package/cjs/DateTimeFormat.js.map +1 -0
  11. package/cjs/DateTimeFormatContext.js +327 -0
  12. package/cjs/DateTimeFormatContext.js.map +1 -0
  13. package/cjs/Email.js +73 -0
  14. package/cjs/Email.js.map +1 -0
  15. package/cjs/Integer.js +155 -0
  16. package/cjs/Integer.js.map +1 -0
  17. package/cjs/NumberBase10Format.js +759 -0
  18. package/cjs/NumberBase10Format.js.map +1 -0
  19. package/cjs/PositiveInteger.js +191 -0
  20. package/cjs/PositiveInteger.js.map +1 -0
  21. package/cjs/PositiveReal.js +162 -0
  22. package/cjs/PositiveReal.js.map +1 -0
  23. package/cjs/Real.js +113 -0
  24. package/cjs/Real.js.map +1 -0
  25. package/cjs/RoundingMode.js +86 -0
  26. package/cjs/RoundingMode.js.map +1 -0
  27. package/cjs/RoundingOption.js +152 -0
  28. package/cjs/RoundingOption.js.map +1 -0
  29. package/cjs/Schema.js +218 -0
  30. package/cjs/Schema.js.map +1 -0
  31. package/cjs/SemVer.js +73 -0
  32. package/cjs/SemVer.js.map +1 -0
  33. package/cjs/Template.js +189 -0
  34. package/cjs/Template.js.map +1 -0
  35. package/cjs/TemplatePart.js +51 -0
  36. package/cjs/TemplatePart.js.map +1 -0
  37. package/cjs/TemplateParts.js +46 -0
  38. package/cjs/TemplateParts.js.map +1 -0
  39. package/cjs/TemplatePlaceholder.js +381 -0
  40. package/cjs/TemplatePlaceholder.js.map +1 -0
  41. package/cjs/TemplateSeparator.js +116 -0
  42. package/cjs/TemplateSeparator.js.map +1 -0
  43. package/cjs/index.js +67 -0
  44. package/cjs/index.js.map +1 -0
  45. package/cjs/internal/Int.js +50 -0
  46. package/cjs/internal/Int.js.map +1 -0
  47. package/cjs/internal/Positive.js +50 -0
  48. package/cjs/internal/Positive.js.map +1 -0
  49. package/dts/BigDecimal.d.ts +11 -0
  50. package/dts/BigDecimal.d.ts.map +1 -0
  51. package/dts/BigInt.d.ts +30 -0
  52. package/dts/BigInt.d.ts.map +1 -0
  53. package/dts/DateTime.d.ts +1421 -0
  54. package/dts/DateTime.d.ts.map +1 -0
  55. package/dts/DateTimeFormat.d.ts +257 -0
  56. package/dts/DateTimeFormat.d.ts.map +1 -0
  57. package/dts/DateTimeFormatContext.d.ts +112 -0
  58. package/dts/DateTimeFormatContext.d.ts.map +1 -0
  59. package/dts/Email.d.ts +61 -0
  60. package/dts/Email.d.ts.map +1 -0
  61. package/dts/Integer.d.ts +123 -0
  62. package/dts/Integer.d.ts.map +1 -0
  63. package/dts/NumberBase10Format.d.ts +641 -0
  64. package/dts/NumberBase10Format.d.ts.map +1 -0
  65. package/dts/PositiveInteger.d.ts +161 -0
  66. package/dts/PositiveInteger.d.ts.map +1 -0
  67. package/dts/PositiveReal.d.ts +130 -0
  68. package/dts/PositiveReal.d.ts.map +1 -0
  69. package/dts/Real.d.ts +102 -0
  70. package/dts/Real.d.ts.map +1 -0
  71. package/dts/RoundingMode.d.ts +72 -0
  72. package/dts/RoundingMode.d.ts.map +1 -0
  73. package/dts/RoundingOption.d.ts +79 -0
  74. package/dts/RoundingOption.d.ts.map +1 -0
  75. package/dts/Schema.d.ts +159 -0
  76. package/dts/Schema.d.ts.map +1 -0
  77. package/dts/SemVer.d.ts +61 -0
  78. package/dts/SemVer.d.ts.map +1 -0
  79. package/dts/Template.d.ts +113 -0
  80. package/dts/Template.d.ts.map +1 -0
  81. package/dts/TemplatePart.d.ts +28 -0
  82. package/dts/TemplatePart.d.ts.map +1 -0
  83. package/dts/TemplateParts.d.ts +23 -0
  84. package/dts/TemplateParts.d.ts.map +1 -0
  85. package/dts/TemplatePlaceholder.d.ts +274 -0
  86. package/dts/TemplatePlaceholder.d.ts.map +1 -0
  87. package/dts/TemplateSeparator.d.ts +130 -0
  88. package/dts/TemplateSeparator.d.ts.map +1 -0
  89. package/dts/index.d.ts +21 -0
  90. package/dts/index.d.ts.map +1 -0
  91. package/dts/internal/Int.d.ts +6 -0
  92. package/dts/internal/Int.d.ts.map +1 -0
  93. package/dts/internal/Positive.d.ts +6 -0
  94. package/dts/internal/Positive.d.ts.map +1 -0
  95. package/esm/BigDecimal.js +9 -0
  96. package/esm/BigDecimal.js.map +1 -0
  97. package/esm/BigInt.js +27 -0
  98. package/esm/BigInt.js.map +1 -0
  99. package/esm/DateTime.js +2130 -0
  100. package/esm/DateTime.js.map +1 -0
  101. package/esm/DateTimeFormat.js +238 -0
  102. package/esm/DateTimeFormat.js.map +1 -0
  103. package/esm/DateTimeFormatContext.js +296 -0
  104. package/esm/DateTimeFormatContext.js.map +1 -0
  105. package/esm/Email.js +65 -0
  106. package/esm/Email.js.map +1 -0
  107. package/esm/Integer.js +128 -0
  108. package/esm/Integer.js.map +1 -0
  109. package/esm/NumberBase10Format.js +717 -0
  110. package/esm/NumberBase10Format.js.map +1 -0
  111. package/esm/PositiveInteger.js +164 -0
  112. package/esm/PositiveInteger.js.map +1 -0
  113. package/esm/PositiveReal.js +135 -0
  114. package/esm/PositiveReal.js.map +1 -0
  115. package/esm/Real.js +106 -0
  116. package/esm/Real.js.map +1 -0
  117. package/esm/RoundingMode.js +79 -0
  118. package/esm/RoundingMode.js.map +1 -0
  119. package/esm/RoundingOption.js +120 -0
  120. package/esm/RoundingOption.js.map +1 -0
  121. package/esm/Schema.js +203 -0
  122. package/esm/Schema.js.map +1 -0
  123. package/esm/SemVer.js +65 -0
  124. package/esm/SemVer.js.map +1 -0
  125. package/esm/Template.js +158 -0
  126. package/esm/Template.js.map +1 -0
  127. package/esm/TemplatePart.js +22 -0
  128. package/esm/TemplatePart.js.map +1 -0
  129. package/esm/TemplateParts.js +19 -0
  130. package/esm/TemplateParts.js.map +1 -0
  131. package/esm/TemplatePlaceholder.js +342 -0
  132. package/esm/TemplatePlaceholder.js.map +1 -0
  133. package/esm/TemplateSeparator.js +107 -0
  134. package/esm/TemplateSeparator.js.map +1 -0
  135. package/esm/index.js +21 -0
  136. package/esm/index.js.map +1 -0
  137. package/esm/internal/Int.js +43 -0
  138. package/esm/internal/Int.js.map +1 -0
  139. package/esm/internal/Positive.js +43 -0
  140. package/esm/internal/Positive.js.map +1 -0
  141. package/esm/package.json +3 -0
  142. 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
@@ -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":[]}