@parischap/conversions 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1304 -0
- package/cjs/BigDecimal.js +16 -0
- package/cjs/BigDecimal.js.map +1 -0
- package/cjs/BigInt.js +34 -0
- package/cjs/BigInt.js.map +1 -0
- package/cjs/DateTime.js +2202 -0
- package/cjs/DateTime.js.map +1 -0
- package/cjs/DateTimeFormat.js +269 -0
- package/cjs/DateTimeFormat.js.map +1 -0
- package/cjs/DateTimeFormatContext.js +327 -0
- package/cjs/DateTimeFormatContext.js.map +1 -0
- package/cjs/Email.js +73 -0
- package/cjs/Email.js.map +1 -0
- package/cjs/Integer.js +155 -0
- package/cjs/Integer.js.map +1 -0
- package/cjs/NumberBase10Format.js +759 -0
- package/cjs/NumberBase10Format.js.map +1 -0
- package/cjs/PositiveInteger.js +191 -0
- package/cjs/PositiveInteger.js.map +1 -0
- package/cjs/PositiveReal.js +162 -0
- package/cjs/PositiveReal.js.map +1 -0
- package/cjs/Real.js +113 -0
- package/cjs/Real.js.map +1 -0
- package/cjs/RoundingMode.js +86 -0
- package/cjs/RoundingMode.js.map +1 -0
- package/cjs/RoundingOption.js +152 -0
- package/cjs/RoundingOption.js.map +1 -0
- package/cjs/Schema.js +218 -0
- package/cjs/Schema.js.map +1 -0
- package/cjs/SemVer.js +73 -0
- package/cjs/SemVer.js.map +1 -0
- package/cjs/Template.js +189 -0
- package/cjs/Template.js.map +1 -0
- package/cjs/TemplatePart.js +51 -0
- package/cjs/TemplatePart.js.map +1 -0
- package/cjs/TemplateParts.js +46 -0
- package/cjs/TemplateParts.js.map +1 -0
- package/cjs/TemplatePlaceholder.js +381 -0
- package/cjs/TemplatePlaceholder.js.map +1 -0
- package/cjs/TemplateSeparator.js +116 -0
- package/cjs/TemplateSeparator.js.map +1 -0
- package/cjs/index.js +67 -0
- package/cjs/index.js.map +1 -0
- package/cjs/internal/Int.js +50 -0
- package/cjs/internal/Int.js.map +1 -0
- package/cjs/internal/Positive.js +50 -0
- package/cjs/internal/Positive.js.map +1 -0
- package/dts/BigDecimal.d.ts +11 -0
- package/dts/BigDecimal.d.ts.map +1 -0
- package/dts/BigInt.d.ts +30 -0
- package/dts/BigInt.d.ts.map +1 -0
- package/dts/DateTime.d.ts +1421 -0
- package/dts/DateTime.d.ts.map +1 -0
- package/dts/DateTimeFormat.d.ts +257 -0
- package/dts/DateTimeFormat.d.ts.map +1 -0
- package/dts/DateTimeFormatContext.d.ts +112 -0
- package/dts/DateTimeFormatContext.d.ts.map +1 -0
- package/dts/Email.d.ts +61 -0
- package/dts/Email.d.ts.map +1 -0
- package/dts/Integer.d.ts +123 -0
- package/dts/Integer.d.ts.map +1 -0
- package/dts/NumberBase10Format.d.ts +641 -0
- package/dts/NumberBase10Format.d.ts.map +1 -0
- package/dts/PositiveInteger.d.ts +161 -0
- package/dts/PositiveInteger.d.ts.map +1 -0
- package/dts/PositiveReal.d.ts +130 -0
- package/dts/PositiveReal.d.ts.map +1 -0
- package/dts/Real.d.ts +102 -0
- package/dts/Real.d.ts.map +1 -0
- package/dts/RoundingMode.d.ts +72 -0
- package/dts/RoundingMode.d.ts.map +1 -0
- package/dts/RoundingOption.d.ts +79 -0
- package/dts/RoundingOption.d.ts.map +1 -0
- package/dts/Schema.d.ts +159 -0
- package/dts/Schema.d.ts.map +1 -0
- package/dts/SemVer.d.ts +61 -0
- package/dts/SemVer.d.ts.map +1 -0
- package/dts/Template.d.ts +113 -0
- package/dts/Template.d.ts.map +1 -0
- package/dts/TemplatePart.d.ts +28 -0
- package/dts/TemplatePart.d.ts.map +1 -0
- package/dts/TemplateParts.d.ts +23 -0
- package/dts/TemplateParts.d.ts.map +1 -0
- package/dts/TemplatePlaceholder.d.ts +274 -0
- package/dts/TemplatePlaceholder.d.ts.map +1 -0
- package/dts/TemplateSeparator.d.ts +130 -0
- package/dts/TemplateSeparator.d.ts.map +1 -0
- package/dts/index.d.ts +21 -0
- package/dts/index.d.ts.map +1 -0
- package/dts/internal/Int.d.ts +6 -0
- package/dts/internal/Int.d.ts.map +1 -0
- package/dts/internal/Positive.d.ts +6 -0
- package/dts/internal/Positive.d.ts.map +1 -0
- package/esm/BigDecimal.js +9 -0
- package/esm/BigDecimal.js.map +1 -0
- package/esm/BigInt.js +27 -0
- package/esm/BigInt.js.map +1 -0
- package/esm/DateTime.js +2130 -0
- package/esm/DateTime.js.map +1 -0
- package/esm/DateTimeFormat.js +238 -0
- package/esm/DateTimeFormat.js.map +1 -0
- package/esm/DateTimeFormatContext.js +296 -0
- package/esm/DateTimeFormatContext.js.map +1 -0
- package/esm/Email.js +65 -0
- package/esm/Email.js.map +1 -0
- package/esm/Integer.js +128 -0
- package/esm/Integer.js.map +1 -0
- package/esm/NumberBase10Format.js +717 -0
- package/esm/NumberBase10Format.js.map +1 -0
- package/esm/PositiveInteger.js +164 -0
- package/esm/PositiveInteger.js.map +1 -0
- package/esm/PositiveReal.js +135 -0
- package/esm/PositiveReal.js.map +1 -0
- package/esm/Real.js +106 -0
- package/esm/Real.js.map +1 -0
- package/esm/RoundingMode.js +79 -0
- package/esm/RoundingMode.js.map +1 -0
- package/esm/RoundingOption.js +120 -0
- package/esm/RoundingOption.js.map +1 -0
- package/esm/Schema.js +203 -0
- package/esm/Schema.js.map +1 -0
- package/esm/SemVer.js +65 -0
- package/esm/SemVer.js.map +1 -0
- package/esm/Template.js +158 -0
- package/esm/Template.js.map +1 -0
- package/esm/TemplatePart.js +22 -0
- package/esm/TemplatePart.js.map +1 -0
- package/esm/TemplateParts.js +19 -0
- package/esm/TemplateParts.js.map +1 -0
- package/esm/TemplatePlaceholder.js +342 -0
- package/esm/TemplatePlaceholder.js.map +1 -0
- package/esm/TemplateSeparator.js +107 -0
- package/esm/TemplateSeparator.js.map +1 -0
- package/esm/index.js +21 -0
- package/esm/index.js.map +1 -0
- package/esm/internal/Int.js +43 -0
- package/esm/internal/Int.js.map +1 -0
- package/esm/internal/Positive.js +43 -0
- package/esm/internal/Positive.js.map +1 -0
- package/esm/package.json +3 -0
- package/package.json +49 -0
@@ -0,0 +1,296 @@
|
|
1
|
+
/** This module implements a Template (see Template.ts) dedicated to parsing and formatting dates */
|
2
|
+
import { MArray, MInputError, MInspectable, MPipeable, MPredicate, MString, MTypes } from '@parischap/effect-lib';
|
3
|
+
import { Array, Either, flow, HashMap, Number, Option, pipe, Predicate, Struct, Tuple } from 'effect';
|
4
|
+
import * as CVDateTime from './DateTime.js';
|
5
|
+
import * as CVNumberBase10Format from './NumberBase10Format.js';
|
6
|
+
import * as CVReal from './Real.js';
|
7
|
+
import * as CVTemplatePlaceholder from './TemplatePlaceholder.js';
|
8
|
+
/**
|
9
|
+
* Module tag
|
10
|
+
*
|
11
|
+
* @category Module markers
|
12
|
+
*/
|
13
|
+
export const moduleTag = '@parischap/conversions/DateTimeFormatTemplate/';
|
14
|
+
const _TypeId = /*#__PURE__*/Symbol.for(moduleTag);
|
15
|
+
const WEEKDAY_DATES = /*#__PURE__*/pipe(7, /*#__PURE__*/Array.makeBy(/*#__PURE__*/flow(/*#__PURE__*/Number.multiply(CVDateTime.DAY_MS), /*#__PURE__*/Number.sum(4 * CVDateTime.DAY_MS))), /*#__PURE__*/Array.map(timestamp => new Date(timestamp)));
|
16
|
+
const MONTH_DATES = /*#__PURE__*/pipe(12, /*#__PURE__*/Array.makeBy(/*#__PURE__*/Number.multiply(31 * CVDateTime.DAY_MS)), /*#__PURE__*/Array.map(timestamp => pipe(new Date(timestamp))));
|
17
|
+
/**
|
18
|
+
* Type guard
|
19
|
+
*
|
20
|
+
* @category Guards
|
21
|
+
*/
|
22
|
+
export const has = u => Predicate.hasProperty(u, _TypeId);
|
23
|
+
/** Prototype */
|
24
|
+
const proto = {
|
25
|
+
[_TypeId]: _TypeId,
|
26
|
+
[MInspectable.IdSymbol]() {
|
27
|
+
return this.name;
|
28
|
+
},
|
29
|
+
... /*#__PURE__*/MInspectable.BaseProto(moduleTag),
|
30
|
+
...MPipeable.BaseProto
|
31
|
+
};
|
32
|
+
const _make = params => MTypes.objectFromDataAndProto(proto, params);
|
33
|
+
/**
|
34
|
+
* Context constructor
|
35
|
+
*
|
36
|
+
* @category Constructors
|
37
|
+
*/
|
38
|
+
export const fromNames = ({
|
39
|
+
name,
|
40
|
+
shortWeekdayNames,
|
41
|
+
longWeekdayNames,
|
42
|
+
shortMonthNames,
|
43
|
+
longMonthNames,
|
44
|
+
dayPeriodNames
|
45
|
+
}) => {
|
46
|
+
const integer = CVNumberBase10Format.integer;
|
47
|
+
const signedInteger = pipe(integer, CVNumberBase10Format.withSignDisplay);
|
48
|
+
const params = {
|
49
|
+
fillChar: '0',
|
50
|
+
numberBase10Format: integer
|
51
|
+
};
|
52
|
+
const templatepartEntries = [['y', CVTemplatePlaceholder.real({
|
53
|
+
...params,
|
54
|
+
name: 'year'
|
55
|
+
})], ['yy', pipe(CVTemplatePlaceholder.fixedLengthToReal({
|
56
|
+
...params,
|
57
|
+
name: 'year',
|
58
|
+
length: 2
|
59
|
+
}), CVTemplatePlaceholder.modify({
|
60
|
+
descriptorMapper: MString.append(' between 2000 and 2099 included'),
|
61
|
+
postParser: function (value) {
|
62
|
+
return pipe(value, Number.sum(2000), MInputError.assertInRange({
|
63
|
+
min: 2000,
|
64
|
+
max: 2099,
|
65
|
+
minIncluded: true,
|
66
|
+
maxIncluded: true,
|
67
|
+
offset: -2000,
|
68
|
+
name: this.label
|
69
|
+
}), Either.map(CVReal.unsafeFromNumber));
|
70
|
+
},
|
71
|
+
preFormatter: function (value) {
|
72
|
+
return pipe(value, MInputError.assertInRange({
|
73
|
+
min: 2000,
|
74
|
+
max: 2099,
|
75
|
+
minIncluded: true,
|
76
|
+
maxIncluded: true,
|
77
|
+
offset: 0,
|
78
|
+
name: this.label
|
79
|
+
}), Either.map(flow(Number.subtract(2000), CVReal.unsafeFromNumber)));
|
80
|
+
}
|
81
|
+
}))], ['yyyy', CVTemplatePlaceholder.fixedLengthToReal({
|
82
|
+
...params,
|
83
|
+
name: 'year',
|
84
|
+
length: 4
|
85
|
+
})], ['R', CVTemplatePlaceholder.real({
|
86
|
+
...params,
|
87
|
+
name: 'isoYear'
|
88
|
+
})], ['RR', pipe(CVTemplatePlaceholder.fixedLengthToReal({
|
89
|
+
...params,
|
90
|
+
name: 'isoYear',
|
91
|
+
length: 2
|
92
|
+
}), CVTemplatePlaceholder.modify({
|
93
|
+
descriptorMapper: MString.append(' between 2000 and 2099 included'),
|
94
|
+
postParser: function (value) {
|
95
|
+
return pipe(value, Number.sum(2000), MInputError.assertInRange({
|
96
|
+
min: 2000,
|
97
|
+
max: 2099,
|
98
|
+
minIncluded: true,
|
99
|
+
maxIncluded: true,
|
100
|
+
offset: -2000,
|
101
|
+
name: this.label
|
102
|
+
}), Either.map(CVReal.unsafeFromNumber));
|
103
|
+
},
|
104
|
+
preFormatter: function (value) {
|
105
|
+
return pipe(value, MInputError.assertInRange({
|
106
|
+
min: 2000,
|
107
|
+
max: 2099,
|
108
|
+
minIncluded: true,
|
109
|
+
maxIncluded: true,
|
110
|
+
offset: 0,
|
111
|
+
name: this.label
|
112
|
+
}), Either.map(flow(Number.subtract(2000), CVReal.unsafeFromNumber)));
|
113
|
+
}
|
114
|
+
}))], ['RRRR', CVTemplatePlaceholder.fixedLengthToReal({
|
115
|
+
...params,
|
116
|
+
name: 'isoYear',
|
117
|
+
length: 4
|
118
|
+
})], ['M', CVTemplatePlaceholder.real({
|
119
|
+
...params,
|
120
|
+
name: 'month'
|
121
|
+
})], ['MM', CVTemplatePlaceholder.fixedLengthToReal({
|
122
|
+
...params,
|
123
|
+
name: 'month',
|
124
|
+
length: 2
|
125
|
+
})], ['MMM', CVTemplatePlaceholder.realMappedLiterals({
|
126
|
+
name: 'month',
|
127
|
+
keyValuePairs: pipe(shortMonthNames, Array.map((name, i) => Tuple.make(name, CVReal.unsafeFromNumber(i + 1))))
|
128
|
+
})], ['MMMM', CVTemplatePlaceholder.realMappedLiterals({
|
129
|
+
name: 'month',
|
130
|
+
keyValuePairs: pipe(longMonthNames, Array.map((name, i) => Tuple.make(name, CVReal.unsafeFromNumber(i + 1))))
|
131
|
+
})], ['I', CVTemplatePlaceholder.real({
|
132
|
+
name: 'isoWeek',
|
133
|
+
numberBase10Format: CVNumberBase10Format.integer
|
134
|
+
})], ['II', CVTemplatePlaceholder.fixedLengthToReal({
|
135
|
+
...params,
|
136
|
+
name: 'isoWeek',
|
137
|
+
length: 2
|
138
|
+
})], ['d', CVTemplatePlaceholder.real({
|
139
|
+
...params,
|
140
|
+
name: 'monthDay'
|
141
|
+
})], ['dd', CVTemplatePlaceholder.fixedLengthToReal({
|
142
|
+
...params,
|
143
|
+
name: 'monthDay',
|
144
|
+
length: 2
|
145
|
+
})], ['D', CVTemplatePlaceholder.real({
|
146
|
+
...params,
|
147
|
+
name: 'ordinalDay'
|
148
|
+
})], ['DDD', CVTemplatePlaceholder.fixedLengthToReal({
|
149
|
+
...params,
|
150
|
+
name: 'ordinalDay',
|
151
|
+
length: 3
|
152
|
+
})], ['i', CVTemplatePlaceholder.real({
|
153
|
+
...params,
|
154
|
+
name: 'weekday'
|
155
|
+
})], ['iii', CVTemplatePlaceholder.realMappedLiterals({
|
156
|
+
name: 'weekday',
|
157
|
+
keyValuePairs: pipe(shortWeekdayNames, Array.map((name, i) => Tuple.make(name, CVReal.unsafeFromNumber(i + 1))))
|
158
|
+
})], ['iiii', CVTemplatePlaceholder.realMappedLiterals({
|
159
|
+
name: 'weekday',
|
160
|
+
keyValuePairs: pipe(longWeekdayNames, Array.map((name, i) => Tuple.make(name, CVReal.unsafeFromNumber(i + 1))))
|
161
|
+
})], ['a', CVTemplatePlaceholder.realMappedLiterals({
|
162
|
+
name: 'meridiem',
|
163
|
+
keyValuePairs: pipe(dayPeriodNames, Array.map((name, i) => Tuple.make(name, CVReal.unsafeFromNumber(i * 12))))
|
164
|
+
})], ['H', CVTemplatePlaceholder.real({
|
165
|
+
...params,
|
166
|
+
name: 'hour23'
|
167
|
+
})], ['HH', CVTemplatePlaceholder.fixedLengthToReal({
|
168
|
+
...params,
|
169
|
+
name: 'hour23',
|
170
|
+
length: 2
|
171
|
+
})], ['K', CVTemplatePlaceholder.real({
|
172
|
+
...params,
|
173
|
+
name: 'hour11'
|
174
|
+
})], ['KK', CVTemplatePlaceholder.fixedLengthToReal({
|
175
|
+
...params,
|
176
|
+
name: 'hour11',
|
177
|
+
length: 2
|
178
|
+
})], ['m', CVTemplatePlaceholder.real({
|
179
|
+
...params,
|
180
|
+
name: 'minute'
|
181
|
+
})], ['mm', CVTemplatePlaceholder.fixedLengthToReal({
|
182
|
+
...params,
|
183
|
+
name: 'minute',
|
184
|
+
length: 2
|
185
|
+
})], ['s', CVTemplatePlaceholder.real({
|
186
|
+
...params,
|
187
|
+
name: 'second'
|
188
|
+
})], ['ss', CVTemplatePlaceholder.fixedLengthToReal({
|
189
|
+
...params,
|
190
|
+
name: 'second',
|
191
|
+
length: 2
|
192
|
+
})], ['S', CVTemplatePlaceholder.real({
|
193
|
+
...params,
|
194
|
+
name: 'millisecond'
|
195
|
+
})], ['SSS', CVTemplatePlaceholder.fixedLengthToReal({
|
196
|
+
...params,
|
197
|
+
name: 'millisecond',
|
198
|
+
length: 3
|
199
|
+
})], ['zH', CVTemplatePlaceholder.real({
|
200
|
+
...params,
|
201
|
+
name: 'zoneHour',
|
202
|
+
numberBase10Format: signedInteger
|
203
|
+
})], ['zHzH', CVTemplatePlaceholder.fixedLengthToReal({
|
204
|
+
...params,
|
205
|
+
name: 'zoneHour',
|
206
|
+
length: 3,
|
207
|
+
numberBase10Format: signedInteger
|
208
|
+
})], ['zm', CVTemplatePlaceholder.real({
|
209
|
+
...params,
|
210
|
+
name: 'zoneMinute'
|
211
|
+
})], ['zmzm', CVTemplatePlaceholder.fixedLengthToReal({
|
212
|
+
...params,
|
213
|
+
name: 'zoneMinute',
|
214
|
+
length: 2
|
215
|
+
})], ['zs', CVTemplatePlaceholder.real({
|
216
|
+
...params,
|
217
|
+
name: 'zoneSecond'
|
218
|
+
})], ['zszs', CVTemplatePlaceholder.fixedLengthToReal({
|
219
|
+
...params,
|
220
|
+
name: 'zoneSecond',
|
221
|
+
length: 2
|
222
|
+
})]];
|
223
|
+
return _make({
|
224
|
+
name,
|
225
|
+
tokenMap: HashMap.make(...templatepartEntries)
|
226
|
+
});
|
227
|
+
};
|
228
|
+
/**
|
229
|
+
* CVDateTimeFormatContext instance for Great-Britain English language
|
230
|
+
*
|
231
|
+
* @category Instances
|
232
|
+
*/
|
233
|
+
export const enGB = /*#__PURE__*/fromNames({
|
234
|
+
name: 'en-GB',
|
235
|
+
longWeekdayNames: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
|
236
|
+
shortWeekdayNames: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
|
237
|
+
longMonthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
|
238
|
+
shortMonthNames: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
239
|
+
dayPeriodNames: ['AM', 'PM']
|
240
|
+
});
|
241
|
+
const _safeDateTimeFormat = /*#__PURE__*/Option.liftThrowable(Intl.DateTimeFormat);
|
242
|
+
const _extractType = type => flow(Array.findFirst(flow(Struct.get('type'), MPredicate.strictEquals(type))), Option.map(Struct.get('value')));
|
243
|
+
const _extractWeekday = /*#__PURE__*/_extractType('weekday');
|
244
|
+
const _extractMonth = /*#__PURE__*/_extractType('month');
|
245
|
+
/**
|
246
|
+
* Tries to build a DateTimeFormat from locale `locale`. Returns a `some` if successful. Otherwise
|
247
|
+
* (non-existent or unavailable locale,...), returns a `none`
|
248
|
+
*
|
249
|
+
* @category Constructors
|
250
|
+
*/
|
251
|
+
export const fromLocale = locale => Option.gen(function* () {
|
252
|
+
const longDateTimeFormatInLocale = yield* _safeDateTimeFormat(locale, {
|
253
|
+
timeZone: 'UTC',
|
254
|
+
weekday: 'long',
|
255
|
+
month: 'long'
|
256
|
+
});
|
257
|
+
const toLongParts = Intl.DateTimeFormat.prototype.formatToParts.bind(longDateTimeFormatInLocale);
|
258
|
+
const shortDateTimeFormatInLocale = yield* _safeDateTimeFormat(locale, {
|
259
|
+
timeZone: 'UTC',
|
260
|
+
weekday: 'short',
|
261
|
+
month: 'short'
|
262
|
+
});
|
263
|
+
const toShortParts = Intl.DateTimeFormat.prototype.formatToParts.bind(shortDateTimeFormatInLocale);
|
264
|
+
const longWeekdayNames = yield* pipe(WEEKDAY_DATES, MArray.mapUnlessNone(flow(toLongParts, _extractWeekday)));
|
265
|
+
const longMonthNames = yield* pipe(MONTH_DATES, MArray.mapUnlessNone(flow(toLongParts, _extractMonth)));
|
266
|
+
const shortWeekdayNames = yield* pipe(WEEKDAY_DATES, MArray.mapUnlessNone(flow(toShortParts, _extractWeekday)));
|
267
|
+
const shortMonthNames = yield* pipe(MONTH_DATES, MArray.mapUnlessNone(flow(toShortParts, _extractMonth)));
|
268
|
+
const dayPeriodNames = ['am', 'pm'];
|
269
|
+
return fromNames({
|
270
|
+
name: locale,
|
271
|
+
shortWeekdayNames,
|
272
|
+
longWeekdayNames,
|
273
|
+
shortMonthNames,
|
274
|
+
longMonthNames,
|
275
|
+
dayPeriodNames
|
276
|
+
});
|
277
|
+
});
|
278
|
+
/**
|
279
|
+
* Same as fromLocale but returns directly the Context or throws if it cannot be built
|
280
|
+
*
|
281
|
+
* @category Constructors
|
282
|
+
*/
|
283
|
+
export const fromLocaleOrThrow = locale => pipe(locale, fromLocale, Option.getOrThrowWith(() => new Error(`A CVDateTimeFormat.Context could not be built for locale '${locale}'`)));
|
284
|
+
/**
|
285
|
+
* Returns the `name` property of `self`
|
286
|
+
*
|
287
|
+
* @category Destructors
|
288
|
+
*/
|
289
|
+
export const name = /*#__PURE__*/Struct.get('name');
|
290
|
+
/**
|
291
|
+
* Returns the `tokenMap` property of `self`
|
292
|
+
*
|
293
|
+
* @category Destructors
|
294
|
+
*/
|
295
|
+
export const tokenMap = /*#__PURE__*/Struct.get('tokenMap');
|
296
|
+
//# sourceMappingURL=DateTimeFormatContext.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"DateTimeFormatContext.js","names":["MArray","MInputError","MInspectable","MPipeable","MPredicate","MString","MTypes","Array","Either","flow","HashMap","Number","Option","pipe","Predicate","Struct","Tuple","CVDateTime","CVNumberBase10Format","CVReal","CVTemplatePlaceholder","moduleTag","_TypeId","Symbol","for","WEEKDAY_DATES","makeBy","multiply","DAY_MS","sum","map","timestamp","Date","MONTH_DATES","has","u","hasProperty","proto","IdSymbol","name","BaseProto","_make","params","objectFromDataAndProto","fromNames","shortWeekdayNames","longWeekdayNames","shortMonthNames","longMonthNames","dayPeriodNames","integer","signedInteger","withSignDisplay","fillChar","numberBase10Format","templatepartEntries","real","fixedLengthToReal","length","modify","descriptorMapper","append","postParser","value","assertInRange","min","max","minIncluded","maxIncluded","offset","label","unsafeFromNumber","preFormatter","subtract","realMappedLiterals","keyValuePairs","i","make","tokenMap","enGB","_safeDateTimeFormat","liftThrowable","Intl","DateTimeFormat","_extractType","type","findFirst","get","strictEquals","_extractWeekday","_extractMonth","fromLocale","locale","gen","longDateTimeFormatInLocale","timeZone","weekday","month","toLongParts","prototype","formatToParts","bind","shortDateTimeFormatInLocale","toShortParts","mapUnlessNone","fromLocaleOrThrow","getOrThrowWith","Error"],"sources":["../../esm/DateTimeFormatContext.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/esm/Email.js
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
/** A module that implements an Email brand */
|
2
|
+
import { MString } from '@parischap/effect-lib';
|
3
|
+
import { Brand, Schema } from 'effect';
|
4
|
+
/**
|
5
|
+
* Module tag
|
6
|
+
*
|
7
|
+
* @category Module markers
|
8
|
+
*/
|
9
|
+
export const moduleTag = '@parischap/conversions/Email/';
|
10
|
+
/**
|
11
|
+
* Module TypeId
|
12
|
+
*
|
13
|
+
* @category Module markers
|
14
|
+
*/
|
15
|
+
export const TypeId = /*#__PURE__*/Symbol.for(moduleTag);
|
16
|
+
/**
|
17
|
+
* Constructs an Email without any verifications
|
18
|
+
*
|
19
|
+
* @category Constructors
|
20
|
+
*/
|
21
|
+
export const unsafeFromString = /*#__PURE__*/Brand.nominal();
|
22
|
+
/**
|
23
|
+
* Constructs an Email from a string. Throws an error if the provided string does not represent an
|
24
|
+
* email
|
25
|
+
*
|
26
|
+
* @category Constructors
|
27
|
+
*/
|
28
|
+
export const constructor = /*#__PURE__*/Brand.refined(MString.isEmail, s => Brand.error(`'${s}' does not represent a email`));
|
29
|
+
/**
|
30
|
+
* Constructs an Option of an Email from a string.
|
31
|
+
*
|
32
|
+
* @category Constructors
|
33
|
+
*/
|
34
|
+
export const fromStringOption = /*#__PURE__*/constructor.option.bind(constructor);
|
35
|
+
/**
|
36
|
+
* Constructs an Either of an Email from a string.
|
37
|
+
*
|
38
|
+
* @category Constructors
|
39
|
+
*/
|
40
|
+
export const fromString = /*#__PURE__*/constructor.either.bind(constructor);
|
41
|
+
/**
|
42
|
+
* Constructs an Email or throws.
|
43
|
+
*
|
44
|
+
* @category Constructors
|
45
|
+
*/
|
46
|
+
export const fromStringOrThrow = constructor;
|
47
|
+
/**
|
48
|
+
* Checks if a string is an email
|
49
|
+
*
|
50
|
+
* @category Refinement
|
51
|
+
*/
|
52
|
+
export const has = input => MString.isEmail(input);
|
53
|
+
/**
|
54
|
+
* A Schema that transforms a string into a CVBrand.Email.Type
|
55
|
+
*
|
56
|
+
* @internal
|
57
|
+
*/
|
58
|
+
export const SchemaFromString = /*#__PURE__*/Schema.String.pipe(/*#__PURE__*/Schema.fromBrand(constructor));
|
59
|
+
/**
|
60
|
+
* A Schema that represents a CVBrand.Email.Type
|
61
|
+
*
|
62
|
+
* @internal
|
63
|
+
*/
|
64
|
+
export const SchemaFromSelf = /*#__PURE__*/Schema.typeSchema(SchemaFromString);
|
65
|
+
//# sourceMappingURL=Email.js.map
|
package/esm/Email.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Email.js","names":["MString","Brand","Schema","moduleTag","TypeId","Symbol","for","unsafeFromString","nominal","constructor","refined","isEmail","s","error","fromStringOption","option","bind","fromString","either","fromStringOrThrow","has","input","SchemaFromString","String","pipe","fromBrand","SchemaFromSelf","typeSchema"],"sources":["../../esm/Email.ts"],"sourcesContent":[null],"mappings":"AAAA;AAEA,SAASA,OAAO,QAAgB,uBAAuB;AACvD,SAASC,KAAK,EAAkBC,MAAM,QAAQ,QAAQ;AAEtD;;;;;AAKA,OAAO,MAAMC,SAAS,GAAG,+BAA+B;AAExD;;;;;AAKA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAACH,SAAS,CAAY;AAUrE;;;;;AAKA,OAAO,MAAMI,gBAAgB,gBAAGN,KAAK,CAACO,OAAO,EAAQ;AAErD;;;;;;AAMA,OAAO,MAAMC,WAAW,gBAAGR,KAAK,CAACS,OAAO,CAAOV,OAAO,CAACW,OAAO,EAAGC,CAAC,IACjEX,KAAK,CAACY,KAAK,CAAC,IAAID,CAAC,8BAA8B,CAAC,CAChD;AAED;;;;;AAKA,OAAO,MAAME,gBAAgB,gBAGzBL,WAAW,CAACM,MAAM,CAACC,IAAI,CAACP,WAAW,CAAC;AAExC;;;;;AAKA,OAAO,MAAMQ,UAAU,gBAGnBR,WAAW,CAACS,MAAM,CAACF,IAAI,CAACP,WAAW,CAAC;AAExC;;;;;AAKA,OAAO,MAAMU,iBAAiB,GAAwCV,WAAW;AAEjF;;;;;AAKA,OAAO,MAAMW,GAAG,GAAIC,KAAa,IAAoBrB,OAAO,CAACW,OAAO,CAACU,KAAK,CAAC;AAE3E;;;;;AAKA,OAAO,MAAMC,gBAAgB,gBAAgCpB,MAAM,CAACqB,MAAM,CAACC,IAAI,cAC9EtB,MAAM,CAACuB,SAAS,CAAChB,WAAW,CAAC,CAC7B;AAED;;;;;AAKA,OAAO,MAAMiB,cAAc,gBAAwBxB,MAAM,CAACyB,UAAU,CAACL,gBAAgB,CAAC","ignoreList":[]}
|
package/esm/Integer.js
ADDED
@@ -0,0 +1,128 @@
|
|
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 CVInt from './internal/Int.js';
|
7
|
+
import * as CVReal from './Real.js';
|
8
|
+
/**
|
9
|
+
* Module tag
|
10
|
+
*
|
11
|
+
* @category Module markers
|
12
|
+
*/
|
13
|
+
export const moduleTag = '@parischap/conversions/Integer/';
|
14
|
+
/**
|
15
|
+
* Brand constructor. Should not be used directly
|
16
|
+
*
|
17
|
+
* @category Constructors
|
18
|
+
*/
|
19
|
+
export const constructor = /*#__PURE__*/Brand.all(CVReal.constructor, CVInt.constructor);
|
20
|
+
/**
|
21
|
+
* Constructs an Integer from a number without any verifications
|
22
|
+
*
|
23
|
+
* @category Constructors
|
24
|
+
*/
|
25
|
+
export const unsafeFromNumber = /*#__PURE__*/Brand.nominal();
|
26
|
+
/**
|
27
|
+
* Constructs an Option of an Integer from a number
|
28
|
+
*
|
29
|
+
* @category Constructors
|
30
|
+
*/
|
31
|
+
export const fromNumberOption = /*#__PURE__*/constructor.option.bind(constructor);
|
32
|
+
/**
|
33
|
+
* Constructs an Either of an Integer from a number
|
34
|
+
*
|
35
|
+
* @category Constructors
|
36
|
+
*/
|
37
|
+
export const fromNumber = /*#__PURE__*/constructor.either.bind(constructor);
|
38
|
+
/**
|
39
|
+
* Constructs an Integer from a number or throws
|
40
|
+
*
|
41
|
+
* @category Constructors
|
42
|
+
*/
|
43
|
+
export const fromNumberOrThrow = constructor;
|
44
|
+
/**
|
45
|
+
* Constructs an Integer from a BigDecimal without any checks
|
46
|
+
*
|
47
|
+
* @category Constructors
|
48
|
+
*/
|
49
|
+
export const unsafeFromBigDecimal = CVReal.unsafeFromBigDecimal;
|
50
|
+
/**
|
51
|
+
* Constructs an Option of an Integer from a BigDecimal
|
52
|
+
*
|
53
|
+
* @category Constructors
|
54
|
+
*/
|
55
|
+
export const fromBigDecimalOption = /*#__PURE__*/flow(CVReal.fromBigDecimalOption, /*#__PURE__*/Option.flatMap(CVInt.fromNumberOption));
|
56
|
+
/**
|
57
|
+
* Constructs an Either of an Integer from a BigDecimal
|
58
|
+
*
|
59
|
+
* @category Constructors
|
60
|
+
*/
|
61
|
+
export const fromBigDecimal = /*#__PURE__*/flow(CVReal.fromBigDecimal, /*#__PURE__*/Either.flatMap(CVInt.fromNumber));
|
62
|
+
/**
|
63
|
+
* Constructs an Integer from a BigDecimal or throws
|
64
|
+
*
|
65
|
+
* @category Constructors
|
66
|
+
*/
|
67
|
+
export const fromBigDecimalOrThrow = /*#__PURE__*/flow(CVReal.fromBigDecimalOrThrow, CVInt.fromNumberOrThrow);
|
68
|
+
/**
|
69
|
+
* Constructs an Integer from a BigInt without any checks
|
70
|
+
*
|
71
|
+
* @category Constructors
|
72
|
+
*/
|
73
|
+
export const unsafeFromBigInt = CVReal.unsafeFromBigInt;
|
74
|
+
/**
|
75
|
+
* Constructs an Option of an Integer from a BigInt
|
76
|
+
*
|
77
|
+
* @category Constructors
|
78
|
+
*/
|
79
|
+
export const fromBigIntOption = /*#__PURE__*/flow(CVReal.fromBigIntOption);
|
80
|
+
/**
|
81
|
+
* Constructs an Either of an Integer from a BigInt
|
82
|
+
*
|
83
|
+
* @category Constructors
|
84
|
+
*/
|
85
|
+
export const fromBigInt = /*#__PURE__*/flow(CVReal.fromBigInt, /*#__PURE__*/Either.flatMap(CVInt.fromNumber));
|
86
|
+
/**
|
87
|
+
* Constructs an Integer from a BigInt or throws
|
88
|
+
*
|
89
|
+
* @category Constructors
|
90
|
+
*/
|
91
|
+
export const fromBigIntOrThrow = /*#__PURE__*/flow(CVReal.fromBigIntOrThrow);
|
92
|
+
/**
|
93
|
+
* Constructs an Integer from a Real without any checks
|
94
|
+
*
|
95
|
+
* @category Constructors
|
96
|
+
*/
|
97
|
+
export const unsafeFromReal = Function.identity;
|
98
|
+
/**
|
99
|
+
* Constructs an Option of an Integer from a Real
|
100
|
+
*
|
101
|
+
* @category Constructors
|
102
|
+
*/
|
103
|
+
export const fromRealOption = CVInt.fromNumberOption;
|
104
|
+
/**
|
105
|
+
* Constructs an Either of an Integer from a Real
|
106
|
+
*
|
107
|
+
* @category Constructors
|
108
|
+
*/
|
109
|
+
export const fromReal = CVInt.fromNumber;
|
110
|
+
/**
|
111
|
+
* Constructs an Integer from a Real or throws
|
112
|
+
*
|
113
|
+
* @category Constructors
|
114
|
+
*/
|
115
|
+
export const fromRealOrThrow = CVInt.fromNumberOrThrow;
|
116
|
+
/**
|
117
|
+
* A Schema that transforms a number into a CVInteger.Type
|
118
|
+
*
|
119
|
+
* @internal
|
120
|
+
*/
|
121
|
+
export const SchemaFromNumber = /*#__PURE__*/Schema.Number.pipe(/*#__PURE__*/Schema.fromBrand(constructor));
|
122
|
+
/**
|
123
|
+
* A Schema that represents a CVInteger.Type
|
124
|
+
*
|
125
|
+
* @internal
|
126
|
+
*/
|
127
|
+
export const SchemaFromSelf = /*#__PURE__*/Schema.typeSchema(SchemaFromNumber);
|
128
|
+
//# sourceMappingURL=Integer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Integer.js","names":["Brand","Either","flow","Function","Option","Schema","CVInt","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","SchemaFromNumber","Number","pipe","fromBrand","SchemaFromSelf","typeSchema"],"sources":["../../esm/Integer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;AAMA,SAAqBA,KAAK,EAAEC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,MAAM,QAAQ,QAAQ;AAClF,OAAO,KAAKC,KAAK,MAAM,mBAAmB;AAC1C,OAAO,KAAKC,MAAM,MAAM,WAAW;AAEnC;;;;;AAKA,OAAO,MAAMC,SAAS,GAAG,iCAAiC;AAE1D;;;;;AAKA,OAAO,MAAMC,WAAW,gBAAGT,KAAK,CAACU,GAAG,CAACH,MAAM,CAACE,WAAW,EAAEH,KAAK,CAACG,WAAW,CAAC;AAS3E;;;;;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,GAChCZ,MAAM,CAACY,oBAA6B;AAErC;;;;;AAKA,OAAO,MAAMC,oBAAoB,gBAG7BlB,IAAI,CAACK,MAAM,CAACa,oBAAoB,eAAEhB,MAAM,CAACiB,OAAO,CAACf,KAAK,CAACO,gBAAgB,CAAC,CAAU;AAEtF;;;;;AAKA,OAAO,MAAMS,cAAc,gBAGvBpB,IAAI,CAACK,MAAM,CAACe,cAAc,eAAErB,MAAM,CAACoB,OAAO,CAACf,KAAK,CAACU,UAAU,CAAC,CAAU;AAE1E;;;;;AAKA,OAAO,MAAMO,qBAAqB,gBAAuDrB,IAAI,CAC5FK,MAAM,CAACgB,qBAAqB,EAC5BjB,KAAK,CAACY,iBAAiB,CACd;AAEV;;;;;AAKA,OAAO,MAAMM,gBAAgB,GAC5BjB,MAAM,CAACiB,gBAAyB;AAEjC;;;;;AAKA,OAAO,MAAMC,gBAAgB,gBAAuDvB,IAAI,CACvFK,MAAM,CAACkB,gBAAgB,CACd;AAEV;;;;;AAKA,OAAO,MAAMC,UAAU,gBAGnBxB,IAAI,CAACK,MAAM,CAACmB,UAAU,eAAEzB,MAAM,CAACoB,OAAO,CAACf,KAAK,CAACU,UAAU,CAAC,CAAU;AAEtE;;;;;AAKA,OAAO,MAAMW,iBAAiB,gBAAwCzB,IAAI,CACzEK,MAAM,CAACoB,iBAAiB,CACf;AAEV;;;;;AAKA,OAAO,MAAMC,cAAc,GAA6CzB,QAAQ,CAAC0B,QAAiB;AAElG;;;;;AAKA,OAAO,MAAMC,cAAc,GAGvBxB,KAAK,CAACO,gBAAyB;AAEnC;;;;;AAKA,OAAO,MAAMkB,QAAQ,GAGjBzB,KAAK,CAACU,UAAmB;AAE7B;;;;;AAKA,OAAO,MAAMgB,eAAe,GAC3B1B,KAAK,CAACY,iBAA0B;AAEjC;;;;;AAKA,OAAO,MAAMe,gBAAgB,gBAAgC5B,MAAM,CAAC6B,MAAM,CAACC,IAAI,cAC9E9B,MAAM,CAAC+B,SAAS,CAAC3B,WAAW,CAAC,CAC7B;AAED;;;;;AAKA,OAAO,MAAM4B,cAAc,gBAAwBhC,MAAM,CAACiC,UAAU,CAACL,gBAAgB,CAAC","ignoreList":[]}
|