@fgv/ts-utils 4.1.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +18 -0
- package/CHANGELOG.md +10 -1
- package/dist/ts-utils.d.ts +553 -54
- package/lib/index.d.ts +3 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -1
- package/lib/index.js.map +1 -1
- package/lib/packlets/collections/common.d.ts +6 -0
- package/lib/packlets/collections/common.d.ts.map +1 -0
- package/lib/packlets/collections/common.js +24 -0
- package/lib/packlets/collections/common.js.map +1 -0
- package/lib/packlets/collections/index.d.ts +8 -0
- package/lib/packlets/collections/index.d.ts.map +1 -0
- package/lib/packlets/collections/index.js +68 -0
- package/lib/packlets/collections/index.js.map +1 -0
- package/lib/packlets/collections/readonlyResultMap.d.ts +58 -0
- package/lib/packlets/collections/readonlyResultMap.d.ts.map +1 -0
- package/lib/packlets/collections/readonlyResultMap.js +24 -0
- package/lib/packlets/collections/readonlyResultMap.js.map +1 -0
- package/lib/packlets/collections/resultMap.d.ts +155 -0
- package/lib/packlets/collections/resultMap.d.ts.map +1 -0
- package/lib/packlets/collections/resultMap.js +216 -0
- package/lib/packlets/collections/resultMap.js.map +1 -0
- package/lib/packlets/collections/resultMapValidator.d.ts +82 -0
- package/lib/packlets/collections/resultMapValidator.d.ts.map +1 -0
- package/lib/packlets/collections/resultMapValidator.js +104 -0
- package/lib/packlets/collections/resultMapValidator.js.map +1 -0
- package/lib/packlets/collections/utils.d.ts +69 -0
- package/lib/packlets/collections/utils.d.ts.map +1 -0
- package/lib/packlets/collections/utils.js +116 -0
- package/lib/packlets/collections/utils.js.map +1 -0
- package/lib/packlets/collections/validatingResultMap.d.ts +66 -0
- package/lib/packlets/collections/validatingResultMap.d.ts.map +1 -0
- package/lib/packlets/collections/validatingResultMap.js +93 -0
- package/lib/packlets/collections/validatingResultMap.js.map +1 -0
- package/lib/packlets/conversion/baseConverter.d.ts +7 -3
- package/lib/packlets/conversion/baseConverter.d.ts.map +1 -1
- package/lib/packlets/conversion/baseConverter.js +10 -0
- package/lib/packlets/conversion/baseConverter.js.map +1 -1
- package/lib/packlets/conversion/converter.d.ts +19 -3
- package/lib/packlets/conversion/converter.d.ts.map +1 -1
- package/lib/packlets/conversion/converter.js.map +1 -1
- package/lib/packlets/conversion/converters.d.ts +42 -42
- package/lib/packlets/conversion/converters.d.ts.map +1 -1
- package/lib/packlets/conversion/converters.js +9 -9
- package/lib/packlets/conversion/converters.js.map +1 -1
- package/lib/packlets/conversion/defaultingConverter.d.ts +6 -2
- package/lib/packlets/conversion/defaultingConverter.d.ts.map +1 -1
- package/lib/packlets/conversion/defaultingConverter.js +7 -0
- package/lib/packlets/conversion/defaultingConverter.js.map +1 -1
- package/lib/packlets/conversion/objectConverter.d.ts +3 -3
- package/lib/packlets/conversion/objectConverter.d.ts.map +1 -1
- package/lib/packlets/conversion/objectConverter.js.map +1 -1
- package/lib/packlets/validation/field.d.ts +1 -1
- package/lib/packlets/validation/field.d.ts.map +1 -1
- package/lib/packlets/validation/field.js.map +1 -1
- package/lib/packlets/validation/genericValidator.d.ts +6 -2
- package/lib/packlets/validation/genericValidator.d.ts.map +1 -1
- package/lib/packlets/validation/genericValidator.js +19 -2
- package/lib/packlets/validation/genericValidator.js.map +1 -1
- package/lib/packlets/validation/validator.d.ts +18 -1
- package/lib/packlets/validation/validator.d.ts.map +1 -1
- package/lib/packlets/validation/validator.js.map +1 -1
- package/lib/packlets/validation/validatorBase.d.ts +1 -1
- package/lib/packlets/validation/validatorBase.d.ts.map +1 -1
- package/lib/packlets/validation/validatorBase.js.map +1 -1
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import * as Collections from './packlets/collections';
|
|
1
2
|
import * as Conversion from './packlets/conversion';
|
|
2
3
|
import * as Hash from './packlets/hash';
|
|
3
4
|
import * as Validation from './packlets/validation';
|
|
5
|
+
import { IReadOnlyResultMap, ResultMap, ValidatingResultMap } from './packlets/collections';
|
|
4
6
|
import { Converter, Converters, ObjectConverter, StringConverter } from './packlets/conversion';
|
|
5
7
|
import { Validator, Validators } from './packlets/validation';
|
|
6
8
|
export * from './packlets/base';
|
|
7
|
-
export { Conversion, Converter, Converters, Hash, ObjectConverter, StringConverter, Validation, Validator, Validators };
|
|
9
|
+
export { Collections, Conversion, Converter, Converters, Hash, IReadOnlyResultMap, ObjectConverter, ResultMap, StringConverter, ValidatingResultMap, Validation, Validator, Validators };
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE9D,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,IAAI,EACJ,eAAe,EACf,eAAe,EACf,UAAU,EACV,SAAS,EACT,UAAU,EACX,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE9D,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,IAAI,EACJ,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,UAAU,EACX,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -57,13 +57,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
57
57
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
58
58
|
};
|
|
59
59
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
|
-
exports.Validators = exports.Validation = exports.StringConverter = exports.ObjectConverter = exports.Hash = exports.Converters = exports.Conversion = void 0;
|
|
60
|
+
exports.Validators = exports.Validation = exports.ValidatingResultMap = exports.StringConverter = exports.ResultMap = exports.ObjectConverter = exports.Hash = exports.Converters = exports.Conversion = exports.Collections = void 0;
|
|
61
|
+
const Collections = __importStar(require("./packlets/collections"));
|
|
62
|
+
exports.Collections = Collections;
|
|
61
63
|
const Conversion = __importStar(require("./packlets/conversion"));
|
|
62
64
|
exports.Conversion = Conversion;
|
|
63
65
|
const Hash = __importStar(require("./packlets/hash"));
|
|
64
66
|
exports.Hash = Hash;
|
|
65
67
|
const Validation = __importStar(require("./packlets/validation"));
|
|
66
68
|
exports.Validation = Validation;
|
|
69
|
+
const collections_1 = require("./packlets/collections");
|
|
70
|
+
Object.defineProperty(exports, "ResultMap", { enumerable: true, get: function () { return collections_1.ResultMap; } });
|
|
71
|
+
Object.defineProperty(exports, "ValidatingResultMap", { enumerable: true, get: function () { return collections_1.ValidatingResultMap; } });
|
|
67
72
|
const conversion_1 = require("./packlets/conversion");
|
|
68
73
|
Object.defineProperty(exports, "Converters", { enumerable: true, get: function () { return conversion_1.Converters; } });
|
|
69
74
|
Object.defineProperty(exports, "ObjectConverter", { enumerable: true, get: function () { return conversion_1.ObjectConverter; } });
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,kEAAoD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oEAAsD;AAWpD,kCAAW;AAVb,kEAAoD;AAWlD,gCAAU;AAVZ,sDAAwC;AAatC,oBAAI;AAZN,kEAAoD;AAkBlD,gCAAU;AAhBZ,wDAA4F;AAa1F,0FAb2B,uBAAS,OAa3B;AAET,oGAfsC,iCAAmB,OAetC;AAdrB,sDAAgG;AAQ9F,2FARkB,uBAAU,OAQlB;AAGV,gGAX8B,4BAAe,OAW9B;AAEf,gGAb+C,4BAAe,OAa/C;AAZjB,sDAA8D;AAgB5D,2FAhBkB,uBAAU,OAgBlB;AAdZ,kDAAgC","sourcesContent":["/*\n * Copyright (c) 2020 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport * as Collections from './packlets/collections';\nimport * as Conversion from './packlets/conversion';\nimport * as Hash from './packlets/hash';\nimport * as Validation from './packlets/validation';\n\nimport { IReadOnlyResultMap, ResultMap, ValidatingResultMap } from './packlets/collections';\nimport { Converter, Converters, ObjectConverter, StringConverter } from './packlets/conversion';\nimport { Validator, Validators } from './packlets/validation';\n\nexport * from './packlets/base';\nexport {\n Collections,\n Conversion,\n Converter,\n Converters,\n Hash,\n IReadOnlyResultMap,\n ObjectConverter,\n ResultMap,\n StringConverter,\n ValidatingResultMap,\n Validation,\n Validator,\n Validators\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/packlets/collections/common.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2025 Erik Fortune
|
|
4
|
+
*
|
|
5
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
* in the Software without restriction, including without limitation the rights
|
|
8
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
* furnished to do so, subject to the following conditions:
|
|
11
|
+
*
|
|
12
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
* copies or substantial portions of the Software.
|
|
14
|
+
*
|
|
15
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
* SOFTWARE.
|
|
22
|
+
*/
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/packlets/collections/common.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG","sourcesContent":["/*\n * Copyright (c) 2025 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/**\n * Generic key-value entry.\n * @public\n */\nexport type KeyValueEntry<TK extends string = string, TV = unknown> = [TK, TV];\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as Utils from './utils';
|
|
2
|
+
export * from './common';
|
|
3
|
+
export * from './readonlyResultMap';
|
|
4
|
+
export * from './resultMap';
|
|
5
|
+
export * from './resultMapValidator';
|
|
6
|
+
export * from './validatingResultMap';
|
|
7
|
+
export { Utils };
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packlets/collections/index.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2025 Erik Fortune
|
|
4
|
+
*
|
|
5
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
* in the Software without restriction, including without limitation the rights
|
|
8
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
* furnished to do so, subject to the following conditions:
|
|
11
|
+
*
|
|
12
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
* copies or substantial portions of the Software.
|
|
14
|
+
*
|
|
15
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
* SOFTWARE.
|
|
22
|
+
*/
|
|
23
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
24
|
+
if (k2 === undefined) k2 = k;
|
|
25
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
26
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
27
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
28
|
+
}
|
|
29
|
+
Object.defineProperty(o, k2, desc);
|
|
30
|
+
}) : (function(o, m, k, k2) {
|
|
31
|
+
if (k2 === undefined) k2 = k;
|
|
32
|
+
o[k2] = m[k];
|
|
33
|
+
}));
|
|
34
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
35
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
36
|
+
}) : function(o, v) {
|
|
37
|
+
o["default"] = v;
|
|
38
|
+
});
|
|
39
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
40
|
+
var ownKeys = function(o) {
|
|
41
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
42
|
+
var ar = [];
|
|
43
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
44
|
+
return ar;
|
|
45
|
+
};
|
|
46
|
+
return ownKeys(o);
|
|
47
|
+
};
|
|
48
|
+
return function (mod) {
|
|
49
|
+
if (mod && mod.__esModule) return mod;
|
|
50
|
+
var result = {};
|
|
51
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
52
|
+
__setModuleDefault(result, mod);
|
|
53
|
+
return result;
|
|
54
|
+
};
|
|
55
|
+
})();
|
|
56
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
57
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
58
|
+
};
|
|
59
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
|
+
exports.Utils = void 0;
|
|
61
|
+
const Utils = __importStar(require("./utils"));
|
|
62
|
+
exports.Utils = Utils;
|
|
63
|
+
__exportStar(require("./common"), exports);
|
|
64
|
+
__exportStar(require("./readonlyResultMap"), exports);
|
|
65
|
+
__exportStar(require("./resultMap"), exports);
|
|
66
|
+
__exportStar(require("./resultMapValidator"), exports);
|
|
67
|
+
__exportStar(require("./validatingResultMap"), exports);
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/packlets/collections/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAAiC;AAOxB,sBAAK;AALd,2CAAyB;AACzB,sDAAoC;AACpC,8CAA4B;AAC5B,uDAAqC;AACrC,wDAAsC","sourcesContent":["/*\n * Copyright (c) 2025 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport * as Utils from './utils';\n\nexport * from './common';\nexport * from './readonlyResultMap';\nexport * from './resultMap';\nexport * from './resultMapValidator';\nexport * from './validatingResultMap';\nexport { Utils };\n"]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { DetailedResult } from '../base';
|
|
2
|
+
import { KeyValueEntry } from './common';
|
|
3
|
+
/**
|
|
4
|
+
* Additional success or failure details for {@link Collections.ResultMap | ResultMap} calls.
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export type ResultMapResultDetail = 'added' | 'deleted' | 'exists' | 'invalid-key' | 'invalid-value' | 'not-found' | 'success' | 'updated';
|
|
8
|
+
/**
|
|
9
|
+
* Callback for {@link Collections.ResultMap | ResultMap} `forEach` method.
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export type ResultMapForEachCb<TK extends string = string, TE = unknown> = (value: TE, key: TK, map: IReadOnlyResultMap<TK, TE>, thisArg?: unknown) => void;
|
|
13
|
+
/**
|
|
14
|
+
* A readonly `ReadonlyMap<TK, TV>`-like object which reports success or failure
|
|
15
|
+
* with additional details using the
|
|
16
|
+
* {@link https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils#the-result-pattern | result pattern}.
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export interface IReadOnlyResultMap<TK extends string = string, TV = unknown> {
|
|
20
|
+
/**
|
|
21
|
+
* {@inheritdoc Collections.ResultMap.inner}
|
|
22
|
+
*/
|
|
23
|
+
readonly inner: ReadonlyMap<TK, TV>;
|
|
24
|
+
/**
|
|
25
|
+
* {@inheritdoc Collections.ResultMap.size}
|
|
26
|
+
*/
|
|
27
|
+
readonly size: number;
|
|
28
|
+
/**
|
|
29
|
+
* {@inheritdoc Collections.ResultMap.entries}
|
|
30
|
+
*/
|
|
31
|
+
entries(): MapIterator<KeyValueEntry<TK, TV>>;
|
|
32
|
+
/**
|
|
33
|
+
* {@inheritdoc Collections.ResultMap.forEach}
|
|
34
|
+
*/
|
|
35
|
+
forEach(cb: ResultMapForEachCb, arg?: unknown): void;
|
|
36
|
+
/**
|
|
37
|
+
* {@inheritdoc Collections.ResultMap.get}
|
|
38
|
+
*/
|
|
39
|
+
get(key: TK): DetailedResult<TV, ResultMapResultDetail>;
|
|
40
|
+
/**
|
|
41
|
+
* {@inheritdoc Collections.ResultMap.has}
|
|
42
|
+
*/
|
|
43
|
+
has(key: TK): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* {@inheritdoc Collections.ResultMap.keys}
|
|
46
|
+
*/
|
|
47
|
+
keys(): MapIterator<TK>;
|
|
48
|
+
/**
|
|
49
|
+
* {@inheritdoc Collections.ResultMap.values}
|
|
50
|
+
*/
|
|
51
|
+
values(): MapIterator<TV>;
|
|
52
|
+
/**
|
|
53
|
+
* Gets an iterator over the map entries.
|
|
54
|
+
* @returns An iterator over the map entries.
|
|
55
|
+
*/
|
|
56
|
+
[Symbol.iterator](): IterableIterator<KeyValueEntry<TK, TV>>;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=readonlyResultMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readonlyResultMap.d.ts","sourceRoot":"","sources":["../../../src/packlets/collections/readonlyResultMap.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,SAAS,GACT,QAAQ,GACR,aAAa,GACb,eAAe,GACf,WAAW,GACX,SAAS,GACT,SAAS,CAAC;AAEd;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,OAAO,IAAI,CACzE,KAAK,EAAE,EAAE,EACT,GAAG,EAAE,EAAE,EACP,GAAG,EAAE,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,EAC/B,OAAO,CAAC,EAAE,OAAO,KACd,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,OAAO;IAC1E;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,OAAO,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAE9C;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAErD;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,cAAc,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAExD;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAEtB;;OAEG;IACH,IAAI,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;IAExB;;OAEG;IACH,MAAM,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;IAE1B;;;OAGG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;CAC9D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2025 Erik Fortune
|
|
4
|
+
*
|
|
5
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
* in the Software without restriction, including without limitation the rights
|
|
8
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
* furnished to do so, subject to the following conditions:
|
|
11
|
+
*
|
|
12
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
* copies or substantial portions of the Software.
|
|
14
|
+
*
|
|
15
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
* SOFTWARE.
|
|
22
|
+
*/
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
//# sourceMappingURL=readonlyResultMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readonlyResultMap.js","sourceRoot":"","sources":["../../../src/packlets/collections/readonlyResultMap.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG","sourcesContent":["/*\n * Copyright (c) 2025 Erik Fortune\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport { DetailedResult } from '../base';\nimport { KeyValueEntry } from './common';\n\n/**\n * Additional success or failure details for {@link Collections.ResultMap | ResultMap} calls.\n * @public\n */\nexport type ResultMapResultDetail =\n | 'added'\n | 'deleted'\n | 'exists'\n | 'invalid-key'\n | 'invalid-value'\n | 'not-found'\n | 'success'\n | 'updated';\n\n/**\n * Callback for {@link Collections.ResultMap | ResultMap} `forEach` method.\n * @public\n */\nexport type ResultMapForEachCb<TK extends string = string, TE = unknown> = (\n value: TE,\n key: TK,\n map: IReadOnlyResultMap<TK, TE>,\n thisArg?: unknown\n) => void;\n\n/**\n * A readonly `ReadonlyMap<TK, TV>`-like object which reports success or failure\n * with additional details using the\n * {@link https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils#the-result-pattern | result pattern}.\n * @public\n */\nexport interface IReadOnlyResultMap<TK extends string = string, TV = unknown> {\n /**\n * {@inheritdoc Collections.ResultMap.inner}\n */\n readonly inner: ReadonlyMap<TK, TV>;\n\n /**\n * {@inheritdoc Collections.ResultMap.size}\n */\n readonly size: number;\n\n /**\n * {@inheritdoc Collections.ResultMap.entries}\n */\n entries(): MapIterator<KeyValueEntry<TK, TV>>;\n\n /**\n * {@inheritdoc Collections.ResultMap.forEach}\n */\n forEach(cb: ResultMapForEachCb, arg?: unknown): void;\n\n /**\n * {@inheritdoc Collections.ResultMap.get}\n */\n get(key: TK): DetailedResult<TV, ResultMapResultDetail>;\n\n /**\n * {@inheritdoc Collections.ResultMap.has}\n */\n has(key: TK): boolean;\n\n /**\n * {@inheritdoc Collections.ResultMap.keys}\n */\n keys(): MapIterator<TK>;\n\n /**\n * {@inheritdoc Collections.ResultMap.values}\n */\n values(): MapIterator<TV>;\n\n /**\n * Gets an iterator over the map entries.\n * @returns An iterator over the map entries.\n */\n [Symbol.iterator](): IterableIterator<KeyValueEntry<TK, TV>>;\n}\n"]}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { DetailedResult, Result } from '../base';
|
|
2
|
+
import { KeyValueEntry } from './common';
|
|
3
|
+
import { IReadOnlyResultMap, ResultMapForEachCb, ResultMapResultDetail } from './readonlyResultMap';
|
|
4
|
+
/**
|
|
5
|
+
* Parameters for constructing a {@link Collections.ResultMap | ResultMap}.
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export interface IResultMapConstructorParams<TK extends string = string, TV = unknown> {
|
|
9
|
+
entries?: Iterable<KeyValueEntry<TK, TV>>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A {@link Collections.ResultMap | ResultMap} class as a `Map<TK, TV>`-like object which
|
|
13
|
+
* reports success or failure with additional details using the
|
|
14
|
+
* {@link https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils#the-result-pattern | result pattern}.
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export declare class ResultMap<TK extends string = string, TV = unknown> implements IReadOnlyResultMap<TK, TV> {
|
|
18
|
+
/**
|
|
19
|
+
* Readonly raw access to the inner `Map<TK, TV>` object.
|
|
20
|
+
*/
|
|
21
|
+
get inner(): ReadonlyMap<TK, TV>;
|
|
22
|
+
/**
|
|
23
|
+
* Protected raw access to the inner `Map<TK, TV>` object.
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
protected readonly _inner: Map<TK, TV>;
|
|
27
|
+
/**
|
|
28
|
+
* Constructs a new {@link Collections.ResultMap | ResultMap}.
|
|
29
|
+
* @param iterable - An iterable to initialize the map.
|
|
30
|
+
*/
|
|
31
|
+
constructor(iterable?: Iterable<KeyValueEntry<TK, TV>>);
|
|
32
|
+
/**
|
|
33
|
+
* Constructs a new {@link Collections.ResultMap | ResultMap}.
|
|
34
|
+
* @param params - An optional set of parameters to configure the map.
|
|
35
|
+
*/
|
|
36
|
+
constructor(params: IResultMapConstructorParams);
|
|
37
|
+
/**
|
|
38
|
+
* Creates a new {@link Collections.ResultMap | ResultMap}.
|
|
39
|
+
* @param elements - An optional iterable to initialize the map.
|
|
40
|
+
* @returns `Success` with the new map, or `Failure` with error details
|
|
41
|
+
* if an error occurred.
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
static create<TK extends string = string, TV = unknown>(elements: Iterable<KeyValueEntry<TK, TV>>): Result<ResultMap<TK, TV>>;
|
|
45
|
+
/**
|
|
46
|
+
* Creates a new {@link Collections.ResultMap | ResultMap}.
|
|
47
|
+
* @param params - An optional set of parameters to configure the map.
|
|
48
|
+
* @returns `Success` with the new map, or `Failure` with error details
|
|
49
|
+
* if an error occurred.
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
static create<TK extends string = string, TV = unknown>(params?: IResultMapConstructorParams<TK, TV>): Result<ResultMap<TK, TV>>;
|
|
53
|
+
/**
|
|
54
|
+
* Sets a key/value pair in the map if the key does not already exist.
|
|
55
|
+
* @param key - The key to set.
|
|
56
|
+
* @param value - The value to set.
|
|
57
|
+
* @returns `Success` with the value and detail `added` if the key was added,
|
|
58
|
+
* `Failure` with detail `exists` if the key already exists. Fails with detail
|
|
59
|
+
* 'invalid-key' or 'invalid-value' and an error message if either is invalid.
|
|
60
|
+
*/
|
|
61
|
+
add(key: TK, value: TV): DetailedResult<TV, ResultMapResultDetail>;
|
|
62
|
+
/**
|
|
63
|
+
* Clears the map.
|
|
64
|
+
*/
|
|
65
|
+
clear(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Deletes a key from the map.
|
|
68
|
+
* @param key - The key to delete.
|
|
69
|
+
* @returns `Success` with the previous value and the detail 'deleted'
|
|
70
|
+
* if the key was found and deleted, `Failure` with detail 'not-found'
|
|
71
|
+
* if the key was not found, or with detail 'invalid-key' if the key is invalid.
|
|
72
|
+
*/
|
|
73
|
+
delete(key: TK): DetailedResult<TV, ResultMapResultDetail>;
|
|
74
|
+
/**
|
|
75
|
+
* Returns an iterator over the map entries.
|
|
76
|
+
* @returns An iterator over the map entries.
|
|
77
|
+
*/
|
|
78
|
+
entries(): MapIterator<KeyValueEntry<TK, TV>>;
|
|
79
|
+
/**
|
|
80
|
+
* Calls a function for each entry in the map.
|
|
81
|
+
* @param cb - The function to call for each entry.
|
|
82
|
+
* @param arg - An optional argument to pass to the callback.
|
|
83
|
+
*/
|
|
84
|
+
forEach(cb: ResultMapForEachCb<TK, TV>, arg?: unknown): void;
|
|
85
|
+
/**
|
|
86
|
+
* Gets a value from the map.
|
|
87
|
+
* @param key - The key to retrieve.
|
|
88
|
+
* @returns `Success` with the value and detail `exists` if the key was found,
|
|
89
|
+
* `Failure` with detail `not-found` if the key was not found or with detail
|
|
90
|
+
* `invalid-key` if the key is invalid.
|
|
91
|
+
*/
|
|
92
|
+
get(key: TK): DetailedResult<TV, ResultMapResultDetail>;
|
|
93
|
+
/**
|
|
94
|
+
* Gets a value from the map, or adds a supplied value it if it does not exist.
|
|
95
|
+
* @param key - The key to retrieve.
|
|
96
|
+
* @param value - The value to add if the key does not exist.
|
|
97
|
+
* @returns `Success` with the value and detail `exists` if the key was found,
|
|
98
|
+
* `Success` with the value and detail `added` if the key was not found and added.
|
|
99
|
+
* Fails with detail 'invalid-key' or 'invalid-value' and an error message if either
|
|
100
|
+
* is invalid.
|
|
101
|
+
*/
|
|
102
|
+
getOrAdd(key: TK, value: TV): DetailedResult<TV, ResultMapResultDetail>;
|
|
103
|
+
/**
|
|
104
|
+
* Returns `true` if the map contains a key.
|
|
105
|
+
* @param key - The key to check.
|
|
106
|
+
* @returns `true` if the key exists, `false` otherwise.
|
|
107
|
+
*/
|
|
108
|
+
has(key: TK): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Returns an iterator over the map keys.
|
|
111
|
+
* @returns An iterator over the map keys.
|
|
112
|
+
*/
|
|
113
|
+
keys(): MapIterator<TK>;
|
|
114
|
+
/**
|
|
115
|
+
* Sets a key/value pair in the map.
|
|
116
|
+
* @param key - The key to set.
|
|
117
|
+
* @param value - The value to set.
|
|
118
|
+
* @returns `Success` with the new value and the detail `updated` if the
|
|
119
|
+
* key was found and updated, `Success` with the new value and detail
|
|
120
|
+
* `added` if the key was not found and added. Fails with detail
|
|
121
|
+
* 'invalid-key' or 'invalid-value' and an error message if either is invalid.
|
|
122
|
+
*/
|
|
123
|
+
set(key: TK, value: TV): DetailedResult<TV, ResultMapResultDetail>;
|
|
124
|
+
/**
|
|
125
|
+
* Returns the number of entries in the map.
|
|
126
|
+
*/
|
|
127
|
+
get size(): number;
|
|
128
|
+
/**
|
|
129
|
+
* Updates an existing key in the map - the map is not updated if the key does
|
|
130
|
+
* not exist.
|
|
131
|
+
* @param key - The key to update.
|
|
132
|
+
* @param value - The value to set.
|
|
133
|
+
* @returns `Success` with the value and detail 'exists' if the key was found
|
|
134
|
+
* and the value updated, `Failure` an error message and with detail `not-found`
|
|
135
|
+
* if the key was not found, or with detail 'invalid-key' or 'invalid-value'
|
|
136
|
+
* if either is invalid.
|
|
137
|
+
*/
|
|
138
|
+
update(key: TK, value: TV): DetailedResult<TV, ResultMapResultDetail>;
|
|
139
|
+
/**
|
|
140
|
+
* Returns an iterator over the map values.
|
|
141
|
+
* @returns An iterator over the map values.
|
|
142
|
+
*/
|
|
143
|
+
values(): MapIterator<TV>;
|
|
144
|
+
/**
|
|
145
|
+
* Gets an iterator over the map entries.
|
|
146
|
+
* @returns An iterator over the map entries.
|
|
147
|
+
*/
|
|
148
|
+
[Symbol.iterator](): IterableIterator<KeyValueEntry<TK, TV>>;
|
|
149
|
+
/**
|
|
150
|
+
* Gets a readonly version of this map.
|
|
151
|
+
* @returns A readonly version of this map.
|
|
152
|
+
*/
|
|
153
|
+
toReadOnly(): IReadOnlyResultMap<TK, TV>;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=resultMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultMap.d.ts","sourceRoot":"","sources":["../../../src/packlets/collections/resultMap.ts"],"names":[],"mappings":"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"}
|