@transcend-io/type-utils 2.0.1 → 3.0.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/LICENSE +201 -21
- package/dist/index.d.mts +591 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +530 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +33 -43
- package/.yarn/sdks/eslint/package.json +0 -14
- package/.yarn/sdks/prettier/package.json +0 -7
- package/.yarn/sdks/typescript/package.json +0 -10
- package/README.md +0 -37
- package/build/aggregateObjects.d.ts +0 -27
- package/build/aggregateObjects.d.ts.map +0 -1
- package/build/aggregateObjects.js +0 -34
- package/build/aggregateObjects.js.map +0 -1
- package/build/apply.d.ts +0 -35
- package/build/apply.d.ts.map +0 -1
- package/build/apply.js +0 -47
- package/build/apply.js.map +0 -1
- package/build/codecTools/FixedLengthArray.d.ts +0 -20
- package/build/codecTools/FixedLengthArray.d.ts.map +0 -1
- package/build/codecTools/FixedLengthArray.js +0 -11
- package/build/codecTools/FixedLengthArray.js.map +0 -1
- package/build/codecTools/FixedLengthString.d.ts +0 -17
- package/build/codecTools/FixedLengthString.d.ts.map +0 -1
- package/build/codecTools/FixedLengthString.js +0 -10
- package/build/codecTools/FixedLengthString.js.map +0 -1
- package/build/codecTools/NonEmptyString.d.ts +0 -12
- package/build/codecTools/NonEmptyString.d.ts.map +0 -1
- package/build/codecTools/NonEmptyString.js +0 -6
- package/build/codecTools/NonEmptyString.js.map +0 -1
- package/build/codecTools/createDefaultCodec.d.ts +0 -39
- package/build/codecTools/createDefaultCodec.d.ts.map +0 -1
- package/build/codecTools/createDefaultCodec.js +0 -114
- package/build/codecTools/createDefaultCodec.js.map +0 -1
- package/build/codecTools/decodeCodec.d.ts +0 -12
- package/build/codecTools/decodeCodec.d.ts.map +0 -1
- package/build/codecTools/decodeCodec.js +0 -47
- package/build/codecTools/decodeCodec.js.map +0 -1
- package/build/codecTools/dictionary.d.ts +0 -18
- package/build/codecTools/dictionary.d.ts.map +0 -1
- package/build/codecTools/dictionary.js +0 -13
- package/build/codecTools/dictionary.js.map +0 -1
- package/build/codecTools/index.d.ts +0 -10
- package/build/codecTools/index.d.ts.map +0 -1
- package/build/codecTools/index.js +0 -10
- package/build/codecTools/index.js.map +0 -1
- package/build/codecTools/isCodecError.d.ts +0 -7
- package/build/codecTools/isCodecError.d.ts.map +0 -1
- package/build/codecTools/isCodecError.js +0 -9
- package/build/codecTools/isCodecError.js.map +0 -1
- package/build/codecTools/partialRecord.d.ts +0 -16
- package/build/codecTools/partialRecord.d.ts.map +0 -1
- package/build/codecTools/partialRecord.js +0 -11
- package/build/codecTools/partialRecord.js.map +0 -1
- package/build/codecTools/toJsonSchema.d.ts +0 -11
- package/build/codecTools/toJsonSchema.d.ts.map +0 -1
- package/build/codecTools/toJsonSchema.js +0 -115
- package/build/codecTools/toJsonSchema.js.map +0 -1
- package/build/enum.d.ts +0 -47
- package/build/enum.d.ts.map +0 -1
- package/build/enum.js +0 -44
- package/build/enum.js.map +0 -1
- package/build/enums.d.ts +0 -20
- package/build/enums.d.ts.map +0 -1
- package/build/enums.js +0 -18
- package/build/enums.js.map +0 -1
- package/build/findAllWithRegex.d.ts +0 -41
- package/build/findAllWithRegex.d.ts.map +0 -1
- package/build/findAllWithRegex.js +0 -41
- package/build/findAllWithRegex.js.map +0 -1
- package/build/flattenObject.d.ts +0 -33
- package/build/flattenObject.d.ts.map +0 -1
- package/build/flattenObject.js +0 -72
- package/build/flattenObject.js.map +0 -1
- package/build/fromEntries.d.ts +0 -9
- package/build/fromEntries.d.ts.map +0 -1
- package/build/fromEntries.js +0 -9
- package/build/fromEntries.js.map +0 -1
- package/build/getEntries.d.ts +0 -8
- package/build/getEntries.d.ts.map +0 -1
- package/build/getEntries.js +0 -10
- package/build/getEntries.js.map +0 -1
- package/build/getKeys.d.ts +0 -14
- package/build/getKeys.d.ts.map +0 -1
- package/build/getKeys.js +0 -19
- package/build/getKeys.js.map +0 -1
- package/build/getValues.d.ts +0 -9
- package/build/getValues.d.ts.map +0 -1
- package/build/getValues.js +0 -9
- package/build/getValues.js.map +0 -1
- package/build/gql.d.ts +0 -22
- package/build/gql.d.ts.map +0 -1
- package/build/gql.js +0 -32
- package/build/gql.js.map +0 -1
- package/build/groupBy.d.ts +0 -11
- package/build/groupBy.d.ts.map +0 -1
- package/build/groupBy.js +0 -20
- package/build/groupBy.js.map +0 -1
- package/build/index.d.ts +0 -19
- package/build/index.d.ts.map +0 -1
- package/build/index.js +0 -19
- package/build/index.js.map +0 -1
- package/build/invert.d.ts +0 -23
- package/build/invert.d.ts.map +0 -1
- package/build/invert.js +0 -79
- package/build/invert.js.map +0 -1
- package/build/noExcess.d.ts +0 -33
- package/build/noExcess.d.ts.map +0 -1
- package/build/noExcess.js +0 -153
- package/build/noExcess.js.map +0 -1
- package/build/tests/FixedLengthArray.test.d.ts +0 -2
- package/build/tests/FixedLengthArray.test.d.ts.map +0 -1
- package/build/tests/FixedLengthArray.test.js +0 -15
- package/build/tests/FixedLengthArray.test.js.map +0 -1
- package/build/tests/aggregateObjects.test.d.ts +0 -2
- package/build/tests/aggregateObjects.test.d.ts.map +0 -1
- package/build/tests/aggregateObjects.test.js +0 -98
- package/build/tests/aggregateObjects.test.js.map +0 -1
- package/build/tests/createDefaultCodec.test.d.ts +0 -2
- package/build/tests/createDefaultCodec.test.d.ts.map +0 -1
- package/build/tests/createDefaultCodec.test.js +0 -104
- package/build/tests/createDefaultCodec.test.js.map +0 -1
- package/build/tests/decodeCodec.test.d.ts +0 -2
- package/build/tests/decodeCodec.test.d.ts.map +0 -1
- package/build/tests/decodeCodec.test.js +0 -43
- package/build/tests/decodeCodec.test.js.map +0 -1
- package/build/tests/enum.test.d.ts +0 -2
- package/build/tests/enum.test.d.ts.map +0 -1
- package/build/tests/enum.test.js +0 -21
- package/build/tests/enum.test.js.map +0 -1
- package/build/tests/flattenObject.test.d.ts +0 -2
- package/build/tests/flattenObject.test.d.ts.map +0 -1
- package/build/tests/flattenObject.test.js +0 -115
- package/build/tests/flattenObject.test.js.map +0 -1
- package/build/tests/gql.test.d.ts +0 -2
- package/build/tests/gql.test.d.ts.map +0 -1
- package/build/tests/gql.test.js +0 -44
- package/build/tests/gql.test.js.map +0 -1
- package/build/tests/groupBy.test.d.ts +0 -2
- package/build/tests/groupBy.test.d.ts.map +0 -1
- package/build/tests/groupBy.test.js +0 -13
- package/build/tests/groupBy.test.js.map +0 -1
- package/build/tests/invert.test.d.ts +0 -2
- package/build/tests/invert.test.d.ts.map +0 -1
- package/build/tests/invert.test.js +0 -50
- package/build/tests/invert.test.js.map +0 -1
- package/build/tests/noExcess.test.d.ts +0 -2
- package/build/tests/noExcess.test.d.ts.map +0 -1
- package/build/tests/noExcess.test.js +0 -65
- package/build/tests/noExcess.test.js.map +0 -1
- package/build/tests/transposeObjectArray.test.d.ts +0 -2
- package/build/tests/transposeObjectArray.test.d.ts.map +0 -1
- package/build/tests/transposeObjectArray.test.js +0 -155
- package/build/tests/transposeObjectArray.test.js.map +0 -1
- package/build/transposeObjectArray.d.ts +0 -67
- package/build/transposeObjectArray.d.ts.map +0 -1
- package/build/transposeObjectArray.js +0 -39
- package/build/transposeObjectArray.js.map +0 -1
- package/build/tsbuildinfo +0 -1
- package/build/types.d.ts +0 -150
- package/build/types.d.ts.map +0 -1
- package/build/types.js +0 -2
- package/build/types.js.map +0 -1
- package/build/valuesOf.d.ts +0 -12
- package/build/valuesOf.d.ts.map +0 -1
- package/build/valuesOf.js +0 -14
- package/build/valuesOf.js.map +0 -1
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,591 @@
|
|
|
1
|
+
import * as t from "io-ts";
|
|
2
|
+
|
|
3
|
+
//#region src/types.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* An arbitrary object keyed by strings for naming consistency.
|
|
6
|
+
*/
|
|
7
|
+
type ObjByString = { [key in string]: any };
|
|
8
|
+
/**
|
|
9
|
+
* An arbitrary function.
|
|
10
|
+
*/
|
|
11
|
+
type AnyFunction = (...args: any[]) => any;
|
|
12
|
+
/**
|
|
13
|
+
* An arbitrary array.
|
|
14
|
+
*/
|
|
15
|
+
type AnyArray = any[];
|
|
16
|
+
/**
|
|
17
|
+
* The type of the underlying array.
|
|
18
|
+
*/
|
|
19
|
+
type ArrType<TData extends AnyArray> = TData extends (infer DataT)[] ? DataT : never;
|
|
20
|
+
/**
|
|
21
|
+
* The type of the underlying promise.
|
|
22
|
+
*/
|
|
23
|
+
type PromiseType<TData> = TData extends Promise<infer Result> ? Result : TData;
|
|
24
|
+
/**
|
|
25
|
+
* The type of the underlying array or the identity of the input.
|
|
26
|
+
*/
|
|
27
|
+
type ArrOrIdentityType<TData> = TData extends (infer DataT)[] ? DataT : TData;
|
|
28
|
+
/**
|
|
29
|
+
* Helper to create `T` or `T[]`.
|
|
30
|
+
*/
|
|
31
|
+
type OrArray<T> = T | T[];
|
|
32
|
+
/**
|
|
33
|
+
* To make the inspected type more tractable than a bunch of intersections.
|
|
34
|
+
*/
|
|
35
|
+
type Identity<T> = { [K in keyof T]: T[K] };
|
|
36
|
+
/**
|
|
37
|
+
* Identity but recursive.
|
|
38
|
+
*/
|
|
39
|
+
type RecursiveIdentity<T> = T extends AnyArray ? ArrType<T> extends object ? Identity<ArrType<T>>[] : T : T extends string ? T : T extends object ? { [K in keyof T]: T[K] extends object ? Identity<T[K]> : T[K] } : T;
|
|
40
|
+
/**
|
|
41
|
+
* Make selected object keys defined by `K` optional in type `T`.
|
|
42
|
+
*/
|
|
43
|
+
type Optionalize<T, K extends keyof T> = Identity<Omit<T, K> & Partial<T>>;
|
|
44
|
+
/**
|
|
45
|
+
* Make selected object keys required in type `T`.
|
|
46
|
+
*/
|
|
47
|
+
type Requirize<T, K extends keyof T> = Identity<Omit<T, K> & Required<{ [P in K]: T[P] }>>;
|
|
48
|
+
/**
|
|
49
|
+
* Convert keys of a type to strings.
|
|
50
|
+
*/
|
|
51
|
+
type Stringify<T, K extends keyof T> = Omit<T, K> & { [P in keyof T]: string };
|
|
52
|
+
/**
|
|
53
|
+
* Extract string keys from an object.
|
|
54
|
+
*/
|
|
55
|
+
type StringKeys<TObj extends ObjByString> = Extract<keyof TObj, string>;
|
|
56
|
+
/**
|
|
57
|
+
* Extract associated values of string keys.
|
|
58
|
+
*/
|
|
59
|
+
type StringValues<TObj extends ObjByString> = TObj[keyof TObj];
|
|
60
|
+
/**
|
|
61
|
+
* String keys without extends enforcement.
|
|
62
|
+
*/
|
|
63
|
+
type StringKeysSafe<T> = T extends ObjByString ? StringKeys<T> : undefined;
|
|
64
|
+
/**
|
|
65
|
+
* Extract the sub types of an object based on a condition.
|
|
66
|
+
*/
|
|
67
|
+
type SubType<Base, Condition> = Pick<Base, { [Key in keyof Base]: Base[Key] extends Condition ? Key : never }[keyof Base]>;
|
|
68
|
+
/**
|
|
69
|
+
* Inverse of `SubType`.
|
|
70
|
+
*/
|
|
71
|
+
type SubNotType<Base, Condition> = Pick<Base, { [Key in keyof Base]: Base[Key] extends Condition ? never : Key }[keyof Base]>;
|
|
72
|
+
/**
|
|
73
|
+
* `SubType`, but optional inputs become required.
|
|
74
|
+
*/
|
|
75
|
+
type SubTypeRequired<Base, Condition> = SubType<Required<Base>, Condition>;
|
|
76
|
+
/**
|
|
77
|
+
* Names of properties in `T` with types that include `undefined`.
|
|
78
|
+
*/
|
|
79
|
+
type OptionalPropertyNames<T> = { [K in keyof T]: undefined extends T[K] ? K : never }[keyof T];
|
|
80
|
+
/**
|
|
81
|
+
* Common properties from `L` and `R` with `undefined` in `R[K]` replaced by `L[K]`.
|
|
82
|
+
*/
|
|
83
|
+
type SpreadProperties<L, R, K extends keyof L & keyof R> = { [P in K]: L[P] | Exclude<R[P], undefined> };
|
|
84
|
+
/**
|
|
85
|
+
* Type of `{ ...L, ...R }`, more accurate than `L & R`.
|
|
86
|
+
*/
|
|
87
|
+
type Spread<L, R> = Identity<Pick<L, Exclude<keyof L, keyof R>> & Pick<R, Exclude<keyof R, OptionalPropertyNames<R>>> & Pick<R, Exclude<OptionalPropertyNames<R>, keyof L>> & SpreadProperties<L, R, OptionalPropertyNames<R> & keyof L>>;
|
|
88
|
+
/**
|
|
89
|
+
* Soft spread.
|
|
90
|
+
*/
|
|
91
|
+
type Merge<L, R> = Identity<Pick<L, Exclude<keyof L, keyof R>> & R>;
|
|
92
|
+
/**
|
|
93
|
+
* Convert unions to intersections.
|
|
94
|
+
*/
|
|
95
|
+
type UnionToIntersection<U> = (U extends any ? (argument: U) => void : never) extends ((argument: infer Intersection) => void) ? Intersection : never;
|
|
96
|
+
/**
|
|
97
|
+
* Loop over an object and recursively replace all values.
|
|
98
|
+
*/
|
|
99
|
+
type RecursiveTypeReplace<T, TReplace, TReplaceWith> = T extends Promise<infer Result> ? Promise<RecursiveTypeReplace<Result, TReplace, TReplaceWith>> : T extends ((...args: infer Args) => infer ReturnValue) ? (...args: Args) => RecursiveTypeReplace<ReturnValue, TReplace, TReplaceWith> : T extends RegExp ? T : Extract<T, string> extends never ? { [Key in keyof T]: RecursiveTypeReplace<T[Key], TReplace, TReplaceWith> } : Exclude<{ [Key in keyof T]: RecursiveTypeReplace<T[Key], TReplace, TReplaceWith> }, string> | TReplaceWith;
|
|
100
|
+
/**
|
|
101
|
+
* Recursively replace one type in an object.
|
|
102
|
+
*/
|
|
103
|
+
type RecursiveObjectReplace<TBase, TReplaceCondition, TReplaceWith> = TBase extends TReplaceCondition ? TReplaceWith : TBase extends (infer Item)[] ? RecursiveObjectReplace<Item, TReplaceCondition, TReplaceWith> : TBase extends object ? { [Key in keyof TBase]: TBase[Key] extends (infer MatrixItem)[][] ? RecursiveObjectReplace<MatrixItem, TReplaceCondition, TReplaceWith>[][] : TBase[Key] extends (infer MatrixItem)[][] | undefined ? RecursiveObjectReplace<MatrixItem, TReplaceCondition, TReplaceWith>[][] | undefined : TBase[Key] extends (infer Item)[] ? RecursiveObjectReplace<Item, TReplaceCondition, TReplaceWith>[] : TBase[Key] extends (infer Item)[] | undefined ? RecursiveObjectReplace<Item, TReplaceCondition, TReplaceWith>[] | undefined : TBase[Key] extends TReplaceCondition ? TReplaceWith : TBase[Key] extends TReplaceCondition | undefined ? TReplaceWith | undefined : RecursiveObjectReplace<TBase[Key], TReplaceCondition, TReplaceWith> } : TBase;
|
|
104
|
+
/**
|
|
105
|
+
* Make values nullable.
|
|
106
|
+
*/
|
|
107
|
+
type Nullable<T> = { [K in keyof T]: T[K] | null };
|
|
108
|
+
/**
|
|
109
|
+
* Deep partial of a type.
|
|
110
|
+
*/
|
|
111
|
+
type DeepPartial<T> = { [P in keyof T]?: DeepPartial<T[P]> };
|
|
112
|
+
/**
|
|
113
|
+
* Utility type that passes through the interface given that its keys are
|
|
114
|
+
* exactly equal to the keys string union.
|
|
115
|
+
*/
|
|
116
|
+
type KeysStrictlyEqual<Keys extends string, Interface extends ([keyof Interface] extends [Keys] ? [Keys] extends [keyof Interface] ? unknown : never : never)> = Interface;
|
|
117
|
+
/**
|
|
118
|
+
* Override fields in `T` with fields in `U`.
|
|
119
|
+
*/
|
|
120
|
+
type Override<T, U> = Pick<T, Exclude<keyof T, keyof U>> & U;
|
|
121
|
+
//#endregion
|
|
122
|
+
//#region src/apply.d.ts
|
|
123
|
+
/**
|
|
124
|
+
* Apply a function to each value of an object while preserving the key types.
|
|
125
|
+
*/
|
|
126
|
+
declare function apply<TInput extends ObjByString, TOutput>(obj: TInput, applyFunc: (value: TInput[keyof TInput], key: StringKeys<TInput>, fullObj: typeof obj, index: number) => TOutput): { [key in keyof TInput]: TOutput };
|
|
127
|
+
/**
|
|
128
|
+
* Async version of `apply`.
|
|
129
|
+
*/
|
|
130
|
+
declare function asyncApply<TInput extends ObjByString, TOutput>(obj: TInput, applyFunc: (value: TInput[keyof TInput], key: StringKeys<TInput>, fullObj: typeof obj, index: number) => Promise<TOutput>): Promise<{ [key in keyof TInput]: TOutput }>;
|
|
131
|
+
/**
|
|
132
|
+
* Convert a TypeScript enum to a value-to-value map and then call `apply`.
|
|
133
|
+
*/
|
|
134
|
+
declare function applyEnum<TEnum extends string, TOutput>(enm: { [key in string]: TEnum }, applyFunc: (value: TEnum, key: TEnum, fullObj: typeof enm, index: number) => TOutput): { [key in TEnum]: TOutput };
|
|
135
|
+
//#endregion
|
|
136
|
+
//#region src/codecTools/decodeCodec.d.ts
|
|
137
|
+
declare const CODEC_ERROR_MESSAGE = "Failed to decode codec:";
|
|
138
|
+
/**
|
|
139
|
+
* Decode a codec, returning the decoded value or throwing an error.
|
|
140
|
+
*/
|
|
141
|
+
declare function decodeCodec<TCodec extends t.Any>(codec: TCodec, txt: unknown, parse?: boolean, customErrorFromContext?: ((validationContext: t.Context) => string) | undefined): t.TypeOf<TCodec>;
|
|
142
|
+
//#endregion
|
|
143
|
+
//#region src/codecTools/dictionary.d.ts
|
|
144
|
+
/**
|
|
145
|
+
* A record with optional keys.
|
|
146
|
+
*/
|
|
147
|
+
interface DictionaryC<D extends t.Mixed, C extends t.Mixed> extends t.DictionaryType<D, C, { [K in t.TypeOf<D>]?: t.TypeOf<C> }, { [K in t.OutputOf<D>]?: t.OutputOf<C> }, unknown> {}
|
|
148
|
+
/**
|
|
149
|
+
* Helper to encode/decode a record with partial keys.
|
|
150
|
+
*/
|
|
151
|
+
declare const dictionary: <D extends t.Mixed, C extends t.Mixed>(keys: D, values: C, name?: string) => DictionaryC<D, C>;
|
|
152
|
+
//#endregion
|
|
153
|
+
//#region src/codecTools/FixedLengthString.d.ts
|
|
154
|
+
/**
|
|
155
|
+
* Brand for strings of fixed length.
|
|
156
|
+
*/
|
|
157
|
+
type FixedLengthStringBrand<N extends number> = {
|
|
158
|
+
/** The expected length of the string. */readonly length: N; /** Unique symbol to ensure uniqueness of this type across modules/packages. */
|
|
159
|
+
readonly FixedLengthString: unique symbol;
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* Codec for strings constrained to a fixed length.
|
|
163
|
+
*/
|
|
164
|
+
declare const FixedLengthString: <N extends number>(len: N) => t.BrandC<t.StringC, FixedLengthStringBrand<N>>;
|
|
165
|
+
/**
|
|
166
|
+
* Branded fixed-length string type.
|
|
167
|
+
*/
|
|
168
|
+
type FixedLengthString<N extends number> = t.TypeOf<t.BrandC<t.StringC, FixedLengthStringBrand<N>>>;
|
|
169
|
+
//#endregion
|
|
170
|
+
//#region src/codecTools/FixedLengthArray.d.ts
|
|
171
|
+
/**
|
|
172
|
+
* Brand for arrays with bounded length.
|
|
173
|
+
*/
|
|
174
|
+
interface FixedLengthArrayBrand<T> extends Array<T> {
|
|
175
|
+
/** Unique symbol to ensure uniqueness of this type across modules/packages. */
|
|
176
|
+
readonly fixedLengthArray: unique symbol;
|
|
177
|
+
/** The minimum length of the array. */
|
|
178
|
+
readonly min: number;
|
|
179
|
+
/** The maximum length of the array. */
|
|
180
|
+
readonly max: number;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Codec for arrays constrained to a fixed length range.
|
|
184
|
+
*/
|
|
185
|
+
declare const FixedLengthArray: <C extends t.Mixed>(min: number, max: number, codec: C) => t.BrandC<t.ArrayC<C>, FixedLengthArrayBrand<C>>;
|
|
186
|
+
/**
|
|
187
|
+
* Branded fixed-length array type.
|
|
188
|
+
*/
|
|
189
|
+
type FixedLengthArray<C extends t.Mixed> = t.TypeOf<t.BrandC<t.ArrayC<C>, FixedLengthArrayBrand<C>>>;
|
|
190
|
+
//#endregion
|
|
191
|
+
//#region src/codecTools/partialRecord.d.ts
|
|
192
|
+
/**
|
|
193
|
+
* Like `t.record`, but where the keys are all optional to include.
|
|
194
|
+
*/
|
|
195
|
+
interface PartialRecordC<D extends t.Mixed, C extends t.Mixed> extends t.DictionaryType<D, C, { [K in t.TypeOf<D>]?: t.TypeOf<C> }, { [K in t.OutputOf<D>]?: t.OutputOf<C> }, unknown> {}
|
|
196
|
+
/**
|
|
197
|
+
* Create an `io-ts` compatible partial record.
|
|
198
|
+
*/
|
|
199
|
+
declare const partialRecord: <D extends t.Mixed, C extends t.Mixed>(domain: D, codomain: C, name?: string) => PartialRecordC<D, C>;
|
|
200
|
+
//#endregion
|
|
201
|
+
//#region src/codecTools/isCodecError.d.ts
|
|
202
|
+
/**
|
|
203
|
+
* Checks an error message to see if it is an `io-ts` codec error.
|
|
204
|
+
*/
|
|
205
|
+
declare function isCodecError(err: Error): boolean;
|
|
206
|
+
//#endregion
|
|
207
|
+
//#region src/codecTools/NonEmptyString.d.ts
|
|
208
|
+
/**
|
|
209
|
+
* Brand for non-empty strings.
|
|
210
|
+
*/
|
|
211
|
+
type NonEmptyStringBrand = {
|
|
212
|
+
/** Unique symbol to ensure uniqueness of this type across modules/packages. */readonly NonEmptyString: symbol;
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* Codec for non-empty trimmed strings.
|
|
216
|
+
*/
|
|
217
|
+
declare const NonEmptyString: t.BrandC<t.StringC, NonEmptyStringBrand>;
|
|
218
|
+
/**
|
|
219
|
+
* Branded non-empty string type.
|
|
220
|
+
*/
|
|
221
|
+
type NonEmptyString = t.TypeOf<typeof NonEmptyString>;
|
|
222
|
+
//#endregion
|
|
223
|
+
//#region ../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts
|
|
224
|
+
// ==================================================================================================
|
|
225
|
+
// JSON Schema Draft 07
|
|
226
|
+
// ==================================================================================================
|
|
227
|
+
// https://tools.ietf.org/html/draft-handrews-json-schema-validation-01
|
|
228
|
+
// --------------------------------------------------------------------------------------------------
|
|
229
|
+
/**
|
|
230
|
+
* Primitive type
|
|
231
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.1.1
|
|
232
|
+
*/
|
|
233
|
+
type JSONSchema7TypeName = "string" //
|
|
234
|
+
| "number" | "integer" | "boolean" | "object" | "array" | "null";
|
|
235
|
+
/**
|
|
236
|
+
* Primitive type
|
|
237
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.1.1
|
|
238
|
+
*/
|
|
239
|
+
type JSONSchema7Type = string //
|
|
240
|
+
| number | boolean | JSONSchema7Object | JSONSchema7Array | null;
|
|
241
|
+
// Workaround for infinite type recursion
|
|
242
|
+
interface JSONSchema7Object {
|
|
243
|
+
[key: string]: JSONSchema7Type;
|
|
244
|
+
}
|
|
245
|
+
// Workaround for infinite type recursion
|
|
246
|
+
// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540
|
|
247
|
+
interface JSONSchema7Array extends Array<JSONSchema7Type> {}
|
|
248
|
+
/**
|
|
249
|
+
* Meta schema
|
|
250
|
+
*
|
|
251
|
+
* Recommended values:
|
|
252
|
+
* - 'http://json-schema.org/schema#'
|
|
253
|
+
* - 'http://json-schema.org/hyper-schema#'
|
|
254
|
+
* - 'http://json-schema.org/draft-07/schema#'
|
|
255
|
+
* - 'http://json-schema.org/draft-07/hyper-schema#'
|
|
256
|
+
*
|
|
257
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-5
|
|
258
|
+
*/
|
|
259
|
+
type JSONSchema7Version = string;
|
|
260
|
+
/**
|
|
261
|
+
* JSON Schema v7
|
|
262
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01
|
|
263
|
+
*/
|
|
264
|
+
type JSONSchema7Definition = JSONSchema7 | boolean;
|
|
265
|
+
interface JSONSchema7 {
|
|
266
|
+
$id?: string | undefined;
|
|
267
|
+
$ref?: string | undefined;
|
|
268
|
+
$schema?: JSONSchema7Version | undefined;
|
|
269
|
+
$comment?: string | undefined;
|
|
270
|
+
/**
|
|
271
|
+
* @see https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-00#section-8.2.4
|
|
272
|
+
* @see https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-00#appendix-A
|
|
273
|
+
*/
|
|
274
|
+
$defs?: {
|
|
275
|
+
[key: string]: JSONSchema7Definition;
|
|
276
|
+
} | undefined;
|
|
277
|
+
/**
|
|
278
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.1
|
|
279
|
+
*/
|
|
280
|
+
type?: JSONSchema7TypeName | JSONSchema7TypeName[] | undefined;
|
|
281
|
+
enum?: JSONSchema7Type[] | undefined;
|
|
282
|
+
const?: JSONSchema7Type | undefined;
|
|
283
|
+
/**
|
|
284
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.2
|
|
285
|
+
*/
|
|
286
|
+
multipleOf?: number | undefined;
|
|
287
|
+
maximum?: number | undefined;
|
|
288
|
+
exclusiveMaximum?: number | undefined;
|
|
289
|
+
minimum?: number | undefined;
|
|
290
|
+
exclusiveMinimum?: number | undefined;
|
|
291
|
+
/**
|
|
292
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.3
|
|
293
|
+
*/
|
|
294
|
+
maxLength?: number | undefined;
|
|
295
|
+
minLength?: number | undefined;
|
|
296
|
+
pattern?: string | undefined;
|
|
297
|
+
/**
|
|
298
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.4
|
|
299
|
+
*/
|
|
300
|
+
items?: JSONSchema7Definition | JSONSchema7Definition[] | undefined;
|
|
301
|
+
additionalItems?: JSONSchema7Definition | undefined;
|
|
302
|
+
maxItems?: number | undefined;
|
|
303
|
+
minItems?: number | undefined;
|
|
304
|
+
uniqueItems?: boolean | undefined;
|
|
305
|
+
contains?: JSONSchema7Definition | undefined;
|
|
306
|
+
/**
|
|
307
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.5
|
|
308
|
+
*/
|
|
309
|
+
maxProperties?: number | undefined;
|
|
310
|
+
minProperties?: number | undefined;
|
|
311
|
+
required?: string[] | undefined;
|
|
312
|
+
properties?: {
|
|
313
|
+
[key: string]: JSONSchema7Definition;
|
|
314
|
+
} | undefined;
|
|
315
|
+
patternProperties?: {
|
|
316
|
+
[key: string]: JSONSchema7Definition;
|
|
317
|
+
} | undefined;
|
|
318
|
+
additionalProperties?: JSONSchema7Definition | undefined;
|
|
319
|
+
dependencies?: {
|
|
320
|
+
[key: string]: JSONSchema7Definition | string[];
|
|
321
|
+
} | undefined;
|
|
322
|
+
propertyNames?: JSONSchema7Definition | undefined;
|
|
323
|
+
/**
|
|
324
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.6
|
|
325
|
+
*/
|
|
326
|
+
if?: JSONSchema7Definition | undefined;
|
|
327
|
+
then?: JSONSchema7Definition | undefined;
|
|
328
|
+
else?: JSONSchema7Definition | undefined;
|
|
329
|
+
/**
|
|
330
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.7
|
|
331
|
+
*/
|
|
332
|
+
allOf?: JSONSchema7Definition[] | undefined;
|
|
333
|
+
anyOf?: JSONSchema7Definition[] | undefined;
|
|
334
|
+
oneOf?: JSONSchema7Definition[] | undefined;
|
|
335
|
+
not?: JSONSchema7Definition | undefined;
|
|
336
|
+
/**
|
|
337
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-7
|
|
338
|
+
*/
|
|
339
|
+
format?: string | undefined;
|
|
340
|
+
/**
|
|
341
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-8
|
|
342
|
+
*/
|
|
343
|
+
contentMediaType?: string | undefined;
|
|
344
|
+
contentEncoding?: string | undefined;
|
|
345
|
+
/**
|
|
346
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-9
|
|
347
|
+
*/
|
|
348
|
+
definitions?: {
|
|
349
|
+
[key: string]: JSONSchema7Definition;
|
|
350
|
+
} | undefined;
|
|
351
|
+
/**
|
|
352
|
+
* @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-10
|
|
353
|
+
*/
|
|
354
|
+
title?: string | undefined;
|
|
355
|
+
description?: string | undefined;
|
|
356
|
+
default?: JSONSchema7Type | undefined;
|
|
357
|
+
readOnly?: boolean | undefined;
|
|
358
|
+
writeOnly?: boolean | undefined;
|
|
359
|
+
examples?: JSONSchema7Type | undefined;
|
|
360
|
+
}
|
|
361
|
+
//#endregion
|
|
362
|
+
//#region src/codecTools/toJsonSchema.d.ts
|
|
363
|
+
/**
|
|
364
|
+
* Convert an `io-ts` codec to a JSON Schema (v7).
|
|
365
|
+
*/
|
|
366
|
+
declare const toJsonSchema: (rawType: any, strict?: boolean, alwaysIncludeRequired?: boolean) => JSONSchema7;
|
|
367
|
+
//#endregion
|
|
368
|
+
//#region src/codecTools/createDefaultCodec.d.ts
|
|
369
|
+
/**
|
|
370
|
+
* Creates a default value for an `io-ts` codec.
|
|
371
|
+
*/
|
|
372
|
+
declare const createDefaultCodec: <C extends t.Mixed>(codec: C) => t.TypeOf<C>;
|
|
373
|
+
//#endregion
|
|
374
|
+
//#region src/enum.d.ts
|
|
375
|
+
/**
|
|
376
|
+
* An enumerated value.
|
|
377
|
+
*/
|
|
378
|
+
type Enumerate<T = string, TKey extends string = string> = { [key in TKey]: T };
|
|
379
|
+
/**
|
|
380
|
+
* A TypeScript enum with string values.
|
|
381
|
+
*/
|
|
382
|
+
type TypescriptEnum = { [key in string]: string } | { [key in number]: string };
|
|
383
|
+
/**
|
|
384
|
+
* An input when defining an enum can be an object of string -> string or a list
|
|
385
|
+
* of strings.
|
|
386
|
+
*/
|
|
387
|
+
type EnumInput<T, TKey extends string = string> = Enumerate<T, TKey> | string[];
|
|
388
|
+
/**
|
|
389
|
+
* Convert a list of strings to an enum-like object.
|
|
390
|
+
*/
|
|
391
|
+
declare function listToEnum(attributes: string[]): Enumerate<string>;
|
|
392
|
+
/**
|
|
393
|
+
* Merge enum-like inputs into a single enum object.
|
|
394
|
+
*/
|
|
395
|
+
declare function createEnum<T = string, TKey extends string = string>(...attributes: EnumInput<T, TKey>[]): Enumerate<T, TKey>;
|
|
396
|
+
/**
|
|
397
|
+
* Filter an enum and return the keys that remain.
|
|
398
|
+
*/
|
|
399
|
+
declare function filterEnum<T extends ObjByString>(obj: T, filterFunc: (value: T[keyof T], key: keyof T, calculatedEnum: Enumerate<T[keyof T]>) => boolean): (keyof T)[];
|
|
400
|
+
/**
|
|
401
|
+
* Make an enum compatible with type inference without changing its runtime
|
|
402
|
+
* shape.
|
|
403
|
+
*/
|
|
404
|
+
declare function makeEnum<T extends {
|
|
405
|
+
[index: string]: Value | Value[];
|
|
406
|
+
}, Value extends string>(value: T): T;
|
|
407
|
+
//#endregion
|
|
408
|
+
//#region src/enums.d.ts
|
|
409
|
+
/**
|
|
410
|
+
* The HTTP method types.
|
|
411
|
+
*/
|
|
412
|
+
declare const HttpMethod: {
|
|
413
|
+
/** A GET request. */Get: "GET"; /** A POST request. */
|
|
414
|
+
Post: "POST"; /** A DELETE request. */
|
|
415
|
+
Delete: "DELETE"; /** A PUT request. */
|
|
416
|
+
Put: "PUT"; /** A PATCH request. */
|
|
417
|
+
Patch: "PATCH";
|
|
418
|
+
};
|
|
419
|
+
/**
|
|
420
|
+
* The HTTP method string union.
|
|
421
|
+
*/
|
|
422
|
+
type HttpMethod = (typeof HttpMethod)[keyof typeof HttpMethod];
|
|
423
|
+
//#endregion
|
|
424
|
+
//#region src/getEntries.d.ts
|
|
425
|
+
/**
|
|
426
|
+
* `Object.entries` that preserves entry types.
|
|
427
|
+
*/
|
|
428
|
+
declare function getEntries<TKey extends keyof TObj, TObj extends ObjByString>(obj: TObj): [TKey, TObj[TKey]][];
|
|
429
|
+
//#endregion
|
|
430
|
+
//#region src/getKeys.d.ts
|
|
431
|
+
/**
|
|
432
|
+
* `Object.keys` for string keys only.
|
|
433
|
+
*/
|
|
434
|
+
declare function getStringKeys<T extends {}>(obj: T): StringKeys<T>[];
|
|
435
|
+
/**
|
|
436
|
+
* `Object.keys` that preserves key types.
|
|
437
|
+
*/
|
|
438
|
+
declare function getKeys<T extends {}>(obj: T): (keyof T)[];
|
|
439
|
+
//#endregion
|
|
440
|
+
//#region src/getValues.d.ts
|
|
441
|
+
/**
|
|
442
|
+
* `Object.values` that preserves value types.
|
|
443
|
+
*/
|
|
444
|
+
declare function getValues<TValue>(obj: { [key in string | number | symbol]: TValue }): TValue[];
|
|
445
|
+
//#endregion
|
|
446
|
+
//#region src/groupBy.d.ts
|
|
447
|
+
/**
|
|
448
|
+
* A typed version of lodash's `groupBy`.
|
|
449
|
+
*/
|
|
450
|
+
declare function groupBy<TItem, TKey>(iterable: TItem[], getKey: (item: TItem) => TKey): Map<TKey, TItem[]>;
|
|
451
|
+
//#endregion
|
|
452
|
+
//#region src/gql.d.ts
|
|
453
|
+
/**
|
|
454
|
+
* Identify whether a string looks like a GraphQL interface/type/input
|
|
455
|
+
* declaration.
|
|
456
|
+
*/
|
|
457
|
+
declare const INTERFACE_REGEX: RegExp;
|
|
458
|
+
/**
|
|
459
|
+
* A `gql` is simply a string branded with the associated GraphQL type.
|
|
460
|
+
*/
|
|
461
|
+
type Gql<TGraphQLType extends object> = string & {
|
|
462
|
+
/** The TypeScript type definition that relates to the gql string. */graphQLType: TGraphQLType;
|
|
463
|
+
};
|
|
464
|
+
/**
|
|
465
|
+
* Template tag for GraphQL fragments with a small amount of interpolation
|
|
466
|
+
* support for interface bodies.
|
|
467
|
+
*/
|
|
468
|
+
declare function gql<TGraphQLType extends object>(strings: TemplateStringsArray, ...expressions: (string | number)[]): Gql<TGraphQLType>;
|
|
469
|
+
//#endregion
|
|
470
|
+
//#region src/invert.d.ts
|
|
471
|
+
/**
|
|
472
|
+
* Invert an object so the values look up the keys. Arrays are expanded and map
|
|
473
|
+
* back to arrays of keys.
|
|
474
|
+
*/
|
|
475
|
+
declare function invert<TKey extends string, TValue extends string | string[]>(obj: { [key in TKey]?: TValue }, throwOnDuplicate?: boolean): { [key in TValue extends (infer Item)[] ? Item : TValue]: TValue extends any[] ? TKey[] : TKey };
|
|
476
|
+
/**
|
|
477
|
+
* Safely invert an object into `{ [value]: key[] }`.
|
|
478
|
+
*/
|
|
479
|
+
declare function invertSafe<TKey extends string, TValue extends string>(obj: { [key in TKey]: TValue | TValue[] }): { [key in TValue]: TKey[] };
|
|
480
|
+
//#endregion
|
|
481
|
+
//#region src/valuesOf.d.ts
|
|
482
|
+
/**
|
|
483
|
+
* Build an `io-ts` codec over the values of an enum-like object.
|
|
484
|
+
*/
|
|
485
|
+
declare function valuesOf<TEnum extends string>(enm: { [key in string]: TEnum }): t.KeyofC<{ [key in TEnum]: unknown }>;
|
|
486
|
+
//#endregion
|
|
487
|
+
//#region src/findAllWithRegex.d.ts
|
|
488
|
+
/**
|
|
489
|
+
* The full match returned when `regex.exec` finds a match.
|
|
490
|
+
*/
|
|
491
|
+
interface RegExpMatch {
|
|
492
|
+
/** The full regex match. */
|
|
493
|
+
fullMatch: string;
|
|
494
|
+
/** The index in the text where the match was found. */
|
|
495
|
+
matchIndex: number;
|
|
496
|
+
/** Whether the match satisfies an optional stricter regex. */
|
|
497
|
+
isStrict?: boolean;
|
|
498
|
+
}
|
|
499
|
+
/**
|
|
500
|
+
* Definition for finding all regex matches and mapping capture groups to keys.
|
|
501
|
+
*/
|
|
502
|
+
interface FindAllRegExp<TMatchKeys extends string> {
|
|
503
|
+
/** The regex to test. */
|
|
504
|
+
value: RegExp;
|
|
505
|
+
/**
|
|
506
|
+
* A stricter regex used to annotate matches that satisfy a more exact
|
|
507
|
+
* standard.
|
|
508
|
+
*/
|
|
509
|
+
strict?: RegExp;
|
|
510
|
+
/** Capture group names mapped by index. */
|
|
511
|
+
matches: readonly TMatchKeys[];
|
|
512
|
+
/** When true, skip validation of matches being the expected length. */
|
|
513
|
+
skipMatchValidation?: boolean;
|
|
514
|
+
}
|
|
515
|
+
/**
|
|
516
|
+
* Use a regex with the global flag to find all matches and return the list with
|
|
517
|
+
* capture groups mapped to named properties.
|
|
518
|
+
*/
|
|
519
|
+
declare function findAllWithRegex<TMatchKeys extends string>(regex: FindAllRegExp<TMatchKeys>, text: string): ({ [key in TMatchKeys]: string } & RegExpMatch)[];
|
|
520
|
+
//#endregion
|
|
521
|
+
//#region src/flattenObject.d.ts
|
|
522
|
+
/**
|
|
523
|
+
* Flattens a nested object into a single-level object with concatenated key
|
|
524
|
+
* names.
|
|
525
|
+
*/
|
|
526
|
+
declare const flattenObject: ({
|
|
527
|
+
obj,
|
|
528
|
+
prefix
|
|
529
|
+
}: {
|
|
530
|
+
/** The object to flatten. */obj: any; /** The prefix to prepend to keys while recursing. */
|
|
531
|
+
prefix?: string;
|
|
532
|
+
}) => any;
|
|
533
|
+
//#endregion
|
|
534
|
+
//#region src/aggregateObjects.d.ts
|
|
535
|
+
/**
|
|
536
|
+
* Aggregates multiple objects into a single object by combining values of
|
|
537
|
+
* matching keys into comma-separated strings.
|
|
538
|
+
*/
|
|
539
|
+
declare const aggregateObjects: ({
|
|
540
|
+
objs,
|
|
541
|
+
wrap
|
|
542
|
+
}: {
|
|
543
|
+
/** The objects to aggregate in a single one. */objs: any[]; /** Whether to wrap the concatenated values in `[]`. */
|
|
544
|
+
wrap?: boolean;
|
|
545
|
+
}) => any;
|
|
546
|
+
//#endregion
|
|
547
|
+
//#region src/transposeObjectArray.d.ts
|
|
548
|
+
/**
|
|
549
|
+
* Type representing a transposed array of objects.
|
|
550
|
+
*/
|
|
551
|
+
type TransposedObjectArray<T, K extends keyof T> = { [P in K]: Array<T[P]> } & {
|
|
552
|
+
/** Properties not selected for transposition. */rest: Array<Omit<T, K>>;
|
|
553
|
+
};
|
|
554
|
+
/**
|
|
555
|
+
* Transpose an array of objects by converting selected properties into arrays
|
|
556
|
+
* while keeping the remaining properties grouped in `rest`.
|
|
557
|
+
*/
|
|
558
|
+
declare const transposeObjectArray: <T extends object, K extends keyof T>({
|
|
559
|
+
objects,
|
|
560
|
+
properties,
|
|
561
|
+
options
|
|
562
|
+
}: {
|
|
563
|
+
/** Array of objects to transpose. */objects: T[]; /** Property keys to transpose into arrays. */
|
|
564
|
+
properties: K[]; /** Options for how to transpose the array. */
|
|
565
|
+
options?: {
|
|
566
|
+
/** Whether to include non-transposed properties in the final result. */includeOtherProperties?: boolean;
|
|
567
|
+
};
|
|
568
|
+
}) => TransposedObjectArray<T, K>;
|
|
569
|
+
//#endregion
|
|
570
|
+
//#region src/fromEntries.d.ts
|
|
571
|
+
/**
|
|
572
|
+
* `Object.fromEntries` that preserves entry types.
|
|
573
|
+
*/
|
|
574
|
+
declare function fromEntries<const TEntries extends ReadonlyArray<readonly [PropertyKey, unknown]>>(entries: TEntries): { [K in TEntries[number] as K[0]]: K[1] };
|
|
575
|
+
//#endregion
|
|
576
|
+
//#region src/noExcess.d.ts
|
|
577
|
+
/**
|
|
578
|
+
* Wrap an `io-ts` codec so validation fails when excess properties are present.
|
|
579
|
+
*/
|
|
580
|
+
declare const noExcess: <C extends t.HasProps>(codec: C, name?: string) => NoExcessType<C>;
|
|
581
|
+
/**
|
|
582
|
+
* A wrapper type used with `io-ts` to ensure there are not any excess keys.
|
|
583
|
+
*/
|
|
584
|
+
declare class NoExcessType<C extends t.Any, A = C['_A'], O = A, I = unknown> extends t.Type<A, O, I> {
|
|
585
|
+
readonly type: C;
|
|
586
|
+
readonly _tag: "NoExcessType";
|
|
587
|
+
constructor(name: string, is: NoExcessType<C, A, O, I>['is'], validate: NoExcessType<C, A, O, I>['validate'], encode: NoExcessType<C, A, O, I>['encode'], type: C);
|
|
588
|
+
}
|
|
589
|
+
//#endregion
|
|
590
|
+
export { AnyArray, AnyFunction, ArrOrIdentityType, ArrType, CODEC_ERROR_MESSAGE, DeepPartial, DictionaryC, EnumInput, Enumerate, FindAllRegExp, FixedLengthArray, FixedLengthArrayBrand, FixedLengthString, FixedLengthStringBrand, Gql, HttpMethod, INTERFACE_REGEX, Identity, KeysStrictlyEqual, Merge, NoExcessType, NonEmptyString, Nullable, ObjByString, Optionalize, OrArray, Override, PartialRecordC, PromiseType, RecursiveIdentity, RecursiveObjectReplace, RecursiveTypeReplace, RegExpMatch, Requirize, Spread, StringKeys, StringKeysSafe, StringValues, Stringify, SubNotType, SubType, SubTypeRequired, TypescriptEnum, UnionToIntersection, aggregateObjects, apply, applyEnum, asyncApply, createDefaultCodec, createEnum, decodeCodec, dictionary, filterEnum, findAllWithRegex, flattenObject, fromEntries, getEntries, getKeys, getStringKeys, getValues, gql, groupBy, invert, invertSafe, isCodecError, listToEnum, makeEnum, noExcess, partialRecord, toJsonSchema, transposeObjectArray, valuesOf };
|
|
591
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":["JSONSchema4TypeName","JSONSchema4Type","JSONSchema4Object","JSONSchema4Array","key","Array","JSONSchema4Version","JSONSchema4","id","$ref","$schema","title","description","default","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","items","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","definitions","k","properties","patternProperties","dependencies","enum","type","allOf","anyOf","oneOf","not","extends","format","JSONSchema6TypeName","JSONSchema6Type","JSONSchema6Object","JSONSchema6Array","JSONSchema6Version","JSONSchema6Definition","JSONSchema6","$id","contains","propertyNames","const","examples","JSONSchema7TypeName","JSONSchema7Type","JSONSchema7Object","JSONSchema7Array","JSONSchema7Version","JSONSchema7Definition","JSONSchema7","$comment","$defs","if","then","else","contentMediaType","contentEncoding","readOnly","writeOnly","ValidationResult","ValidationError","valid","errors","property","message","validate","instance","schema","checkPropertyChange","value","mustBeValid","result"],"sources":["../src/types.ts","../src/apply.ts","../src/codecTools/decodeCodec.ts","../src/codecTools/dictionary.ts","../src/codecTools/FixedLengthString.ts","../src/codecTools/FixedLengthArray.ts","../src/codecTools/partialRecord.ts","../src/codecTools/isCodecError.ts","../src/codecTools/NonEmptyString.ts","../../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../src/codecTools/toJsonSchema.ts","../src/codecTools/createDefaultCodec.ts","../src/enum.ts","../src/enums.ts","../src/getEntries.ts","../src/getKeys.ts","../src/getValues.ts","../src/groupBy.ts","../src/gql.ts","../src/invert.ts","../src/valuesOf.ts","../src/findAllWithRegex.ts","../src/flattenObject.ts","../src/aggregateObjects.ts","../src/transposeObjectArray.ts","../src/fromEntries.ts","../src/noExcess.ts"],"x_google_ignoreList":[9],"mappings":"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"}
|