@rosen-bridge/config 0.2.0 → 0.3.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.md +12 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +69 -85
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/schema/Validators/fieldProperties.d.ts.map +1 -1
- package/dist/schema/Validators/fieldProperties.js +2 -1
- package/dist/schema/types/validations.d.ts +14 -24
- package/dist/utils.d.ts +5 -11
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +29 -27
- package/dist/value/validators.d.ts +1 -1
- package/dist/value/validators.js +1 -1
- package/lib/schema/Validators/fieldProperties.ts +1 -0
- package/package.json +10 -13
- package/tests/configTestData.ts +10 -0
- package/tsconfig.build.json +2 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.json +2 -1
- package/vitest.config.ts +9 -2
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -148,6 +148,7 @@ const fieldValidations = {
|
|
|
148
148
|
}
|
|
149
149
|
},
|
|
150
150
|
},
|
|
151
|
+
boolean: {},
|
|
151
152
|
number: {
|
|
152
153
|
gt: (validation) => {
|
|
153
154
|
if (!('gt' in validation)) {
|
|
@@ -217,4 +218,4 @@ const fieldValidations = {
|
|
|
217
218
|
},
|
|
218
219
|
},
|
|
219
220
|
};
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRQcm9wZXJ0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3NjaGVtYS9WYWxpZGF0b3JzL2ZpZWxkUHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxHQUFHLEVBQUU7UUFDSCxJQUFJLEVBQUUsQ0FBQyxLQUF3QixFQUFFLE1BQXVCLEVBQUUsRUFBRTtZQUMxRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDbkUsTUFBTSxJQUFJLEtBQUssQ0FDYixpRUFBaUUsQ0FDbEUsQ0FBQzthQUNIO1lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQzthQUMzRDtRQUNILENBQUM7UUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUF3QixFQUFFLE1BQXVCLEVBQUUsRUFBRTtZQUMzRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQzthQUMxRDtRQUNILENBQUM7UUFDRCxXQUFXLEVBQUUsQ0FBQyxLQUF3QixFQUFFLE1BQXVCLEVBQUUsRUFBRTtZQUNqRSxJQUNFLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQztnQkFDbkMsT0FBTyxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFDckM7Z0JBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO2FBQ2hFO1FBQ0gsQ0FBQztLQUNGO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsV0FBVyxFQUFFLENBQUMsS0FBMkIsRUFBRSxNQUF1QixFQUFFLEVBQUU7WUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxFQUFFO2dCQUN4QyxPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQ2Isb0VBQW9FLENBQ3JFLENBQUM7YUFDSDtZQUVELEtBQUssTUFBTSxVQUFVLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtnQkFDMUMsSUFDRSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUM7b0JBQ2xDLE9BQU8sVUFBVSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQ3BDO29CQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2IsK0RBQStELENBQ2hFLENBQUM7aUJBQ0g7Z0JBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLFNBQVMsRUFBRTtvQkFDckUsSUFDRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7d0JBQ3ZDLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUN4Qzt3QkFDQSxNQUFNLElBQUksS0FBSyxDQUNiLDBGQUEwRixDQUMzRixDQUFDO3FCQUNIO29CQUVELElBQ0UsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxTQUFTLEVBQ25FO3dCQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0VBQXdFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQ2hHLENBQUM7cUJBQ0g7b0JBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTt3QkFDNUMsTUFBTSxJQUFJLEtBQUssQ0FDYiwwRUFBMEUsQ0FDM0UsQ0FBQztxQkFDSDtpQkFDRjtnQkFFRCxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUN6RCxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssT0FBTyxDQUMzQyxDQUFDO2dCQUNGLElBQUksb0JBQW9CLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtvQkFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO2lCQUMzRDtnQkFFRCxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0MsTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3RFLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxrQkFBa0IsSUFBSSxTQUFTLElBQUksYUFBYSxJQUFJLFNBQVMsRUFBRTtvQkFDakUsTUFBTSxJQUFJLEtBQUssQ0FDYixvREFBb0QsY0FBYyxHQUFHLENBQ3RFLENBQUM7aUJBQ0g7Z0JBRUQsSUFBSSxrQkFBa0IsSUFBSSxTQUFTLEVBQUU7b0JBQ25DLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNoQztxQkFBTTtvQkFDTCxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQzNCO2FBQ0Y7UUFDSCxDQUFDO0tBQ0Y7SUFDRCxNQUFNLEVBQUU7UUFDTixRQUFRLEVBQUUsQ0FBQyxLQUF3QixFQUFFLE1BQXVCLEVBQUUsRUFBRTtZQUM5RCxJQUNFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDO2dCQUNqQyxPQUFPLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUNsQztnQkFDQSxNQUFNLElBQUksS0FBSyxDQUNiLG9FQUFvRSxDQUNyRSxDQUFDO2FBQ0g7WUFDRCxPQUFPO1FBQ1QsQ0FBQztLQUNGO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFLENBQUMsS0FBdUIsRUFBRSxNQUF1QixFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQ3JFLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0VBQWdFLENBQ2pFLENBQUM7YUFDSDtRQUNILENBQUM7S0FDRjtJQUNELE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxDQUFDLEtBQXdCLEVBQUUsTUFBdUIsRUFBRSxFQUFFO1lBQzdELElBQ0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDO2dCQUMvQixPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUNqQztnQkFDQSxNQUFNLElBQUksS0FBSyxDQUNiLGtCQUFrQixLQUFLLENBQUMsT0FBTywrQkFBK0IsS0FBSyxDQUFDLElBQUksR0FBRyxDQUM1RSxDQUFDO2FBQ0g7UUFDSCxDQUFDO0tBQ0Y7SUFDRCxPQUFPLEVBQUU7UUFDUCxPQUFPLEVBQUUsQ0FBQyxLQUF5QixFQUFFLE1BQXVCLEVBQUUsRUFBRTtZQUM5RCxJQUNFLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQztnQkFDL0IsT0FBTyxLQUFLLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFDbEM7Z0JBQ0EsTUFBTSxJQUFJLEtBQUssQ0FDYixrQkFBa0IsS0FBSyxDQUFDLE9BQU8sK0JBQStCLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FDNUUsQ0FBQzthQUNIO1FBQ0gsQ0FBQztLQUNGO0lBQ0QsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFLENBQUMsS0FBd0IsRUFBRSxNQUF1QixFQUFFLEVBQUU7WUFDN0QsSUFDRSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUM7Z0JBQy9CLE9BQU8sS0FBSyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQ2pDO2dCQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0JBQWtCLEtBQUssQ0FBQyxPQUFPLCtCQUErQixLQUFLLENBQUMsSUFBSSxHQUFHLENBQzVFLENBQUM7YUFDSDtRQUNILENBQUM7S0FDRjtJQUNELE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxDQUFDLEtBQXdCLEVBQUUsTUFBdUIsRUFBRSxFQUFFO1lBQzdELElBQ0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDO2dCQUMvQixPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUNqQztnQkFDQSxNQUFNLElBQUksS0FBSyxDQUNiLGtCQUFrQixLQUFLLENBQUMsT0FBTywrQkFBK0IsS0FBSyxDQUFDLElBQUksR0FBRyxDQUM1RSxDQUFDO2FBQ0g7UUFDSCxDQUFDO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBQ2xFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssS0FBSyxJQUFJLEdBQUcsS0FBSyxXQUFXLENBQzlDLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUF3QztJQUM1RCxTQUFTLEVBQUU7UUFDVCxRQUFRLEVBQUUsQ0FBQyxVQUFnQixFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxFQUFFO2dCQUMvQixPQUFPO2FBQ1I7WUFFRCxJQUFJLE9BQU8sVUFBVSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7Z0JBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQzthQUN2RTtRQUNILENBQUM7S0FDRjtJQUNELE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRSxDQUFDLFVBQW1CLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLEVBQUU7Z0JBQzVCLE9BQU87YUFDUjtZQUNELElBQUksT0FBTyxVQUFVLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtnQkFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO2FBQ25FO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLFVBQW1CLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLEVBQUU7Z0JBQzlCLE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDdEMsTUFBTSxJQUFJLEtBQUssQ0FDYiwrREFBK0QsQ0FDaEUsQ0FBQzthQUNIO1lBRUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFO2dCQUN2QyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtvQkFDOUIsTUFBTSxJQUFJLEtBQUssQ0FDYiwrREFBK0QsQ0FDaEUsQ0FBQztpQkFDSDthQUNGO1FBQ0gsQ0FBQztLQUNGO0lBQ0QsTUFBTSxFQUFFO1FBQ04sRUFBRSxFQUFFLENBQUMsVUFBNEIsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsRUFBRTtnQkFDekIsT0FBTzthQUNSO1lBQ0QsSUFBSSxPQUFPLFVBQVUsQ0FBQyxFQUFFLEtBQUssUUFBUSxFQUFFO2dCQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7YUFDaEU7UUFDSCxDQUFDO1FBQ0QsR0FBRyxFQUFFLENBQUMsVUFBNEIsRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsRUFBRTtnQkFDMUIsT0FBTzthQUNSO1lBQ0QsSUFBSSxPQUFPLFVBQVUsQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO2dCQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7YUFDakU7UUFDSCxDQUFDO1FBQ0QsRUFBRSxFQUFFLENBQUMsVUFBNEIsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsRUFBRTtnQkFDekIsT0FBTzthQUNSO1lBRUQsSUFBSSxPQUFPLFVBQVUsQ0FBQyxFQUFFLEtBQUssUUFBUSxFQUFFO2dCQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7YUFDaEU7UUFDSCxDQUFDO1FBQ0QsR0FBRyxFQUFFLENBQUMsVUFBNEIsRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsRUFBRTtnQkFDMUIsT0FBTzthQUNSO1lBRUQsSUFBSSxPQUFPLFVBQVUsQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO2dCQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7YUFDakU7UUFDSCxDQUFDO0tBQ0Y7SUFDRCxNQUFNLEVBQUU7UUFDTixFQUFFLEVBQUUsQ0FBQyxVQUE0QixFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxFQUFFO2dCQUN6QixPQUFPO2FBQ1I7WUFFRCxJQUFJLE9BQU8sVUFBVSxDQUFDLEVBQUUsS0FBSyxRQUFRLEVBQUU7Z0JBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQzthQUNoRTtRQUNILENBQUM7UUFDRCxHQUFHLEVBQUUsQ0FBQyxVQUE0QixFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxFQUFFO2dCQUMxQixPQUFPO2FBQ1I7WUFDRCxJQUFJLE9BQU8sVUFBVSxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7Z0JBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQzthQUNqRTtRQUNILENBQUM7UUFDRCxFQUFFLEVBQUUsQ0FBQyxVQUE0QixFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxFQUFFO2dCQUN6QixPQUFPO2FBQ1I7WUFDRCxJQUFJLE9BQU8sVUFBVSxDQUFDLEVBQUUsS0FBSyxRQUFRLEVBQUU7Z0JBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQzthQUNoRTtRQUNILENBQUM7UUFDRCxHQUFHLEVBQUUsQ0FBQyxVQUE0QixFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxFQUFFO2dCQUMxQixPQUFPO2FBQ1I7WUFDRCxJQUFJLE9BQU8sVUFBVSxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7Z0JBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQzthQUNqRTtRQUNILENBQUM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi4vdHlwZXMvZmllbGRzJztcbmltcG9ydCB7IFZBbGwsIFZOdW1lcmljLCBWU3RyaW5nIH0gZnJvbSAnLi4vdHlwZXMvdmFsaWRhdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgcHJvcGVydHlWYWxpZGF0b3JzID0ge1xuICBhbGw6IHtcbiAgICB0eXBlOiAoZmllbGQ6IHR5cGVzLkNvbmZpZ0ZpZWxkLCBjb25maWc6IENvbmZpZ1ZhbGlkYXRvcikgPT4ge1xuICAgICAgaWYgKCFPYmplY3QuaGFzT3duKGZpZWxkLCAndHlwZScpIHx8IHR5cGVvZiBmaWVsZC50eXBlICE9PSAnc3RyaW5nJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYGV2ZXJ5IHNjaGVtYSBmaWVsZCBtdXN0IGhhdmUgYSBcInR5cGVcIiBwcm9wZXJ0eSBvZiB0eXBlIFwic3RyaW5nXCJgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmICghc3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoZmllbGQudHlwZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bnN1cHBvcnRlZCBmaWVsZCB0eXBlIFwiJHtmaWVsZC50eXBlfVwiYCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBsYWJlbDogKGZpZWxkOiB0eXBlcy5Db25maWdGaWVsZCwgY29uZmlnOiBDb25maWdWYWxpZGF0b3IpID0+IHtcbiAgICAgIGlmIChPYmplY3QuaGFzT3duKGZpZWxkLCAnbGFiZWwnKSAmJiB0eXBlb2YgZmllbGQubGFiZWwgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgXCJsYWJlbFwiIHByb3BlcnR5IHNob3VsZCBiZSBhIFwic3RyaW5nXCJgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGRlc2NyaXB0aW9uOiAoZmllbGQ6IHR5cGVzLkNvbmZpZ0ZpZWxkLCBjb25maWc6IENvbmZpZ1ZhbGlkYXRvcikgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBPYmplY3QuaGFzT3duKGZpZWxkLCAnZGVzY3JpcHRpb24nKSAmJlxuICAgICAgICB0eXBlb2YgZmllbGQuZGVzY3JpcHRpb24gIT09ICdzdHJpbmcnXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcImRlc2NyaXB0aW9uXCIgcHJvcGVydHkgc2hvdWxkIGJlIGEgXCJzdHJpbmdcImApO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG4gIHByaW1pdGl2ZToge1xuICAgIHZhbGlkYXRpb25zOiAoZmllbGQ6IHR5cGVzLlByaW1pdGl2ZUZpZWxkLCBjb25maWc6IENvbmZpZ1ZhbGlkYXRvcikgPT4ge1xuICAgICAgaWYgKCFPYmplY3QuaGFzT3duKGZpZWxkLCAndmFsaWRhdGlvbnMnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShmaWVsZC52YWxpZGF0aW9ucykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdcInZhbGlkYXRpb25zXCIgcHJvcGVydHkgbXVzdCBiZSBhbiBhcnJheSBvZiB2YWxpZGF0aW9uIGRlc2NyaXB0aW9ucydcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCB2YWxpZGF0aW9uIG9mIGZpZWxkLnZhbGlkYXRpb25zKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBPYmplY3QuaGFzT3duKHZhbGlkYXRpb24sICdlcnJvcicpICYmXG4gICAgICAgICAgdHlwZW9mIHZhbGlkYXRpb24uZXJyb3IgIT09ICdzdHJpbmcnXG4gICAgICAgICkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICdcImVycm9yXCIgcHJvcGVydHkgb2YgYSB2YWxpZGF0aW9uIGRlc2NyaXB0aW9uIG11c3QgYmUgYSBzdHJpbmcnXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKHZhbGlkYXRpb24sICd3aGVuJykgJiYgdmFsaWRhdGlvbi53aGVuICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFPYmplY3QuaGFzT3duKHZhbGlkYXRpb24ud2hlbiwgJ3BhdGgnKSB8fFxuICAgICAgICAgICAgdHlwZW9mIHZhbGlkYXRpb24ud2hlbi5wYXRoICE9PSAnc3RyaW5nJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgXCJ3aGVuXCIgcHJvcGVydHkgb2YgYSB2YWxpZGF0aW9uIGRlc2NyaXB0aW9uIG11c3QgaGF2ZSBhIFwicGF0aFwiIHByb3BlcnR5IG9mIHR5cGUgXCJzdHJpbmdcImBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29uZmlnLmdldFNjaGVtYUZpZWxkKHZhbGlkYXRpb24ud2hlbi5wYXRoLnNwbGl0KCcuJykpID09IHVuZGVmaW5lZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgXCJ3aGVuXCIgcHJvcGVydHkgb2YgYSB2YWxpZGF0aW9uIGRlc2NyaXB0aW9uIGhhcyBhIG5vbi1leGlzdGVudCBwYXRoPVske3ZhbGlkYXRpb24ud2hlbi5wYXRofV1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghT2JqZWN0Lmhhc093bih2YWxpZGF0aW9uLndoZW4sICd2YWx1ZScpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBcIndoZW5cIiBwcm9wZXJ0eSBvZiBhIHZhbGlkYXRpb24gZGVzY3JpcHRpb24gbXVzdCBoYXZlIGEgXCJ2YWx1ZVwiIHByb3BlcnR5YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWxpZGF0aW9uUHJvcGVydGllcyA9IE9iamVjdC5rZXlzKHZhbGlkYXRpb24pLmZpbHRlcihcbiAgICAgICAgICAoa2V5KSA9PiBrZXkgIT09ICd3aGVuJyAmJiBrZXkgIT09ICdlcnJvcidcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHZhbGlkYXRpb25Qcm9wZXJ0aWVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndmFsaWRhdGlvbiBkZXNjcmlwdGlvbiBmb3JtYXQgaXMgd3JvbmcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb25OYW1lID0gdmFsaWRhdGlvblByb3BlcnRpZXNbMF07XG4gICAgICAgIGNvbnN0IHByaW1pdGl2ZVZhbGlkYXRvciA9IGZpZWxkVmFsaWRhdGlvbnMucHJpbWl0aXZlW3ZhbGlkYXRpb25OYW1lXTtcbiAgICAgICAgY29uc3QgdHlwZVZhbGlkYXRvciA9IGZpZWxkVmFsaWRhdGlvbnNbZmllbGQudHlwZV1bdmFsaWRhdGlvbk5hbWVdO1xuICAgICAgICBpZiAocHJpbWl0aXZlVmFsaWRhdG9yID09IHVuZGVmaW5lZCAmJiB0eXBlVmFsaWRhdG9yID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGB2YWxpZGF0aW9uIGRlc2NyaXB0aW9uIGhhcyBhbiB1bmtub3duIHZhbGlkYXRvciBcIiR7dmFsaWRhdGlvbk5hbWV9XCJgXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmltaXRpdmVWYWxpZGF0b3IgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcHJpbWl0aXZlVmFsaWRhdG9yKHZhbGlkYXRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHR5cGVWYWxpZGF0b3IodmFsaWRhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICB9LFxuICBvYmplY3Q6IHtcbiAgICBjaGlsZHJlbjogKGZpZWxkOiB0eXBlcy5PYmplY3RGaWVsZCwgY29uZmlnOiBDb25maWdWYWxpZGF0b3IpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgIU9iamVjdC5oYXNPd24oZmllbGQsICdjaGlsZHJlbicpIHx8XG4gICAgICAgIHR5cGVvZiBmaWVsZC5jaGlsZHJlbiAhPT0gJ29iamVjdCdcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYG9iamVjdCBmaWVsZCB0eXBlIG11c3QgaGF2ZSBhIFwiY2hpbGRyZW5cIiBwcm9wZXJ0eSBvZiB0eXBlIFwib2JqZWN0XCJgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfSxcbiAgfSxcbiAgYXJyYXk6IHtcbiAgICBpdGVtczogKGZpZWxkOiB0eXBlcy5BcnJheUZpZWxkLCBjb25maWc6IENvbmZpZ1ZhbGlkYXRvcikgPT4ge1xuICAgICAgaWYgKCFPYmplY3QuaGFzT3duKGZpZWxkLCAnaXRlbXMnKSB8fCB0eXBlb2YgZmllbGQuaXRlbXMgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgYXJyYXkgZmllbGQgdHlwZSBtdXN0IGhhdmUgYSBcIml0ZW1zXCIgcHJvcGVydHkgb2YgdHlwZSBcIm9iamVjdFwiYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG4gIHN0cmluZzoge1xuICAgIGRlZmF1bHQ6IChmaWVsZDogdHlwZXMuU3RyaW5nRmllbGQsIGNvbmZpZzogQ29uZmlnVmFsaWRhdG9yKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC5oYXNPd24oZmllbGQsICdkZWZhdWx0JykgJiZcbiAgICAgICAgdHlwZW9mIGZpZWxkLmRlZmF1bHQgIT09ICdzdHJpbmcnXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBkZWZhdWx0IHZhbHVlPVske2ZpZWxkLmRlZmF1bHR9XSBkb2Vzbid0IG1hdGNoIGZpZWxkIHR5cGU9WyR7ZmllbGQudHlwZX1dYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG4gIGJvb2xlYW46IHtcbiAgICBkZWZhdWx0OiAoZmllbGQ6IHR5cGVzLkJvb2xlYW5GaWVsZCwgY29uZmlnOiBDb25maWdWYWxpZGF0b3IpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgT2JqZWN0Lmhhc093bihmaWVsZCwgJ2RlZmF1bHQnKSAmJlxuICAgICAgICB0eXBlb2YgZmllbGQuZGVmYXVsdCAhPT0gJ2Jvb2xlYW4nXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBkZWZhdWx0IHZhbHVlPVske2ZpZWxkLmRlZmF1bHR9XSBkb2Vzbid0IG1hdGNoIGZpZWxkIHR5cGU9WyR7ZmllbGQudHlwZX1dYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG4gIG51bWJlcjoge1xuICAgIGRlZmF1bHQ6IChmaWVsZDogdHlwZXMuTnVtYmVyRmllbGQsIGNvbmZpZzogQ29uZmlnVmFsaWRhdG9yKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC5oYXNPd24oZmllbGQsICdkZWZhdWx0JykgJiZcbiAgICAgICAgdHlwZW9mIGZpZWxkLmRlZmF1bHQgIT09ICdudW1iZXInXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBkZWZhdWx0IHZhbHVlPVske2ZpZWxkLmRlZmF1bHR9XSBkb2Vzbid0IG1hdGNoIGZpZWxkIHR5cGU9WyR7ZmllbGQudHlwZX1dYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG4gIGJpZ2ludDoge1xuICAgIGRlZmF1bHQ6IChmaWVsZDogdHlwZXMuQmlnSW50RmllbGQsIGNvbmZpZzogQ29uZmlnVmFsaWRhdG9yKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC5oYXNPd24oZmllbGQsICdkZWZhdWx0JykgJiZcbiAgICAgICAgdHlwZW9mIGZpZWxkLmRlZmF1bHQgIT09ICdiaWdpbnQnXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBkZWZhdWx0IHZhbHVlPVske2ZpZWxkLmRlZmF1bHR9XSBkb2Vzbid0IG1hdGNoIGZpZWxkIHR5cGU9WyR7ZmllbGQudHlwZX1dYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3Qgc3VwcG9ydGVkVHlwZXMgPSBPYmplY3Qua2V5cyhwcm9wZXJ0eVZhbGlkYXRvcnMpLmZpbHRlcihcbiAgKGtleSkgPT4ga2V5ICE9PSAnYWxsJyAmJiBrZXkgIT09ICdwcmltaXRpdmUnXG4pO1xuXG5jb25zdCBmaWVsZFZhbGlkYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+PiA9IHtcbiAgcHJpbWl0aXZlOiB7XG4gICAgcmVxdWlyZWQ6ICh2YWxpZGF0aW9uOiBWQWxsKSA9PiB7XG4gICAgICBpZiAoISgncmVxdWlyZWQnIGluIHZhbGlkYXRpb24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uLnJlcXVpcmVkICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcInJlcXVpcmVkXCIgdmFsaWRhdGlvbiBwcm9wZXJ0eSBzaG91bGQgYmUgYSBib29sZWFuYCk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAgc3RyaW5nOiB7XG4gICAgcmVnZXg6ICh2YWxpZGF0aW9uOiBWU3RyaW5nKSA9PiB7XG4gICAgICBpZiAoISgncmVnZXgnIGluIHZhbGlkYXRpb24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdmFsaWRhdGlvbi5yZWdleCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcInJlZ2V4XCIgdmFsaWRhdGlvbiBwcm9wZXJ0eSBzaG91bGQgYmUgYSBzdHJpbmdgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGNob2ljZXM6ICh2YWxpZGF0aW9uOiBWU3RyaW5nKSA9PiB7XG4gICAgICBpZiAoISgnY2hvaWNlcycgaW4gdmFsaWRhdGlvbikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbGlkYXRpb24uY2hvaWNlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBcImNob2ljZXNcIiB2YWxpZGF0aW9uIHByb3BlcnR5IHNob3VsZCBiZSBhbiBcImFycmF5XCIgb2Ygc3RyaW5nc2BcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBjaG9pY2Ugb2YgdmFsaWRhdGlvbi5jaG9pY2VzKSB7XG4gICAgICAgIGlmICh0eXBlb2YgY2hvaWNlICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBcImNob2ljZXNcIiB2YWxpZGF0aW9uIHByb3BlcnR5IHNob3VsZCBiZSBhbiBhcnJheSBvZiBcInN0cmluZ3NcImBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAgbnVtYmVyOiB7XG4gICAgZ3Q6ICh2YWxpZGF0aW9uOiBWTnVtZXJpYzxudW1iZXI+KSA9PiB7XG4gICAgICBpZiAoISgnZ3QnIGluIHZhbGlkYXRpb24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdmFsaWRhdGlvbi5ndCAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcImd0XCIgdmFsaWRhdGlvbiBwcm9wZXJ0eSBzaG91bGQgYmUgYSBudW1iZXJgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGd0ZTogKHZhbGlkYXRpb246IFZOdW1lcmljPG51bWJlcj4pID0+IHtcbiAgICAgIGlmICghKCdndGUnIGluIHZhbGlkYXRpb24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdmFsaWRhdGlvbi5ndGUgIT09ICdudW1iZXInKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgXCJndGVcIiB2YWxpZGF0aW9uIHByb3BlcnR5IHNob3VsZCBiZSBhIG51bWJlcmApO1xuICAgICAgfVxuICAgIH0sXG4gICAgbHQ6ICh2YWxpZGF0aW9uOiBWTnVtZXJpYzxudW1iZXI+KSA9PiB7XG4gICAgICBpZiAoISgnbHQnIGluIHZhbGlkYXRpb24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uLmx0ICE9PSAnbnVtYmVyJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFwibHRcIiB2YWxpZGF0aW9uIHByb3BlcnR5IHNob3VsZCBiZSBhIG51bWJlcmApO1xuICAgICAgfVxuICAgIH0sXG4gICAgbHRlOiAodmFsaWRhdGlvbjogVk51bWVyaWM8bnVtYmVyPikgPT4ge1xuICAgICAgaWYgKCEoJ2x0ZScgaW4gdmFsaWRhdGlvbikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHZhbGlkYXRpb24ubHRlICE9PSAnbnVtYmVyJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFwibHRlXCIgdmFsaWRhdGlvbiBwcm9wZXJ0eSBzaG91bGQgYmUgYSBudW1iZXJgKTtcbiAgICAgIH1cbiAgICB9LFxuICB9LFxuICBiaWdpbnQ6IHtcbiAgICBndDogKHZhbGlkYXRpb246IFZOdW1lcmljPGJpZ2ludD4pID0+IHtcbiAgICAgIGlmICghKCdndCcgaW4gdmFsaWRhdGlvbikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHZhbGlkYXRpb24uZ3QgIT09ICdiaWdpbnQnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgXCJndFwiIHZhbGlkYXRpb24gcHJvcGVydHkgc2hvdWxkIGJlIGEgYmlnaW50YCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBndGU6ICh2YWxpZGF0aW9uOiBWTnVtZXJpYzxiaWdpbnQ+KSA9PiB7XG4gICAgICBpZiAoISgnZ3RlJyBpbiB2YWxpZGF0aW9uKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbGlkYXRpb24uZ3RlICE9PSAnYmlnaW50Jykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFwiZ3RlXCIgdmFsaWRhdGlvbiBwcm9wZXJ0eSBzaG91bGQgYmUgYSBiaWdpbnRgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGx0OiAodmFsaWRhdGlvbjogVk51bWVyaWM8YmlnaW50PikgPT4ge1xuICAgICAgaWYgKCEoJ2x0JyBpbiB2YWxpZGF0aW9uKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbGlkYXRpb24ubHQgIT09ICdiaWdpbnQnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgXCJsdFwiIHZhbGlkYXRpb24gcHJvcGVydHkgc2hvdWxkIGJlIGEgYmlnaW50YCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBsdGU6ICh2YWxpZGF0aW9uOiBWTnVtZXJpYzxiaWdpbnQ+KSA9PiB7XG4gICAgICBpZiAoISgnbHRlJyBpbiB2YWxpZGF0aW9uKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbGlkYXRpb24ubHRlICE9PSAnYmlnaW50Jykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFwibHRlXCIgdmFsaWRhdGlvbiBwcm9wZXJ0eSBzaG91bGQgYmUgYSBiaWdpbnRgKTtcbiAgICAgIH1cbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRQcm9wZXJ0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3NjaGVtYS9WYWxpZGF0b3JzL2ZpZWxkUHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxHQUFHLEVBQUU7UUFDSCxJQUFJLEVBQUUsQ0FBQyxLQUF3QixFQUFFLE1BQXVCLEVBQUUsRUFBRTtZQUMxRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNwRSxNQUFNLElBQUksS0FBSyxDQUNiLGlFQUFpRSxDQUNsRSxDQUFDO1lBQ0osQ0FBQztZQUVELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUM1RCxDQUFDO1FBQ0gsQ0FBQztRQUNELEtBQUssRUFBRSxDQUFDLEtBQXdCLEVBQUUsTUFBdUIsRUFBRSxFQUFFO1lBQzNELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNyRSxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUM7UUFDRCxXQUFXLEVBQUUsQ0FBQyxLQUF3QixFQUFFLE1BQXVCLEVBQUUsRUFBRTtZQUNqRSxJQUNFLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQztnQkFDbkMsT0FBTyxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFDckMsQ0FBQztn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SyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7WUFDbEUsQ0FBQztRQUNILENBQUM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi4vdHlwZXMvZmllbGRzJztcbmltcG9ydCB7IFZBbGwsIFZOdW1lcmljLCBWU3RyaW5nIH0gZnJvbSAnLi4vdHlwZXMvdmFsaWRhdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgcHJvcGVydHlWYWxpZGF0b3JzID0ge1xuICBhbGw6IHtcbiAgICB0eXBlOiAoZmllbGQ6IHR5cGVzLkNvbmZpZ0ZpZWxkLCBjb25maWc6IENvbmZpZ1ZhbGlkYXRvcikgPT4ge1xuICAgICAgaWYgKCFPYmplY3QuaGFzT3duKGZpZWxkLCAndHlwZScpIHx8IHR5cGVvZiBmaWVsZC50eXBlICE9PSAnc3RyaW5nJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYGV2ZXJ5IHNjaGVtYSBmaWVsZCBtdXN0IGhhdmUgYSBcInR5cGVcIiBwcm9wZXJ0eSBvZiB0eXBlIFwic3RyaW5nXCJgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmICghc3VwcG9ydGVkVHlwZXMuaW5jbHVkZXMoZmllbGQudHlwZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bnN1cHBvcnRlZCBmaWVsZCB0eXBlIFwiJHtmaWVsZC50eXBlfVwiYCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBsYWJlbDogKGZpZWxkOiB0eXBlcy5Db25maWdGaWVsZCwgY29uZmlnOiBDb25maWdWYWxpZGF0b3IpID0+IHtcbiAgICAgIGlmIChPYmplY3QuaGFzT3duKGZpZWxkLCAnbGFiZWwnKSAmJiB0eXBlb2YgZmllbGQubGFiZWwgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgXCJsYWJlbFwiIHByb3BlcnR5IHNob3VsZCBiZSBhIFwic3RyaW5nXCJgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGRlc2NyaXB0aW9uOiAoZmllbGQ6IHR5cGVzLkNvbmZpZ0ZpZWxkLCBjb25maWc6IENvbmZpZ1ZhbGlkYXRvcikgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBPYmplY3QuaGFzT3duKGZpZWxkLCAnZGVzY3JpcHRpb24nKSAmJlxuICAgICAgICB0eXBlb2YgZmllbGQuZGVzY3JpcHRpb24gIT09ICdzdHJpbmcnXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcImRlc2NyaXB0aW9uXCIgcHJvcGVydHkgc2hvdWxkIGJlIGEgXCJzdHJpbmdcImApO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG4gIHByaW1pdGl2ZToge1xuICAgIHZhbGlkYXRpb25zOiAoZmllbGQ6IHR5cGVzLlByaW1pdGl2ZUZpZWxkLCBjb25maWc6IENvbmZpZ1ZhbGlkYXRvcikgPT4ge1xuICAgICAgaWYgKCFPYmplY3QuaGFzT3duKGZpZWxkLCAndmFsaWRhdGlvbnMnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShmaWVsZC52YWxpZGF0aW9ucykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdcInZhbGlkYXRpb25zXCIgcHJvcGVydHkgbXVzdCBiZSBhbiBhcnJheSBvZiB2YWxpZGF0aW9uIGRlc2NyaXB0aW9ucydcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCB2YWxpZGF0aW9uIG9mIGZpZWxkLnZhbGlkYXRpb25zKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBPYmplY3QuaGFzT3duKHZhbGlkYXRpb24sICdlcnJvcicpICYmXG4gICAgICAgICAgdHlwZW9mIHZhbGlkYXRpb24uZXJyb3IgIT09ICdzdHJpbmcnXG4gICAgICAgICkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICdcImVycm9yXCIgcHJvcGVydHkgb2YgYSB2YWxpZGF0aW9uIGRlc2NyaXB0aW9uIG11c3QgYmUgYSBzdHJpbmcnXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duKHZhbGlkYXRpb24sICd3aGVuJykgJiYgdmFsaWRhdGlvbi53aGVuICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFPYmplY3QuaGFzT3duKHZhbGlkYXRpb24ud2hlbiwgJ3BhdGgnKSB8fFxuICAgICAgICAgICAgdHlwZW9mIHZhbGlkYXRpb24ud2hlbi5wYXRoICE9PSAnc3RyaW5nJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgXCJ3aGVuXCIgcHJvcGVydHkgb2YgYSB2YWxpZGF0aW9uIGRlc2NyaXB0aW9uIG11c3QgaGF2ZSBhIFwicGF0aFwiIHByb3BlcnR5IG9mIHR5cGUgXCJzdHJpbmdcImBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29uZmlnLmdldFNjaGVtYUZpZWxkKHZhbGlkYXRpb24ud2hlbi5wYXRoLnNwbGl0KCcuJykpID09IHVuZGVmaW5lZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgXCJ3aGVuXCIgcHJvcGVydHkgb2YgYSB2YWxpZGF0aW9uIGRlc2NyaXB0aW9uIGhhcyBhIG5vbi1leGlzdGVudCBwYXRoPVske3ZhbGlkYXRpb24ud2hlbi5wYXRofV1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghT2JqZWN0Lmhhc093bih2YWxpZGF0aW9uLndoZW4sICd2YWx1ZScpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBcIndoZW5cIiBwcm9wZXJ0eSBvZiBhIHZhbGlkYXRpb24gZGVzY3JpcHRpb24gbXVzdCBoYXZlIGEgXCJ2YWx1ZVwiIHByb3BlcnR5YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWxpZGF0aW9uUHJvcGVydGllcyA9IE9iamVjdC5rZXlzKHZhbGlkYXRpb24pLmZpbHRlcihcbiAgICAgICAgICAoa2V5KSA9PiBrZXkgIT09ICd3aGVuJyAmJiBrZXkgIT09ICdlcnJvcidcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHZhbGlkYXRpb25Qcm9wZXJ0aWVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndmFsaWRhdGlvbiBkZXNjcmlwdGlvbiBmb3JtYXQgaXMgd3JvbmcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb25OYW1lID0gdmFsaWRhdGlvblByb3BlcnRpZXNbMF07XG4gICAgICAgIGNvbnN0IHByaW1pdGl2ZVZhbGlkYXRvciA9IGZpZWxkVmFsaWRhdGlvbnMucHJpbWl0aXZlW3ZhbGlkYXRpb25OYW1lXTtcbiAgICAgICAgY29uc3QgdHlwZVZhbGlkYXRvciA9IGZpZWxkVmFsaWRhdGlvbnNbZmllbGQudHlwZV1bdmFsaWRhdGlvbk5hbWVdO1xuICAgICAgICBpZiAocHJpbWl0aXZlVmFsaWRhdG9yID09IHVuZGVmaW5lZCAmJiB0eXBlVmFsaWRhdG9yID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGB2YWxpZGF0aW9uIGRlc2NyaXB0aW9uIGhhcyBhbiB1bmtub3duIHZhbGlkYXRvciBcIiR7dmFsaWRhdGlvbk5hbWV9XCJgXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmltaXRpdmVWYWxpZGF0b3IgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcHJpbWl0aXZlVmFsaWRhdG9yKHZhbGlkYXRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHR5cGVWYWxpZGF0b3IodmFsaWRhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICB9LFxuICBvYmplY3Q6IHtcbiAgICBjaGlsZHJlbjogKGZpZWxkOiB0eXBlcy5PYmplY3RGaWVsZCwgY29uZmlnOiBDb25maWdWYWxpZGF0b3IpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgIU9iamVjdC5oYXNPd24oZmllbGQsICdjaGlsZHJlbicpIHx8XG4gICAgICAgIHR5cGVvZiBmaWVsZC5jaGlsZHJlbiAhPT0gJ29iamVjdCdcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYG9iamVjdCBmaWVsZCB0eXBlIG11c3QgaGF2ZSBhIFwiY2hpbGRyZW5cIiBwcm9wZXJ0eSBvZiB0eXBlIFwib2JqZWN0XCJgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfSxcbiAgfSxcbiAgYXJyYXk6IHtcbiAgICBpdGVtczogKGZpZWxkOiB0eXBlcy5BcnJheUZpZWxkLCBjb25maWc6IENvbmZpZ1ZhbGlkYXRvcikgPT4ge1xuICAgICAgaWYgKCFPYmplY3QuaGFzT3duKGZpZWxkLCAnaXRlbXMnKSB8fCB0eXBlb2YgZmllbGQuaXRlbXMgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgYXJyYXkgZmllbGQgdHlwZSBtdXN0IGhhdmUgYSBcIml0ZW1zXCIgcHJvcGVydHkgb2YgdHlwZSBcIm9iamVjdFwiYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG4gIHN0cmluZzoge1xuICAgIGRlZmF1bHQ6IChmaWVsZDogdHlwZXMuU3RyaW5nRmllbGQsIGNvbmZpZzogQ29uZmlnVmFsaWRhdG9yKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC5oYXNPd24oZmllbGQsICdkZWZhdWx0JykgJiZcbiAgICAgICAgdHlwZW9mIGZpZWxkLmRlZmF1bHQgIT09ICdzdHJpbmcnXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBkZWZhdWx0IHZhbHVlPVske2ZpZWxkLmRlZmF1bHR9XSBkb2Vzbid0IG1hdGNoIGZpZWxkIHR5cGU9WyR7ZmllbGQudHlwZX1dYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG4gIGJvb2xlYW46IHtcbiAgICBkZWZhdWx0OiAoZmllbGQ6IHR5cGVzLkJvb2xlYW5GaWVsZCwgY29uZmlnOiBDb25maWdWYWxpZGF0b3IpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgT2JqZWN0Lmhhc093bihmaWVsZCwgJ2RlZmF1bHQnKSAmJlxuICAgICAgICB0eXBlb2YgZmllbGQuZGVmYXVsdCAhPT0gJ2Jvb2xlYW4nXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBkZWZhdWx0IHZhbHVlPVske2ZpZWxkLmRlZmF1bHR9XSBkb2Vzbid0IG1hdGNoIGZpZWxkIHR5cGU9WyR7ZmllbGQudHlwZX1dYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG4gIG51bWJlcjoge1xuICAgIGRlZmF1bHQ6IChmaWVsZDogdHlwZXMuTnVtYmVyRmllbGQsIGNvbmZpZzogQ29uZmlnVmFsaWRhdG9yKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC5oYXNPd24oZmllbGQsICdkZWZhdWx0JykgJiZcbiAgICAgICAgdHlwZW9mIGZpZWxkLmRlZmF1bHQgIT09ICdudW1iZXInXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBkZWZhdWx0IHZhbHVlPVske2ZpZWxkLmRlZmF1bHR9XSBkb2Vzbid0IG1hdGNoIGZpZWxkIHR5cGU9WyR7ZmllbGQudHlwZX1dYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG4gIGJpZ2ludDoge1xuICAgIGRlZmF1bHQ6IChmaWVsZDogdHlwZXMuQmlnSW50RmllbGQsIGNvbmZpZzogQ29uZmlnVmFsaWRhdG9yKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC5oYXNPd24oZmllbGQsICdkZWZhdWx0JykgJiZcbiAgICAgICAgdHlwZW9mIGZpZWxkLmRlZmF1bHQgIT09ICdiaWdpbnQnXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBkZWZhdWx0IHZhbHVlPVske2ZpZWxkLmRlZmF1bHR9XSBkb2Vzbid0IG1hdGNoIGZpZWxkIHR5cGU9WyR7ZmllbGQudHlwZX1dYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3Qgc3VwcG9ydGVkVHlwZXMgPSBPYmplY3Qua2V5cyhwcm9wZXJ0eVZhbGlkYXRvcnMpLmZpbHRlcihcbiAgKGtleSkgPT4ga2V5ICE9PSAnYWxsJyAmJiBrZXkgIT09ICdwcmltaXRpdmUnXG4pO1xuXG5jb25zdCBmaWVsZFZhbGlkYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+PiA9IHtcbiAgcHJpbWl0aXZlOiB7XG4gICAgcmVxdWlyZWQ6ICh2YWxpZGF0aW9uOiBWQWxsKSA9PiB7XG4gICAgICBpZiAoISgncmVxdWlyZWQnIGluIHZhbGlkYXRpb24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uLnJlcXVpcmVkICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcInJlcXVpcmVkXCIgdmFsaWRhdGlvbiBwcm9wZXJ0eSBzaG91bGQgYmUgYSBib29sZWFuYCk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAgc3RyaW5nOiB7XG4gICAgcmVnZXg6ICh2YWxpZGF0aW9uOiBWU3RyaW5nKSA9PiB7XG4gICAgICBpZiAoISgncmVnZXgnIGluIHZhbGlkYXRpb24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdmFsaWRhdGlvbi5yZWdleCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcInJlZ2V4XCIgdmFsaWRhdGlvbiBwcm9wZXJ0eSBzaG91bGQgYmUgYSBzdHJpbmdgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGNob2ljZXM6ICh2YWxpZGF0aW9uOiBWU3RyaW5nKSA9PiB7XG4gICAgICBpZiAoISgnY2hvaWNlcycgaW4gdmFsaWRhdGlvbikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbGlkYXRpb24uY2hvaWNlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBcImNob2ljZXNcIiB2YWxpZGF0aW9uIHByb3BlcnR5IHNob3VsZCBiZSBhbiBcImFycmF5XCIgb2Ygc3RyaW5nc2BcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBjaG9pY2Ugb2YgdmFsaWRhdGlvbi5jaG9pY2VzKSB7XG4gICAgICAgIGlmICh0eXBlb2YgY2hvaWNlICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBcImNob2ljZXNcIiB2YWxpZGF0aW9uIHByb3BlcnR5IHNob3VsZCBiZSBhbiBhcnJheSBvZiBcInN0cmluZ3NcImBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAgYm9vbGVhbjoge30sXG4gIG51bWJlcjoge1xuICAgIGd0OiAodmFsaWRhdGlvbjogVk51bWVyaWM8bnVtYmVyPikgPT4ge1xuICAgICAgaWYgKCEoJ2d0JyBpbiB2YWxpZGF0aW9uKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbGlkYXRpb24uZ3QgIT09ICdudW1iZXInKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgXCJndFwiIHZhbGlkYXRpb24gcHJvcGVydHkgc2hvdWxkIGJlIGEgbnVtYmVyYCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBndGU6ICh2YWxpZGF0aW9uOiBWTnVtZXJpYzxudW1iZXI+KSA9PiB7XG4gICAgICBpZiAoISgnZ3RlJyBpbiB2YWxpZGF0aW9uKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbGlkYXRpb24uZ3RlICE9PSAnbnVtYmVyJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFwiZ3RlXCIgdmFsaWRhdGlvbiBwcm9wZXJ0eSBzaG91bGQgYmUgYSBudW1iZXJgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGx0OiAodmFsaWRhdGlvbjogVk51bWVyaWM8bnVtYmVyPikgPT4ge1xuICAgICAgaWYgKCEoJ2x0JyBpbiB2YWxpZGF0aW9uKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgdmFsaWRhdGlvbi5sdCAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcImx0XCIgdmFsaWRhdGlvbiBwcm9wZXJ0eSBzaG91bGQgYmUgYSBudW1iZXJgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGx0ZTogKHZhbGlkYXRpb246IFZOdW1lcmljPG51bWJlcj4pID0+IHtcbiAgICAgIGlmICghKCdsdGUnIGluIHZhbGlkYXRpb24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uLmx0ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcImx0ZVwiIHZhbGlkYXRpb24gcHJvcGVydHkgc2hvdWxkIGJlIGEgbnVtYmVyYCk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAgYmlnaW50OiB7XG4gICAgZ3Q6ICh2YWxpZGF0aW9uOiBWTnVtZXJpYzxiaWdpbnQ+KSA9PiB7XG4gICAgICBpZiAoISgnZ3QnIGluIHZhbGlkYXRpb24pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uLmd0ICE9PSAnYmlnaW50Jykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFwiZ3RcIiB2YWxpZGF0aW9uIHByb3BlcnR5IHNob3VsZCBiZSBhIGJpZ2ludGApO1xuICAgICAgfVxuICAgIH0sXG4gICAgZ3RlOiAodmFsaWRhdGlvbjogVk51bWVyaWM8YmlnaW50PikgPT4ge1xuICAgICAgaWYgKCEoJ2d0ZScgaW4gdmFsaWRhdGlvbikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uLmd0ZSAhPT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcImd0ZVwiIHZhbGlkYXRpb24gcHJvcGVydHkgc2hvdWxkIGJlIGEgYmlnaW50YCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBsdDogKHZhbGlkYXRpb246IFZOdW1lcmljPGJpZ2ludD4pID0+IHtcbiAgICAgIGlmICghKCdsdCcgaW4gdmFsaWRhdGlvbikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uLmx0ICE9PSAnYmlnaW50Jykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFwibHRcIiB2YWxpZGF0aW9uIHByb3BlcnR5IHNob3VsZCBiZSBhIGJpZ2ludGApO1xuICAgICAgfVxuICAgIH0sXG4gICAgbHRlOiAodmFsaWRhdGlvbjogVk51bWVyaWM8YmlnaW50PikgPT4ge1xuICAgICAgaWYgKCEoJ2x0ZScgaW4gdmFsaWRhdGlvbikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB2YWxpZGF0aW9uLmx0ZSAhPT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcImx0ZVwiIHZhbGlkYXRpb24gcHJvcGVydHkgc2hvdWxkIGJlIGEgYmlnaW50YCk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
|
|
@@ -1,46 +1,36 @@
|
|
|
1
1
|
import { PrimitiveValue } from './fields';
|
|
2
|
-
export type Validation =
|
|
3
|
-
| VAll
|
|
4
|
-
| VString
|
|
5
|
-
| VBoolean
|
|
6
|
-
| VNumeric<number>
|
|
7
|
-
| VNumeric<bigint>;
|
|
2
|
+
export type Validation = VAll | VString | VBoolean | VNumeric<number> | VNumeric<bigint>;
|
|
8
3
|
export interface When {
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
path: string;
|
|
5
|
+
value: PrimitiveValue;
|
|
11
6
|
}
|
|
12
7
|
export interface VGeneric {
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
error?: string;
|
|
9
|
+
when?: When;
|
|
15
10
|
}
|
|
16
11
|
export type VAll = VRequired;
|
|
17
12
|
export interface VRequired extends VGeneric {
|
|
18
|
-
|
|
13
|
+
required: boolean;
|
|
19
14
|
}
|
|
20
15
|
export type VString = VAll | VRegex | VChoices;
|
|
21
16
|
export interface VRegex extends VGeneric {
|
|
22
|
-
|
|
17
|
+
regex: string;
|
|
23
18
|
}
|
|
24
19
|
export interface VChoices extends VGeneric {
|
|
25
|
-
|
|
20
|
+
choices: string[];
|
|
26
21
|
}
|
|
27
22
|
export type VBoolean = VAll;
|
|
28
|
-
export type VNumeric<T extends number | bigint> =
|
|
29
|
-
| VAll
|
|
30
|
-
| VGreater<T>
|
|
31
|
-
| VGreaterEqual<T>
|
|
32
|
-
| VLess<T>
|
|
33
|
-
| VLessEqual<T>;
|
|
23
|
+
export type VNumeric<T extends number | bigint> = VAll | VGreater<T> | VGreaterEqual<T> | VLess<T> | VLessEqual<T>;
|
|
34
24
|
export interface VGreater<T extends number | bigint> extends VGeneric {
|
|
35
|
-
|
|
25
|
+
gt: T;
|
|
36
26
|
}
|
|
37
27
|
export interface VGreaterEqual<T extends number | bigint> extends VGeneric {
|
|
38
|
-
|
|
28
|
+
gte: T;
|
|
39
29
|
}
|
|
40
30
|
export interface VLess<T extends number | bigint> extends VGeneric {
|
|
41
|
-
|
|
31
|
+
lt: T;
|
|
42
32
|
}
|
|
43
33
|
export interface VLessEqual<T extends number | bigint> extends VGeneric {
|
|
44
|
-
|
|
34
|
+
lte: T;
|
|
45
35
|
}
|
|
46
|
-
//# sourceMappingURL=validations.d.ts.map
|
|
36
|
+
//# sourceMappingURL=validations.d.ts.map
|
package/dist/utils.d.ts
CHANGED
|
@@ -7,12 +7,9 @@ import { IConfigSource } from 'config';
|
|
|
7
7
|
* @param {string[]} path path to the value to be returned
|
|
8
8
|
* @return {{ defined: boolean; value: any }}
|
|
9
9
|
*/
|
|
10
|
-
export declare const getValue: (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
) => {
|
|
14
|
-
defined: boolean;
|
|
15
|
-
value: any;
|
|
10
|
+
export declare const getValue: (obj: any, path: string[]) => {
|
|
11
|
+
defined: boolean;
|
|
12
|
+
value: any;
|
|
16
13
|
};
|
|
17
14
|
/**
|
|
18
15
|
* returns source name/level for a node config source
|
|
@@ -29,8 +26,5 @@ export declare const getSourceName: (source: IConfigSource) => string;
|
|
|
29
26
|
* @param {string[]} path
|
|
30
27
|
* @return {*}
|
|
31
28
|
*/
|
|
32
|
-
export declare const getValueFromConfigSources: (
|
|
33
|
-
|
|
34
|
-
path: string[]
|
|
35
|
-
) => any;
|
|
36
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
29
|
+
export declare const getValueFromConfigSources: (sources: IConfigSource[], path: string[]) => any;
|
|
30
|
+
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGvC;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGvC;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GACnB,KAAK,GAAG,EACR,MAAM,MAAM,EAAE,KACb;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAUhC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,aAAa,KAAG,MAIrD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,aAAa,EAAE,EACxB,MAAM,MAAM,EAAE,QAmBf,CAAC"}
|
package/dist/utils.js
CHANGED
|
@@ -8,15 +8,16 @@ import path from 'path';
|
|
|
8
8
|
* @return {{ defined: boolean; value: any }}
|
|
9
9
|
*/
|
|
10
10
|
export const getValue = (obj, path) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
let value = obj;
|
|
12
|
+
for (const key of path) {
|
|
13
|
+
if (value != undefined && Object.hasOwn(value, key)) {
|
|
14
|
+
value = value[key];
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return { defined: false, value: undefined };
|
|
18
|
+
}
|
|
17
19
|
}
|
|
18
|
-
|
|
19
|
-
return { defined: true, value };
|
|
20
|
+
return { defined: true, value };
|
|
20
21
|
};
|
|
21
22
|
/**
|
|
22
23
|
* returns source name/level for a node config source
|
|
@@ -26,9 +27,9 @@ export const getValue = (obj, path) => {
|
|
|
26
27
|
* @return {string}
|
|
27
28
|
*/
|
|
28
29
|
export const getSourceName = (source) => {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
return source.name.startsWith('$')
|
|
31
|
+
? source.name
|
|
32
|
+
: path.parse(source.name).name;
|
|
32
33
|
};
|
|
33
34
|
/**
|
|
34
35
|
* returns a config key from the highest level source in an array of sources
|
|
@@ -38,22 +39,23 @@ export const getSourceName = (source) => {
|
|
|
38
39
|
* @return {*}
|
|
39
40
|
*/
|
|
40
41
|
export const getValueFromConfigSources = (sources, path) => {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
for (let i = sources.length - 1; i >= 0; i--) {
|
|
43
|
+
const source = sources[i];
|
|
44
|
+
if (getSourceName(source) === 'custom-environment-variables') {
|
|
45
|
+
const { value: envVar, defined } = getValue(source.parsed, path);
|
|
46
|
+
if (defined) {
|
|
47
|
+
if (process.env[envVar] != undefined) {
|
|
48
|
+
return process.env[envVar];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
const { value, defined } = getValue(source.parsed, path);
|
|
54
|
+
if (defined) {
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
48
57
|
}
|
|
49
|
-
}
|
|
50
|
-
} else {
|
|
51
|
-
const { value, defined } = getValue(source.parsed, path);
|
|
52
|
-
if (defined) {
|
|
53
|
-
return value;
|
|
54
|
-
}
|
|
55
58
|
}
|
|
56
|
-
|
|
57
|
-
return null;
|
|
59
|
+
return null;
|
|
58
60
|
};
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FDdEIsR0FBUSxFQUNSLElBQWMsRUFDb0IsRUFBRTtJQUNwQyxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDaEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwRCxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBcUIsRUFBVSxFQUFFO0lBQzdELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUNiLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDbkMsQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsT0FBd0IsRUFDeEIsSUFBYyxFQUNkLEVBQUU7SUFDRixLQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssOEJBQThCLEVBQUUsQ0FBQztZQUM3RCxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRSxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDckMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM3QixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN6RCxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ29uZmlnU291cmNlIH0gZnJvbSAnY29uZmlnJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG4vKipcbiAqIHJldHVybnMgdGhlIHZhbHVlIGF0IGEgcGF0aCBpbiB0aGUgcGFzc2VkIG9iamVjdCwgYW5kIGlmIGl0IGhhcyBhIHZhbHVlXG4gKiBkZWZpbmVkIGF0IHRoYXQgcGF0aFxuICpcbiAqIEBwYXJhbSB7Kn0gb2JqXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBwYXRoIHBhdGggdG8gdGhlIHZhbHVlIHRvIGJlIHJldHVybmVkXG4gKiBAcmV0dXJuIHt7IGRlZmluZWQ6IGJvb2xlYW47IHZhbHVlOiBhbnkgfX1cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFZhbHVlID0gKFxuICBvYmo6IGFueSxcbiAgcGF0aDogc3RyaW5nW11cbik6IHsgZGVmaW5lZDogYm9vbGVhbjsgdmFsdWU6IGFueSB9ID0+IHtcbiAgbGV0IHZhbHVlID0gb2JqO1xuICBmb3IgKGNvbnN0IGtleSBvZiBwYXRoKSB7XG4gICAgaWYgKHZhbHVlICE9IHVuZGVmaW5lZCAmJiBPYmplY3QuaGFzT3duKHZhbHVlLCBrZXkpKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlW2tleV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7IGRlZmluZWQ6IGZhbHNlLCB2YWx1ZTogdW5kZWZpbmVkIH07XG4gICAgfVxuICB9XG4gIHJldHVybiB7IGRlZmluZWQ6IHRydWUsIHZhbHVlIH07XG59O1xuXG4vKipcbiAqIHJldHVybnMgc291cmNlIG5hbWUvbGV2ZWwgZm9yIGEgbm9kZSBjb25maWcgc291cmNlXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtJQ29uZmlnU291cmNlfSBzb3VyY2VcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFNvdXJjZU5hbWUgPSAoc291cmNlOiBJQ29uZmlnU291cmNlKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIHNvdXJjZS5uYW1lLnN0YXJ0c1dpdGgoJyQnKVxuICAgID8gc291cmNlLm5hbWVcbiAgICA6IHBhdGgucGFyc2Uoc291cmNlLm5hbWUpLm5hbWU7XG59O1xuXG4vKipcbiAqIHJldHVybnMgYSBjb25maWcga2V5IGZyb20gdGhlIGhpZ2hlc3QgbGV2ZWwgc291cmNlIGluIGFuIGFycmF5IG9mIHNvdXJjZXNcbiAqXG4gKiBAcGFyYW0ge0lDb25maWdTb3VyY2VbXX0gc291cmNlc1xuICogQHBhcmFtIHtzdHJpbmdbXX0gcGF0aFxuICogQHJldHVybiB7Kn1cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFZhbHVlRnJvbUNvbmZpZ1NvdXJjZXMgPSAoXG4gIHNvdXJjZXM6IElDb25maWdTb3VyY2VbXSxcbiAgcGF0aDogc3RyaW5nW11cbikgPT4ge1xuICBmb3IgKGxldCBpID0gc291cmNlcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgIGNvbnN0IHNvdXJjZSA9IHNvdXJjZXNbaV07XG4gICAgaWYgKGdldFNvdXJjZU5hbWUoc291cmNlKSA9PT0gJ2N1c3RvbS1lbnZpcm9ubWVudC12YXJpYWJsZXMnKSB7XG4gICAgICBjb25zdCB7IHZhbHVlOiBlbnZWYXIsIGRlZmluZWQgfSA9IGdldFZhbHVlKHNvdXJjZS5wYXJzZWQsIHBhdGgpO1xuICAgICAgaWYgKGRlZmluZWQpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52W2VudlZhcl0gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIHByb2Nlc3MuZW52W2VudlZhcl07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyB2YWx1ZSwgZGVmaW5lZCB9ID0gZ2V0VmFsdWUoc291cmNlLnBhcnNlZCwgcGF0aCk7XG4gICAgICBpZiAoZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufTtcbiJdfQ==
|
package/dist/value/validators.js
CHANGED
|
@@ -158,4 +158,4 @@ export const valueValidations = {
|
|
|
158
158
|
},
|
|
159
159
|
},
|
|
160
160
|
};
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi92YWx1ZS92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBd0I7SUFDbEQsTUFBTSxFQUFFLENBQUMsS0FBMEIsRUFBRSxLQUF3QixFQUFFLEVBQUU7UUFDL0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN4RCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxHQUFHLGtDQUFrQyxDQUFDLENBQUM7YUFDNUQ7U0FDRjtJQUNILENBQUM7SUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFpQixFQUFFLEtBQXVCLEVBQUUsRUFBRTtRQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsS0FBYSxFQUFFLEtBQXdCLEVBQUUsRUFBRTtRQUNsRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUMsS0FBYyxFQUFFLEtBQXlCLEVBQUUsRUFBRTtRQUNyRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsS0FBYSxFQUFFLEtBQXdCLEVBQUUsRUFBRTtRQUNsRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsS0FBYSxFQUFFLEtBQXdCLEVBQUUsRUFBRTtRQUNsRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHLENBQ2YsS0FBVSxFQUNWLFVBQXFCLEVBQ3JCLE1BQTJCLEVBQzNCLGVBQWdDLEVBQ2hDLEVBQUU7SUFDRixJQUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUU7UUFDM0UsT0FBTztLQUNSO0lBRUQsSUFBSSxVQUFVLENBQUMsUUFBUSxJQUFJLEtBQUssSUFBSSxTQUFTLEVBQUU7UUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0tBQzlEO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQXdDO0lBQ25FLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRTtJQUNyQixNQUFNLEVBQUU7UUFDTixRQUFRO1FBQ1IsS0FBSyxFQUFFLENBQ0wsS0FBYSxFQUNiLFVBQWtCLEVBQ2xCLE1BQTJCLEVBQzNCLGVBQWdDLEVBQ2hDLEVBQUU7WUFDRixJQUNFLEtBQUssSUFBSSxTQUFTO2dCQUNsQixDQUFDLFVBQVUsQ0FBQyxJQUFJO29CQUNkLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQ3ZEO2dCQUNBLE9BQU87YUFDUjtZQUVELE1BQU0sRUFBRSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzlCLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFO2dCQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQzthQUN2RTtRQUNILENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FDUCxLQUFhLEVBQ2IsVUFBb0IsRUFDcEIsTUFBMkIsRUFDM0IsZUFBZ0MsRUFDaEMsRUFBRTtZQUNGLElBQ0UsS0FBSyxJQUFJLFNBQVM7Z0JBQ2xCLENBQUMsVUFBVSxDQUFDLElBQUk7b0JBQ2QsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFDdkQ7Z0JBQ0EsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN2QyxNQUFNLElBQUksS0FBSyxDQUNiLHVDQUF1QyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDNUQsSUFBSSxDQUNMLEdBQUcsQ0FDTCxDQUFDO2FBQ0g7UUFDSCxDQUFDO0tBQ0Y7SUFDRCxNQUFNLEVBQUU7UUFDTixRQUFRO1FBQ1IsRUFBRSxFQUFFLENBQ0YsS0FBYSxFQUNiLFVBQTRCLEVBQzVCLE1BQTJCLEVBQzNCLGVBQWdDLEVBQ2hDLEVBQUU7WUFDRixJQUNFLEtBQUssSUFBSSxTQUFTO2dCQUNsQixDQUFDLFVBQVUsQ0FBQyxJQUFJO29CQUNkLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQ3ZEO2dCQUNBLE9BQU87YUFDUjtZQUVELElBQUksS0FBSyxJQUFJLFVBQVUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ2xFO1FBQ0gsQ0FBQztRQUNELEdBQUcsRUFBRSxDQUNILEtBQWEsRUFDYixVQUFpQyxFQUNqQyxNQUEyQixFQUMzQixlQUFnQyxFQUNoQyxFQUFFO1lBQ0YsSUFDRSxLQUFLLElBQUksU0FBUztnQkFDbEIsQ0FBQyxVQUFVLENBQUMsSUFBSTtvQkFDZCxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUN2RDtnQkFDQSxPQUFPO2FBQ1I7WUFFRCxJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUMxQixNQUFNLElBQUksS0FBSyxDQUNiLDRDQUE0QyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQzdELENBQUM7YUFDSDtRQUNILENBQUM7UUFDRCxFQUFFLEVBQUUsQ0FDRixLQUFhLEVBQ2IsVUFBeUIsRUFDekIsTUFBMkIsRUFDM0IsZUFBZ0MsRUFDaEMsRUFBRTtZQUNGLElBQ0UsS0FBSyxJQUFJLFNBQVM7Z0JBQ2xCLENBQUMsVUFBVSxDQUFDLElBQUk7b0JBQ2QsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFDdkQ7Z0JBQ0EsT0FBTzthQUNSO1lBRUQsSUFBSSxLQUFLLElBQUksVUFBVSxDQUFDLEVBQUUsRUFBRTtnQkFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDL0Q7UUFDSCxDQUFDO1FBQ0QsR0FBRyxFQUFFLENBQ0gsS0FBYSxFQUNiLFVBQThCLEVBQzlCLE1BQTJCLEVBQzNCLGVBQWdDLEVBQ2hDLEVBQUU7WUFDRixJQUNFLEtBQUssSUFBSSxTQUFTO2dCQUNsQixDQUFDLFVBQVUsQ0FBQyxJQUFJO29CQUNkLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQ3ZEO2dCQUNBLE9BQU87YUFDUjtZQUVELElBQUksS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQzFCLE1BQU0sSUFBSSxLQUFLLENBQ2IseUNBQXlDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FDMUQsQ0FBQzthQUNIO1FBQ0gsQ0FBQztLQUNGO0lBQ0QsTUFBTSxFQUFFO1FBQ04sUUFBUTtRQUNSLEVBQUUsRUFBRSxDQUNGLEtBQWEsRUFDYixVQUE0QixFQUM1QixNQUEyQixFQUMzQixlQUFnQyxFQUNoQyxFQUFFO1lBQ0YsSUFDRSxLQUFLLElBQUksU0FBUztnQkFDbEIsQ0FBQyxVQUFVLENBQUMsSUFBSTtvQkFDZCxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUN2RDtnQkFDQSxPQUFPO2FBQ1I7WUFFRCxJQUFJLEtBQUssSUFBSSxVQUFVLENBQUMsRUFBRSxFQUFFO2dCQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUNsRTtRQUNILENBQUM7UUFDRCxHQUFHLEVBQUUsQ0FDSCxLQUFhLEVBQ2IsVUFBaUMsRUFDakMsTUFBMkIsRUFDM0IsZUFBZ0MsRUFDaEMsRUFBRTtZQUNGLElBQ0UsS0FBSyxJQUFJLFNBQVM7Z0JBQ2xCLENBQUMsVUFBVSxDQUFDLElBQUk7b0JBQ2QsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFDdkQ7Z0JBQ0EsT0FBTzthQUNSO1lBRUQsSUFBSSxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDMUIsTUFBTSxJQUFJLEtBQUssQ0FDYiw0Q0FBNEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUM3RCxDQUFDO2FBQ0g7UUFDSCxDQUFDO1FBQ0QsRUFBRSxFQUFFLENBQ0YsS0FBYSxFQUNiLFVBQXlCLEVBQ3pCLE1BQTJCLEVBQzNCLGVBQWdDLEVBQ2hDLEVBQUU7WUFDRixJQUNFLEtBQUssSUFBSSxTQUFTO2dCQUNsQixDQUFDLFVBQVUsQ0FBQyxJQUFJO29CQUNkLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQ3ZEO2dCQUNBLE9BQU87YUFDUjtZQUVELElBQUksS0FBSyxJQUFJLFVBQVUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQy9EO1FBQ0gsQ0FBQztRQUNELEdBQUcsRUFBRSxDQUNILEtBQWEsRUFDYixVQUE4QixFQUM5QixNQUEyQixFQUMzQixlQUFnQyxFQUNoQyxFQUFFO1lBQ0YsSUFDRSxLQUFLLElBQUksU0FBUztnQkFDbEIsQ0FBQyxVQUFVLENBQUMsSUFBSTtvQkFDZCxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUN2RDtnQkFDQSxPQUFPO2FBQ1I7WUFFRCxJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUMxQixNQUFNLElBQUksS0FBSyxDQUNiLHlDQUF5QyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQzFELENBQUM7YUFDSDtRQUNILENBQUM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdWYWxpZGF0b3IgfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi4vc2NoZW1hL3R5cGVzL2ZpZWxkcyc7XG5pbXBvcnQge1xuICBWQ2hvaWNlcyxcbiAgVkdyZWF0ZXIsXG4gIFZHcmVhdGVyRXF1YWwsXG4gIFZMZXNzLFxuICBWTGVzc0VxdWFsLFxuICBWUmVnZXgsXG4gIFZSZXF1aXJlZCxcbn0gZnJvbSAnLi4vc2NoZW1hL3R5cGVzL3ZhbGlkYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IHZhbHVlVmFsaWRhdG9yczogUmVjb3JkPHN0cmluZywgYW55PiA9IHtcbiAgb2JqZWN0OiAodmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4sIGZpZWxkOiB0eXBlcy5PYmplY3RGaWVsZCkgPT4ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHZhbHVlIG11c3QgYmUgb2Ygb2JqZWN0IHR5cGVgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzY2hlbWFLZXlzID0gbmV3IFNldChPYmplY3Qua2V5cyhmaWVsZC5jaGlsZHJlbikpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHZhbHVlKSkge1xuICAgICAgaWYgKCFzY2hlbWFLZXlzLmhhcyhrZXkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgXCIke2tleX1cIiBrZXkgaXMgbm90IGZvdW5kIGluIHRoZSBzY2hlbWFgKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIGFycmF5OiAodmFsdWU6IEFycmF5PGFueT4sIGZpZWxkOiB0eXBlcy5BcnJheUZpZWxkKSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB2YWx1ZSBtdXN0IGJlIG9mIGFycmF5IHR5cGVgKTtcbiAgICB9XG4gIH0sXG4gIHN0cmluZzogKHZhbHVlOiBzdHJpbmcsIGZpZWxkOiB0eXBlcy5TdHJpbmdGaWVsZCkgPT4ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHZhbHVlIG11c3QgYmUgb2Ygc3RyaW5nIHR5cGVgKTtcbiAgICB9XG4gIH0sXG4gIGJvb2xlYW46ICh2YWx1ZTogYm9vbGVhbiwgZmllbGQ6IHR5cGVzLkJvb2xlYW5GaWVsZCkgPT4ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB2YWx1ZSBtdXN0IGJlIG9mIGJvb2xlYW4gdHlwZWApO1xuICAgIH1cbiAgfSxcbiAgbnVtYmVyOiAodmFsdWU6IG51bWJlciwgZmllbGQ6IHR5cGVzLk51bWJlckZpZWxkKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdmFsdWUgbXVzdCBiZSBvZiBudW1iZXIgdHlwZWApO1xuICAgIH1cbiAgfSxcbiAgYmlnaW50OiAodmFsdWU6IGJpZ2ludCwgZmllbGQ6IHR5cGVzLkJpZ0ludEZpZWxkKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2JpZ2ludCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdmFsdWUgbXVzdCBiZSBvZiBiaWdpbnQgdHlwZWApO1xuICAgIH1cbiAgfSxcbn07XG5cbmNvbnN0IHJlcXVpcmVkID0gKFxuICB2YWx1ZTogYW55LFxuICB2YWxpZGF0aW9uOiBWUmVxdWlyZWQsXG4gIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgY29uZmlnVmFsaWRhdG9yOiBDb25maWdWYWxpZGF0b3JcbikgPT4ge1xuICBpZiAodmFsaWRhdGlvbi53aGVuICYmICFjb25maWdWYWxpZGF0b3IuaXNXaGVuVHJ1ZSh2YWxpZGF0aW9uLndoZW4sIGNvbmZpZykpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAodmFsaWRhdGlvbi5yZXF1aXJlZCAmJiB2YWx1ZSA9PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZhbHVlIGlzIHJlcXVpcmVkIGJ1dCBub3QgZm91bmQgaW4gY29uZmlnJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWx1ZVZhbGlkYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+PiA9IHtcbiAgYm9vbGVhbjogeyByZXF1aXJlZCB9LFxuICBzdHJpbmc6IHtcbiAgICByZXF1aXJlZCxcbiAgICByZWdleDogKFxuICAgICAgdmFsdWU6IHN0cmluZyxcbiAgICAgIHZhbGlkYXRpb246IFZSZWdleCxcbiAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIGNvbmZpZ1ZhbGlkYXRvcjogQ29uZmlnVmFsaWRhdG9yXG4gICAgKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHZhbHVlID09IHVuZGVmaW5lZCB8fFxuICAgICAgICAodmFsaWRhdGlvbi53aGVuICYmXG4gICAgICAgICAgIWNvbmZpZ1ZhbGlkYXRvci5pc1doZW5UcnVlKHZhbGlkYXRpb24ud2hlbiwgY29uZmlnKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cCh2YWxpZGF0aW9uLnJlZ2V4KTtcbiAgICAgIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gocmUpO1xuICAgICAgaWYgKG1hdGNoID09IG51bGwgfHwgbWF0Y2hbMF0gIT09IHZhbHVlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdmFsdWUgc2hvdWxkIG1hdGNoIHRoZSByZWdleD1cIiR7dmFsaWRhdGlvbi5yZWdleH1cImApO1xuICAgICAgfVxuICAgIH0sXG4gICAgY2hvaWNlczogKFxuICAgICAgdmFsdWU6IHN0cmluZyxcbiAgICAgIHZhbGlkYXRpb246IFZDaG9pY2VzLFxuICAgICAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgICAgY29uZmlnVmFsaWRhdG9yOiBDb25maWdWYWxpZGF0b3JcbiAgICApID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdmFsdWUgPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICh2YWxpZGF0aW9uLndoZW4gJiZcbiAgICAgICAgICAhY29uZmlnVmFsaWRhdG9yLmlzV2hlblRydWUodmFsaWRhdGlvbi53aGVuLCBjb25maWcpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCF2YWxpZGF0aW9uLmNob2ljZXMuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgdmFsdWUgc2hvdWxkIGJlIG9uZSBvZiB0aGUgY2hvaWNlcz1bJHt2YWxpZGF0aW9uLmNob2ljZXMuam9pbihcbiAgICAgICAgICAgICcsICdcbiAgICAgICAgICApfV1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAgbnVtYmVyOiB7XG4gICAgcmVxdWlyZWQsXG4gICAgZ3Q6IChcbiAgICAgIHZhbHVlOiBudW1iZXIsXG4gICAgICB2YWxpZGF0aW9uOiBWR3JlYXRlcjxudW1iZXI+LFxuICAgICAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgICAgY29uZmlnVmFsaWRhdG9yOiBDb25maWdWYWxpZGF0b3JcbiAgICApID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdmFsdWUgPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICh2YWxpZGF0aW9uLndoZW4gJiZcbiAgICAgICAgICAhY29uZmlnVmFsaWRhdG9yLmlzV2hlblRydWUodmFsaWRhdGlvbi53aGVuLCBjb25maWcpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlIDw9IHZhbGlkYXRpb24uZ3QpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB2YWx1ZSBzaG91bGQgYmUgZ3JlYXRlciB0aGFuICR7dmFsaWRhdGlvbi5ndH1gKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGd0ZTogKFxuICAgICAgdmFsdWU6IG51bWJlcixcbiAgICAgIHZhbGlkYXRpb246IFZHcmVhdGVyRXF1YWw8bnVtYmVyPixcbiAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIGNvbmZpZ1ZhbGlkYXRvcjogQ29uZmlnVmFsaWRhdG9yXG4gICAgKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHZhbHVlID09IHVuZGVmaW5lZCB8fFxuICAgICAgICAodmFsaWRhdGlvbi53aGVuICYmXG4gICAgICAgICAgIWNvbmZpZ1ZhbGlkYXRvci5pc1doZW5UcnVlKHZhbGlkYXRpb24ud2hlbiwgY29uZmlnKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSA8IHZhbGlkYXRpb24uZ3RlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgdmFsdWUgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAke3ZhbGlkYXRpb24uZ3RlfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGx0OiAoXG4gICAgICB2YWx1ZTogbnVtYmVyLFxuICAgICAgdmFsaWRhdGlvbjogVkxlc3M8bnVtYmVyPixcbiAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIGNvbmZpZ1ZhbGlkYXRvcjogQ29uZmlnVmFsaWRhdG9yXG4gICAgKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHZhbHVlID09IHVuZGVmaW5lZCB8fFxuICAgICAgICAodmFsaWRhdGlvbi53aGVuICYmXG4gICAgICAgICAgIWNvbmZpZ1ZhbGlkYXRvci5pc1doZW5UcnVlKHZhbGlkYXRpb24ud2hlbiwgY29uZmlnKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSA+PSB2YWxpZGF0aW9uLmx0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdmFsdWUgc2hvdWxkIGJlIGxlc3MgdGhhbiAke3ZhbGlkYXRpb24ubHR9YCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBsdGU6IChcbiAgICAgIHZhbHVlOiBudW1iZXIsXG4gICAgICB2YWxpZGF0aW9uOiBWTGVzc0VxdWFsPG51bWJlcj4sXG4gICAgICBjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgICBjb25maWdWYWxpZGF0b3I6IENvbmZpZ1ZhbGlkYXRvclxuICAgICkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB2YWx1ZSA9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgKHZhbGlkYXRpb24ud2hlbiAmJlxuICAgICAgICAgICFjb25maWdWYWxpZGF0b3IuaXNXaGVuVHJ1ZSh2YWxpZGF0aW9uLndoZW4sIGNvbmZpZykpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWUgPiB2YWxpZGF0aW9uLmx0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYHZhbHVlIHNob3VsZCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHt2YWxpZGF0aW9uLmx0ZX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAgYmlnaW50OiB7XG4gICAgcmVxdWlyZWQsXG4gICAgZ3Q6IChcbiAgICAgIHZhbHVlOiBiaWdpbnQsXG4gICAgICB2YWxpZGF0aW9uOiBWR3JlYXRlcjxiaWdpbnQ+LFxuICAgICAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgICAgY29uZmlnVmFsaWRhdG9yOiBDb25maWdWYWxpZGF0b3JcbiAgICApID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdmFsdWUgPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICh2YWxpZGF0aW9uLndoZW4gJiZcbiAgICAgICAgICAhY29uZmlnVmFsaWRhdG9yLmlzV2hlblRydWUodmFsaWRhdGlvbi53aGVuLCBjb25maWcpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlIDw9IHZhbGlkYXRpb24uZ3QpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB2YWx1ZSBzaG91bGQgYmUgZ3JlYXRlciB0aGFuICR7dmFsaWRhdGlvbi5ndH1gKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGd0ZTogKFxuICAgICAgdmFsdWU6IGJpZ2ludCxcbiAgICAgIHZhbGlkYXRpb246IFZHcmVhdGVyRXF1YWw8YmlnaW50PixcbiAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIGNvbmZpZ1ZhbGlkYXRvcjogQ29uZmlnVmFsaWRhdG9yXG4gICAgKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHZhbHVlID09IHVuZGVmaW5lZCB8fFxuICAgICAgICAodmFsaWRhdGlvbi53aGVuICYmXG4gICAgICAgICAgIWNvbmZpZ1ZhbGlkYXRvci5pc1doZW5UcnVlKHZhbGlkYXRpb24ud2hlbiwgY29uZmlnKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSA8IHZhbGlkYXRpb24uZ3RlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgdmFsdWUgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAke3ZhbGlkYXRpb24uZ3RlfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGx0OiAoXG4gICAgICB2YWx1ZTogYmlnaW50LFxuICAgICAgdmFsaWRhdGlvbjogVkxlc3M8YmlnaW50PixcbiAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIGNvbmZpZ1ZhbGlkYXRvcjogQ29uZmlnVmFsaWRhdG9yXG4gICAgKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHZhbHVlID09IHVuZGVmaW5lZCB8fFxuICAgICAgICAodmFsaWRhdGlvbi53aGVuICYmXG4gICAgICAgICAgIWNvbmZpZ1ZhbGlkYXRvci5pc1doZW5UcnVlKHZhbGlkYXRpb24ud2hlbiwgY29uZmlnKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSA+PSB2YWxpZGF0aW9uLmx0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdmFsdWUgc2hvdWxkIGJlIGxlc3MgdGhhbiAke3ZhbGlkYXRpb24ubHR9YCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBsdGU6IChcbiAgICAgIHZhbHVlOiBiaWdpbnQsXG4gICAgICB2YWxpZGF0aW9uOiBWTGVzc0VxdWFsPGJpZ2ludD4sXG4gICAgICBjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgICBjb25maWdWYWxpZGF0b3I6IENvbmZpZ1ZhbGlkYXRvclxuICAgICkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB2YWx1ZSA9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgKHZhbGlkYXRpb24ud2hlbiAmJlxuICAgICAgICAgICFjb25maWdWYWxpZGF0b3IuaXNXaGVuVHJ1ZSh2YWxpZGF0aW9uLndoZW4sIGNvbmZpZykpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWUgPiB2YWxpZGF0aW9uLmx0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYHZhbHVlIHNob3VsZCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHt2YWxpZGF0aW9uLmx0ZX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi92YWx1ZS92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBd0I7SUFDbEQsTUFBTSxFQUFFLENBQUMsS0FBMEIsRUFBRSxLQUF3QixFQUFFLEVBQUU7UUFDL0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLEdBQUcsa0NBQWtDLENBQUMsQ0FBQztZQUM3RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFpQixFQUFFLEtBQXVCLEVBQUUsRUFBRTtRQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sRUFBRSxDQUFDLEtBQWEsRUFBRSxLQUF3QixFQUFFLEVBQUU7UUFDbEQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENB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QUVELElBQUksS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxJQUFJLEtBQUssQ0FDYix5Q0FBeUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUMxRCxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdWYWxpZGF0b3IgfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi4vc2NoZW1hL3R5cGVzL2ZpZWxkcyc7XG5pbXBvcnQge1xuICBWQ2hvaWNlcyxcbiAgVkdyZWF0ZXIsXG4gIFZHcmVhdGVyRXF1YWwsXG4gIFZMZXNzLFxuICBWTGVzc0VxdWFsLFxuICBWUmVnZXgsXG4gIFZSZXF1aXJlZCxcbn0gZnJvbSAnLi4vc2NoZW1hL3R5cGVzL3ZhbGlkYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IHZhbHVlVmFsaWRhdG9yczogUmVjb3JkPHN0cmluZywgYW55PiA9IHtcbiAgb2JqZWN0OiAodmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4sIGZpZWxkOiB0eXBlcy5PYmplY3RGaWVsZCkgPT4ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHZhbHVlIG11c3QgYmUgb2Ygb2JqZWN0IHR5cGVgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzY2hlbWFLZXlzID0gbmV3IFNldChPYmplY3Qua2V5cyhmaWVsZC5jaGlsZHJlbikpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHZhbHVlKSkge1xuICAgICAgaWYgKCFzY2hlbWFLZXlzLmhhcyhrZXkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgXCIke2tleX1cIiBrZXkgaXMgbm90IGZvdW5kIGluIHRoZSBzY2hlbWFgKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIGFycmF5OiAodmFsdWU6IEFycmF5PGFueT4sIGZpZWxkOiB0eXBlcy5BcnJheUZpZWxkKSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB2YWx1ZSBtdXN0IGJlIG9mIGFycmF5IHR5cGVgKTtcbiAgICB9XG4gIH0sXG4gIHN0cmluZzogKHZhbHVlOiBzdHJpbmcsIGZpZWxkOiB0eXBlcy5TdHJpbmdGaWVsZCkgPT4ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHZhbHVlIG11c3QgYmUgb2Ygc3RyaW5nIHR5cGVgKTtcbiAgICB9XG4gIH0sXG4gIGJvb2xlYW46ICh2YWx1ZTogYm9vbGVhbiwgZmllbGQ6IHR5cGVzLkJvb2xlYW5GaWVsZCkgPT4ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB2YWx1ZSBtdXN0IGJlIG9mIGJvb2xlYW4gdHlwZWApO1xuICAgIH1cbiAgfSxcbiAgbnVtYmVyOiAodmFsdWU6IG51bWJlciwgZmllbGQ6IHR5cGVzLk51bWJlckZpZWxkKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdmFsdWUgbXVzdCBiZSBvZiBudW1iZXIgdHlwZWApO1xuICAgIH1cbiAgfSxcbiAgYmlnaW50OiAodmFsdWU6IGJpZ2ludCwgZmllbGQ6IHR5cGVzLkJpZ0ludEZpZWxkKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2JpZ2ludCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdmFsdWUgbXVzdCBiZSBvZiBiaWdpbnQgdHlwZWApO1xuICAgIH1cbiAgfSxcbn07XG5cbmNvbnN0IHJlcXVpcmVkID0gKFxuICB2YWx1ZTogYW55LFxuICB2YWxpZGF0aW9uOiBWUmVxdWlyZWQsXG4gIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgY29uZmlnVmFsaWRhdG9yOiBDb25maWdWYWxpZGF0b3JcbikgPT4ge1xuICBpZiAodmFsaWRhdGlvbi53aGVuICYmICFjb25maWdWYWxpZGF0b3IuaXNXaGVuVHJ1ZSh2YWxpZGF0aW9uLndoZW4sIGNvbmZpZykpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAodmFsaWRhdGlvbi5yZXF1aXJlZCAmJiB2YWx1ZSA9PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZhbHVlIGlzIHJlcXVpcmVkIGJ1dCBub3QgZm91bmQgaW4gY29uZmlnJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWx1ZVZhbGlkYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+PiA9IHtcbiAgYm9vbGVhbjogeyByZXF1aXJlZCB9LFxuICBzdHJpbmc6IHtcbiAgICByZXF1aXJlZCxcbiAgICByZWdleDogKFxuICAgICAgdmFsdWU6IHN0cmluZyxcbiAgICAgIHZhbGlkYXRpb246IFZSZWdleCxcbiAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIGNvbmZpZ1ZhbGlkYXRvcjogQ29uZmlnVmFsaWRhdG9yXG4gICAgKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHZhbHVlID09IHVuZGVmaW5lZCB8fFxuICAgICAgICAodmFsaWRhdGlvbi53aGVuICYmXG4gICAgICAgICAgIWNvbmZpZ1ZhbGlkYXRvci5pc1doZW5UcnVlKHZhbGlkYXRpb24ud2hlbiwgY29uZmlnKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cCh2YWxpZGF0aW9uLnJlZ2V4KTtcbiAgICAgIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gocmUpO1xuICAgICAgaWYgKG1hdGNoID09IG51bGwgfHwgbWF0Y2hbMF0gIT09IHZhbHVlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdmFsdWUgc2hvdWxkIG1hdGNoIHRoZSByZWdleD1cIiR7dmFsaWRhdGlvbi5yZWdleH1cImApO1xuICAgICAgfVxuICAgIH0sXG4gICAgY2hvaWNlczogKFxuICAgICAgdmFsdWU6IHN0cmluZyxcbiAgICAgIHZhbGlkYXRpb246IFZDaG9pY2VzLFxuICAgICAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgICAgY29uZmlnVmFsaWRhdG9yOiBDb25maWdWYWxpZGF0b3JcbiAgICApID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdmFsdWUgPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICh2YWxpZGF0aW9uLndoZW4gJiZcbiAgICAgICAgICAhY29uZmlnVmFsaWRhdG9yLmlzV2hlblRydWUodmFsaWRhdGlvbi53aGVuLCBjb25maWcpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCF2YWxpZGF0aW9uLmNob2ljZXMuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgdmFsdWUgc2hvdWxkIGJlIG9uZSBvZiB0aGUgY2hvaWNlcz1bJHt2YWxpZGF0aW9uLmNob2ljZXMuam9pbihcbiAgICAgICAgICAgICcsICdcbiAgICAgICAgICApfV1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAgbnVtYmVyOiB7XG4gICAgcmVxdWlyZWQsXG4gICAgZ3Q6IChcbiAgICAgIHZhbHVlOiBudW1iZXIsXG4gICAgICB2YWxpZGF0aW9uOiBWR3JlYXRlcjxudW1iZXI+LFxuICAgICAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgICAgY29uZmlnVmFsaWRhdG9yOiBDb25maWdWYWxpZGF0b3JcbiAgICApID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdmFsdWUgPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICh2YWxpZGF0aW9uLndoZW4gJiZcbiAgICAgICAgICAhY29uZmlnVmFsaWRhdG9yLmlzV2hlblRydWUodmFsaWRhdGlvbi53aGVuLCBjb25maWcpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlIDw9IHZhbGlkYXRpb24uZ3QpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB2YWx1ZSBzaG91bGQgYmUgZ3JlYXRlciB0aGFuICR7dmFsaWRhdGlvbi5ndH1gKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGd0ZTogKFxuICAgICAgdmFsdWU6IG51bWJlcixcbiAgICAgIHZhbGlkYXRpb246IFZHcmVhdGVyRXF1YWw8bnVtYmVyPixcbiAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIGNvbmZpZ1ZhbGlkYXRvcjogQ29uZmlnVmFsaWRhdG9yXG4gICAgKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHZhbHVlID09IHVuZGVmaW5lZCB8fFxuICAgICAgICAodmFsaWRhdGlvbi53aGVuICYmXG4gICAgICAgICAgIWNvbmZpZ1ZhbGlkYXRvci5pc1doZW5UcnVlKHZhbGlkYXRpb24ud2hlbiwgY29uZmlnKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSA8IHZhbGlkYXRpb24uZ3RlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgdmFsdWUgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAke3ZhbGlkYXRpb24uZ3RlfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGx0OiAoXG4gICAgICB2YWx1ZTogbnVtYmVyLFxuICAgICAgdmFsaWRhdGlvbjogVkxlc3M8bnVtYmVyPixcbiAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIGNvbmZpZ1ZhbGlkYXRvcjogQ29uZmlnVmFsaWRhdG9yXG4gICAgKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHZhbHVlID09IHVuZGVmaW5lZCB8fFxuICAgICAgICAodmFsaWRhdGlvbi53aGVuICYmXG4gICAgICAgICAgIWNvbmZpZ1ZhbGlkYXRvci5pc1doZW5UcnVlKHZhbGlkYXRpb24ud2hlbiwgY29uZmlnKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSA+PSB2YWxpZGF0aW9uLmx0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdmFsdWUgc2hvdWxkIGJlIGxlc3MgdGhhbiAke3ZhbGlkYXRpb24ubHR9YCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBsdGU6IChcbiAgICAgIHZhbHVlOiBudW1iZXIsXG4gICAgICB2YWxpZGF0aW9uOiBWTGVzc0VxdWFsPG51bWJlcj4sXG4gICAgICBjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgICBjb25maWdWYWxpZGF0b3I6IENvbmZpZ1ZhbGlkYXRvclxuICAgICkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB2YWx1ZSA9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgKHZhbGlkYXRpb24ud2hlbiAmJlxuICAgICAgICAgICFjb25maWdWYWxpZGF0b3IuaXNXaGVuVHJ1ZSh2YWxpZGF0aW9uLndoZW4sIGNvbmZpZykpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWUgPiB2YWxpZGF0aW9uLmx0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYHZhbHVlIHNob3VsZCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHt2YWxpZGF0aW9uLmx0ZX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbiAgYmlnaW50OiB7XG4gICAgcmVxdWlyZWQsXG4gICAgZ3Q6IChcbiAgICAgIHZhbHVlOiBiaWdpbnQsXG4gICAgICB2YWxpZGF0aW9uOiBWR3JlYXRlcjxiaWdpbnQ+LFxuICAgICAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgICAgY29uZmlnVmFsaWRhdG9yOiBDb25maWdWYWxpZGF0b3JcbiAgICApID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdmFsdWUgPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICh2YWxpZGF0aW9uLndoZW4gJiZcbiAgICAgICAgICAhY29uZmlnVmFsaWRhdG9yLmlzV2hlblRydWUodmFsaWRhdGlvbi53aGVuLCBjb25maWcpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlIDw9IHZhbGlkYXRpb24uZ3QpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB2YWx1ZSBzaG91bGQgYmUgZ3JlYXRlciB0aGFuICR7dmFsaWRhdGlvbi5ndH1gKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGd0ZTogKFxuICAgICAgdmFsdWU6IGJpZ2ludCxcbiAgICAgIHZhbGlkYXRpb246IFZHcmVhdGVyRXF1YWw8YmlnaW50PixcbiAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIGNvbmZpZ1ZhbGlkYXRvcjogQ29uZmlnVmFsaWRhdG9yXG4gICAgKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHZhbHVlID09IHVuZGVmaW5lZCB8fFxuICAgICAgICAodmFsaWRhdGlvbi53aGVuICYmXG4gICAgICAgICAgIWNvbmZpZ1ZhbGlkYXRvci5pc1doZW5UcnVlKHZhbGlkYXRpb24ud2hlbiwgY29uZmlnKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSA8IHZhbGlkYXRpb24uZ3RlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgdmFsdWUgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAke3ZhbGlkYXRpb24uZ3RlfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGx0OiAoXG4gICAgICB2YWx1ZTogYmlnaW50LFxuICAgICAgdmFsaWRhdGlvbjogVkxlc3M8YmlnaW50PixcbiAgICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAgIGNvbmZpZ1ZhbGlkYXRvcjogQ29uZmlnVmFsaWRhdG9yXG4gICAgKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHZhbHVlID09IHVuZGVmaW5lZCB8fFxuICAgICAgICAodmFsaWRhdGlvbi53aGVuICYmXG4gICAgICAgICAgIWNvbmZpZ1ZhbGlkYXRvci5pc1doZW5UcnVlKHZhbGlkYXRpb24ud2hlbiwgY29uZmlnKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSA+PSB2YWxpZGF0aW9uLmx0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdmFsdWUgc2hvdWxkIGJlIGxlc3MgdGhhbiAke3ZhbGlkYXRpb24ubHR9YCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBsdGU6IChcbiAgICAgIHZhbHVlOiBiaWdpbnQsXG4gICAgICB2YWxpZGF0aW9uOiBWTGVzc0VxdWFsPGJpZ2ludD4sXG4gICAgICBjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgICBjb25maWdWYWxpZGF0b3I6IENvbmZpZ1ZhbGlkYXRvclxuICAgICkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB2YWx1ZSA9PSB1bmRlZmluZWQgfHxcbiAgICAgICAgKHZhbGlkYXRpb24ud2hlbiAmJlxuICAgICAgICAgICFjb25maWdWYWxpZGF0b3IuaXNXaGVuVHJ1ZSh2YWxpZGF0aW9uLndoZW4sIGNvbmZpZykpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWUgPiB2YWxpZGF0aW9uLmx0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYHZhbHVlIHNob3VsZCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHt2YWxpZGF0aW9uLmx0ZX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rosen-bridge/config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "a package to manage configs of rosen bridge projects",
|
|
5
5
|
"repository": "git+https://github.com/rosen-bridge/utils.git",
|
|
6
|
-
"license": "
|
|
6
|
+
"license": "MIT",
|
|
7
7
|
"author": "Rosen Team",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"main": "dist/index.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"types": "dist/index.d.ts",
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "tsc --build tsconfig.build.json",
|
|
14
|
-
"coverage": "npm run test -- --coverage",
|
|
14
|
+
"coverage": "npm run test -- --run --coverage",
|
|
15
15
|
"lint": "eslint --fix . && npm run prettify",
|
|
16
16
|
"prettify": "prettier --write . --ignore-path ./.gitignore",
|
|
17
17
|
"release": "npm run build && npm publish --access public",
|
|
@@ -21,21 +21,18 @@
|
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/config": "^3.3.3",
|
|
23
23
|
"@types/js-yaml": "^4.0.9",
|
|
24
|
-
"@types/node": "^
|
|
24
|
+
"@types/node": "^20.11.0",
|
|
25
25
|
"@types/uuid": "^9.0.8",
|
|
26
|
-
"@
|
|
27
|
-
"@typescript-eslint/parser": "^6.7.0",
|
|
28
|
-
"@vitest/coverage-c8": "^0.26.3",
|
|
29
|
-
"eslint": "^8.16.0",
|
|
30
|
-
"eslint-config-prettier": "^8.5.0",
|
|
26
|
+
"@vitest/coverage-istanbul": "^2.0.5",
|
|
31
27
|
"lodash-es": "^4.17.21",
|
|
32
|
-
"
|
|
33
|
-
"typescript": "^5.0.0",
|
|
28
|
+
"typescript": "^5.8.3",
|
|
34
29
|
"uuid": "^9.0.1",
|
|
35
|
-
"vitest": "^0.
|
|
30
|
+
"vitest": "^2.0.5",
|
|
31
|
+
"@types/json-bigint": "^1.0.1",
|
|
32
|
+
"@types/lodash-es": "^4.17.12"
|
|
36
33
|
},
|
|
37
34
|
"engines": {
|
|
38
|
-
"node": ">=
|
|
35
|
+
"node": ">=20.11.0"
|
|
39
36
|
},
|
|
40
37
|
"dependencies": {
|
|
41
38
|
"chalk": "^5.3.0",
|
package/tests/configTestData.ts
CHANGED
|
@@ -152,6 +152,16 @@ export const correctApiSchema = {
|
|
|
152
152
|
},
|
|
153
153
|
},
|
|
154
154
|
},
|
|
155
|
+
useTls: {
|
|
156
|
+
type: 'boolean',
|
|
157
|
+
default: false,
|
|
158
|
+
validations: [
|
|
159
|
+
{
|
|
160
|
+
required: true,
|
|
161
|
+
error: 'useTls must be specified',
|
|
162
|
+
},
|
|
163
|
+
],
|
|
164
|
+
},
|
|
155
165
|
},
|
|
156
166
|
},
|
|
157
167
|
};
|