@maxclicks/utilities 1.6.0 → 1.6.1
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/dist/helpers/deepClone.d.ts +1 -0
- package/dist/helpers/deepClone.d.ts.map +1 -1
- package/dist/helpers/deepClone.js +1 -0
- package/dist/helpers/deepClone.js.map +1 -1
- package/dist/helpers/delay.d.ts +7 -0
- package/dist/helpers/delay.d.ts.map +1 -1
- package/dist/helpers/delay.js +1 -1
- package/dist/helpers/delay.js.map +1 -1
- package/dist/helpers/error-warning/alterError.d.ts +6 -0
- package/dist/helpers/error-warning/alterError.d.ts.map +1 -1
- package/dist/helpers/error-warning/alterError.js +6 -0
- package/dist/helpers/error-warning/alterError.js.map +1 -1
- package/dist/helpers/error-warning/combineMessages.d.ts +6 -0
- package/dist/helpers/error-warning/combineMessages.d.ts.map +1 -1
- package/dist/helpers/error-warning/combineMessages.js +6 -0
- package/dist/helpers/error-warning/combineMessages.js.map +1 -1
- package/dist/helpers/error-warning/getErrorMessage.d.ts +1 -0
- package/dist/helpers/error-warning/getErrorMessage.d.ts.map +1 -1
- package/dist/helpers/error-warning/getErrorMessage.js +1 -0
- package/dist/helpers/error-warning/getErrorMessage.js.map +1 -1
- package/dist/helpers/error-warning/prependMessage.d.ts +6 -0
- package/dist/helpers/error-warning/prependMessage.d.ts.map +1 -1
- package/dist/helpers/error-warning/prependMessage.js +6 -0
- package/dist/helpers/error-warning/prependMessage.js.map +1 -1
- package/dist/helpers/error-warning/throwError.d.ts +7 -0
- package/dist/helpers/error-warning/throwError.d.ts.map +1 -1
- package/dist/helpers/error-warning/throwError.js +9 -0
- package/dist/helpers/error-warning/throwError.js.map +1 -1
- package/dist/helpers/escapeForRegExp.d.ts +1 -0
- package/dist/helpers/escapeForRegExp.d.ts.map +1 -1
- package/dist/helpers/escapeForRegExp.js +2 -1
- package/dist/helpers/escapeForRegExp.js.map +1 -1
- package/dist/helpers/formatCurrencyUsd.d.ts +1 -0
- package/dist/helpers/formatCurrencyUsd.d.ts.map +1 -1
- package/dist/helpers/formatCurrencyUsd.js +1 -0
- package/dist/helpers/formatCurrencyUsd.js.map +1 -1
- package/dist/helpers/generateRandomKey.d.ts +6 -0
- package/dist/helpers/generateRandomKey.d.ts.map +1 -1
- package/dist/helpers/generateRandomKey.js +6 -0
- package/dist/helpers/generateRandomKey.js.map +1 -1
- package/dist/helpers/generateRuntimeId.d.ts +1 -0
- package/dist/helpers/generateRuntimeId.d.ts.map +1 -1
- package/dist/helpers/generateRuntimeId.js +1 -0
- package/dist/helpers/generateRuntimeId.js.map +1 -1
- package/dist/helpers/generateSequence.d.ts +5 -0
- package/dist/helpers/generateSequence.d.ts.map +1 -1
- package/dist/helpers/generateSequence.js +5 -0
- package/dist/helpers/generateSequence.js.map +1 -1
- package/dist/helpers/getEnumKeyValues.d.ts +1 -0
- package/dist/helpers/getEnumKeyValues.d.ts.map +1 -1
- package/dist/helpers/getEnumKeyValues.js +2 -0
- package/dist/helpers/getEnumKeyValues.js.map +1 -1
- package/dist/helpers/haveSameContents.d.ts +1 -0
- package/dist/helpers/haveSameContents.d.ts.map +1 -1
- package/dist/helpers/haveSameContents.js +1 -0
- package/dist/helpers/haveSameContents.js.map +1 -1
- package/dist/helpers/isOneOf.d.ts +5 -0
- package/dist/helpers/isOneOf.d.ts.map +1 -1
- package/dist/helpers/isOneOf.js +5 -0
- package/dist/helpers/isOneOf.js.map +1 -1
- package/dist/helpers/native/arrayHelpers.d.ts +4 -0
- package/dist/helpers/native/arrayHelpers.d.ts.map +1 -1
- package/dist/helpers/native/arrayHelpers.js +1 -1
- package/dist/helpers/native/arrayHelpers.js.map +1 -1
- package/dist/helpers/native/objectHelpers.d.ts +3 -0
- package/dist/helpers/native/objectHelpers.d.ts.map +1 -1
- package/dist/helpers/native/stringHelpers.d.ts +3 -0
- package/dist/helpers/native/stringHelpers.d.ts.map +1 -1
- package/dist/helpers/optional.d.ts +3 -0
- package/dist/helpers/optional.d.ts.map +1 -1
- package/dist/helpers/optional.js +3 -0
- package/dist/helpers/optional.js.map +1 -1
- package/dist/helpers/percent.d.ts +2 -0
- package/dist/helpers/percent.d.ts.map +1 -1
- package/dist/helpers/percent.js +2 -0
- package/dist/helpers/percent.js.map +1 -1
- package/dist/helpers/typed.d.ts +19 -0
- package/dist/helpers/typed.d.ts.map +1 -1
- package/dist/helpers/typed.js +19 -0
- package/dist/helpers/typed.js.map +1 -1
- package/dist/modules/common-normalizers/descriptionNormalizer.d.ts +1 -0
- package/dist/modules/common-normalizers/descriptionNormalizer.d.ts.map +1 -1
- package/dist/modules/common-normalizers/descriptionNormalizer.js +1 -0
- package/dist/modules/common-normalizers/descriptionNormalizer.js.map +1 -1
- package/dist/modules/common-normalizers/labelNormalizer.d.ts +1 -0
- package/dist/modules/common-normalizers/labelNormalizer.d.ts.map +1 -1
- package/dist/modules/common-normalizers/labelNormalizer.js +1 -0
- package/dist/modules/common-normalizers/labelNormalizer.js.map +1 -1
- package/dist/modules/common-normalizers/nameNormalizer.d.ts +1 -0
- package/dist/modules/common-normalizers/nameNormalizer.d.ts.map +1 -1
- package/dist/modules/common-normalizers/nameNormalizer.js +1 -0
- package/dist/modules/common-normalizers/nameNormalizer.js.map +1 -1
- package/dist/modules/common-normalizers/widthHeightNormalizer.d.ts +1 -0
- package/dist/modules/common-normalizers/widthHeightNormalizer.d.ts.map +1 -1
- package/dist/modules/common-normalizers/widthHeightNormalizer.js +1 -0
- package/dist/modules/common-normalizers/widthHeightNormalizer.js.map +1 -1
- package/dist/types/Address.d.ts +1 -0
- package/dist/types/Address.d.ts.map +1 -1
- package/dist/types/Color.d.ts +1 -0
- package/dist/types/Color.d.ts.map +1 -1
- package/dist/types/DateOnly.d.ts +2 -0
- package/dist/types/DateOnly.d.ts.map +1 -1
- package/dist/types/DateOnly.js +1 -0
- package/dist/types/DateOnly.js.map +1 -1
- package/dist/types/DateTime.d.ts +1 -0
- package/dist/types/DateTime.d.ts.map +1 -1
- package/dist/types/Decimal.d.ts +1 -0
- package/dist/types/Decimal.d.ts.map +1 -1
- package/dist/types/Email.d.ts +1 -0
- package/dist/types/Email.d.ts.map +1 -1
- package/dist/types/Geolocation.d.ts +1 -0
- package/dist/types/Geolocation.d.ts.map +1 -1
- package/dist/types/Json/Json.d.ts +7 -0
- package/dist/types/Json/Json.d.ts.map +1 -1
- package/dist/types/Json/Json.js +6 -0
- package/dist/types/Json/Json.js.map +1 -1
- package/dist/types/Json/jsonNormalizerWithSchemaFactory.js +13 -0
- package/dist/types/Json/jsonNormalizerWithSchemaFactory.js.map +1 -1
- package/dist/types/Json/jsonSchemaNormalizer.js +11 -0
- package/dist/types/Json/jsonSchemaNormalizer.js.map +1 -1
- package/dist/types/Json/jsonSchemaSatisfies.d.ts +9 -0
- package/dist/types/Json/jsonSchemaSatisfies.d.ts.map +1 -1
- package/dist/types/Json/jsonSchemaSatisfies.js +55 -3
- package/dist/types/Json/jsonSchemaSatisfies.js.map +1 -1
- package/dist/types/Json/jsonSchemaSimplifiedSatisfies.d.ts +1 -0
- package/dist/types/Json/jsonSchemaSimplifiedSatisfies.d.ts.map +1 -1
- package/dist/types/Json/jsonSchemaSimplifiedSatisfies.js +2 -0
- package/dist/types/Json/jsonSchemaSimplifiedSatisfies.js.map +1 -1
- package/dist/types/Lazily.d.ts +39 -0
- package/dist/types/Lazily.d.ts.map +1 -1
- package/dist/types/Lazily.js +2 -0
- package/dist/types/Lazily.js.map +1 -1
- package/dist/types/Normalizer.d.ts +78 -0
- package/dist/types/Normalizer.d.ts.map +1 -1
- package/dist/types/Normalizer.js +54 -0
- package/dist/types/Normalizer.js.map +1 -1
- package/dist/types/Phone.d.ts +1 -0
- package/dist/types/Phone.d.ts.map +1 -1
- package/dist/types/Slug.d.ts +1 -0
- package/dist/types/Slug.d.ts.map +1 -1
- package/dist/types/TimeOnly.d.ts +1 -0
- package/dist/types/TimeOnly.d.ts.map +1 -1
- package/dist/types/Url.d.ts +1 -0
- package/dist/types/Url.d.ts.map +1 -1
- package/dist/types/Uuid.d.ts +1 -0
- package/dist/types/Uuid.d.ts.map +1 -1
- package/dist/types.d.ts +29 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lazily.d.ts","sourceRoot":"","sources":["../../src/types/Lazily.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Lazily.d.ts","sourceRoot":"","sources":["../../src/types/Lazily.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,MAAM,CAAC,MAAM,SAAS;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;IACpE,CACE,UAAU,SAAS;QACjB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,CACtB,IAAI,EAAE;YAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;SAAE,EACrD,MAAM,EAAE;YAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;SAAE,KACpD,GAAG,CAAA;KACT,EAED,OAAO,EAAE,UAAU,GAClB,MAAM,CAAC,MAAM,GAAG;QAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAAE,CAAC,CAAA;IACvF,IAAI;QAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;KAAE,CAAA;CACpD;AAED,yBAAiB,MAAM,CAAC;IACtB,2FAA2F;IAC3F,SAAgB,MAAM,CAAC,OAAO,SAAS;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAA;KAAE,EAC1E,OAAO,EAAE,OAAO,GACf,MAAM,CAAC;QAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,OAAO,IAAI,GAAG,SAAS,IAAI,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KAAE,CAAC,CAEjH;IAED,uFAAuF;IACvF,SAAgB,qBAAqB,CAAC,aAAa,SAAS;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EACzF,aAAa,EAAE,aAAa,GAC3B,MAAM,CAAC,aAAa,CAAC,CAIvB;CACF"}
|
package/dist/types/Lazily.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { objectHelpers } from '../helpers/native/objectHelpers';
|
|
2
2
|
export var Lazily;
|
|
3
3
|
(function (Lazily) {
|
|
4
|
+
/** Creates a lazy object from getter functions. Getters starting with `$` are excluded. */
|
|
4
5
|
function create(getters) {
|
|
5
6
|
return createByGetters(getters);
|
|
6
7
|
}
|
|
7
8
|
Lazily.create = create;
|
|
9
|
+
/** Creates a lazy object from initial values, allowing extension with lazy getters. */
|
|
8
10
|
function createByInitialValues(initialValues) {
|
|
9
11
|
return createByGetters(objectHelpers.map(initialValues, (key, value) => (typeof value === 'function' ? () => value : value)));
|
|
10
12
|
}
|
package/dist/types/Lazily.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lazily.js","sourceRoot":"","sources":["../../src/types/Lazily.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAqD/D,MAAM,KAAW,MAAM,CAgBtB;AAhBD,WAAiB,MAAM;
|
|
1
|
+
{"version":3,"file":"Lazily.js","sourceRoot":"","sources":["../../src/types/Lazily.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAqD/D,MAAM,KAAW,MAAM,CAgBtB;AAhBD,WAAiB,MAAM;IACrB,2FAA2F;IAC3F,SAAgB,MAAM,CACpB,OAAgB;QAEhB,OAAO,eAAe,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAJe,aAAM,SAIrB,CAAA;IAED,uFAAuF;IACvF,SAAgB,qBAAqB,CACnC,aAA4B;QAE5B,OAAO,eAAe,CACpB,aAAa,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACtG,CAAA;IACH,CAAC;IANe,4BAAqB,wBAMpC,CAAA;AACH,CAAC,EAhBgB,MAAM,KAAN,MAAM,QAgBtB;AAED,SAAS,eAAe,CAAiD,OAExE;IACC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,EAAS,EAAE;QAClC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ;YAC/B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC;gBAAE,OAAO,SAAS,CAAA;YAClF,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;gBACnC,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAE,MAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YACpG,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QACnD,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,UAAU,UAAgB;QAC/B,IAAI,CAAC,UAAU;YAAE,OAAO,MAAM,CAAA;QAC9B,OAAO,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC,CAAA;IACvD,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,23 +1,51 @@
|
|
|
1
1
|
import type { Falsy } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* A composable validation and transformation pipeline for parsing input values.
|
|
4
|
+
*
|
|
5
|
+
* Normalizers can be chained to build complex validation logic:
|
|
6
|
+
* ```ts
|
|
7
|
+
* const emailNormalizer = Normalizer.stringTrimmed
|
|
8
|
+
* .chain(value => value?.toLowerCase())
|
|
9
|
+
* .chain(value => { if (!isValidEmail(value)) throw new Error('Invalid email'); return value })
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
2
12
|
export declare class Normalizer<Value> {
|
|
3
13
|
readonly parseOrThrow: Normalizer.ParseOrThrow<Value>;
|
|
4
14
|
constructor(parseOrThrow: Normalizer.ParseOrThrow<Value>);
|
|
15
|
+
/** Runs the normalizer, returning a `Normalized` result with value or error. */
|
|
5
16
|
normalize(value: any): Normalizer.Normalized<Value>;
|
|
17
|
+
/**
|
|
18
|
+
* Runs the normalizer, returning a `Normalized` result with value or error.
|
|
19
|
+
* Passes `undefined` as it is, suitable to normalized optional (not nullable) values.
|
|
20
|
+
*/
|
|
6
21
|
normalizeIfExists<V>(value: V): Normalizer.Normalized<undefined extends V ? Value | undefined : Value>;
|
|
22
|
+
/** Chains another synchronous transformation step. */
|
|
7
23
|
chain<NewValue>(parseOrThrow: Normalizer.ParseOrThrow<NewValue, Value>): Normalizer<NewValue>;
|
|
24
|
+
/** Chains an asynchronous transformation step, converting to `Normalizer.Async`. */
|
|
8
25
|
chainAsync<NewValue>(parseOrThrowAsync: Normalizer.ParseOrThrowAsync<NewValue, Value>): Normalizer.Async<NewValue>;
|
|
26
|
+
/** Creates a normalizer that throws if value is null, empty string, or empty array. */
|
|
9
27
|
get required(): Normalizer<Exclude<Value, null>>;
|
|
10
28
|
}
|
|
11
29
|
export declare namespace Normalizer {
|
|
30
|
+
/** Async variant of `Normalizer` for pipelines with async steps. */
|
|
12
31
|
class Async<Value> {
|
|
13
32
|
readonly parseOrThrowAsync: ParseOrThrowAsync<Value>;
|
|
14
33
|
constructor(parseOrThrowAsync: ParseOrThrowAsync<Value>);
|
|
34
|
+
/** Runs the async normalizer, returning a `Normalized` result. */
|
|
15
35
|
normalize(value: any, abortSignal?: AbortSignal): Promise<Normalized<Value>>;
|
|
36
|
+
/**
|
|
37
|
+
* Runs the async normalizer, returning a `Normalized` result with value or error.
|
|
38
|
+
* Passes `undefined` as it is, suitable to normalized optional (not nullable) values.
|
|
39
|
+
*/
|
|
16
40
|
normalizeIfExists<V>(value: V, abortSignal?: AbortSignal): Promise<Normalized<undefined extends V ? Value | undefined : Value>>;
|
|
41
|
+
/** Chains a synchronous transformation step. */
|
|
17
42
|
chain<NewValue>(parseOrThrow: ParseOrThrow<NewValue, Value>): Async<NewValue>;
|
|
43
|
+
/** Chains an asynchronous transformation step. */
|
|
18
44
|
chainAsync<NewValue>(parseOrThrowAsync: ParseOrThrowAsync<NewValue, Value>): Async<NewValue>;
|
|
45
|
+
/** Creates an async normalizer that throws if value is null, empty string, or empty array. */
|
|
19
46
|
get required(): Async<Exclude<Value, null>>;
|
|
20
47
|
}
|
|
48
|
+
/** Result container holding either a normalized value (with optional warning) or an error. */
|
|
21
49
|
class Normalized<Value> {
|
|
22
50
|
private readonly state;
|
|
23
51
|
constructor(state: {
|
|
@@ -29,14 +57,27 @@ export declare namespace Normalizer {
|
|
|
29
57
|
readonly warningMessage?: string;
|
|
30
58
|
readonly value: Value;
|
|
31
59
|
});
|
|
60
|
+
/** Error message if normalization failed. */
|
|
32
61
|
get errorMessage(): string | undefined;
|
|
62
|
+
/** Warning message if normalization succeeded with issues. */
|
|
33
63
|
get warningMessage(): string | undefined;
|
|
64
|
+
/** The normalized value, or undefined if failed. Does not throw. */
|
|
34
65
|
get valueSafe(): Value | undefined;
|
|
66
|
+
/** The normalized value. Throws if normalization failed. */
|
|
35
67
|
get value(): Value;
|
|
68
|
+
/** Allows using `Normalized` in expressions expecting the value type. */
|
|
36
69
|
valueOf(): Value;
|
|
70
|
+
/**
|
|
71
|
+
* Gets the value, passing any warning to the warn function.
|
|
72
|
+
* Throws with optional prefix if normalization failed.
|
|
73
|
+
*/
|
|
37
74
|
getValue(warn: Warn): Value;
|
|
38
75
|
getValue(messagePrefix: string): Value;
|
|
39
76
|
getValue(messagePrefix: string, warn: Warn): Value;
|
|
77
|
+
/**
|
|
78
|
+
* Combines multiple `Normalized` results into a single result.
|
|
79
|
+
* Aggregates all errors/warnings with optional labels.
|
|
80
|
+
*/
|
|
40
81
|
static combine<T extends {
|
|
41
82
|
readonly [K in string]: any;
|
|
42
83
|
} | readonly any[]>(normalizedItems: T, labelByKey?: {
|
|
@@ -46,38 +87,75 @@ export declare namespace Normalizer {
|
|
|
46
87
|
}>;
|
|
47
88
|
}
|
|
48
89
|
namespace Normalized {
|
|
90
|
+
/**
|
|
91
|
+
* Use it with `satisfies`.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* interface Type {
|
|
95
|
+
* key1: Type1
|
|
96
|
+
* key2: Type2
|
|
97
|
+
* key3: Type3
|
|
98
|
+
* }
|
|
99
|
+
* const items = {
|
|
100
|
+
* key1: normalizer.normalize(value1),
|
|
101
|
+
* key2: normalizer.normalize(value2),
|
|
102
|
+
* key3: value3,
|
|
103
|
+
* } satisfies Normalizer.Normalized.Items<Type> // Helps with correctly defining items while not restricting the actual type definition.
|
|
104
|
+
* const combined = Normalizer.Normalized.combine(items) // combined.value is compatible with Type.
|
|
105
|
+
*/
|
|
49
106
|
type Items<T extends {
|
|
50
107
|
readonly [K in string]: any;
|
|
51
108
|
} | readonly any[]> = {
|
|
52
109
|
-readonly [K in keyof T]: T[K] | Normalized<T[K]>;
|
|
53
110
|
};
|
|
54
111
|
}
|
|
112
|
+
/** Synchronous parser function signature. Throws on validation failure. */
|
|
55
113
|
type ParseOrThrow<ToValue, FromValue = any> = (value: FromValue, warn: Warn) => ToValue;
|
|
114
|
+
/** Async parser function signature. Throws on validation failure. */
|
|
56
115
|
type ParseOrThrowAsync<ToValue, FromValue = any> = (value: FromValue, warn: Warn, abortSignal: AbortSignal | undefined) => Promise<ToValue>;
|
|
116
|
+
/** Warning collector function passed to parsers. Call with a message to accumulate warnings. */
|
|
57
117
|
interface Warn {
|
|
58
118
|
(message: string | Falsy): void;
|
|
119
|
+
/** Accumulated warning messages joined by newlines. */
|
|
59
120
|
readonly message: string | undefined;
|
|
60
121
|
}
|
|
61
122
|
namespace Warn {
|
|
123
|
+
/** Creates a new warning collector. */
|
|
62
124
|
function create(): Warn;
|
|
63
125
|
}
|
|
126
|
+
/** Passthrough normalizer that accepts any value unchanged. */
|
|
64
127
|
const any: Normalizer<any>;
|
|
128
|
+
/** Normalizer that coerces to string. Returns null for empty strings. */
|
|
65
129
|
const string: Normalizer<string | null>;
|
|
130
|
+
/** Normalizer that trims whitespace and warns if trimming occurred. */
|
|
66
131
|
const stringTrimmed: Normalizer<string | null>;
|
|
132
|
+
/** Normalizer that trims and lowercases strings. */
|
|
67
133
|
const stringTrimmedAndLowerCased: Normalizer<string | null>;
|
|
134
|
+
/** Creates a parser that warns if string length is outside bounds. */
|
|
68
135
|
function stringLimitLength(minimum: number, maximum: number): ParseOrThrow<string | null, string | null>;
|
|
136
|
+
/** Creates a parser that validates string is a value from an enum object. */
|
|
69
137
|
function stringEnum<E extends string>(enumObject: {
|
|
70
138
|
readonly [K in string]: E;
|
|
71
139
|
}): ParseOrThrow<E | null, string | null>;
|
|
140
|
+
/** Creates a parser that validates string is one of the allowed values. */
|
|
72
141
|
function stringEnumValues<E extends readonly string[]>(...allowedValues: E): ParseOrThrow<E[number] | null, string | null>;
|
|
142
|
+
/** Normalizer that coerces to number. Throws for NaN. */
|
|
73
143
|
const number: Normalizer<number | null>;
|
|
144
|
+
/** Normalizer that validates number is an integer. */
|
|
74
145
|
const numberInteger: Normalizer<number | null>;
|
|
146
|
+
/** Creates a parser that warns if number is outside bounds. */
|
|
75
147
|
function numberLimitRange(minimum: number, maximum: number): ParseOrThrow<number | null, number | null>;
|
|
148
|
+
/** Normalizer that coerces to boolean. Accepts `'true'`/`'false'` strings. */
|
|
76
149
|
const boolean: Normalizer<boolean | null>;
|
|
150
|
+
/** Normalizer that validates value is a plain object (not array). */
|
|
77
151
|
const object: Normalizer<Record<string, any> | null>;
|
|
152
|
+
/** Creates a parser that throws if object is missing required keys. */
|
|
78
153
|
function objectRequireKeys(...keys: readonly string[]): ParseOrThrow<Record<string, any> | null, Record<string, any> | null>;
|
|
154
|
+
/** Simplifies normalization of object properties with a stronger type guarantee. */
|
|
79
155
|
function objectProperties<T extends {}>(normalizeProperties: (value: T) => Normalized.Items<T>): ParseOrThrow<T | null, Record<string, any> | null>;
|
|
156
|
+
/** Normalizer that wraps non-array values in an array. Returns empty array for null. */
|
|
80
157
|
const array: Normalizer<any[]>;
|
|
158
|
+
/** Simplifies normalization of array items with a stronger type guarantee. */
|
|
81
159
|
function arrayItems<I>(itemNormalizer: Normalizer<I>): Normalizer.ParseOrThrow<I[], any[]>;
|
|
82
160
|
}
|
|
83
161
|
//# sourceMappingURL=Normalizer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Normalizer.d.ts","sourceRoot":"","sources":["../../src/types/Normalizer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"Normalizer.d.ts","sourceRoot":"","sources":["../../src/types/Normalizer.ts"],"names":[],"mappings":"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"}
|
package/dist/types/Normalizer.js
CHANGED
|
@@ -3,10 +3,21 @@ import { getErrorMessage } from '../helpers/error-warning/getErrorMessage';
|
|
|
3
3
|
import { prependMessage } from '../helpers/error-warning/prependMessage';
|
|
4
4
|
import { arrayHelpers } from '../helpers/native/arrayHelpers';
|
|
5
5
|
import { objectHelpers } from '../helpers/native/objectHelpers';
|
|
6
|
+
/**
|
|
7
|
+
* A composable validation and transformation pipeline for parsing input values.
|
|
8
|
+
*
|
|
9
|
+
* Normalizers can be chained to build complex validation logic:
|
|
10
|
+
* ```ts
|
|
11
|
+
* const emailNormalizer = Normalizer.stringTrimmed
|
|
12
|
+
* .chain(value => value?.toLowerCase())
|
|
13
|
+
* .chain(value => { if (!isValidEmail(value)) throw new Error('Invalid email'); return value })
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
6
16
|
export class Normalizer {
|
|
7
17
|
constructor(parseOrThrow) {
|
|
8
18
|
this.parseOrThrow = parseOrThrow;
|
|
9
19
|
}
|
|
20
|
+
/** Runs the normalizer, returning a `Normalized` result with value or error. */
|
|
10
21
|
normalize(value) {
|
|
11
22
|
const warn = Normalizer.Warn.create();
|
|
12
23
|
try {
|
|
@@ -24,6 +35,10 @@ export class Normalizer {
|
|
|
24
35
|
});
|
|
25
36
|
}
|
|
26
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Runs the normalizer, returning a `Normalized` result with value or error.
|
|
40
|
+
* Passes `undefined` as it is, suitable to normalized optional (not nullable) values.
|
|
41
|
+
*/
|
|
27
42
|
normalizeIfExists(value) {
|
|
28
43
|
const warn = Normalizer.Warn.create();
|
|
29
44
|
try {
|
|
@@ -39,12 +54,15 @@ export class Normalizer {
|
|
|
39
54
|
});
|
|
40
55
|
}
|
|
41
56
|
}
|
|
57
|
+
/** Chains another synchronous transformation step. */
|
|
42
58
|
chain(parseOrThrow) {
|
|
43
59
|
return new Normalizer((value, warn) => parseOrThrow(this.parseOrThrow(value, warn), warn));
|
|
44
60
|
}
|
|
61
|
+
/** Chains an asynchronous transformation step, converting to `Normalizer.Async`. */
|
|
45
62
|
chainAsync(parseOrThrowAsync) {
|
|
46
63
|
return new Normalizer.Async((value, warn, abortSignal) => parseOrThrowAsync(this.parseOrThrow(value, warn), warn, abortSignal));
|
|
47
64
|
}
|
|
65
|
+
/** Creates a normalizer that throws if value is null, empty string, or empty array. */
|
|
48
66
|
get required() {
|
|
49
67
|
return this.chain((value, warn) => {
|
|
50
68
|
if ((!value && value !== 0 && !Number.isNaN(value) && value !== false) ||
|
|
@@ -55,10 +73,12 @@ export class Normalizer {
|
|
|
55
73
|
}
|
|
56
74
|
}
|
|
57
75
|
(function (Normalizer) {
|
|
76
|
+
/** Async variant of `Normalizer` for pipelines with async steps. */
|
|
58
77
|
class Async {
|
|
59
78
|
constructor(parseOrThrowAsync) {
|
|
60
79
|
this.parseOrThrowAsync = parseOrThrowAsync;
|
|
61
80
|
}
|
|
81
|
+
/** Runs the async normalizer, returning a `Normalized` result. */
|
|
62
82
|
async normalize(value, abortSignal) {
|
|
63
83
|
const warn = Warn.create();
|
|
64
84
|
try {
|
|
@@ -80,6 +100,10 @@ export class Normalizer {
|
|
|
80
100
|
});
|
|
81
101
|
}
|
|
82
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Runs the async normalizer, returning a `Normalized` result with value or error.
|
|
105
|
+
* Passes `undefined` as it is, suitable to normalized optional (not nullable) values.
|
|
106
|
+
*/
|
|
83
107
|
async normalizeIfExists(value, abortSignal) {
|
|
84
108
|
const warn = Warn.create();
|
|
85
109
|
try {
|
|
@@ -99,12 +123,15 @@ export class Normalizer {
|
|
|
99
123
|
});
|
|
100
124
|
}
|
|
101
125
|
}
|
|
126
|
+
/** Chains a synchronous transformation step. */
|
|
102
127
|
chain(parseOrThrow) {
|
|
103
128
|
return new Async(async (value, warn, abortSignal) => parseOrThrow(await this.parseOrThrowAsync(value, warn, abortSignal), warn));
|
|
104
129
|
}
|
|
130
|
+
/** Chains an asynchronous transformation step. */
|
|
105
131
|
chainAsync(parseOrThrowAsync) {
|
|
106
132
|
return new Async(async (value, warn, abortSignal) => await parseOrThrowAsync(await this.parseOrThrowAsync(value, warn, abortSignal), warn, abortSignal));
|
|
107
133
|
}
|
|
134
|
+
/** Creates an async normalizer that throws if value is null, empty string, or empty array. */
|
|
108
135
|
get required() {
|
|
109
136
|
return this.chain((value, warn) => {
|
|
110
137
|
if ((!value && value !== 0 && !Number.isNaN(value) && value !== false) ||
|
|
@@ -115,24 +142,30 @@ export class Normalizer {
|
|
|
115
142
|
}
|
|
116
143
|
}
|
|
117
144
|
Normalizer.Async = Async;
|
|
145
|
+
/** Result container holding either a normalized value (with optional warning) or an error. */
|
|
118
146
|
class Normalized {
|
|
119
147
|
constructor(state) {
|
|
120
148
|
this.state = state;
|
|
121
149
|
}
|
|
150
|
+
/** Error message if normalization failed. */
|
|
122
151
|
get errorMessage() {
|
|
123
152
|
return this.state.errorMessage;
|
|
124
153
|
}
|
|
154
|
+
/** Warning message if normalization succeeded with issues. */
|
|
125
155
|
get warningMessage() {
|
|
126
156
|
return this.state.warningMessage;
|
|
127
157
|
}
|
|
158
|
+
/** The normalized value, or undefined if failed. Does not throw. */
|
|
128
159
|
get valueSafe() {
|
|
129
160
|
return this.state.value;
|
|
130
161
|
}
|
|
162
|
+
/** The normalized value. Throws if normalization failed. */
|
|
131
163
|
get value() {
|
|
132
164
|
if (this.state.errorMessage)
|
|
133
165
|
throw new Error(this.errorMessage);
|
|
134
166
|
return this.state.value;
|
|
135
167
|
}
|
|
168
|
+
/** Allows using `Normalized` in expressions expecting the value type. */
|
|
136
169
|
valueOf() {
|
|
137
170
|
return this.value;
|
|
138
171
|
}
|
|
@@ -143,6 +176,10 @@ export class Normalizer {
|
|
|
143
176
|
warn?.(prependMessage(messagePrefix, this.warningMessage));
|
|
144
177
|
return this.state.value;
|
|
145
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Combines multiple `Normalized` results into a single result.
|
|
181
|
+
* Aggregates all errors/warnings with optional labels.
|
|
182
|
+
*/
|
|
146
183
|
static combine(normalizedItems, labelByKey) {
|
|
147
184
|
const normalizedItemsByKey = (Array.isArray(normalizedItems)
|
|
148
185
|
? arrayHelpers.toDictionary(normalizedItems, (item, itemIndex) => (labelByKey?.[itemIndex] || `Item #${itemIndex + 1}`))
|
|
@@ -163,6 +200,7 @@ export class Normalizer {
|
|
|
163
200
|
Normalizer.Normalized = Normalized;
|
|
164
201
|
let Warn;
|
|
165
202
|
(function (Warn) {
|
|
203
|
+
/** Creates a new warning collector. */
|
|
166
204
|
function create() {
|
|
167
205
|
const warn = message => {
|
|
168
206
|
warn.message =
|
|
@@ -175,7 +213,9 @@ export class Normalizer {
|
|
|
175
213
|
}
|
|
176
214
|
Warn.create = create;
|
|
177
215
|
})(Warn = Normalizer.Warn || (Normalizer.Warn = {}));
|
|
216
|
+
/** Passthrough normalizer that accepts any value unchanged. */
|
|
178
217
|
Normalizer.any = new Normalizer((value, warn) => value);
|
|
218
|
+
/** Normalizer that coerces to string. Returns null for empty strings. */
|
|
179
219
|
Normalizer.string = new Normalizer((value, warn) => {
|
|
180
220
|
if (value === null)
|
|
181
221
|
return null;
|
|
@@ -183,6 +223,7 @@ export class Normalizer {
|
|
|
183
223
|
const parsedValue = typeof value === 'string' ? value : String(value);
|
|
184
224
|
return parsedValue || null;
|
|
185
225
|
});
|
|
226
|
+
/** Normalizer that trims whitespace and warns if trimming occurred. */
|
|
186
227
|
Normalizer.stringTrimmed = Normalizer.string.chain((value, warn) => {
|
|
187
228
|
const trimmedValue = value?.trim();
|
|
188
229
|
if (!trimmedValue)
|
|
@@ -191,6 +232,7 @@ export class Normalizer {
|
|
|
191
232
|
warn('Leading or trailing whitespace is removed.');
|
|
192
233
|
return trimmedValue;
|
|
193
234
|
});
|
|
235
|
+
/** Normalizer that trims and lowercases strings. */
|
|
194
236
|
Normalizer.stringTrimmedAndLowerCased = Normalizer.stringTrimmed.chain((value, warn) => {
|
|
195
237
|
const trimmedValue = value?.trim();
|
|
196
238
|
if (!trimmedValue)
|
|
@@ -199,6 +241,7 @@ export class Normalizer {
|
|
|
199
241
|
warn('Leading or trailing whitespace is removed.');
|
|
200
242
|
return trimmedValue.toLowerCase();
|
|
201
243
|
});
|
|
244
|
+
/** Creates a parser that warns if string length is outside bounds. */
|
|
202
245
|
function stringLimitLength(minimum, maximum) {
|
|
203
246
|
return (value, warn) => {
|
|
204
247
|
if (value === null)
|
|
@@ -211,10 +254,12 @@ export class Normalizer {
|
|
|
211
254
|
};
|
|
212
255
|
}
|
|
213
256
|
Normalizer.stringLimitLength = stringLimitLength;
|
|
257
|
+
/** Creates a parser that validates string is a value from an enum object. */
|
|
214
258
|
function stringEnum(enumObject) {
|
|
215
259
|
return stringEnumValues(...Object.values(enumObject));
|
|
216
260
|
}
|
|
217
261
|
Normalizer.stringEnum = stringEnum;
|
|
262
|
+
/** Creates a parser that validates string is one of the allowed values. */
|
|
218
263
|
function stringEnumValues(...allowedValues) {
|
|
219
264
|
return (value, warn) => {
|
|
220
265
|
if (value === null)
|
|
@@ -227,6 +272,7 @@ export class Normalizer {
|
|
|
227
272
|
};
|
|
228
273
|
}
|
|
229
274
|
Normalizer.stringEnumValues = stringEnumValues;
|
|
275
|
+
/** Normalizer that coerces to number. Throws for NaN. */
|
|
230
276
|
Normalizer.number = new Normalizer((value, warn) => {
|
|
231
277
|
if (value === null)
|
|
232
278
|
return null;
|
|
@@ -237,6 +283,7 @@ export class Normalizer {
|
|
|
237
283
|
throw new Error('Invalid number value.');
|
|
238
284
|
return parsedValue;
|
|
239
285
|
});
|
|
286
|
+
/** Normalizer that validates number is an integer. */
|
|
240
287
|
Normalizer.numberInteger = Normalizer.number.chain((value, warn) => {
|
|
241
288
|
if (value === null)
|
|
242
289
|
return null;
|
|
@@ -244,6 +291,7 @@ export class Normalizer {
|
|
|
244
291
|
throw new Error('Expected an integer number.');
|
|
245
292
|
return value;
|
|
246
293
|
});
|
|
294
|
+
/** Creates a parser that warns if number is outside bounds. */
|
|
247
295
|
function numberLimitRange(minimum, maximum) {
|
|
248
296
|
return (value, warn) => {
|
|
249
297
|
if (!value)
|
|
@@ -256,6 +304,7 @@ export class Normalizer {
|
|
|
256
304
|
};
|
|
257
305
|
}
|
|
258
306
|
Normalizer.numberLimitRange = numberLimitRange;
|
|
307
|
+
/** Normalizer that coerces to boolean. Accepts `'true'`/`'false'` strings. */
|
|
259
308
|
Normalizer.boolean = new Normalizer((value, warn) => {
|
|
260
309
|
if (value === null)
|
|
261
310
|
return null;
|
|
@@ -266,6 +315,7 @@ export class Normalizer {
|
|
|
266
315
|
throw new Error('Invalid boolean value.');
|
|
267
316
|
return parsedValue;
|
|
268
317
|
});
|
|
318
|
+
/** Normalizer that validates value is a plain object (not array). */
|
|
269
319
|
Normalizer.object = new Normalizer((value, warn) => {
|
|
270
320
|
if (value === null)
|
|
271
321
|
return null;
|
|
@@ -273,6 +323,7 @@ export class Normalizer {
|
|
|
273
323
|
throw new Error('Expected an object.');
|
|
274
324
|
return value;
|
|
275
325
|
});
|
|
326
|
+
/** Creates a parser that throws if object is missing required keys. */
|
|
276
327
|
function objectRequireKeys(...keys) {
|
|
277
328
|
return (value, warn) => {
|
|
278
329
|
if (!value)
|
|
@@ -284,15 +335,18 @@ export class Normalizer {
|
|
|
284
335
|
};
|
|
285
336
|
}
|
|
286
337
|
Normalizer.objectRequireKeys = objectRequireKeys;
|
|
338
|
+
/** Simplifies normalization of object properties with a stronger type guarantee. */
|
|
287
339
|
function objectProperties(normalizeProperties) {
|
|
288
340
|
return (value, warn) => (value ? Normalized.combine(normalizeProperties(value)).getValue(warn) : null);
|
|
289
341
|
}
|
|
290
342
|
Normalizer.objectProperties = objectProperties;
|
|
343
|
+
/** Normalizer that wraps non-array values in an array. Returns empty array for null. */
|
|
291
344
|
Normalizer.array = new Normalizer((value, warn) => {
|
|
292
345
|
if (value === null)
|
|
293
346
|
return [];
|
|
294
347
|
return (arrayHelpers.isArray(value) ? value : [value]);
|
|
295
348
|
});
|
|
349
|
+
/** Simplifies normalization of array items with a stronger type guarantee. */
|
|
296
350
|
function arrayItems(itemNormalizer) {
|
|
297
351
|
return (value, warn) => Normalized.combine(value.map(item => itemNormalizer.normalize(item))).getValue(warn);
|
|
298
352
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Normalizer.js","sourceRoot":"","sources":["../../src/types/Normalizer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Normalizer.js","sourceRoot":"","sources":["../../src/types/Normalizer.ts"],"names":[],"mappings":"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"}
|
package/dist/types/Phone.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Phone.d.ts","sourceRoot":"","sources":["../../src/types/Phone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Phone.d.ts","sourceRoot":"","sources":["../../src/types/Phone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,uDAAuD;AACvD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAE1B,yBAAiB,KAAK,CAAC;IACd,MAAM,UAAU,2BAMrB,CAAA;IAEK,MAAM,UAAU,EAAE,IAAI,CAAC,MAG7B,CAAA;CACF"}
|
package/dist/types/Slug.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Json } from './Json';
|
|
2
2
|
import { Normalizer } from './Normalizer';
|
|
3
|
+
/** A URL-friendly string consisting of lowercase letters, numbers, and dash (-) characters. */
|
|
3
4
|
export type Slug = string;
|
|
4
5
|
export declare namespace Slug {
|
|
5
6
|
const normalizer: Normalizer<string | null>;
|
package/dist/types/Slug.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slug.d.ts","sourceRoot":"","sources":["../../src/types/Slug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Slug.d.ts","sourceRoot":"","sources":["../../src/types/Slug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,+FAA+F;AAC/F,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AAEzB,yBAAiB,IAAI,CAAC;IACb,MAAM,UAAU,2BAMrB,CAAA;IAEK,MAAM,UAAU,EAAE,IAAI,CAAC,MAG7B,CAAA;CACF"}
|
package/dist/types/TimeOnly.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeOnly.d.ts","sourceRoot":"","sources":["../../src/types/TimeOnly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"TimeOnly.d.ts","sourceRoot":"","sources":["../../src/types/TimeOnly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,gDAAgD;AAChD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE7B,yBAAiB,QAAQ,CAAC;IACjB,MAAM,UAAU,2BAiBrB,CAAA;IAEK,MAAM,UAAU,EAAE,IAAI,CAAC,MAG7B,CAAA;CACF"}
|
package/dist/types/Url.d.ts
CHANGED
package/dist/types/Url.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Url.d.ts","sourceRoot":"","sources":["../../src/types/Url.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Url.d.ts","sourceRoot":"","sources":["../../src/types/Url.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,2BAA2B;AAC3B,MAAM,MAAM,GAAG,GAAG,MAAM,CAAA;AAExB,yBAAiB,GAAG,CAAC;IACZ,MAAM,UAAU,2BAOrB,CAAA;IAEK,MAAM,UAAU,EAAE,IAAI,CAAC,MAI7B,CAAA;CACF"}
|
package/dist/types/Uuid.d.ts
CHANGED
package/dist/types/Uuid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Uuid.d.ts","sourceRoot":"","sources":["../../src/types/Uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Uuid.d.ts","sourceRoot":"","sources":["../../src/types/Uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,qBAAqB;AACrB,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AAEzB,yBAAiB,IAAI,CAAC;IACb,MAAM,UAAU,2BAIrB,CAAA;IAEK,MAAM,UAAU,EAAE,IAAI,CAAC,MAG7B,CAAA;CACF"}
|