@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,381 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.toEnd = exports.schemaInstance = exports.realMappedLiterals = exports.real = exports.parser = exports.paddedFixedLength = exports.name = exports.moduleTag = exports.modify = exports.mappedLiterals = exports.make = exports.label = exports.has = exports.getLabelledDescription = exports.fulfilling = exports.formatter = exports.fixedLengthToReal = exports.fixedLength = exports.description = exports.anythingBut = void 0;
7
+ var _effectLib = /*#__PURE__*/require("@parischap/effect-lib");
8
+ var _effect = /*#__PURE__*/require("effect");
9
+ var CVNumberBase10Format = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./NumberBase10Format.js"));
10
+ var CVReal = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Real.js"));
11
+ function _interopRequireWildcard(e, t) {
12
+ if ("function" == typeof WeakMap) var r = new WeakMap(),
13
+ n = new WeakMap();
14
+ return (_interopRequireWildcard = function (e, t) {
15
+ if (!t && e && e.__esModule) return e;
16
+ var o,
17
+ i,
18
+ f = {
19
+ __proto__: null,
20
+ default: e
21
+ };
22
+ if (null === e || "object" != typeof e && "function" != typeof e) return f;
23
+ if (o = t ? n : r) {
24
+ if (o.has(e)) return o.get(e);
25
+ o.set(e, f);
26
+ }
27
+ for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]);
28
+ return f;
29
+ })(e, t);
30
+ }
31
+ /**
32
+ * This module implements a TemplatePlaceholder type which is a sub-type of the TemplatePart type
33
+ * (see TemplatePart.ts)
34
+ *
35
+ * A TemplatePlaceholder represents the mutable part of a template. Each Placeholder defines a
36
+ * parser and a formatter:
37
+ *
38
+ * - The parser takes a string, consumes a part of that string, optionnally converts the consumed part
39
+ * to a value of type T and, if successful, returns a right of that value and of what has not been
40
+ * consumed. In case of an error, it returns a left.
41
+ * - The formatter takes a value of type T, converts it to a string (if T is not string), checks that
42
+ * the result is coherent and, if so, returns a right of that string. Otherwise, it returns a
43
+ * left.
44
+ */
45
+
46
+ /**
47
+ * Module tag
48
+ *
49
+ * @category Module markers
50
+ */
51
+ const moduleTag = exports.moduleTag = '@parischap/conversions/TemplatePlaceholder/';
52
+ const _TypeId = /*#__PURE__*/Symbol.for(moduleTag);
53
+ /**
54
+ * Type guard
55
+ *
56
+ * @category Guards
57
+ */
58
+ const has = u => _effect.Predicate.hasProperty(u, _TypeId);
59
+ /** Proto */
60
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
61
+ exports.has = has;
62
+ const proto = {
63
+ [_TypeId]: {
64
+ _N: _effectLib.MTypes.covariantValue,
65
+ _T: _effectLib.MTypes.invariantValue
66
+ },
67
+ [_effectLib.MInspectable.IdSymbol]() {
68
+ return getLabelledDescription(this);
69
+ },
70
+ ... /*#__PURE__*/_effectLib.MInspectable.BaseProto(moduleTag),
71
+ ..._effectLib.MPipeable.BaseProto
72
+ };
73
+ const _make = params => _effectLib.MTypes.objectFromDataAndProto(proto, params);
74
+ /**
75
+ * Constructor
76
+ *
77
+ * @category Constructors
78
+ */
79
+ const make = exports.make = /*#__PURE__*/(0, _effect.flow)(/*#__PURE__*/_effectLib.MStruct.enrichWith({
80
+ label: ({
81
+ name
82
+ }) => _effectLib.MString.prepend('#')(name)
83
+ }), _make);
84
+ /**
85
+ * Returns the `name` property of `self`
86
+ *
87
+ * @category Destructors
88
+ */
89
+ const name = exports.name = /*#__PURE__*/_effect.Struct.get('name');
90
+ /**
91
+ * Returns the `label` property of `self`
92
+ *
93
+ * @category Destructors
94
+ */
95
+ const label = exports.label = /*#__PURE__*/_effect.Struct.get('label');
96
+ /**
97
+ * Returns the `description` property of `self`
98
+ *
99
+ * @category Destructors
100
+ */
101
+ const description = exports.description = /*#__PURE__*/_effect.Struct.get('description');
102
+ /**
103
+ * Returns the `parser` property of `self`
104
+ *
105
+ * @category Destructors
106
+ */
107
+ const parser = exports.parser = /*#__PURE__*/_effect.Struct.get('parser');
108
+ /**
109
+ * Returns the `formatter` property of `self`
110
+ *
111
+ * @category Destructors
112
+ */
113
+ const formatter = exports.formatter = /*#__PURE__*/_effect.Struct.get('formatter');
114
+ /**
115
+ * Returns the `schemaInstance` property of `self`
116
+ *
117
+ * @category Destructors
118
+ */
119
+ const schemaInstance = exports.schemaInstance = /*#__PURE__*/_effect.Struct.get('schemaInstance');
120
+ /**
121
+ * Returns the description of `self`
122
+ *
123
+ * @category Destructors
124
+ */
125
+ const getLabelledDescription = self => `${self.label}: ${self.description}`;
126
+ /**
127
+ * Returns a modified copy of `self` where a postParser function is executed after the parser of
128
+ * `self` and a preFormatter function is executed before the formatter of `self`
129
+ *
130
+ * @category Destructors
131
+ */
132
+ exports.getLabelledDescription = getLabelledDescription;
133
+ const modify = ({
134
+ descriptorMapper,
135
+ postParser,
136
+ preFormatter,
137
+ t1SchemaInstance
138
+ }) => self => make({
139
+ name: self.name,
140
+ description: descriptorMapper(self.description),
141
+ parser: function (text) {
142
+ return _effect.Either.flatMap(self.parser.call(this, text), (0, _effect.flow)(_effect.Tuple.mapBoth({
143
+ onFirst: t => postParser.call(this, t),
144
+ onSecond: _effect.Either.right
145
+ }), _effect.Either.all));
146
+ },
147
+ formatter: function (t1) {
148
+ return (0, _effect.pipe)(preFormatter.call(this, t1), _effect.Either.flatMap(t => self.formatter.call(this, t)));
149
+ },
150
+ schemaInstance: t1SchemaInstance === undefined ? self.schemaInstance : t1SchemaInstance
151
+ });
152
+ /**
153
+ * Builds a TemplatePlaceholder instance that parses/formats exactly `length` characters from a
154
+ * string. `length` must be a strictly positive integer.
155
+ *
156
+ * @category Constructors
157
+ */
158
+ exports.modify = modify;
159
+ const fixedLength = ({
160
+ name,
161
+ length
162
+ }) => {
163
+ return make({
164
+ name,
165
+ description: `${length}-character string`,
166
+ parser: function (text) {
167
+ return (0, _effect.pipe)(text, _effectLib.MString.splitAt(length), _effect.Tuple.mapBoth({
168
+ onFirst: _effectLib.MInputError.assertLength({
169
+ expected: length,
170
+ name: this.label
171
+ }),
172
+ onSecond: _effect.Either.right
173
+ }), _effect.Either.all);
174
+ },
175
+ formatter: function (value) {
176
+ return _effectLib.MInputError.assertLength({
177
+ expected: length,
178
+ name: this.label
179
+ })(value);
180
+ },
181
+ schemaInstance: _effect.Schema.String
182
+ });
183
+ };
184
+ /**
185
+ * Builds a TemplatePlaceholder instance that parses/formats exactly `length` characters from a
186
+ * string and trims/pads the result at `padPosition` with `fillChar`. `fillChar` should be a
187
+ * one-character string. `length` must be a strictly positive integer. See the meaning of
188
+ * `disallowEmptyString` in String.trim.
189
+ *
190
+ * @category Constructors
191
+ */
192
+ exports.fixedLength = fixedLength;
193
+ const paddedFixedLength = params => {
194
+ const trimmer = (0, _effect.flow)(_effectLib.MString.trim(params), _effect.Either.right);
195
+ const padder = (0, _effect.flow)(_effectLib.MString.pad(params), _effect.Either.right);
196
+ return (0, _effect.pipe)(fixedLength(params), modify({
197
+ descriptorMapper: _effectLib.MString.append(` ${_effectLib.MString.PadPosition.toId(params.padPosition)}-padded with '${params.fillChar}'`),
198
+ postParser: trimmer,
199
+ preFormatter: padder
200
+ }));
201
+ };
202
+ /**
203
+ * Builds a TemplatePlaceholder instance that parses/formats a Real in the given
204
+ * `numberBase10Format`. If the number to parse/format is less than `length` characters, `fillChar`
205
+ * is trimmed/padded between the sign and the number so that the length condition is respected.
206
+ * fillChar must be a one-character string (but no error is triggered if you do not respect that
207
+ * condition)
208
+ *
209
+ * @category Constructors
210
+ */
211
+ exports.paddedFixedLength = paddedFixedLength;
212
+ const fixedLengthToReal = params => {
213
+ const {
214
+ numberBase10Format,
215
+ fillChar
216
+ } = params;
217
+ const numberParser = function (input) {
218
+ return (0, _effect.pipe)(input, CVNumberBase10Format.toRealParser(numberBase10Format, fillChar), _effect.Either.fromOption(() => new _effectLib.MInputError.Type({
219
+ message: `${this.label}: value '${input}' cannot be converted to a(n) ${CVNumberBase10Format.toDescription(numberBase10Format)}`
220
+ })));
221
+ };
222
+ const numberFormatter = (0, _effect.flow)(CVNumberBase10Format.toNumberFormatter(numberBase10Format, (0, _effect.pipe)(fillChar, _effect.String.repeat(params.length))), _effect.Either.right);
223
+ return (0, _effect.pipe)(fixedLength(params), modify({
224
+ descriptorMapper: _effectLib.MString.append(` left-padded with '${fillChar}' to ${CVNumberBase10Format.toDescription(numberBase10Format)}`),
225
+ postParser: numberParser,
226
+ preFormatter: numberFormatter,
227
+ t1SchemaInstance: CVReal.SchemaFromSelf
228
+ }));
229
+ };
230
+ /**
231
+ * Builds a TemplatePlaceholder instance that parses/formats a Real provided in
232
+ * `numberBase10Format`.
233
+ *
234
+ * @category Constructors
235
+ */
236
+ exports.fixedLengthToReal = fixedLengthToReal;
237
+ const real = ({
238
+ name,
239
+ numberBase10Format
240
+ }) => {
241
+ const numberParser = CVNumberBase10Format.toRealExtractor(numberBase10Format);
242
+ const numberFormatter = CVNumberBase10Format.toNumberFormatter(numberBase10Format);
243
+ const flippedTakeRightBut = _effect.Function.flip(_effectLib.MString.takeRightBut);
244
+ return make({
245
+ name,
246
+ description: `${CVNumberBase10Format.toDescription(numberBase10Format)}`,
247
+ parser: function (text) {
248
+ return (0, _effect.pipe)(text, numberParser, _effect.Either.fromOption(() => new _effectLib.MInputError.Type({
249
+ message: `${this.label} contains '${text}' from the start of which a(n) ${CVNumberBase10Format.toDescription(numberBase10Format)} could not be extracted`
250
+ })), _effect.Either.map(_effect.Tuple.mapSecond((0, _effect.flow)(_effect.String.length, flippedTakeRightBut(text)))));
251
+ },
252
+ formatter: (0, _effect.flow)(numberFormatter, _effect.Either.right),
253
+ schemaInstance: CVReal.SchemaFromSelf
254
+ });
255
+ };
256
+ /**
257
+ * Builds a TemplatePlaceholder instance that works as a map:
258
+ *
259
+ * The parser expects one of the keys of `keyValuePairs` and will return the associated value. The
260
+ * formatter expects one of the values of `keyValuePairs` and will return the associated key.
261
+ *
262
+ * `keyValuePairs` should define a bijection (each key and each value must be present only once). It
263
+ * is best if the type of the values defines a toString method. Value equality is checked with The
264
+ * Effect Equal.equals function.
265
+ *
266
+ * `schemaInstance` is a Schema instance that transforms a value of type T into a value of type T.
267
+ * It is an optional parameter. You need only provide it if you intend to use a CVTemplate built
268
+ * from it within the Effect Schema module. In that case, you can build such a Schema with the
269
+ * Schema.declare function. If you don't provide it and use a CVTemplate built from it within the
270
+ * Effect Schema module, it will not work.
271
+ *
272
+ * @category Constructors
273
+ */
274
+ exports.real = real;
275
+ const mappedLiterals = ({
276
+ name,
277
+ keyValuePairs,
278
+ schemaInstance = _effect.Schema.declare(_input => false)
279
+ }) => {
280
+ const keys = (0, _effect.pipe)(keyValuePairs, _effect.Array.map(_effect.Tuple.getFirst), _effect.Array.join(', '), _effectLib.MString.prepend('['), _effectLib.MString.append(']'));
281
+ const values = (0, _effect.pipe)(keyValuePairs, _effect.Array.map((0, _effect.flow)(_effect.Tuple.getSecond, _effectLib.MString.fromUnknown)), _effect.Array.join(', '), _effectLib.MString.prepend('['), _effectLib.MString.append(']'));
282
+ const valueNameMap = (0, _effect.pipe)(keyValuePairs, _effect.Array.map(_effect.Tuple.swap), _effect.HashMap.fromIterable);
283
+ const isTheStartOf = _effect.Function.flip(_effect.String.startsWith);
284
+ const flippedTakeRightBut = _effect.Function.flip(_effectLib.MString.takeRightBut);
285
+ return make({
286
+ name,
287
+ description: `from ${keys} to ${values}`,
288
+ parser: function (text) {
289
+ return (0, _effect.pipe)(keyValuePairs, _effect.Array.findFirst((0, _effect.flow)(_effect.Tuple.getFirst, isTheStartOf(text))), _effect.Either.fromOption(() => new _effectLib.MInputError.Type({
290
+ message: `Expected remaining text for ${this.label} to start with one of ${keys}. Actual: '${text}'`
291
+ })), _effect.Either.map(_effectLib.MTuple.makeBothBy({
292
+ toFirst: _effect.Tuple.getSecond,
293
+ toSecond: (0, _effect.flow)(_effect.Tuple.getFirst, _effect.String.length, flippedTakeRightBut(text))
294
+ })));
295
+ },
296
+ formatter: function (value) {
297
+ return (0, _effect.pipe)(valueNameMap, _effect.HashMap.get(value), _effect.Either.fromOption(() => new _effectLib.MInputError.Type({
298
+ message: `${this.label}: expected one of ${values}. Actual: ${_effectLib.MString.fromUnknown(value)}`
299
+ })));
300
+ },
301
+ schemaInstance
302
+ });
303
+ };
304
+ /**
305
+ * Same as `mappedLiterals` but `T` is assumed to be `CVReal.Type` which should be the most usual
306
+ * use case
307
+ *
308
+ * @category Constructors
309
+ */
310
+ exports.mappedLiterals = mappedLiterals;
311
+ const realMappedLiterals = params => mappedLiterals({
312
+ ...params,
313
+ schemaInstance: CVReal.SchemaFromSelf
314
+ });
315
+ /**
316
+ * Builds a TemplatePlaceholder instance that parses/formats the regular expression regExp. `regExp`
317
+ * must start with the ^ character. Otherwise, the parser and formatter will not work properly.
318
+ *
319
+ * @category Constructors
320
+ */
321
+ exports.realMappedLiterals = realMappedLiterals;
322
+ const fulfilling = ({
323
+ name,
324
+ regExp,
325
+ regExpDescriptor
326
+ }) => {
327
+ const flippedTakeRightBut = _effect.Function.flip(_effectLib.MString.takeRightBut);
328
+ const match = label => _effectLib.MInputError.match({
329
+ regExp,
330
+ regExpDescriptor,
331
+ name: label
332
+ });
333
+ return make({
334
+ name,
335
+ description: `${regExpDescriptor}`,
336
+ parser: function (text) {
337
+ return (0, _effect.pipe)(text, match(this.label), _effect.Either.map(_effectLib.MTuple.makeBothBy({
338
+ toFirst: _effect.Function.identity,
339
+ toSecond: (0, _effect.flow)(_effect.String.length, flippedTakeRightBut(text))
340
+ })));
341
+ },
342
+ formatter: function (text) {
343
+ return (0, _effect.pipe)(text, match(this.label), _effect.Either.filterOrLeft(_effectLib.MString.hasLength(text.length), () => new _effectLib.MInputError.Type({
344
+ message: `${this.label}: expected ${regExpDescriptor}. Actual: '${text}'`
345
+ })));
346
+ },
347
+ schemaInstance: _effect.Schema.String
348
+ });
349
+ };
350
+ /**
351
+ * Builds a TemplatePlaceholder instance that parses/formats a non-empty string made up of
352
+ * characters other than those contained in `forbiddenChars`. `forbiddenChars` should be an array of
353
+ * 1-character strings (will not throw otherwise but strange behaviors can be expected)
354
+ *
355
+ * @category Constructors
356
+ */
357
+ exports.fulfilling = fulfilling;
358
+ const anythingBut = ({
359
+ name,
360
+ forbiddenChars
361
+ }) => {
362
+ const forbiddenCharsAsString = (0, _effect.pipe)(forbiddenChars, _effect.Array.join("', '"), _effectLib.MString.prepend("[ '"), _effectLib.MString.append("' ]"));
363
+ return fulfilling({
364
+ name,
365
+ regExp: (0, _effect.pipe)(forbiddenChars, _effectLib.MRegExpString.notInRange, _effectLib.MRegExpString.oneOrMore, _effectLib.MRegExpString.atStart, _effectLib.MRegExp.fromRegExpString()),
366
+ regExpDescriptor: `a non-empty string containing non of the following characters: ${forbiddenCharsAsString}`
367
+ });
368
+ };
369
+ /**
370
+ * Builds a TemplatePlaceholder instance that parses/formats all the remaining text.
371
+ *
372
+ * @category Constructors
373
+ */
374
+ exports.anythingBut = anythingBut;
375
+ const toEnd = name => fulfilling({
376
+ name,
377
+ regExp: /^.*/,
378
+ regExpDescriptor: 'a string'
379
+ });
380
+ exports.toEnd = toEnd;
381
+ //# sourceMappingURL=TemplatePlaceholder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplatePlaceholder.js","names":["_effectLib","require","_effect","CVNumberBase10Format","_interopRequireWildcard","CVReal","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","moduleTag","exports","_TypeId","Symbol","for","u","Predicate","hasProperty","proto","_N","MTypes","covariantValue","_T","invariantValue","MInspectable","IdSymbol","getLabelledDescription","BaseProto","MPipeable","_make","params","objectFromDataAndProto","make","flow","MStruct","enrichWith","label","name","MString","prepend","Struct","description","parser","formatter","schemaInstance","self","modify","descriptorMapper","postParser","preFormatter","t1SchemaInstance","text","Either","flatMap","Tuple","mapBoth","onFirst","onSecond","right","all","t1","pipe","undefined","fixedLength","length","splitAt","MInputError","assertLength","expected","value","Schema","String","paddedFixedLength","trimmer","trim","padder","pad","append","PadPosition","toId","padPosition","fillChar","fixedLengthToReal","numberBase10Format","numberParser","input","toRealParser","fromOption","Type","message","toDescription","numberFormatter","toNumberFormatter","repeat","SchemaFromSelf","real","toRealExtractor","flippedTakeRightBut","Function","flip","takeRightBut","map","mapSecond","mappedLiterals","keyValuePairs","declare","_input","keys","Array","getFirst","join","values","getSecond","fromUnknown","valueNameMap","swap","HashMap","fromIterable","isTheStartOf","startsWith","findFirst","MTuple","makeBothBy","toFirst","toSecond","realMappedLiterals","fulfilling","regExp","regExpDescriptor","match","identity","filterOrLeft","hasLength","anythingBut","forbiddenChars","forbiddenCharsAsString","MRegExpString","notInRange","oneOrMore","atStart","MRegExp","fromRegExpString","toEnd"],"sources":["../../esm/TemplatePlaceholder.ts"],"sourcesContent":[null],"mappings":";;;;;;AAeA,IAAAA,UAAA,gBAAAC,OAAA;AAYA,IAAAC,OAAA,gBAAAD,OAAA;AAgBA,IAAAE,oBAAA,gBAAAC,uBAAA,cAAAH,OAAA;AACA,IAAAI,MAAA,gBAAAD,uBAAA,cAAAH,OAAA;AAAoC,SAAAG,wBAAAE,CAAA,EAAAC,CAAA;EAAA,yBAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA;IAAA,KAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA;IAAA,IAAAM,CAAA;MAAAC,CAAA;MAAAC,CAAA;QAAAC,SAAA;QAAAC,OAAA,EAAAV;MAAA;IAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA;IAAA,IAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA;MAAA,IAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA;MAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA;IAAA;IAAA,WAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA;IAAA,OAAAO,CAAA;EAAA,GAAAR,CAAA,EAAAC,CAAA;AAAA;AA5CpC;;;;;;;;;;;;;;;AA8CA;;;;;AAKO,MAAMkB,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,6CAA6C;AACtE,MAAME,OAAO,gBAAkBC,MAAM,CAACC,GAAG,CAACJ,SAAS,CAAY;AAqF/D;;;;;AAKO,MAAMR,GAAG,GAAIa,CAAU,IAAiC5B,OAAA,CAAA6B,SAAS,CAACC,WAAW,CAACF,CAAC,EAAEH,OAAO,CAAC;AAEhG;AACA;AAAAD,OAAA,CAAAT,GAAA,GAAAA,GAAA;AACA,MAAMgB,KAAK,GAAmC;EAC7C,CAACN,OAAO,GAAG;IAAEO,EAAE,EAAElC,UAAA,CAAAmC,MAAM,CAACC,cAAc;IAAEC,EAAE,EAAErC,UAAA,CAAAmC,MAAM,CAACG;EAAc,CAAE;EACnE,CAACtC,UAAA,CAAAuC,YAAY,CAACC,QAAQ,IAAC;IACtB,OAAOC,sBAAsB,CAAC,IAAI,CAAC;EACpC,CAAC;EACD,iBAAGzC,UAAA,CAAAuC,YAAY,CAACG,SAAS,CAACjB,SAAS,CAAC;EACpC,GAAGzB,UAAA,CAAA2C,SAAS,CAACD;CACb;AAED,MAAME,KAAK,GAA+BC,MAA+B,IACxE7C,UAAA,CAAAmC,MAAM,CAACW,sBAAsB,CAACb,KAAK,EAAEY,MAAM,CAAC;AAE7C;;;;;AAKO,MAAME,IAAI,GAAArB,OAAA,CAAAqB,IAAA,gBAEC,IAAA7C,OAAA,CAAA8C,IAAI,eACrBhD,UAAA,CAAAiD,OAAO,CAACC,UAAU,CAAC;EAAEC,KAAK,EAAEA,CAAC;IAAEC;EAAI,CAAE,KAAKpD,UAAA,CAAAqD,OAAO,CAACC,OAAO,CAAC,GAAG,CAAC,CAACF,IAAI;AAAC,CAAE,CAAC,EACvER,KAAK,CACL;AAED;;;;;AAKO,MAAMQ,IAAI,GAAA1B,OAAA,CAAA0B,IAAA,gBAAuDlD,OAAA,CAAAqD,MAAM,CAACrC,GAAG,CAAC,MAAM,CAAC;AAE1F;;;;;AAKO,MAAMiC,KAAK,GAAAzB,OAAA,CAAAyB,KAAA,gBAA4DjD,OAAA,CAAAqD,MAAM,CAACrC,GAAG,CAAC,OAAO,CAAC;AAEjG;;;;;AAKO,MAAMsC,WAAW,GAAA9B,OAAA,CAAA8B,WAAA,gBACvBtD,OAAA,CAAAqD,MAAM,CAACrC,GAAG,CAAC,aAAa,CAAC;AAE1B;;;;;AAKO,MAAMuC,MAAM,GAAA/B,OAAA,CAAA+B,MAAA,gBAClBvD,OAAA,CAAAqD,MAAM,CAACrC,GAAG,CAAC,QAAQ,CAAC;AAErB;;;;;AAKO,MAAMwC,SAAS,GAAAhC,OAAA,CAAAgC,SAAA,gBACrBxD,OAAA,CAAAqD,MAAM,CAACrC,GAAG,CAAC,WAAW,CAAC;AAExB;;;;;AAKO,MAAMyC,cAAc,GAAAjC,OAAA,CAAAiC,cAAA,gBAC1BzD,OAAA,CAAAqD,MAAM,CAACrC,GAAG,CAAC,gBAAgB,CAAC;AAE7B;;;;;AAKO,MAAMuB,sBAAsB,GAAyBmB,IAAgB,IAC3E,GAAGA,IAAI,CAACT,KAAK,KAAKS,IAAI,CAACJ,WAAW,EAAE;AAErC;;;;;;AAAA9B,OAAA,CAAAe,sBAAA,GAAAA,sBAAA;AAMO,MAAMoB,MAAM,GAsBlBA,CAAQ;EACPC,gBAAgB;EAChBC,UAAU;EACVC,YAAY;EACZC;AAAgB,CAMhB,KACwBL,IAAgB,IACxCb,IAAI,CAAC;EACJK,IAAI,EAAEQ,IAAI,CAACR,IAAI;EACfI,WAAW,EAAEM,gBAAgB,CAACF,IAAI,CAACJ,WAAW,CAAC;EAC/CC,MAAM,EAAE,SAAAA,CAA6BS,IAAI;IACxC,OAAOhE,OAAA,CAAAiE,MAAM,CAACC,OAAO,CACpBR,IAAI,CAACH,MAAM,CAACpC,IAAI,CAAC,IAAI,EAAE6C,IAAI,CAAC,EAC5B,IAAAhE,OAAA,CAAA8C,IAAI,EACH9C,OAAA,CAAAmE,KAAK,CAACC,OAAO,CAAC;MACbC,OAAO,EAAGhE,CAAC,IAAKwD,UAAU,CAAC1C,IAAI,CAAC,IAAI,EAAEd,CAAC,CAAC;MACxCiE,QAAQ,EAAEtE,OAAA,CAAAiE,MAAM,CAACM;KACjB,CAAC,EACFvE,OAAA,CAAAiE,MAAM,CAACO,GAAG,CACV,CACD;EACF,CAAC;EACDhB,SAAS,EAAE,SAAAA,CAA6BiB,EAAE;IACzC,OAAO,IAAAzE,OAAA,CAAA0E,IAAI,EACVZ,YAAY,CAAC3C,IAAI,CAAC,IAAI,EAAEsD,EAAE,CAAC,EAC3BzE,OAAA,CAAAiE,MAAM,CAACC,OAAO,CAAE7D,CAAC,IAAKqD,IAAI,CAACF,SAAS,CAACrC,IAAI,CAAC,IAAI,EAAEd,CAAC,CAAC,CAAC,CACnD;EACF,CAAC;EACDoD,cAAc,EACbM,gBAAgB,KAAKY,SAAS,GAC5BjB,IAAI,CAACD,cAAmD,GACxDM;CACH,CAAC;AAEJ;;;;;;AAAAvC,OAAA,CAAAmC,MAAA,GAAAA,MAAA;AAMO,MAAMiB,WAAW,GAAGA,CAAyB;EACnD1B,IAAI;EACJ2B;AAAM,CAIN,KAAqB;EACrB,OAAOhC,IAAI,CAAC;IACXK,IAAI;IACJI,WAAW,EAAE,GAAGuB,MAAM,mBAAmB;IACzCtB,MAAM,EAAE,SAAAA,CAAiCS,IAAI;MAC5C,OAAO,IAAAhE,OAAA,CAAA0E,IAAI,EACVV,IAAI,EACJlE,UAAA,CAAAqD,OAAO,CAAC2B,OAAO,CAACD,MAAM,CAAC,EACvB7E,OAAA,CAAAmE,KAAK,CAACC,OAAO,CAAC;QACbC,OAAO,EAAEvE,UAAA,CAAAiF,WAAW,CAACC,YAAY,CAAC;UAAEC,QAAQ,EAAEJ,MAAM;UAAE3B,IAAI,EAAE,IAAI,CAACD;QAAK,CAAE,CAAC;QACzEqB,QAAQ,EAAEtE,OAAA,CAAAiE,MAAM,CAACM;OACjB,CAAC,EACFvE,OAAA,CAAAiE,MAAM,CAACO,GAAG,CACV;IACF,CAAC;IACDhB,SAAS,EAAE,SAAAA,CAAiC0B,KAAK;MAChD,OAAOpF,UAAA,CAAAiF,WAAW,CAACC,YAAY,CAAC;QAAEC,QAAQ,EAAEJ,MAAM;QAAE3B,IAAI,EAAE,IAAI,CAACD;MAAK,CAAE,CAAC,CAACiC,KAAK,CAAC;IAC/E,CAAC;IACDzB,cAAc,EAAEzD,OAAA,CAAAmF,MAAM,CAACC;GACvB,CAAC;AACH,CAAC;AAED;;;;;;;;AAAA5D,OAAA,CAAAoD,WAAA,GAAAA,WAAA;AAQO,MAAMS,iBAAiB,GAA4B1C,MAMzD,IAAqB;EACrB,MAAM2C,OAAO,GAAG,IAAAtF,OAAA,CAAA8C,IAAI,EAAChD,UAAA,CAAAqD,OAAO,CAACoC,IAAI,CAAC5C,MAAM,CAAC,EAAE3C,OAAA,CAAAiE,MAAM,CAACM,KAAK,CAAC;EACxD,MAAMiB,MAAM,GAAG,IAAAxF,OAAA,CAAA8C,IAAI,EAAChD,UAAA,CAAAqD,OAAO,CAACsC,GAAG,CAAC9C,MAAM,CAAC,EAAE3C,OAAA,CAAAiE,MAAM,CAACM,KAAK,CAAC;EAEtD,OAAO,IAAAvE,OAAA,CAAA0E,IAAI,EACVE,WAAW,CAACjC,MAAM,CAAC,EACnBgB,MAAM,CAAC;IACNC,gBAAgB,EAAE9D,UAAA,CAAAqD,OAAO,CAACuC,MAAM,CAC/B,IAAI5F,UAAA,CAAAqD,OAAO,CAACwC,WAAW,CAACC,IAAI,CAACjD,MAAM,CAACkD,WAAW,CAAC,iBAAiBlD,MAAM,CAACmD,QAAQ,GAAG,CACnF;IACDjC,UAAU,EAAEyB,OAAO;IACnBxB,YAAY,EAAE0B;GACd,CAAC,CACF;AACF,CAAC;AAED;;;;;;;;;AAAAhE,OAAA,CAAA6D,iBAAA,GAAAA,iBAAA;AAUO,MAAMU,iBAAiB,GAA4BpD,MAKzD,IAA0B;EAC1B,MAAM;IAAEqD,kBAAkB;IAAEF;EAAQ,CAAE,GAAGnD,MAAM;EAC/C,MAAMsD,YAAY,GAAG,SAAAA,CAAsCC,KAAa;IACvE,OAAO,IAAAlG,OAAA,CAAA0E,IAAI,EACVwB,KAAK,EACLjG,oBAAoB,CAACkG,YAAY,CAACH,kBAAkB,EAAEF,QAAQ,CAAC,EAC/D9F,OAAA,CAAAiE,MAAM,CAACmC,UAAU,CAChB,MACC,IAAItG,UAAA,CAAAiF,WAAW,CAACsB,IAAI,CAAC;MACpBC,OAAO,EAAE,GAAG,IAAI,CAACrD,KAAK,YAAYiD,KAAK,iCAAiCjG,oBAAoB,CAACsG,aAAa,CAACP,kBAAkB,CAAC;KAC9H,CAAC,CACH,CACD;EACF,CAAC;EAED,MAAMQ,eAAe,GAAG,IAAAxG,OAAA,CAAA8C,IAAI,EAC3B7C,oBAAoB,CAACwG,iBAAiB,CACrCT,kBAAkB,EAClB,IAAAhG,OAAA,CAAA0E,IAAI,EAACoB,QAAQ,EAAE9F,OAAA,CAAAoF,MAAM,CAACsB,MAAM,CAAC/D,MAAM,CAACkC,MAAM,CAAC,CAAC,CAC5C,EACD7E,OAAA,CAAAiE,MAAM,CAACM,KAAK,CACZ;EAED,OAAO,IAAAvE,OAAA,CAAA0E,IAAI,EACVE,WAAW,CAACjC,MAAM,CAAC,EACnBgB,MAAM,CAAC;IACNC,gBAAgB,EAAE9D,UAAA,CAAAqD,OAAO,CAACuC,MAAM,CAC/B,sBAAsBI,QAAQ,QAAQ7F,oBAAoB,CAACsG,aAAa,CAACP,kBAAkB,CAAC,EAAE,CAC9F;IACDnC,UAAU,EAAEoC,YAAY;IACxBnC,YAAY,EAAE0C,eAAe;IAC7BzC,gBAAgB,EAAE5D,MAAM,CAACwG;GACzB,CAAC,CACF;AACF,CAAC;AAED;;;;;;AAAAnF,OAAA,CAAAuE,iBAAA,GAAAA,iBAAA;AAMO,MAAMa,IAAI,GAAGA,CAAyB;EAC5C1D,IAAI;EACJ8C;AAAkB,CAIlB,KAA0B;EAC1B,MAAMC,YAAY,GAAGhG,oBAAoB,CAAC4G,eAAe,CAACb,kBAAkB,CAAC;EAC7E,MAAMQ,eAAe,GAAGvG,oBAAoB,CAACwG,iBAAiB,CAACT,kBAAkB,CAAC;EAClF,MAAMc,mBAAmB,GAAG9G,OAAA,CAAA+G,QAAQ,CAACC,IAAI,CAAClH,UAAA,CAAAqD,OAAO,CAAC8D,YAAY,CAAC;EAE/D,OAAOpE,IAAI,CAAC;IACXK,IAAI;IACJI,WAAW,EAAE,GAAGrD,oBAAoB,CAACsG,aAAa,CAACP,kBAAkB,CAAC,EAAE;IACxEzC,MAAM,EAAE,SAAAA,CAAsCS,IAAI;MACjD,OAAO,IAAAhE,OAAA,CAAA0E,IAAI,EACVV,IAAI,EACJiC,YAAY,EACZjG,OAAA,CAAAiE,MAAM,CAACmC,UAAU,CAChB,MACC,IAAItG,UAAA,CAAAiF,WAAW,CAACsB,IAAI,CAAC;QACpBC,OAAO,EAAE,GAAG,IAAI,CAACrD,KAAK,cAAce,IAAI,kCAAkC/D,oBAAoB,CAACsG,aAAa,CAACP,kBAAkB,CAAC;OAChI,CAAC,CACH,EACDhG,OAAA,CAAAiE,MAAM,CAACiD,GAAG,CAAClH,OAAA,CAAAmE,KAAK,CAACgD,SAAS,CAAC,IAAAnH,OAAA,CAAA8C,IAAI,EAAC9C,OAAA,CAAAoF,MAAM,CAACP,MAAM,EAAEiC,mBAAmB,CAAC9C,IAAI,CAAC,CAAC,CAAC,CAAC,CAC3E;IACF,CAAC;IACDR,SAAS,EAAE,IAAAxD,OAAA,CAAA8C,IAAI,EAAC0D,eAAe,EAAExG,OAAA,CAAAiE,MAAM,CAACM,KAAK,CAAC;IAC9Cd,cAAc,EAAEtD,MAAM,CAACwG;GACvB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;AAAAnF,OAAA,CAAAoF,IAAA,GAAAA,IAAA;AAkBO,MAAMQ,cAAc,GAAGA,CAA4B;EACzDlE,IAAI;EACJmE,aAAa;EACb5D,cAAc,GAAGzD,OAAA,CAAAmF,MAAM,CAACmC,OAAO,CAAEC,MAAe,IAAkB,KAAK;AAAC,CAKxE,KAAgB;EAChB,MAAMC,IAAI,GAAG,IAAAxH,OAAA,CAAA0E,IAAI,EAChB2C,aAAa,EACbrH,OAAA,CAAAyH,KAAK,CAACP,GAAG,CAAClH,OAAA,CAAAmE,KAAK,CAACuD,QAAQ,CAAC,EACzB1H,OAAA,CAAAyH,KAAK,CAACE,IAAI,CAAC,IAAI,CAAC,EAChB7H,UAAA,CAAAqD,OAAO,CAACC,OAAO,CAAC,GAAG,CAAC,EACpBtD,UAAA,CAAAqD,OAAO,CAACuC,MAAM,CAAC,GAAG,CAAC,CACnB;EACD,MAAMkC,MAAM,GAAG,IAAA5H,OAAA,CAAA0E,IAAI,EAClB2C,aAAa,EACbrH,OAAA,CAAAyH,KAAK,CAACP,GAAG,CAAC,IAAAlH,OAAA,CAAA8C,IAAI,EAAC9C,OAAA,CAAAmE,KAAK,CAAC0D,SAAS,EAAE/H,UAAA,CAAAqD,OAAO,CAAC2E,WAAW,CAAC,CAAC,EACrD9H,OAAA,CAAAyH,KAAK,CAACE,IAAI,CAAC,IAAI,CAAC,EAChB7H,UAAA,CAAAqD,OAAO,CAACC,OAAO,CAAC,GAAG,CAAC,EACpBtD,UAAA,CAAAqD,OAAO,CAACuC,MAAM,CAAC,GAAG,CAAC,CACnB;EACD,MAAMqC,YAAY,GAAG,IAAA/H,OAAA,CAAA0E,IAAI,EAAC2C,aAAa,EAAErH,OAAA,CAAAyH,KAAK,CAACP,GAAG,CAAClH,OAAA,CAAAmE,KAAK,CAAC6D,IAAI,CAAC,EAAEhI,OAAA,CAAAiI,OAAO,CAACC,YAAY,CAAC;EAErF,MAAMC,YAAY,GAAGnI,OAAA,CAAA+G,QAAQ,CAACC,IAAI,CAAChH,OAAA,CAAAoF,MAAM,CAACgD,UAAU,CAAC;EACrD,MAAMtB,mBAAmB,GAAG9G,OAAA,CAAA+G,QAAQ,CAACC,IAAI,CAAClH,UAAA,CAAAqD,OAAO,CAAC8D,YAAY,CAAC;EAE/D,OAAOpE,IAAI,CAAC;IACXK,IAAI;IACJI,WAAW,EAAE,QAAQkE,IAAI,OAAOI,MAAM,EAAE;IACxCrE,MAAM,EAAE,SAAAA,CAA4BS,IAAI;MACvC,OAAO,IAAAhE,OAAA,CAAA0E,IAAI,EACV2C,aAAa,EACbrH,OAAA,CAAAyH,KAAK,CAACY,SAAS,CAAC,IAAArI,OAAA,CAAA8C,IAAI,EAAC9C,OAAA,CAAAmE,KAAK,CAACuD,QAAQ,EAAES,YAAY,CAACnE,IAAI,CAAC,CAAC,CAAC,EACzDhE,OAAA,CAAAiE,MAAM,CAACmC,UAAU,CAChB,MACC,IAAItG,UAAA,CAAAiF,WAAW,CAACsB,IAAI,CAAC;QACpBC,OAAO,EAAE,+BAA+B,IAAI,CAACrD,KAAK,yBAAyBuE,IAAI,cAAcxD,IAAI;OACjG,CAAC,CACH,EACDhE,OAAA,CAAAiE,MAAM,CAACiD,GAAG,CACTpH,UAAA,CAAAwI,MAAM,CAACC,UAAU,CAAC;QACjBC,OAAO,EAAExI,OAAA,CAAAmE,KAAK,CAAC0D,SAAS;QACxBY,QAAQ,EAAE,IAAAzI,OAAA,CAAA8C,IAAI,EAAC9C,OAAA,CAAAmE,KAAK,CAACuD,QAAQ,EAAE1H,OAAA,CAAAoF,MAAM,CAACP,MAAM,EAAEiC,mBAAmB,CAAC9C,IAAI,CAAC;OACvE,CAAC,CACF,CACD;IACF,CAAC;IACDR,SAAS,EAAE,SAAAA,CAA4B0B,KAAK;MAC3C,OAAO,IAAAlF,OAAA,CAAA0E,IAAI,EACVqD,YAAY,EACZ/H,OAAA,CAAAiI,OAAO,CAACjH,GAAG,CAACkE,KAAK,CAAC,EAClBlF,OAAA,CAAAiE,MAAM,CAACmC,UAAU,CAChB,MACC,IAAItG,UAAA,CAAAiF,WAAW,CAACsB,IAAI,CAAC;QACpBC,OAAO,EAAE,GAAG,IAAI,CAACrD,KAAK,qBAAqB2E,MAAM,aAAa9H,UAAA,CAAAqD,OAAO,CAAC2E,WAAW,CAAC5C,KAAK,CAAC;OACxF,CAAC,CACH,CACD;IACF,CAAC;IACDzB;GACA,CAAC;AACH,CAAC;AAED;;;;;;AAAAjC,OAAA,CAAA4F,cAAA,GAAAA,cAAA;AAMO,MAAMsB,kBAAkB,GAA4B/F,MAG1D,IAA2ByE,cAAc,CAAC;EAAE,GAAGzE,MAAM;EAAEc,cAAc,EAAEtD,MAAM,CAACwG;AAAc,CAAE,CAAC;AAEhG;;;;;;AAAAnF,OAAA,CAAAkH,kBAAA,GAAAA,kBAAA;AAMO,MAAMC,UAAU,GAAGA,CAAyB;EAClDzF,IAAI;EACJ0F,MAAM;EACNC;AAAgB,CAKhB,KAAqB;EACrB,MAAM/B,mBAAmB,GAAG9G,OAAA,CAAA+G,QAAQ,CAACC,IAAI,CAAClH,UAAA,CAAAqD,OAAO,CAAC8D,YAAY,CAAC;EAE/D,MAAM6B,KAAK,GAAI7F,KAAa,IAC3BnD,UAAA,CAAAiF,WAAW,CAAC+D,KAAK,CAAC;IACjBF,MAAM;IACNC,gBAAgB;IAChB3F,IAAI,EAAED;GACN,CAAC;EAEH,OAAOJ,IAAI,CAAC;IACXK,IAAI;IACJI,WAAW,EAAE,GAAGuF,gBAAgB,EAAE;IAClCtF,MAAM,EAAE,SAAAA,CAAiCS,IAAI;MAC5C,OAAO,IAAAhE,OAAA,CAAA0E,IAAI,EACVV,IAAI,EACJ8E,KAAK,CAAC,IAAI,CAAC7F,KAAK,CAAC,EACjBjD,OAAA,CAAAiE,MAAM,CAACiD,GAAG,CACTpH,UAAA,CAAAwI,MAAM,CAACC,UAAU,CAAC;QACjBC,OAAO,EAAExI,OAAA,CAAA+G,QAAQ,CAACgC,QAAQ;QAC1BN,QAAQ,EAAE,IAAAzI,OAAA,CAAA8C,IAAI,EAAC9C,OAAA,CAAAoF,MAAM,CAACP,MAAM,EAAEiC,mBAAmB,CAAC9C,IAAI,CAAC;OACvD,CAAC,CACF,CACD;IACF,CAAC;IACDR,SAAS,EAAE,SAAAA,CAAiCQ,IAAI;MAC/C,OAAO,IAAAhE,OAAA,CAAA0E,IAAI,EACVV,IAAI,EACJ8E,KAAK,CAAC,IAAI,CAAC7F,KAAK,CAAC,EACjBjD,OAAA,CAAAiE,MAAM,CAAC+E,YAAY,CAClBlJ,UAAA,CAAAqD,OAAO,CAAC8F,SAAS,CAACjF,IAAI,CAACa,MAAM,CAAC,EAC9B,MACC,IAAI/E,UAAA,CAAAiF,WAAW,CAACsB,IAAI,CAAC;QACpBC,OAAO,EAAE,GAAG,IAAI,CAACrD,KAAK,cAAc4F,gBAAgB,cAAc7E,IAAI;OACtE,CAAC,CACH,CACD;IACF,CAAC;IACDP,cAAc,EAAEzD,OAAA,CAAAmF,MAAM,CAACC;GACvB,CAAC;AACH,CAAC;AAED;;;;;;;AAAA5D,OAAA,CAAAmH,UAAA,GAAAA,UAAA;AAOO,MAAMO,WAAW,GAAGA,CAAyB;EACnDhG,IAAI;EACJiG;AAAc,CAId,KAAqB;EACrB,MAAMC,sBAAsB,GAAG,IAAApJ,OAAA,CAAA0E,IAAI,EAClCyE,cAAc,EACdnJ,OAAA,CAAAyH,KAAK,CAACE,IAAI,CAAC,MAAM,CAAC,EAClB7H,UAAA,CAAAqD,OAAO,CAACC,OAAO,CAAC,KAAK,CAAC,EACtBtD,UAAA,CAAAqD,OAAO,CAACuC,MAAM,CAAC,KAAK,CAAC,CACrB;EACD,OAAOiD,UAAU,CAAC;IACjBzF,IAAI;IACJ0F,MAAM,EAAE,IAAA5I,OAAA,CAAA0E,IAAI,EACXyE,cAAc,EACdrJ,UAAA,CAAAuJ,aAAa,CAACC,UAAU,EACxBxJ,UAAA,CAAAuJ,aAAa,CAACE,SAAS,EACvBzJ,UAAA,CAAAuJ,aAAa,CAACG,OAAO,EACrB1J,UAAA,CAAA2J,OAAO,CAACC,gBAAgB,EAAE,CAC1B;IACDb,gBAAgB,EAAE,kEAAkEO,sBAAsB;GAC1G,CAAC;AACH,CAAC;AAED;;;;;AAAA5H,OAAA,CAAA0H,WAAA,GAAAA,WAAA;AAKO,MAAMS,KAAK,GAA4BzG,IAAO,IACpDyF,UAAU,CAAC;EACVzF,IAAI;EACJ0F,MAAM,EAAE,KAAK;EACbC,gBAAgB,EAAE;CAClB,CAAC;AAACrH,OAAA,CAAAmI,KAAA,GAAAA,KAAA","ignoreList":[]}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.value = exports.space = exports.slash = exports.parser = exports.moduleTag = exports.make = exports.hyphen = exports.has = exports.formatter = exports.dot = exports.comma = exports.colon = exports.backslash = void 0;
7
+ var _effectLib = /*#__PURE__*/require("@parischap/effect-lib");
8
+ var _effect = /*#__PURE__*/require("effect");
9
+ /**
10
+ * This module implements a TemplateSeparator type which is a sub-type of the TemplatePart type (see
11
+ * TemplatePart.ts)
12
+ *
13
+ * A TemplateSeparator represents the immutable part of a template. Upon parsing, we must check that
14
+ * it is present as is in the text. Upon formatting, it must be inserted as is into the text. A
15
+ * Separator contains no valuable information
16
+ */
17
+
18
+ /**
19
+ * Module tag
20
+ *
21
+ * @category Module markers
22
+ */
23
+ const moduleTag = exports.moduleTag = '@parischap/conversions/TemplateSeparator/';
24
+ const _TypeId = /*#__PURE__*/Symbol.for(moduleTag);
25
+ /**
26
+ * Type guard
27
+ *
28
+ * @category Guards
29
+ */
30
+ const has = u => _effect.Predicate.hasProperty(u, _TypeId);
31
+ /** Proto */
32
+ exports.has = has;
33
+ const proto = {
34
+ [_TypeId]: _TypeId,
35
+ [_effectLib.MInspectable.IdSymbol]() {
36
+ return this.value;
37
+ },
38
+ ... /*#__PURE__*/_effectLib.MInspectable.BaseProto(moduleTag),
39
+ ..._effectLib.MPipeable.BaseProto
40
+ };
41
+ const _make = params => _effectLib.MTypes.objectFromDataAndProto(proto, params);
42
+ /**
43
+ * Builds a Separator instance that parses/formats a given string.
44
+ *
45
+ * @category Constructors
46
+ */
47
+ const make = value => _make({
48
+ value,
49
+ parser: pos => (0, _effect.flow)(_effectLib.MInputError.assertStartsWith({
50
+ startString: value,
51
+ name: `remaining text for separator at position ${pos}`
52
+ }), _effect.Either.map(_effectLib.MString.takeRightBut(value.length))),
53
+ formatter: _effect.Function.constant(value)
54
+ });
55
+ /**
56
+ * Returns the `value` property of `self`
57
+ *
58
+ * @category Destructors
59
+ */
60
+ exports.make = make;
61
+ const value = exports.value = /*#__PURE__*/_effect.Struct.get('value');
62
+ /**
63
+ * Returns the `parser` property of `self`
64
+ *
65
+ * @category Destructors
66
+ */
67
+ const parser = exports.parser = /*#__PURE__*/_effect.Struct.get('parser');
68
+ /**
69
+ * Returns the `formatter` property of `self`
70
+ *
71
+ * @category Destructors
72
+ */
73
+ const formatter = exports.formatter = /*#__PURE__*/_effect.Struct.get('formatter');
74
+ /**
75
+ * Slash Separator instance
76
+ *
77
+ * @category Instances
78
+ */
79
+ const slash = exports.slash = /*#__PURE__*/make('/');
80
+ /**
81
+ * Backslash Separator instance
82
+ *
83
+ * @category Instances
84
+ */
85
+ const backslash = exports.backslash = /*#__PURE__*/make('\\');
86
+ /**
87
+ * Dot Separator instance
88
+ *
89
+ * @category Instances
90
+ */
91
+ const dot = exports.dot = /*#__PURE__*/make('.');
92
+ /**
93
+ * Hyphen Separator instance
94
+ *
95
+ * @category Instances
96
+ */
97
+ const hyphen = exports.hyphen = /*#__PURE__*/make('-');
98
+ /**
99
+ * Colon Separator instance
100
+ *
101
+ * @category Instances
102
+ */
103
+ const colon = exports.colon = /*#__PURE__*/make(':');
104
+ /**
105
+ * Comma Separator instance
106
+ *
107
+ * @category Instances
108
+ */
109
+ const comma = exports.comma = /*#__PURE__*/make(',');
110
+ /**
111
+ * Space Separator instance
112
+ *
113
+ * @category Instances
114
+ */
115
+ const space = exports.space = /*#__PURE__*/make(' ');
116
+ //# sourceMappingURL=TemplateSeparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateSeparator.js","names":["_effectLib","require","_effect","moduleTag","exports","_TypeId","Symbol","for","has","u","Predicate","hasProperty","proto","MInspectable","IdSymbol","value","BaseProto","MPipeable","_make","params","MTypes","objectFromDataAndProto","make","parser","pos","flow","MInputError","assertStartsWith","startString","name","Either","map","MString","takeRightBut","length","formatter","Function","constant","Struct","get","slash","backslash","dot","hyphen","colon","comma","space"],"sources":["../../esm/TemplateSeparator.ts"],"sourcesContent":[null],"mappings":";;;;;;AASA,IAAAA,UAAA,gBAAAC,OAAA;AAEA,IAAAC,OAAA,gBAAAD,OAAA;AAXA;;;;;;;;;AAaA;;;;;AAKO,MAAME,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,2CAA2C;AACpE,MAAME,OAAO,gBAAkBC,MAAM,CAACC,GAAG,CAACJ,SAAS,CAAY;AAsD/D;;;;;AAKO,MAAMK,GAAG,GAAIC,CAAU,IAAgBP,OAAA,CAAAQ,SAAS,CAACC,WAAW,CAACF,CAAC,EAAEJ,OAAO,CAAC;AAE/E;AAAAD,OAAA,CAAAI,GAAA,GAAAA,GAAA;AACA,MAAMI,KAAK,GAAuB;EACjC,CAACP,OAAO,GAAGA,OAAO;EAClB,CAACL,UAAA,CAAAa,YAAY,CAACC,QAAQ,IAAC;IACtB,OAAO,IAAI,CAACC,KAAK;EAClB,CAAC;EACD,iBAAGf,UAAA,CAAAa,YAAY,CAACG,SAAS,CAACb,SAAS,CAAC;EACpC,GAAGH,UAAA,CAAAiB,SAAS,CAACD;CACb;AAED,MAAME,KAAK,GAAIC,MAAyB,IAAWnB,UAAA,CAAAoB,MAAM,CAACC,sBAAsB,CAACT,KAAK,EAAEO,MAAM,CAAC;AAE/F;;;;;AAKO,MAAMG,IAAI,GAAIP,KAAa,IACjCG,KAAK,CAAC;EACLH,KAAK;EACLQ,MAAM,EAAGC,GAAG,IACX,IAAAtB,OAAA,CAAAuB,IAAI,EACHzB,UAAA,CAAA0B,WAAW,CAACC,gBAAgB,CAAC;IAC5BC,WAAW,EAAEb,KAAK;IAClBc,IAAI,EAAE,4CAA4CL,GAAG;GACrD,CAAC,EACFtB,OAAA,CAAA4B,MAAM,CAACC,GAAG,CAAC/B,UAAA,CAAAgC,OAAO,CAACC,YAAY,CAAClB,KAAK,CAACmB,MAAM,CAAC,CAAC,CAC9C;EACFC,SAAS,EAAEjC,OAAA,CAAAkC,QAAQ,CAACC,QAAQ,CAACtB,KAAK;CAClC,CAAC;AAEH;;;;;AAAAX,OAAA,CAAAkB,IAAA,GAAAA,IAAA;AAKO,MAAMP,KAAK,GAAAX,OAAA,CAAAW,KAAA,gBAAwCb,OAAA,CAAAoC,MAAM,CAACC,GAAG,CAAC,OAAO,CAAC;AAE7E;;;;;AAKO,MAAMhB,MAAM,GAAAnB,OAAA,CAAAmB,MAAA,gBAA6CrB,OAAA,CAAAoC,MAAM,CAACC,GAAG,CAAC,QAAQ,CAAC;AAEpF;;;;;AAKO,MAAMJ,SAAS,GAAA/B,OAAA,CAAA+B,SAAA,gBAAgDjC,OAAA,CAAAoC,MAAM,CAACC,GAAG,CAAC,WAAW,CAAC;AAE7F;;;;;AAKO,MAAMC,KAAK,GAAApC,OAAA,CAAAoC,KAAA,gBAASlB,IAAI,CAAC,GAAG,CAAC;AAEpC;;;;;AAKO,MAAMmB,SAAS,GAAArC,OAAA,CAAAqC,SAAA,gBAASnB,IAAI,CAAC,IAAI,CAAC;AAEzC;;;;;AAKO,MAAMoB,GAAG,GAAAtC,OAAA,CAAAsC,GAAA,gBAASpB,IAAI,CAAC,GAAG,CAAC;AAElC;;;;;AAKO,MAAMqB,MAAM,GAAAvC,OAAA,CAAAuC,MAAA,gBAASrB,IAAI,CAAC,GAAG,CAAC;AAErC;;;;;AAKO,MAAMsB,KAAK,GAAAxC,OAAA,CAAAwC,KAAA,gBAAStB,IAAI,CAAC,GAAG,CAAC;AAEpC;;;;;AAKO,MAAMuB,KAAK,GAAAzC,OAAA,CAAAyC,KAAA,gBAASvB,IAAI,CAAC,GAAG,CAAC;AAEpC;;;;;AAKO,MAAMwB,KAAK,GAAA1C,OAAA,CAAA0C,KAAA,gBAASxB,IAAI,CAAC,GAAG,CAAC","ignoreList":[]}
package/cjs/index.js ADDED
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CVTemplateSeparator = exports.CVTemplatePlaceholder = exports.CVTemplateParts = exports.CVTemplatePart = exports.CVTemplate = exports.CVSemVer = exports.CVSchema = exports.CVRoundingOption = exports.CVRoundingMode = exports.CVReal = exports.CVPositiveReal = exports.CVPositiveInteger = exports.CVNumberBase10Format = exports.CVInteger = exports.CVEmail = exports.CVDateTimeFormatContext = exports.CVDateTimeFormat = exports.CVDateTime = exports.CVBigInt = exports.CVBigDecimal = void 0;
7
+ var _CVBigDecimal = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./BigDecimal.js"));
8
+ exports.CVBigDecimal = _CVBigDecimal;
9
+ var _CVBigInt = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./BigInt.js"));
10
+ exports.CVBigInt = _CVBigInt;
11
+ var _CVDateTime = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./DateTime.js"));
12
+ exports.CVDateTime = _CVDateTime;
13
+ var _CVDateTimeFormat = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./DateTimeFormat.js"));
14
+ exports.CVDateTimeFormat = _CVDateTimeFormat;
15
+ var _CVDateTimeFormatContext = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./DateTimeFormatContext.js"));
16
+ exports.CVDateTimeFormatContext = _CVDateTimeFormatContext;
17
+ var _CVEmail = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Email.js"));
18
+ exports.CVEmail = _CVEmail;
19
+ var _CVInteger = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Integer.js"));
20
+ exports.CVInteger = _CVInteger;
21
+ var _CVNumberBase10Format = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./NumberBase10Format.js"));
22
+ exports.CVNumberBase10Format = _CVNumberBase10Format;
23
+ var _CVPositiveInteger = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./PositiveInteger.js"));
24
+ exports.CVPositiveInteger = _CVPositiveInteger;
25
+ var _CVPositiveReal = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./PositiveReal.js"));
26
+ exports.CVPositiveReal = _CVPositiveReal;
27
+ var _CVReal = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Real.js"));
28
+ exports.CVReal = _CVReal;
29
+ var _CVRoundingMode = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./RoundingMode.js"));
30
+ exports.CVRoundingMode = _CVRoundingMode;
31
+ var _CVRoundingOption = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./RoundingOption.js"));
32
+ exports.CVRoundingOption = _CVRoundingOption;
33
+ var _CVSchema = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Schema.js"));
34
+ exports.CVSchema = _CVSchema;
35
+ var _CVSemVer = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./SemVer.js"));
36
+ exports.CVSemVer = _CVSemVer;
37
+ var _CVTemplate = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Template.js"));
38
+ exports.CVTemplate = _CVTemplate;
39
+ var _CVTemplatePart = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./TemplatePart.js"));
40
+ exports.CVTemplatePart = _CVTemplatePart;
41
+ var _CVTemplateParts = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./TemplateParts.js"));
42
+ exports.CVTemplateParts = _CVTemplateParts;
43
+ var _CVTemplatePlaceholder = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./TemplatePlaceholder.js"));
44
+ exports.CVTemplatePlaceholder = _CVTemplatePlaceholder;
45
+ var _CVTemplateSeparator = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./TemplateSeparator.js"));
46
+ exports.CVTemplateSeparator = _CVTemplateSeparator;
47
+ function _interopRequireWildcard(e, t) {
48
+ if ("function" == typeof WeakMap) var r = new WeakMap(),
49
+ n = new WeakMap();
50
+ return (_interopRequireWildcard = function (e, t) {
51
+ if (!t && e && e.__esModule) return e;
52
+ var o,
53
+ i,
54
+ f = {
55
+ __proto__: null,
56
+ default: e
57
+ };
58
+ if (null === e || "object" != typeof e && "function" != typeof e) return f;
59
+ if (o = t ? n : r) {
60
+ if (o.has(e)) return o.get(e);
61
+ o.set(e, f);
62
+ }
63
+ for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]);
64
+ return f;
65
+ })(e, t);
66
+ }
67
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../esm/index.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.fromNumberOrThrow = exports.fromNumberOption = exports.fromNumber = exports.constructor = exports._TypeId = void 0;
7
+ var _effectLib = /*#__PURE__*/require("@parischap/effect-lib");
8
+ var _effect = /*#__PURE__*/require("effect");
9
+ /**
10
+ * A module that implements an integer brand (non-null fractional part disallowed). Not exported.
11
+ * Only used internally
12
+ */
13
+
14
+ /**
15
+ * Module tag
16
+ *
17
+ * @internal
18
+ */
19
+ const _moduleTag = '@parischap/conversions/Int/';
20
+ /**
21
+ * Module TypeId
22
+ *
23
+ * @internal
24
+ */
25
+ const _TypeId = exports._TypeId = /*#__PURE__*/Symbol.for(_moduleTag);
26
+ /**
27
+ * Brand constructor. Should not be used directly
28
+ *
29
+ * @internal
30
+ */
31
+ const constructor = exports.constructor = /*#__PURE__*/_effect.Brand.refined(_effectLib.MNumber.isInt, /*#__PURE__*/(0, _effect.flow)(/*#__PURE__*/_effectLib.MString.fromNumber(10), /*#__PURE__*/_effectLib.MString.prepend("'"), /*#__PURE__*/_effectLib.MString.append("' does not represent an integer"), _effect.Brand.error));
32
+ /**
33
+ * Constructs an Option of an Int from a number.
34
+ *
35
+ * @internal
36
+ */
37
+ const fromNumberOption = exports.fromNumberOption = /*#__PURE__*/constructor.option.bind(constructor);
38
+ /**
39
+ * Constructs an Either of an Int from a number.
40
+ *
41
+ * @internal
42
+ */
43
+ const fromNumber = exports.fromNumber = /*#__PURE__*/constructor.either.bind(constructor);
44
+ /**
45
+ * Constructs an Int from a number or throws
46
+ *
47
+ * @internal
48
+ */
49
+ const fromNumberOrThrow = exports.fromNumberOrThrow = constructor;
50
+ //# sourceMappingURL=Int.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Int.js","names":["_effectLib","require","_effect","_moduleTag","_TypeId","exports","Symbol","for","constructor","Brand","refined","MNumber","isInt","flow","MString","fromNumber","prepend","append","error","fromNumberOption","option","bind","either","fromNumberOrThrow"],"sources":["../../../esm/internal/Int.ts"],"sourcesContent":[null],"mappings":";;;;;;AAKA,IAAAA,UAAA,gBAAAC,OAAA;AACA,IAAAC,OAAA,gBAAAD,OAAA;AANA;;;;;AAQA;;;;;AAKA,MAAME,UAAU,GAAG,6BAA6B;AAEhD;;;;;AAKO,MAAMC,OAAO,GAAAC,OAAA,CAAAD,OAAA,gBAAkBE,MAAM,CAACC,GAAG,CAACJ,UAAU,CAAY;AAUvE;;;;;AAKO,MAAMK,WAAW,GAAAH,OAAA,CAAAG,WAAA,gBAAGN,OAAA,CAAAO,KAAK,CAACC,OAAO,CACvCV,UAAA,CAAAW,OAAO,CAACC,KAAK,eACb,IAAAV,OAAA,CAAAW,IAAI,eACHb,UAAA,CAAAc,OAAO,CAACC,UAAU,CAAC,EAAE,CAAC,eACtBf,UAAA,CAAAc,OAAO,CAACE,OAAO,CAAC,GAAG,CAAC,eACpBhB,UAAA,CAAAc,OAAO,CAACG,MAAM,CAAC,iCAAiC,CAAC,EACjDf,OAAA,CAAAO,KAAK,CAACS,KAAK,CACX,CACD;AAED;;;;;AAKO,MAAMC,gBAAgB,GAAAd,OAAA,CAAAc,gBAAA,gBAGzBX,WAAW,CAACY,MAAM,CAACC,IAAI,CAACb,WAAW,CAAC;AAExC;;;;;AAKO,MAAMO,UAAU,GAAAV,OAAA,CAAAU,UAAA,gBAGnBP,WAAW,CAACc,MAAM,CAACD,IAAI,CAACb,WAAW,CAAC;AAExC;;;;;AAKO,MAAMe,iBAAiB,GAAAlB,OAAA,CAAAkB,iBAAA,GAAwCf,WAAW","ignoreList":[]}