@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,641 @@
1
+ /**
2
+ * This module implements conversions from number to string and string to number in base-10
3
+ * notation.
4
+ */
5
+ import { MTypes } from '@parischap/effect-lib';
6
+ import { BigDecimal, Inspectable, Option, Pipeable } from 'effect';
7
+ import * as CVReal from './Real.js';
8
+ import * as CVRoundingMode from './RoundingMode.js';
9
+ /**
10
+ * Module tag
11
+ *
12
+ * @category Module markers
13
+ */
14
+ export declare const moduleTag = "@parischap/conversions/NumberBase10Format/";
15
+ /**
16
+ * Possible sign display options
17
+ *
18
+ * @category Models
19
+ */
20
+ export declare enum SignDisplay {
21
+ /**
22
+ * Formatting: sign display for negative numbers only, including negative zero.
23
+ *
24
+ * Parsing: conversion will fail if a positive sign is used.
25
+ */
26
+ Auto = 0,
27
+ /**
28
+ * Formatting: sign display for all numbers.
29
+ *
30
+ * Parsing: conversion will fail if no sign is present
31
+ */
32
+ Always = 1,
33
+ /**
34
+ * Formatting: sign display for positive and negative numbers, but not zero
35
+ *
36
+ * Parsing: conversion will fail if a sign is not present for a value other than 0 or if a sign is
37
+ * present for 0.
38
+ */
39
+ ExceptZero = 2,
40
+ /**
41
+ * Formatting: sign display for negative numbers only, excluding negative zero.
42
+ *
43
+ * Parsing: conversion will fail if a positive sign is used or if a negative sign is used for 0.
44
+ */
45
+ Negative = 3,
46
+ /**
47
+ * Formatting: no sign display.
48
+ *
49
+ * Parsing: conversion will fail if any sign is present. The number will be treated as positive.
50
+ */
51
+ Never = 4
52
+ }
53
+ /**
54
+ * SignDisplay namespace
55
+ *
56
+ * @category Models
57
+ */
58
+ export declare namespace SignDisplay {
59
+ /**
60
+ * Type that represents the possible strings for a sign
61
+ *
62
+ * @category Models
63
+ */
64
+ type SignString = '-' | '+' | '';
65
+ /**
66
+ * Type that represents the possible values for a sign
67
+ *
68
+ * @category Models
69
+ */
70
+ type SignValue = -1 | 1;
71
+ /**
72
+ * Type of a SignDisplay Parser
73
+ *
74
+ * @category Models
75
+ */
76
+ interface Parser extends MTypes.OneArgFunction<{
77
+ readonly sign: SignString;
78
+ readonly isZero: boolean;
79
+ }, Option.Option<SignValue>> {
80
+ }
81
+ /**
82
+ * Builds a `Parser` implementing `self`
83
+ *
84
+ * @category Destructors
85
+ */
86
+ const toParser: MTypes.OneArgFunction<SignDisplay, Parser>;
87
+ /**
88
+ * Type of a SignDisplay Formatter
89
+ *
90
+ * @category Models
91
+ */
92
+ interface Formatter extends MTypes.OneArgFunction<{
93
+ readonly sign: SignValue;
94
+ readonly isZero: boolean;
95
+ }, SignString> {
96
+ }
97
+ /**
98
+ * Builds a `Formatter` implementing `self`
99
+ *
100
+ * @category Destructors
101
+ */
102
+ const toFormatter: MTypes.OneArgFunction<SignDisplay, Formatter>;
103
+ }
104
+ /**
105
+ * Possible scientific notation options
106
+ *
107
+ * @category Models
108
+ */
109
+ export declare enum ScientificNotation {
110
+ /**
111
+ * Formatting: scientific notation is not used.
112
+ *
113
+ * Parsing: conversion will fail if a scientific notation is present.
114
+ */
115
+ None = 0,
116
+ /**
117
+ * Formatting: scientific notation is not used.
118
+ *
119
+ * Parsing: scientific notation may be used but is not mandatory.
120
+ */
121
+ Standard = 1,
122
+ /**
123
+ * Formatting: scientific notation is used so that the absolute value of the mantissa m fulfills 1
124
+ * ≤ |m| < 10. Number 0 will be displayed as `0e0`.
125
+ *
126
+ * Parsing: the conversion will fail if the mantissa is not null and its value m does not fulfill
127
+ * 1 ≤ |m| < 10. Scientific notation may be used but is not mandatory. A string that does not
128
+ * contain a scientific notation is deemed equivalent to a string with a null exponent.
129
+ */
130
+ Normalized = 2,
131
+ /**
132
+ * Formatting: scientific notation is used so that the mantissa m fulfills 1 ≤ |m| < 1000 and the
133
+ * exponent is a multiple of 3. Number 0 will be displayed as `0e0`.
134
+ *
135
+ * Parsing: the conversion will fail if the mantissa is not null and its value m does not fulfill
136
+ * 1 ≤ |m| < 1000 or if the exponent is not a multiple of 3. Scientific notation may be used but
137
+ * is not mandatory. A string that does not contain a scientific notation is deemed equivalent to
138
+ * a string with a null exponent.
139
+ */
140
+ Engineering = 3
141
+ }
142
+ /**
143
+ * Namespace for possible scientific notation options
144
+ *
145
+ * @category Models
146
+ */
147
+ export declare namespace ScientificNotation {
148
+ /**
149
+ * Type of a ScientificNotation Parser
150
+ *
151
+ * @category Models
152
+ */
153
+ interface Parser extends MTypes.OneArgFunction<string, Option.Option<number>> {
154
+ }
155
+ /**
156
+ * Builds a `Parser` implementing `self`
157
+ *
158
+ * @category Destructors
159
+ */
160
+ const toParser: MTypes.OneArgFunction<ScientificNotation, Parser>;
161
+ /**
162
+ * Type of a MantissaChecker
163
+ *
164
+ * @category Models
165
+ */
166
+ interface MantissaChecker extends MTypes.OneArgFunction<BigDecimal.BigDecimal, Option.Option<BigDecimal.BigDecimal>> {
167
+ }
168
+ /**
169
+ * Builds a `Parser` implementing `self`
170
+ *
171
+ * @category Destructors
172
+ */
173
+ const toMantissaChecker: MTypes.OneArgFunction<ScientificNotation, MantissaChecker>;
174
+ /**
175
+ * Type of a MantissaAdjuster
176
+ *
177
+ * @category Models
178
+ */
179
+ interface MantissaAdjuster extends MTypes.OneArgFunction<BigDecimal.BigDecimal, readonly [adjustedMantissa: BigDecimal.BigDecimal, exponent: Option.Option<number>]> {
180
+ }
181
+ /**
182
+ * Builds a `Parser` implementing `self`
183
+ *
184
+ * @category Destructors
185
+ */
186
+ const toMantissaAdjuster: MTypes.OneArgFunction<ScientificNotation, MantissaAdjuster>;
187
+ }
188
+ /**
189
+ * Type that represents a NumberBase10Format
190
+ *
191
+ * @category Models
192
+ */
193
+ export interface Type extends Inspectable.Inspectable, Pipeable.Pipeable {
194
+ /**
195
+ * Thousand separator. Use an empty string for no separator. Usually a string made of at most one
196
+ * character different from `fractionalSeparator`. Will not throw otherwise but unexpected results
197
+ * might occur.
198
+ */
199
+ readonly thousandSeparator: string;
200
+ /**
201
+ * Fractional separator. Usually a one-character string different from `thousandSeparator`. Will
202
+ * not throw otherwise but unexpected results might occur.
203
+ */
204
+ readonly fractionalSeparator: string;
205
+ /**
206
+ * Formatting:
207
+ *
208
+ * - If `true`, numbers with a null integer part are displayed starting with `0`. Otherwise, they
209
+ * are displayed starting with `.` unless `maximumFractionalDigits===0`, in which case they are
210
+ * displayed starting wiyh `0`.
211
+ *
212
+ * Parsing
213
+ *
214
+ * - If `true`, conversion will fail for numbers starting with `.` (after an optional sign).
215
+ * - If `false`, conversion will fail for numbers starting with `0.` (after an optional sign).
216
+ */
217
+ readonly showNullIntegerPart: boolean;
218
+ /**
219
+ * Minimim number of digits forming the fractional part of a number. Must be a positive integer
220
+ * (>=0) less than or equal to `maximumFractionalDigits`.
221
+ *
222
+ * Formatting: the string will be right-padded with `0`'s if necessary to respect the condition
223
+ *
224
+ * Parsing: will fail if the input string does not respect this condition (the string must be
225
+ * right-padded with `0`'s to respect the condition if necessary).
226
+ */
227
+ readonly minimumFractionalDigits: number;
228
+ /**
229
+ * Maximum number of digits forming the fractional part of a number. Must be an integer value
230
+ * greater than or equal to `minimumFractionalDigits`. Can take the +Infinity value.
231
+ *
232
+ * Formatting: the number will be rounded using the roundingMode to respect the condition (unless
233
+ * `maximumFractionalDigits` is `+Infinity`).
234
+ *
235
+ * Parsing: will fail if the input string has too many fractional digits.
236
+ */
237
+ readonly maximumFractionalDigits: number;
238
+ /**
239
+ * Possible characters to use to represent e-notation. Usually ['e','E']. Must be an array of
240
+ * one-character strings. Will not throw otherwise but unexpected results will occur. Not used if
241
+ * `scientificNotation === None`
242
+ *
243
+ * Formatting: the string at index 0 is used
244
+ *
245
+ * Parsing: the first character of the e-notation must be one of the one-character strings present
246
+ * in the array
247
+ */
248
+ readonly eNotationChars: ReadonlyArray<string>;
249
+ /** Scientific notation options. See ScientificNotation */
250
+ readonly scientificNotation: ScientificNotation;
251
+ /** Rounding mode options. See RoundingMode.ts */
252
+ readonly roundingMode: CVRoundingMode.Type;
253
+ /** Sign display options. See SignDisplay.ts */
254
+ readonly signDisplay: SignDisplay;
255
+ }
256
+ /**
257
+ * Type guard
258
+ *
259
+ * @category Guards
260
+ */
261
+ export declare const has: (u: unknown) => u is Type;
262
+ /**
263
+ * Constructor
264
+ *
265
+ * @category Constructors
266
+ */
267
+ export declare const make: (params: MTypes.Data<Type>) => Type;
268
+ /**
269
+ * Returns the `thousandSeparator` property of `self`
270
+ *
271
+ * @category Destructors
272
+ */
273
+ export declare const thousandSeparator: MTypes.OneArgFunction<Type, string>;
274
+ /**
275
+ * Returns the `fractionalSeparator` property of `self`
276
+ *
277
+ * @category Destructors
278
+ */
279
+ export declare const fractionalSeparator: MTypes.OneArgFunction<Type, string>;
280
+ /**
281
+ * Returns the `showNullIntegerPart` property of `self`
282
+ *
283
+ * @category Destructors
284
+ */
285
+ export declare const showNullIntegerPart: MTypes.OneArgFunction<Type, boolean>;
286
+ /**
287
+ * Returns the `minimumFractionalDigits` property of `self`
288
+ *
289
+ * @category Destructors
290
+ */
291
+ export declare const minimumFractionalDigits: MTypes.OneArgFunction<Type, number>;
292
+ /**
293
+ * Returns the `maximumFractionalDigits` property of `self`
294
+ *
295
+ * @category Destructors
296
+ */
297
+ export declare const maximumFractionalDigits: MTypes.OneArgFunction<Type, number>;
298
+ /**
299
+ * Returns the `eNotationChar` property of `self`
300
+ *
301
+ * @category Destructors
302
+ */
303
+ export declare const eNotationChars: MTypes.OneArgFunction<Type, ReadonlyArray<string>>;
304
+ /**
305
+ * Returns the `scientificNotation` property of `self`
306
+ *
307
+ * @category Destructors
308
+ */
309
+ export declare const scientificNotation: MTypes.OneArgFunction<Type, ScientificNotation>;
310
+ /**
311
+ * Returns the `roundingMode` property of `self`
312
+ *
313
+ * @category Destructors
314
+ */
315
+ export declare const roundingMode: MTypes.OneArgFunction<Type, CVRoundingMode.Type>;
316
+ /**
317
+ * Returns the `signDisplay` property of `self`
318
+ *
319
+ * @category Destructors
320
+ */
321
+ export declare const signDisplay: MTypes.OneArgFunction<Type, SignDisplay>;
322
+ /**
323
+ * Returns a short description of `self`
324
+ *
325
+ * @category Destructors
326
+ */
327
+ export declare const toDescription: (self: Type) => string;
328
+ /**
329
+ * Returns a function that tries to parse, from the start of a string `text`, a number respecting
330
+ * the options represented by `self` and an optional `fillChar` parameter. If successful, that
331
+ * function returns a `some` containing `parsedText` (the part of `text` that could be analyzed as
332
+ * representing a number) and `value` (`parsedText` converted to a BigDecimal value). Otherwise, it
333
+ * returns a `none`. As there is no way to distinguish `-0n` and `0n` in Javascript, parsing '-0',
334
+ * '0', '+0' will yield the same result.
335
+ *
336
+ * `fillChar` is a character that may be used as filler between the sign and the number (or at the
337
+ * start of the number if it is unsigned). It must be a one-character string (but no error is
338
+ * triggered if it's not). You can use '0' as `fillChar` but you shoud not use any other digit
339
+ * because the value of the number to parse would depend on the number of removed `fillChar`'s.
340
+ *
341
+ * @category Parsing
342
+ */
343
+ export declare const toBigDecimalExtractor: (self: Type, fillChar?: string) => MTypes.OneArgFunction<string, Option.Option<MTypes.Pair<BigDecimal.BigDecimal, string>>>;
344
+ /**
345
+ * Same as toBigDecimalExtractor but the returned parser throws in case of error
346
+ *
347
+ * @category Parsing
348
+ */
349
+ export declare const toThrowingBigDecimalExtractor: (self: Type, fillChar?: string) => (text: string) => MTypes.Pair<BigDecimal.BigDecimal, string>;
350
+ /**
351
+ * Same as `toBigDecimalExtractor` but returns a `Real` which is the most usual use case.
352
+ * Furthermore, this function will return -0 if your parse '-0' and 0 if you parse '0' or '+0'.
353
+ *
354
+ * @category Parsing
355
+ */
356
+ export declare const toRealExtractor: (self: Type, fillChar?: string) => MTypes.OneArgFunction<string, Option.Option<MTypes.Pair<CVReal.Type, string>>>;
357
+ /**
358
+ * Same as toRealExtractor but the returned parser throws in case of error
359
+ *
360
+ * @category Parsing
361
+ */
362
+ export declare const toThrowingRealExtractor: (self: Type, fillChar?: string) => (text: string) => MTypes.Pair<CVReal.Type, string>;
363
+ /**
364
+ * Same as toBigDecimalExtractor but the whole of the input text must represent a number, not just
365
+ * its start
366
+ *
367
+ * @category Parsing
368
+ */
369
+ export declare const toBigDecimalParser: (self: Type, fillChar?: string) => MTypes.OneArgFunction<string, Option.Option<BigDecimal.BigDecimal>>;
370
+ /**
371
+ * Same as toRealExtractor but the returned parser throws in case of error
372
+ *
373
+ * @category Parsing
374
+ */
375
+ export declare const toThrowingBigDecimalParser: (self: Type, fillChar?: string) => (text: string) => BigDecimal.BigDecimal;
376
+ /**
377
+ * Same as `toRealExtractor` but the whole of the input text must represent a number, not just its
378
+ * start
379
+ *
380
+ * @category Parsing
381
+ */
382
+ export declare const toRealParser: (self: Type, fillChar?: string) => MTypes.OneArgFunction<string, Option.Option<CVReal.Type>>;
383
+ /**
384
+ * Same as toRealParser but the returned parser throws in case of error
385
+ *
386
+ * @category Parsing
387
+ */
388
+ export declare const toThrowingRealParser: (self: Type, fillChar?: string) => (text: string) => CVReal.Type;
389
+ /**
390
+ * Returns a function that tries to format a `number` respecting the options represented by
391
+ * `self`and an optional parameter `fillChars`. If successful, that function returns a `some` of the
392
+ * formatted number. Otherwise, it returns a `none`. `number` can be of type number or BigDecimal
393
+ * for better accuracy. There is a difference between number and BigDecimal (and bigint) regarding
394
+ * the sign of 0. In Javascript, Object.is(0,-0) is false whereas Object.is(0n,-0n) is true. So if
395
+ * the sign of zero is important to you, prefer passing a number to the function. `0` as a
396
+ * BigDecimal will always be interpreted as a positive `0` as we have no means of knowing if it is
397
+ * negative or positive.
398
+ *
399
+ * `fillChars` is a string whose first characters will be inserted between the sign and the number
400
+ * (or at the start of the number if it is unsigned) so that the formatted number has at least the
401
+ * same number of characters as fillChars (e.g. the result will be '-02' if you try to format the
402
+ * value -2 with fillChars = '000')
403
+ *
404
+ * @category Formatting
405
+ */
406
+ export declare const toNumberFormatter: (self: Type, fillChars?: string) => MTypes.OneArgFunction<BigDecimal.BigDecimal | CVReal.Type, string>;
407
+ /**
408
+ * Combinator that returns a copy of self with `minimumFractionalDigits` and
409
+ * `maximumFractionalDigits` set to `n`. `n` must be a finite positive integer.
410
+ *
411
+ * @category Modifiers
412
+ */
413
+ export declare const withNDecimals: (decimalNumber: number) => MTypes.OneArgFunction<Type>;
414
+ /**
415
+ * Combinator that returns a copy of self with `maximumFractionalDigits` set to `n`. `n` must be a
416
+ * positive integer. Pass 0 for an integer format.
417
+ *
418
+ * @category Modifiers
419
+ */
420
+ export declare const withMaxNDecimals: (maxDecimalNumber: number) => (self: Type) => Type;
421
+ /**
422
+ * Combinator that returns a copy of self with `minimumFractionalDigits` set to `n`. `n` must be a
423
+ * finite positive integer.
424
+ *
425
+ * @category Modifiers
426
+ */
427
+ export declare const withMinNDecimals: (minDecimalNumber: number) => (self: Type) => Type;
428
+ /**
429
+ * Combinator that returns a copy of self with `scientificNotation` set to `None`.
430
+ *
431
+ * @category Modifiers
432
+ */
433
+ export declare const withNoScientificNotation: MTypes.OneArgFunction<Type>;
434
+ /**
435
+ * Combinator that returns a copy of self with `scientificNotation` set to `Standard`.
436
+ *
437
+ * @category Modifiers
438
+ */
439
+ export declare const withStandardScientificNotation: MTypes.OneArgFunction<Type>;
440
+ /**
441
+ * Combinator that returns a copy of self with `scientificNotation` set to `Normalized`.
442
+ *
443
+ * @category Modifiers
444
+ */
445
+ export declare const withNormalizedScientificNotation: MTypes.OneArgFunction<Type>;
446
+ /**
447
+ * Combinator that returns a copy of self with `scientificNotation` set to `Engineering`.
448
+ *
449
+ * @category Modifiers
450
+ */
451
+ export declare const withEngineeringScientificNotation: MTypes.OneArgFunction<Type>;
452
+ /**
453
+ * Combinator that returns a copy of self with `thousandSeparator` set to `thousandSeparator`.
454
+ *
455
+ * @category Modifiers
456
+ */
457
+ export declare const withThousandSeparator: (thousandSeparator: string) => MTypes.OneArgFunction<Type>;
458
+ /**
459
+ * Combinator that returns a copy of self with `thousandSeparator` set to ''.
460
+ *
461
+ * @category Modifiers
462
+ */
463
+ export declare const withoutThousandSeparator: MTypes.OneArgFunction<Type>;
464
+ /**
465
+ * Combinator that returns a copy of self with `fractionalSeparator` set to `fractionalSeparator`.
466
+ *
467
+ * @category Modifiers
468
+ */
469
+ export declare const withFractionalSeparator: (fractionalSeparator: string) => MTypes.OneArgFunction<Type>;
470
+ /**
471
+ * Combinator that returns a copy of self with `signDisplay` set to `Auto`.
472
+ *
473
+ * @category Modifiers
474
+ */
475
+ export declare const withSignDisplayForNegative: MTypes.OneArgFunction<Type>;
476
+ /**
477
+ * Combinator that returns a copy of self with `signDisplay` set to `Always`.
478
+ *
479
+ * @category Modifiers
480
+ */
481
+ export declare const withSignDisplay: MTypes.OneArgFunction<Type>;
482
+ /**
483
+ * Combinator that returns a copy of self with `signDisplay` set to `ExceptZero`.
484
+ *
485
+ * @category Modifiers
486
+ */
487
+ export declare const withSignDisplayExceptZero: MTypes.OneArgFunction<Type>;
488
+ /**
489
+ * Combinator that returns a copy of self with `signDisplay` set to `Negative`.
490
+ *
491
+ * @category Modifiers
492
+ */
493
+ export declare const withSignDisplayForNegativeExceptZero: MTypes.OneArgFunction<Type>;
494
+ /**
495
+ * Combinator that returns a copy of self with `signDisplay` set to `Never`.
496
+ *
497
+ * @category Modifiers
498
+ */
499
+ export declare const withoutSignDisplay: MTypes.OneArgFunction<Type>;
500
+ /**
501
+ * Combinator that returns a copy of self with `roundingMode` set to `Ceil`.
502
+ *
503
+ * @category Modifiers
504
+ */
505
+ export declare const withCeilRoundingMode: MTypes.OneArgFunction<Type>;
506
+ /**
507
+ * Combinator that returns a copy of self with `roundingMode` set to `Floor`.
508
+ *
509
+ * @category Modifiers
510
+ */
511
+ export declare const withFloorRoundingMode: MTypes.OneArgFunction<Type>;
512
+ /**
513
+ * Combinator that returns a copy of self with `roundingMode` set to `Expand`.
514
+ *
515
+ * @category Modifiers
516
+ */
517
+ export declare const withExpandRoundingMode: MTypes.OneArgFunction<Type>;
518
+ /**
519
+ * Combinator that returns a copy of self with `roundingMode` set to `Trunc`.
520
+ *
521
+ * @category Modifiers
522
+ */
523
+ export declare const withTruncRoundingMode: MTypes.OneArgFunction<Type>;
524
+ /**
525
+ * Combinator that returns a copy of self with `roundingMode` set to `HalfCeil`.
526
+ *
527
+ * @category Modifiers
528
+ */
529
+ export declare const withHalfCeilRoundingMode: MTypes.OneArgFunction<Type>;
530
+ /**
531
+ * Combinator that returns a copy of self with `roundingMode` set to `HalfFloor`.
532
+ *
533
+ * @category Modifiers
534
+ */
535
+ export declare const withHalfFloorRoundingMode: MTypes.OneArgFunction<Type>;
536
+ /**
537
+ * Combinator that returns a copy of self with `roundingMode` set to `HalfExpand`.
538
+ *
539
+ * @category Modifiers
540
+ */
541
+ export declare const withHalfExpandRoundingMode: MTypes.OneArgFunction<Type>;
542
+ /**
543
+ * Combinator that returns a copy of self with `roundingMode` set to `HalfTrunc`.
544
+ *
545
+ * @category Modifiers
546
+ */
547
+ export declare const withHalfTruncRoundingMode: MTypes.OneArgFunction<Type>;
548
+ /**
549
+ * Combinator that returns a copy of self with `roundingMode` set to `HalfEven`.
550
+ *
551
+ * @category Modifiers
552
+ */
553
+ export declare const withHalfEvenRoundingMode: MTypes.OneArgFunction<Type>;
554
+ /**
555
+ * Combinator that returns a copy of self with `showNullIntegerPart` set to `false`.
556
+ *
557
+ * @category Modifiers
558
+ */
559
+ export declare const withNullIntegerPartNotShowing: MTypes.OneArgFunction<Type>;
560
+ /**
561
+ * Combinator that returns a copy of self with `showNullIntegerPart` set to `true`.
562
+ *
563
+ * @category Modifiers
564
+ */
565
+ export declare const withNullIntegerPartShowing: MTypes.OneArgFunction<Type>;
566
+ /**
567
+ * NumberBase10Format instance that uses a comma as fractional separator, a space as thousand
568
+ * separator and shows at most three fractional digits. Used in countries like France,
569
+ * French-speaking Canada, French-speaking Belgium, Denmark, Finland, Sweden...
570
+ *
571
+ * @category Instances
572
+ */
573
+ export declare const frenchStyleNumber: Type;
574
+ /**
575
+ * NumberBase10Format instance that uses a comma as fractional separator, no thousand separator and
576
+ * shows at most three fractional digits. Used in countries like France, French-speaking Canada,
577
+ * French-speaking Belgium, Denmark, Finland, Sweden...
578
+ *
579
+ * @category Instances
580
+ */
581
+ export declare const frenchStyleUngroupedNumber: Type;
582
+ /**
583
+ * French-style integer NumberBase10Format instance. Used in countries like France, French-speaking
584
+ * Canada, French-speaking Belgium, Denmark, Finland, Sweden...
585
+ *
586
+ * @category Instances
587
+ */
588
+ export declare const frenchStyleInteger: Type;
589
+ /**
590
+ * NumberBase10Format instance that uses a comma as fractional separator, a dot as thousand
591
+ * separator and shows at most three fractional digits. Used in countries like Dutch-speaking
592
+ * Belgium, the Netherlands, Germany, Italy, Norway, Croatia, Spain...
593
+ *
594
+ * @category Instances
595
+ */
596
+ export declare const dutchStyleNumber: Type;
597
+ /**
598
+ * NumberBase10Format instance that uses a comma as fractional separator, no thousand separator and
599
+ * shows at most three fractional digits. Used in countries like Dutch-speaking Belgium, the
600
+ * Netherlands, Germany, Italy, Norway, Croatia, Spain...
601
+ *
602
+ * @category Instances
603
+ */
604
+ export declare const dutchStyleUngroupedNumber: Type;
605
+ /**
606
+ * Dutch-style integer NumberBase10Format instance. Used in countries like Dutch-speaking Belgium,
607
+ * the Netherlands, Germany, Italy, Norway, Croatia, Spain...
608
+ *
609
+ * @category Instances
610
+ */
611
+ export declare const dutchStyleInteger: Type;
612
+ /**
613
+ * NumberBase10Format instance that uses a dot as fractional separator, a comma as thousand
614
+ * separator and shows at most three fractional digits. Used in countries like the UK, the US,
615
+ * English-speaking Canada, Australia, Thaïland, Bosnia...
616
+ *
617
+ * @category Instances
618
+ */
619
+ export declare const ukStyleNumber: Type;
620
+ /**
621
+ * NumberBase10Format instance that uses a dot as fractional separator, no thousand separator and
622
+ * shows at most three fractional digits. Used in countries like the UK, the US, English-speaking
623
+ * Canada, Australia, Thaïland, Bosnia...
624
+ *
625
+ * @category Instances
626
+ */
627
+ export declare const ukStyleUngroupedNumber: Type;
628
+ /**
629
+ * Uk-style integer NumberBase10Format instance. Used in countries like the UK, the US,
630
+ * English-speaking Canada, Australia, Thaïland, Bosnia...
631
+ *
632
+ * @category Instances
633
+ */
634
+ export declare const ukStyleInteger: Type;
635
+ /**
636
+ * Integer NumberBase10Format instance with no thousand separator
637
+ *
638
+ * @category Instances
639
+ */
640
+ export declare const integer: Type;
641
+ //# sourceMappingURL=NumberBase10Format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberBase10Format.d.ts","sourceRoot":"","sources":["../../esm/NumberBase10Format.ts"],"names":[],"mappings":"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"}