@transcend-io/type-utils 1.8.9 → 2.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/build/aggregateObjects.js +1 -5
- package/build/aggregateObjects.js.map +1 -1
- package/build/apply.d.ts +1 -1
- package/build/apply.d.ts.map +1 -1
- package/build/apply.js +7 -13
- package/build/apply.js.map +1 -1
- package/build/codecTools/FixedLengthArray.js +2 -29
- package/build/codecTools/FixedLengthArray.js.map +1 -1
- package/build/codecTools/FixedLengthString.js +2 -29
- package/build/codecTools/FixedLengthString.js.map +1 -1
- package/build/codecTools/NonEmptyString.js +2 -28
- package/build/codecTools/NonEmptyString.js.map +1 -1
- package/build/codecTools/createDefaultCodec.js +8 -35
- package/build/codecTools/createDefaultCodec.js.map +1 -1
- package/build/codecTools/decodeCodec.js +8 -12
- package/build/codecTools/decodeCodec.js.map +1 -1
- package/build/codecTools/dictionary.js +3 -30
- package/build/codecTools/dictionary.js.map +1 -1
- package/build/codecTools/index.d.ts +9 -9
- package/build/codecTools/index.d.ts.map +1 -1
- package/build/codecTools/index.js +9 -25
- package/build/codecTools/index.js.map +1 -1
- package/build/codecTools/isCodecError.js +1 -5
- package/build/codecTools/isCodecError.js.map +1 -1
- package/build/codecTools/partialRecord.js +2 -29
- package/build/codecTools/partialRecord.js.map +1 -1
- package/build/codecTools/toJsonSchema.js +10 -14
- package/build/codecTools/toJsonSchema.js.map +1 -1
- package/build/enum.d.ts +1 -1
- package/build/enum.d.ts.map +1 -1
- package/build/enum.js +4 -11
- package/build/enum.js.map +1 -1
- package/build/enums.js +2 -5
- package/build/enums.js.map +1 -1
- package/build/findAllWithRegex.js +1 -5
- package/build/findAllWithRegex.js.map +1 -1
- package/build/flattenObject.js +5 -9
- package/build/flattenObject.js.map +1 -1
- package/build/fromEntries.js +1 -5
- package/build/fromEntries.js.map +1 -1
- package/build/getEntries.d.ts +1 -1
- package/build/getEntries.d.ts.map +1 -1
- package/build/getEntries.js +1 -5
- package/build/getEntries.js.map +1 -1
- package/build/getKeys.d.ts +1 -1
- package/build/getKeys.d.ts.map +1 -1
- package/build/getKeys.js +2 -7
- package/build/getKeys.js.map +1 -1
- package/build/getValues.js +1 -5
- package/build/getValues.js.map +1 -1
- package/build/gql.js +4 -8
- package/build/gql.js.map +1 -1
- package/build/groupBy.js +1 -5
- package/build/groupBy.js.map +1 -1
- package/build/index.d.ts +18 -18
- package/build/index.d.ts.map +1 -1
- package/build/index.js +18 -34
- package/build/index.js.map +1 -1
- package/build/invert.js +5 -10
- package/build/invert.js.map +1 -1
- package/build/noExcess.js +6 -34
- package/build/noExcess.js.map +1 -1
- package/build/tests/FixedLengthArray.test.js +6 -31
- package/build/tests/FixedLengthArray.test.js.map +1 -1
- package/build/tests/aggregateObjects.test.js +20 -22
- package/build/tests/aggregateObjects.test.js.map +1 -1
- package/build/tests/createDefaultCodec.test.js +39 -67
- package/build/tests/createDefaultCodec.test.js.map +1 -1
- package/build/tests/decodeCodec.test.js +7 -32
- package/build/tests/decodeCodec.test.js.map +1 -1
- package/build/tests/enum.test.js +7 -9
- package/build/tests/enum.test.js.map +1 -1
- package/build/tests/flattenObject.test.js +16 -18
- package/build/tests/flattenObject.test.js.map +1 -1
- package/build/tests/gql.test.js +6 -8
- package/build/tests/gql.test.js.map +1 -1
- package/build/tests/groupBy.test.js +3 -5
- package/build/tests/groupBy.test.js.map +1 -1
- package/build/tests/invert.test.js +6 -8
- package/build/tests/invert.test.js.map +1 -1
- package/build/tests/noExcess.test.js +12 -37
- package/build/tests/noExcess.test.js.map +1 -1
- package/build/tests/transposeObjectArray.test.js +22 -24
- package/build/tests/transposeObjectArray.test.js.map +1 -1
- package/build/transposeObjectArray.js +1 -5
- package/build/transposeObjectArray.js.map +1 -1
- package/build/tsbuildinfo +1 -1
- package/build/types.js +1 -2
- package/build/valuesOf.js +4 -31
- package/build/valuesOf.js.map +1 -1
- package/package.json +15 -7
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// eslint-disable-next-line eslint-comments/disable-enable-pair
|
|
3
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.aggregateObjects = void 0;
|
|
6
3
|
/**
|
|
7
4
|
*
|
|
8
5
|
* Aggregates multiple objects into a single object by combining values of matching keys.
|
|
@@ -23,7 +20,7 @@ exports.aggregateObjects = void 0;
|
|
|
23
20
|
* aggregateObjects({ objs: [obj1, obj2, obj3], wrap: true })
|
|
24
21
|
* // Returns: { name: '[John],[Jane],[Bob]', age: '[30],[],[25]', city: '[],[NY],[]' }
|
|
25
22
|
*/
|
|
26
|
-
const aggregateObjects = ({ objs, wrap = false, }) => {
|
|
23
|
+
export const aggregateObjects = ({ objs, wrap = false, }) => {
|
|
27
24
|
const allKeys = Array.from(new Set(objs.flatMap((a) => (a && typeof a === 'object' ? Object.keys(a) : []))));
|
|
28
25
|
// Reduce into a single object, where each key contains concatenated values from all input objects
|
|
29
26
|
return allKeys.reduce((acc, key) => {
|
|
@@ -34,5 +31,4 @@ const aggregateObjects = ({ objs, wrap = false, }) => {
|
|
|
34
31
|
return acc;
|
|
35
32
|
}, {});
|
|
36
33
|
};
|
|
37
|
-
exports.aggregateObjects = aggregateObjects;
|
|
38
34
|
//# sourceMappingURL=aggregateObjects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregateObjects.js","sourceRoot":"","sources":["../src/aggregateObjects.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aggregateObjects.js","sourceRoot":"","sources":["../src/aggregateObjects.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uDAAuD;AAEvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,IAAI,EACJ,IAAI,GAAG,KAAK,GAMb,EAAO,EAAE;IACR,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CACxB,IAAI,GAAG,CACL,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACxE,CACF,CAAC;IAEF,kGAAkG;IAClG,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACX,MAAM,MAAM,GAAG,IAAI;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,GAAG,CAAC,mCAAI,EAAE,GAAG,CAAC,CAAC,CAAC,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,GAAG,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC;aAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAyB,CAC1B,CAAC;AACJ,CAAC,CAAC"}
|
package/build/apply.d.ts
CHANGED
package/build/apply.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,MAAM,SAAS,WAAW,EAAE,OAAO,EACvD,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,MAAM,CAAC,EAC3B,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,EACvB,OAAO,EAAE,OAAO,GAAG,EACnB,KAAK,EAAE,MAAM,KACV,OAAO,GACX;KAAG,GAAG,IAAI,MAAM,MAAM,GAAG,OAAO;CAAE,CASpC;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,MAAM,SAAS,WAAW,EAAE,OAAO,EAClE,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,MAAM,CAAC,EAC3B,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,EACvB,OAAO,EAAE,OAAO,GAAG,EACnB,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,OAAO,CAAC,GACpB,OAAO,CAAC;KAAG,GAAG,IAAI,MAAM,MAAM,GAAG,OAAO;CAAE,CAAC,CAiB7C;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,EACrD,GAAG,EAAE;KAAG,CAAC,IAAI,MAAM,GAAG,KAAK;CAAE,EAC7B,SAAS,EAAE,CACT,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,OAAO,GAAG,EACnB,KAAK,EAAE,MAAM,KACV,OAAO,GACX;KAAG,GAAG,IAAI,KAAK,GAAG,OAAO;CAAE,CAI7B"}
|
package/build/apply.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.applyEnum = exports.asyncApply = exports.apply = void 0;
|
|
4
1
|
// local
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { createEnum } from './enum.js';
|
|
3
|
+
import { getKeys } from './getKeys.js';
|
|
7
4
|
/**
|
|
8
5
|
* Apply a function to each value of an object. Similar to lodash.mapValues but should preserve the typing of the keys.
|
|
9
6
|
*
|
|
@@ -12,13 +9,12 @@ const getKeys_1 = require("./getKeys");
|
|
|
12
9
|
* @param applyFunc - The function to apply
|
|
13
10
|
* @returns The updated object
|
|
14
11
|
*/
|
|
15
|
-
function apply(obj, applyFunc) {
|
|
12
|
+
export function apply(obj, applyFunc) {
|
|
16
13
|
const result = Object.keys(obj).reduce((acc, key, ind) => Object.assign(acc, {
|
|
17
14
|
[key]: applyFunc(obj[key], key, obj, ind),
|
|
18
15
|
}), {});
|
|
19
16
|
return result;
|
|
20
17
|
}
|
|
21
|
-
exports.apply = apply;
|
|
22
18
|
/**
|
|
23
19
|
* Apply a function to each value of an object. Similar to lodash.mapValues but should preserve the typing of the keys.
|
|
24
20
|
*
|
|
@@ -27,8 +23,8 @@ exports.apply = apply;
|
|
|
27
23
|
* @param applyFunc - The function to apply
|
|
28
24
|
* @returns The updated object
|
|
29
25
|
*/
|
|
30
|
-
async function asyncApply(obj, applyFunc) {
|
|
31
|
-
const entries = await Promise.all(
|
|
26
|
+
export async function asyncApply(obj, applyFunc) {
|
|
27
|
+
const entries = await Promise.all(getKeys(obj).map(async (key, ind) => ({
|
|
32
28
|
key,
|
|
33
29
|
value: await applyFunc(obj[key], key, obj, ind),
|
|
34
30
|
})));
|
|
@@ -37,17 +33,15 @@ async function asyncApply(obj, applyFunc) {
|
|
|
37
33
|
}), {});
|
|
38
34
|
return result;
|
|
39
35
|
}
|
|
40
|
-
exports.asyncApply = asyncApply;
|
|
41
36
|
/**
|
|
42
37
|
* Convert a typescript enum to a mapping of [value]: [value] and then call apply on that
|
|
43
38
|
* @param enm - The object to apply the function to
|
|
44
39
|
* @param applyFunc - The function to apply
|
|
45
40
|
* @returns The updated object
|
|
46
41
|
*/
|
|
47
|
-
function applyEnum(enm, applyFunc) {
|
|
48
|
-
const obj =
|
|
42
|
+
export function applyEnum(enm, applyFunc) {
|
|
43
|
+
const obj = createEnum(Object.values(enm));
|
|
49
44
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
45
|
return apply(obj, applyFunc);
|
|
51
46
|
}
|
|
52
|
-
exports.applyEnum = applyEnum;
|
|
53
47
|
//# sourceMappingURL=apply.js.map
|
package/build/apply.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC;;;;;;;GAOG;AACH,MAAM,UAAU,KAAK,CACnB,GAAW,EACX,SAKY;IAEZ,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAChB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;QACjB,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAyB,EAAE,GAAG,EAAE,GAAG,CAAC;KAChE,CAAC,EACJ,EAAE,CACH,CAAC;IACF,OAAO,MAA4C,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAW,EACX,SAKqB;IAErB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG;QACH,KAAK,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAyB,EAAE,GAAG,EAAE,GAAG,CAAC;KACtE,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC3B,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CACtB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;QACjB,CAAC,GAAG,CAAC,EAAE,KAAK;KACb,CAAC,EACJ,EAAE,CACH,CAAC;IAEF,OAAO,MAA4C,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CACvB,GAA6B,EAC7B,SAKY;IAEZ,MAAM,GAAG,GAAG,UAAU,CAAe,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,8DAA8D;IAC9D,OAAO,KAAK,CAAC,GAAG,EAAE,SAAS,CAAQ,CAAC;AACtC,CAAC"}
|
|
@@ -1,31 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.FixedLengthArray = void 0;
|
|
27
1
|
// external
|
|
28
|
-
|
|
2
|
+
import * as t from 'io-ts';
|
|
29
3
|
/**
|
|
30
4
|
* The refinement for encoding/decoding strings of fixed length
|
|
31
5
|
* @param min - The array min length
|
|
@@ -33,6 +7,5 @@ const t = __importStar(require("io-ts"));
|
|
|
33
7
|
* @param a - The array type
|
|
34
8
|
* @returns The fixed length array codec
|
|
35
9
|
*/
|
|
36
|
-
const FixedLengthArray = (min, max, a) => t.brand(t.array(a), (n) => min <= n.length && n.length <= max, 'fixedLengthArray');
|
|
37
|
-
exports.FixedLengthArray = FixedLengthArray;
|
|
10
|
+
export const FixedLengthArray = (min, max, a) => t.brand(t.array(a), (n) => min <= n.length && n.length <= max, 'fixedLengthArray');
|
|
38
11
|
//# sourceMappingURL=FixedLengthArray.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FixedLengthArray.js","sourceRoot":"","sources":["../../src/codecTools/FixedLengthArray.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FixedLengthArray.js","sourceRoot":"","sources":["../../src/codecTools/FixedLengthArray.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAa3B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAAW,EACX,GAAW,EACX,CAAI,EAC6C,EAAE,CACnD,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACV,CAAC,CAAW,EAAsD,EAAE,CAClE,GAAG,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,EACpC,kBAAkB,CACnB,CAAC"}
|
|
@@ -1,37 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.FixedLengthString = void 0;
|
|
27
1
|
// external
|
|
28
|
-
|
|
2
|
+
import * as t from 'io-ts';
|
|
29
3
|
/**
|
|
30
4
|
* The refinement for encoding/decoding strings of fixed length
|
|
31
5
|
* @param len - The string's length
|
|
32
6
|
* @returns The fixed length string codec
|
|
33
7
|
*/
|
|
34
|
-
const FixedLengthString = (len) => t.brand(t.string, // a codec representing the type to be refined
|
|
8
|
+
export const FixedLengthString = (len) => t.brand(t.string, // a codec representing the type to be refined
|
|
35
9
|
(s) => s.length === len, 'FixedLengthString');
|
|
36
|
-
exports.FixedLengthString = FixedLengthString;
|
|
37
10
|
//# sourceMappingURL=FixedLengthString.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FixedLengthString.js","sourceRoot":"","sources":["../../src/codecTools/FixedLengthString.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FixedLengthString.js","sourceRoot":"","sources":["../../src/codecTools/FixedLengthString.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAU3B;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,GAAM,EAC0C,EAAE,CAClD,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,MAAM,EAAE,8CAA8C;AACxD,CAAC,CAAC,EAAqD,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,EAC1E,mBAAmB,CACpB,CAAC"}
|
|
@@ -1,32 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.NonEmptyString = void 0;
|
|
27
1
|
// external
|
|
28
|
-
|
|
2
|
+
import * as t from 'io-ts';
|
|
29
3
|
/** The refinement for encoding/decoding non-empty strings */
|
|
30
|
-
|
|
4
|
+
export const NonEmptyString = t.brand(t.string, // a codec representing the type to be refined
|
|
31
5
|
(s) => s.trim().length !== 0, 'NonEmptyString');
|
|
32
6
|
//# sourceMappingURL=NonEmptyString.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NonEmptyString.js","sourceRoot":"","sources":["../../src/codecTools/NonEmptyString.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NonEmptyString.js","sourceRoot":"","sources":["../../src/codecTools/NonEmptyString.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAQ3B,6DAA6D;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CACnC,CAAC,CAAC,MAAM,EAAE,8CAA8C;AACxD,CAAC,CAAC,EAA+C,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACzE,gBAAgB,CACjB,CAAC"}
|
|
@@ -1,32 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.createDefaultCodec = void 0;
|
|
27
1
|
// eslint-disable-next-line eslint-comments/disable-enable-pair
|
|
28
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
29
|
-
|
|
3
|
+
import * as t from 'io-ts';
|
|
30
4
|
/**
|
|
31
5
|
* Creates a default value for an io-ts codec.
|
|
32
6
|
* @param codec - the codec whose default we want to create
|
|
@@ -63,13 +37,13 @@ const t = __importStar(require("io-ts"));
|
|
|
63
37
|
* The example above is pretty simple, but things get very compliated the more complex
|
|
64
38
|
* is the codec. In any case, createDefaultCodec is useful for outputting the expected CSV header.
|
|
65
39
|
*/
|
|
66
|
-
const createDefaultCodec = (codec) => {
|
|
40
|
+
export const createDefaultCodec = (codec) => {
|
|
67
41
|
// If the codec is an union
|
|
68
42
|
if (codec instanceof t.UnionType) {
|
|
69
43
|
// The default for a union containing arrays is a default array
|
|
70
44
|
const arrayType = codec.types.find((type) => type instanceof t.ArrayType);
|
|
71
45
|
if (arrayType) {
|
|
72
|
-
return
|
|
46
|
+
return createDefaultCodec(arrayType);
|
|
73
47
|
}
|
|
74
48
|
// If the union does not have an array, but have objects, the default is the object
|
|
75
49
|
const objectType = codec.types.find((type) => type instanceof t.InterfaceType ||
|
|
@@ -77,7 +51,7 @@ const createDefaultCodec = (codec) => {
|
|
|
77
51
|
type instanceof t.IntersectionType ||
|
|
78
52
|
type instanceof t.ArrayType);
|
|
79
53
|
if (objectType) {
|
|
80
|
-
return
|
|
54
|
+
return createDefaultCodec(objectType);
|
|
81
55
|
}
|
|
82
56
|
// Otherwise, null is next in priority
|
|
83
57
|
const hasNull = codec.types.some((type) => type instanceof t.NullType || type.name === 'null');
|
|
@@ -85,13 +59,13 @@ const createDefaultCodec = (codec) => {
|
|
|
85
59
|
return null;
|
|
86
60
|
}
|
|
87
61
|
// If no null type found, default to first type
|
|
88
|
-
return
|
|
62
|
+
return createDefaultCodec(codec.types[0]);
|
|
89
63
|
}
|
|
90
64
|
// The default of an interface or partial type, is an object with that interface or partial type
|
|
91
65
|
if (codec instanceof t.InterfaceType || codec instanceof t.PartialType) {
|
|
92
66
|
const defaults = {};
|
|
93
67
|
Object.entries(codec.props).forEach(([key, type]) => {
|
|
94
|
-
defaults[key] =
|
|
68
|
+
defaults[key] = createDefaultCodec(type);
|
|
95
69
|
});
|
|
96
70
|
return defaults;
|
|
97
71
|
}
|
|
@@ -99,7 +73,7 @@ const createDefaultCodec = (codec) => {
|
|
|
99
73
|
if (codec instanceof t.IntersectionType) {
|
|
100
74
|
return codec.types.reduce((acc, type) => ({
|
|
101
75
|
...acc,
|
|
102
|
-
...
|
|
76
|
+
...createDefaultCodec(type),
|
|
103
77
|
}), {});
|
|
104
78
|
}
|
|
105
79
|
/**
|
|
@@ -111,7 +85,7 @@ const createDefaultCodec = (codec) => {
|
|
|
111
85
|
const isObjectType = elementType instanceof t.InterfaceType ||
|
|
112
86
|
elementType instanceof t.PartialType ||
|
|
113
87
|
elementType instanceof t.IntersectionType;
|
|
114
|
-
return (isObjectType ? [
|
|
88
|
+
return (isObjectType ? [createDefaultCodec(elementType)] : []);
|
|
115
89
|
}
|
|
116
90
|
// The default of a literal type is its value
|
|
117
91
|
if (codec instanceof t.LiteralType) {
|
|
@@ -137,5 +111,4 @@ const createDefaultCodec = (codec) => {
|
|
|
137
111
|
return null;
|
|
138
112
|
}
|
|
139
113
|
};
|
|
140
|
-
exports.createDefaultCodec = createDefaultCodec;
|
|
141
114
|
//# sourceMappingURL=createDefaultCodec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDefaultCodec.js","sourceRoot":"","sources":["../../src/codecTools/createDefaultCodec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createDefaultCodec.js","sourceRoot":"","sources":["../../src/codecTools/createDefaultCodec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.decodeCodec = exports.CODEC_ERROR_MESSAGE = void 0;
|
|
4
|
-
const Either_1 = require("fp-ts/lib/Either");
|
|
5
|
-
const pipeable_1 = require("fp-ts/lib/pipeable");
|
|
1
|
+
import { fold, isLeft } from 'fp-ts/Either';
|
|
2
|
+
import { pipe } from 'fp-ts/pipeable';
|
|
6
3
|
/**
|
|
7
4
|
* Determine the codec paths that are invalid.
|
|
8
5
|
* @param v - Validation errors.
|
|
9
6
|
* @returns The error strings formatted for human consumption.
|
|
10
7
|
*/
|
|
11
8
|
function getPaths(v) {
|
|
12
|
-
return
|
|
9
|
+
return pipe(v, fold((errors) => errors.map((error) => {
|
|
13
10
|
const lastCtx = error.context.at(-1);
|
|
14
11
|
const fullPath = error.context.map(({ key }) => key).join('.');
|
|
15
12
|
return `${fullPath} expected type '${lastCtx === null || lastCtx === void 0 ? void 0 : lastCtx.type.name}'`;
|
|
@@ -22,9 +19,9 @@ function getPaths(v) {
|
|
|
22
19
|
* @returns The custom error strings formatted for human consumption.
|
|
23
20
|
*/
|
|
24
21
|
function getCustomErrors(v, customErrorFromContext) {
|
|
25
|
-
return
|
|
22
|
+
return pipe(v, fold((errors) => errors.map((error) => customErrorFromContext(error.context)), () => ['no errors']));
|
|
26
23
|
}
|
|
27
|
-
|
|
24
|
+
export const CODEC_ERROR_MESSAGE = 'Failed to decode codec:';
|
|
28
25
|
/**
|
|
29
26
|
* Decode a codec, returning the value if contents are validated, else throws an error
|
|
30
27
|
* @param codec - The codec to decode with
|
|
@@ -33,19 +30,18 @@ exports.CODEC_ERROR_MESSAGE = 'Failed to decode codec:';
|
|
|
33
30
|
* @param customErrorFromContext - a function to custom process validation contexts to error messages
|
|
34
31
|
* @returns The result of the function or the object if it was not a function
|
|
35
32
|
*/
|
|
36
|
-
function decodeCodec(codec, txt, parse = true, customErrorFromContext = undefined) {
|
|
33
|
+
export function decodeCodec(codec, txt, parse = true, customErrorFromContext = undefined) {
|
|
37
34
|
// uncomment the below to view the response pre-decode
|
|
38
35
|
const decoded = codec.decode(parse && typeof txt === 'string' ? JSON.parse(txt) : txt);
|
|
39
36
|
// Log errors on failure
|
|
40
|
-
if (
|
|
37
|
+
if (isLeft(decoded)) {
|
|
41
38
|
const errorPaths = getPaths(decoded);
|
|
42
39
|
const customError = customErrorFromContext !== undefined
|
|
43
40
|
? JSON.stringify(getCustomErrors(decoded, customErrorFromContext), null, 2)
|
|
44
41
|
: undefined;
|
|
45
|
-
throw new Error(`${
|
|
42
|
+
throw new Error(`${CODEC_ERROR_MESSAGE} ${JSON.stringify(errorPaths, null, 2)}${customError !== null && customError !== void 0 ? customError : ''}`);
|
|
46
43
|
}
|
|
47
44
|
// Return the decoded codec
|
|
48
45
|
return decoded.right;
|
|
49
46
|
}
|
|
50
|
-
exports.decodeCodec = decodeCodec;
|
|
51
47
|
//# sourceMappingURL=decodeCodec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decodeCodec.js","sourceRoot":"","sources":["../../src/codecTools/decodeCodec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decodeCodec.js","sourceRoot":"","sources":["../../src/codecTools/decodeCodec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC;;;;GAIG;AACH,SAAS,QAAQ,CAAI,CAAkB;IACrC,OAAO,IAAI,CACT,CAAC,EACD,IAAI,CACF,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,GAAG,QAAQ,mBAAmB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,IAAI,GAAG,CAAC;IAC7D,CAAC,CAAC,EAEJ,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CACpB,CACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,CAAkB,EAClB,sBAAgE;IAEhE,OAAO,IAAI,CACT,CAAC,EACD,IAAI,CACF,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EACxE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CACpB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,KAAa,EACb,GAAgD,EAChD,KAAK,GAAG,IAAI,EACZ,yBAEgB,SAAS;IAEzB,sDAAsD;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAC1B,KAAK,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CACzD,CAAC;IACF,wBAAwB;IACxB,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,WAAW,GACf,sBAAsB,KAAK,SAAS;YAClC,CAAC,CAAC,IAAI,CAAC,SAAS,CACZ,eAAe,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAChD,IAAI,EACJ,CAAC,CACF;YACH,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,GAAG,mBAAmB,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,GAC3D,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EACjB,EAAE,CACH,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC"}
|
|
@@ -1,32 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.dictionary = void 0;
|
|
27
1
|
// external
|
|
28
|
-
|
|
29
|
-
|
|
2
|
+
import { unsafeCoerce } from 'fp-ts/function';
|
|
3
|
+
import * as t from 'io-ts';
|
|
30
4
|
/**
|
|
31
5
|
* Helper to encode/decode a record with partial keys.
|
|
32
6
|
* Copied from https://github.com/gcanti/io-ts/issues/429#issuecomment-655394345
|
|
@@ -35,6 +9,5 @@ const t = __importStar(require("io-ts"));
|
|
|
35
9
|
* @param name - (Optional) name of this dictionary
|
|
36
10
|
* @returns The codec for a dictionary
|
|
37
11
|
*/
|
|
38
|
-
const dictionary = (keys, values, name) =>
|
|
39
|
-
exports.dictionary = dictionary;
|
|
12
|
+
export const dictionary = (keys, values, name) => unsafeCoerce(t.record(t.union([keys, t.undefined]), values, name));
|
|
40
13
|
//# sourceMappingURL=dictionary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../src/codecTools/dictionary.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../src/codecTools/dictionary.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAgB3B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,IAAO,EACP,MAAS,EACT,IAAa,EACM,EAAE,CACrB,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export * from './decodeCodec';
|
|
2
|
-
export * from './dictionary';
|
|
3
|
-
export * from './FixedLengthString';
|
|
4
|
-
export * from './FixedLengthArray';
|
|
5
|
-
export * from './partialRecord';
|
|
6
|
-
export * from './isCodecError';
|
|
7
|
-
export * from './NonEmptyString';
|
|
8
|
-
export * from './toJsonSchema';
|
|
9
|
-
export * from './createDefaultCodec';
|
|
1
|
+
export * from './decodeCodec.js';
|
|
2
|
+
export * from './dictionary.js';
|
|
3
|
+
export * from './FixedLengthString.js';
|
|
4
|
+
export * from './FixedLengthArray.js';
|
|
5
|
+
export * from './partialRecord.js';
|
|
6
|
+
export * from './isCodecError.js';
|
|
7
|
+
export * from './NonEmptyString.js';
|
|
8
|
+
export * from './toJsonSchema.js';
|
|
9
|
+
export * from './createDefaultCodec.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codecTools/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codecTools/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,26 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./decodeCodec"), exports);
|
|
18
|
-
__exportStar(require("./dictionary"), exports);
|
|
19
|
-
__exportStar(require("./FixedLengthString"), exports);
|
|
20
|
-
__exportStar(require("./FixedLengthArray"), exports);
|
|
21
|
-
__exportStar(require("./partialRecord"), exports);
|
|
22
|
-
__exportStar(require("./isCodecError"), exports);
|
|
23
|
-
__exportStar(require("./NonEmptyString"), exports);
|
|
24
|
-
__exportStar(require("./toJsonSchema"), exports);
|
|
25
|
-
__exportStar(require("./createDefaultCodec"), exports);
|
|
1
|
+
export * from './decodeCodec.js';
|
|
2
|
+
export * from './dictionary.js';
|
|
3
|
+
export * from './FixedLengthString.js';
|
|
4
|
+
export * from './FixedLengthArray.js';
|
|
5
|
+
export * from './partialRecord.js';
|
|
6
|
+
export * from './isCodecError.js';
|
|
7
|
+
export * from './NonEmptyString.js';
|
|
8
|
+
export * from './toJsonSchema.js';
|
|
9
|
+
export * from './createDefaultCodec.js';
|
|
26
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codecTools/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codecTools/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isCodecError = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Checks the error message to see if it is an io-ts codec error
|
|
6
3
|
* @param err - The error obj
|
|
7
4
|
* @returns whether it is a io-ts codec error
|
|
8
5
|
*/
|
|
9
|
-
function isCodecError(err) {
|
|
6
|
+
export function isCodecError(err) {
|
|
10
7
|
return err.message.startsWith('Failed to decode codec');
|
|
11
8
|
}
|
|
12
|
-
exports.isCodecError = isCodecError;
|
|
13
9
|
//# sourceMappingURL=isCodecError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isCodecError.js","sourceRoot":"","sources":["../../src/codecTools/isCodecError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isCodecError.js","sourceRoot":"","sources":["../../src/codecTools/isCodecError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAU;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -1,31 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.partialRecord = void 0;
|
|
27
1
|
// external
|
|
28
|
-
|
|
2
|
+
import * as t from 'io-ts';
|
|
29
3
|
/**
|
|
30
4
|
* Like t.record, but where the keys are all optional to include
|
|
31
5
|
* @param domain - The key type, like `'a' | 'b' | 'c'`. In this example, 0 or more of those keys would need to be present.
|
|
@@ -33,6 +7,5 @@ const t = __importStar(require("io-ts"));
|
|
|
33
7
|
* @param name - The optional name of the record type
|
|
34
8
|
* @returns an io-ts compatible type
|
|
35
9
|
*/
|
|
36
|
-
const partialRecord = (domain, codomain, name) => t.record(t.union([domain, t.undefined]), codomain, name);
|
|
37
|
-
exports.partialRecord = partialRecord;
|
|
10
|
+
export const partialRecord = (domain, codomain, name) => t.record(t.union([domain, t.undefined]), codomain, name);
|
|
38
11
|
//# sourceMappingURL=partialRecord.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"partialRecord.js","sourceRoot":"","sources":["../../src/codecTools/partialRecord.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"partialRecord.js","sourceRoot":"","sources":["../../src/codecTools/partialRecord.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAgB3B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAAS,EACT,QAAW,EACX,IAAa,EACS,EAAE,CACxB,CAAC,CAAC,MAAM,CACN,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAC9B,QAAQ,EACR,IAAI,CAC8B,CAAC"}
|