@decaf-ts/as-zod 0.0.11 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +2 -1
- package/README.md +2 -2
- package/dist/as-zod.cjs +6 -3
- package/dist/as-zod.esm.cjs +6 -3
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/overrides.js +5 -2
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/overrides.cjs +5 -2
- package/package.json +5 -4
package/LICENSE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2025 Tiago Venceslau and Contributors
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -19,3 +19,4 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.
|
|
22
|
+
|
package/README.md
CHANGED
|
@@ -34,8 +34,8 @@ Easy two-way conversion from Models to Zod
|
|
|
34
34
|
|
|
35
35
|
### How to Use
|
|
36
36
|
|
|
37
|
-
- [Initial Setup](./tutorials/For%20Developers.md#_initial-setup_)
|
|
38
|
-
- [Installation](./tutorials/For%20Developers.md#installation)
|
|
37
|
+
- [Initial Setup](./workdocs/tutorials/For%20Developers.md#_initial-setup_)
|
|
38
|
+
- [Installation](./workdocs/tutorials/For%20Developers.md#installation)
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
|
package/dist/as-zod.cjs
CHANGED
|
@@ -147,7 +147,10 @@
|
|
|
147
147
|
if (!descriptor || descriptor.configurable) {
|
|
148
148
|
Object.defineProperty(zod.z, "from", {
|
|
149
149
|
value: (model) => {
|
|
150
|
-
|
|
150
|
+
const m = new model();
|
|
151
|
+
if (!decoration.Metadata.constr(m.constructor))
|
|
152
|
+
decoratorValidation.Model.fromModel(m, {});
|
|
153
|
+
return modelToZod(m);
|
|
151
154
|
},
|
|
152
155
|
});
|
|
153
156
|
}
|
|
@@ -158,7 +161,7 @@
|
|
|
158
161
|
* @const VERSION
|
|
159
162
|
* @memberOf module:as-zod
|
|
160
163
|
*/
|
|
161
|
-
const VERSION = "0.0.
|
|
164
|
+
const VERSION = "0.0.13";
|
|
162
165
|
decoration.Metadata.registerLibrary("@decaf-ts/as-zod", VERSION);
|
|
163
166
|
|
|
164
167
|
exports.VERSION = VERSION;
|
|
@@ -167,4 +170,4 @@
|
|
|
167
170
|
exports.zodifyValidation = zodifyValidation;
|
|
168
171
|
|
|
169
172
|
}));
|
|
170
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXMtem9kLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL292ZXJyaWRlcy50cyIsIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbCxcbiAgTW9kZWxLZXlzLFxuICBUeXBlTWV0YWRhdGEsXG4gIFByaW1pdGl2ZXMsXG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIFZhbGlkYXRvck9wdGlvbnMsXG4gIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMsXG4gIE1pblZhbGlkYXRvck9wdGlvbnMsXG4gIE1heFZhbGlkYXRvck9wdGlvbnMsXG4gIE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMsXG4gIFN0ZXBWYWxpZGF0b3JPcHRpb25zLFxuICBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyxcbiAgTGlzdE1ldGFkYXRhLFxuICBDb25zdHJ1Y3Rvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IHosIFpvZEFueSB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IFJlZmxlY3Rpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuXG5jb25zdCBSZXNlcnZlZEtleXMgPSBbXG4gIFZhbGlkYXRpb25LZXlzLlJFUVVJUkVELFxuICBWYWxpZGF0aW9uS2V5cy5UWVBFLFxuICBNb2RlbEtleXMuVFlQRSxcbl0gYXMgY29uc3Q7XG5cbmZ1bmN0aW9uIGlzUmVzZXJ2ZWRLZXkoZWw6IHN0cmluZykge1xuICByZXR1cm4gUmVzZXJ2ZWRLZXlzLmluY2x1ZGVzKGVsIGFzIGFueSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6b2RpZnkodHlwZTogc3RyaW5nIHwgc3RyaW5nW10sIHp6OiBhbnkgPSBab2RBbnkpIHtcbiAgdHlwZSA9IHR5cGVvZiB0eXBlID09PSBcInN0cmluZ1wiID8gW3R5cGVdIDogdHlwZTtcblxuICBmdW5jdGlvbiBpbm5lclpvZGlmeSh0eXBlOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHR5cGUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSBQcmltaXRpdmVzLlNUUklORzpcbiAgICAgICAgcmV0dXJuIHouc3RyaW5nKCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuTlVNQkVSOlxuICAgICAgICByZXR1cm4gei5udW1iZXIoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5CSUdJTlQ6XG4gICAgICAgIHJldHVybiB6LmJpZ2ludCgpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLkJPT0xFQU46XG4gICAgICAgIHJldHVybiB6LmJvb2xlYW4oKTtcbiAgICAgIGNhc2UgVmFsaWRhdGlvbktleXMuREFURTpcbiAgICAgICAgcmV0dXJuIHouZGF0ZSgpO1xuICAgICAgY2FzZSBBcnJheS5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgIHJldHVybiB6LmFycmF5KHp6KTtcbiAgICAgIGNhc2UgU2V0Lm5hbWUudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgcmV0dXJuIHouc2V0KHp6KTtcbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgbSA9IE1vZGVsLmdldCh0eXBlKTtcbiAgICAgICAgaWYgKCFtKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnpvZGlmaWFibGUgdHlwZTogJHt0eXBlfWApO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgenogPSB6LmZyb20obSk7XG4gICAgICAgICAgcmV0dXJuIHp6O1xuICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gem9kaWZ5IG1vZGVsICR7dHlwZX06ICR7ZX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCB6b2Q6IGFueTtcbiAgZm9yIChjb25zdCB0IG9mIHR5cGUpIHtcbiAgICB6b2QgPSB6b2QgPyB6b2Qub3IoaW5uZXJab2RpZnkodCkpIDogaW5uZXJab2RpZnkodCk7XG4gIH1cblxuICByZXR1cm4gem9kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gem9kaWZ5VmFsaWRhdGlvbihcbiAgem9kOiBhbnksXG4gIHR5cGU6IHN0cmluZyxcbiAgdmFsdWVzOiBWYWxpZGF0b3JPcHRpb25zXG4pIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NSU46XG4gICAgICByZXR1cm4gem9kLm1pbigodmFsdWVzIGFzIE1pblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1JTl0pO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSDpcbiAgICAgIHJldHVybiB6b2QubWluKFxuICAgICAgICAodmFsdWVzIGFzIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEhdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUFYOlxuICAgICAgcmV0dXJuIHpvZC5tYXgoKHZhbHVlcyBhcyBNYXhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NQVhdKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEg6XG4gICAgICByZXR1cm4gem9kLm1heChcbiAgICAgICAgKHZhbHVlcyBhcyBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlNURVA6XG4gICAgICByZXR1cm4gem9kLm11bHRpcGxlT2YoXG4gICAgICAgICh2YWx1ZXMgYXMgU3RlcFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlNURVBdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFUVEVSTjpcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlVSTDpcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkVNQUlMOlxuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFTU1dPUkQ6XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICBuZXcgUmVnRXhwKFxuICAgICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dIGFzIHN0cmluZyxcbiAgICAgICAgICBcImdcIlxuICAgICAgICApXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuREFURTpcbiAgICAgIHJldHVybiB6b2QuZGF0ZSgpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gem9kO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2RlbFRvWm9kPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IE0pIHtcbiAgY29uc3QgcmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgY29uc3QgcHJvcGVydGllcyA9IE1vZGVsLmdldEF0dHJpYnV0ZXMobW9kZWwpO1xuICBpZiAoQXJyYXkuaXNBcnJheShwcm9wZXJ0aWVzKSAmJiAhcHJvcGVydGllcy5sZW5ndGgpIHJldHVybiB6Lm9iamVjdCh7fSk7XG4gIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgaWYgKFxuICAgICAgdHlwZW9mIChtb2RlbCBhcyBhbnkpW3Byb3BdID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgIHByb3Auc3RhcnRzV2l0aChcIl9cIikgfHxcbiAgICAgIHByb3AgPT09IFwiY29uc3RydWN0b3JcIlxuICAgICkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgYWxsRGVjcyA9IFJlZmxlY3Rpb24uZ2V0UHJvcGVydHlEZWNvcmF0b3JzKFxuICAgICAgVmFsaWRhdGlvbktleXMuUkVGTEVDVCxcbiAgICAgIG1vZGVsLFxuICAgICAgcHJvcCxcbiAgICAgIGZhbHNlLFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICBjb25zdCBkZWNvcmF0b3JEYXRhID0gYWxsRGVjcy5kZWNvcmF0b3JzLnJlZHVjZShcbiAgICAgIChhY2N1bTogUmVjb3JkPHN0cmluZywgYW55PiwgZWwpID0+IHtcbiAgICAgICAgY29uc3QgeyBrZXksIHByb3BzIH0gPSBlbDtcbiAgICAgICAgaWYgKGtleSA9PT0gTW9kZWxLZXlzLlRZUEUgJiYgIWFjY3VtW1ZhbGlkYXRpb25LZXlzLlRZUEVdKSB7XG4gICAgICAgICAgYWNjdW1bVmFsaWRhdGlvbktleXMuVFlQRV0gPSB7XG4gICAgICAgICAgICBjdXN0b21UeXBlczogW3Byb3BzLm5hbWUgYXMgc3RyaW5nXSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuVFlQRSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImRlZmluZXMgdGhlIGFjY2VwdGVkIHR5cGVzIGZvciB0aGUgYXR0cmlidXRlXCIsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY2N1bVtrZXldID0gcHJvcHM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGlmICghT2JqZWN0LmtleXMoZGVjb3JhdG9yRGF0YSkubGVuZ3RoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBsZXQgem9kOiBhbnkgPSBab2RBbnk7XG5cbiAgICBjb25zdCB0eXBlRGF0YTogVHlwZU1ldGFkYXRhID0gZGVjb3JhdG9yRGF0YVtcbiAgICAgIFZhbGlkYXRpb25LZXlzLlRZUEVcbiAgICBdIGFzIFR5cGVNZXRhZGF0YTtcblxuICAgIGlmICghdHlwZURhdGEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyB0eXBlIGluZm9ybWF0aW9uYCk7XG4gICAgfVxuXG4gICAgem9kID0gem9kaWZ5KFxuICAgICAgKEFycmF5LmlzQXJyYXkodHlwZURhdGEuY3VzdG9tVHlwZXMpXG4gICAgICAgID8gdHlwZURhdGEuY3VzdG9tVHlwZXNcbiAgICAgICAgOiBbdHlwZURhdGEuY3VzdG9tVHlwZXNdXG4gICAgICApLm1hcCgoYykgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGMgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGMoKTtcbiAgICAgICAgcmV0dXJuIGM7XG4gICAgICB9KSxcbiAgICAgIGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF1cbiAgICAgICAgPyB6b2RpZnkoXG4gICAgICAgICAgICAoQXJyYXkuaXNBcnJheShcbiAgICAgICAgICAgICAgKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6elxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICA/IChkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpcbiAgICAgICAgICAgICAgOiBbKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6el1cbiAgICAgICAgICAgICkubWFwKChjKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgYyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGMoKS5uYW1lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBjIGFzIHN0cmluZztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICA6IFpvZEFueVxuICAgICk7XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHByb3BzXSBvZiBPYmplY3QuZW50cmllcyhkZWNvcmF0b3JEYXRhKS5maWx0ZXIoXG4gICAgICAoW2tdKSA9PiAhaXNSZXNlcnZlZEtleShrKVxuICAgICkpIHtcbiAgICAgIHpvZCA9IHpvZGlmeVZhbGlkYXRpb24oem9kLCBrZXksIHByb3BzKTtcbiAgICB9XG5cbiAgICBpZiAoIWRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuUkVRVUlSRURdKSB7XG4gICAgICB6b2QgPSB6b2Qub3B0aW9uYWwoKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IE1ldGFkYXRhLmRlc2NyaXB0aW9uKFxuICAgICAgbW9kZWwuY29uc3RydWN0b3IgYXMgYW55LFxuICAgICAgcHJvcCBhcyBhbnlcbiAgICApO1xuXG4gICAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICB6b2QgPSB6b2QuZGVzY3JpYmUoZGVzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIHJlc3VsdFtwcm9wXSA9IHpvZDtcbiAgfVxuXG4gIGNvbnN0IGRlc2NyaXB0aW9uID0gTWV0YWRhdGEuZGVzY3JpcHRpb24obW9kZWwuY29uc3RydWN0b3IgYXMgYW55KTtcbiAgY29uc3QgcmVzID0gei5vYmplY3QocmVzdWx0KTtcbiAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgcmVzLmRlc2NyaWJlKGRlc2NyaXB0aW9uKTtcbiAgfVxuICByZXR1cm4gcmVzO1xufVxuXG5jb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih6LCBcImZyb21cIiBhcyBrZXlvZiB0eXBlb2Ygeik7XG5cbmlmICghZGVzY3JpcHRvciB8fCBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoeiwgXCJmcm9tXCIsIHtcbiAgICB2YWx1ZTogPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IENvbnN0cnVjdG9yPE0+KSA9PiB7XG4gICAgICByZXR1cm4gbW9kZWxUb1pvZChuZXcgbW9kZWwoKSkgYXMgYW55O1xuICAgIH0sXG4gIH0pO1xufVxuIiwiaW1wb3J0IHsgTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vem9kXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vdmVycmlkZXNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZWZsZWN0aW9uIHBhY2thZ2VcbiAqIEBzdW1tYXJ5IFN0b3JlcyB0aGUgc2VtYW50aWMgdmVyc2lvbiBudW1iZXIgb2YgdGhlIHBhY2thZ2VcbiAqIEBjb25zdCBWRVJTSU9OXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmFzLXpvZFxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiIyNWRVJTSU9OIyNcIjtcblxuTWV0YWRhdGEucmVnaXN0ZXJMaWJyYXJ5KFwiQGRlY2FmLXRzL2FzLXpvZFwiLCBWRVJTSU9OKTtcbiJdLCJuYW1lcyI6WyJWYWxpZGF0aW9uS2V5cyIsIk1vZGVsS2V5cyIsIlpvZEFueSIsIlByaW1pdGl2ZXMiLCJ6IiwiTW9kZWwiLCJ6b2QiLCJSZWZsZWN0aW9uIiwiREVGQVVMVF9FUlJPUl9NRVNTQUdFUyIsIk1ldGFkYXRhIl0sIm1hcHBpbmdzIjoiOzs7Ozs7SUFxQkEsTUFBTSxZQUFZLEdBQUc7SUFDbkIsSUFBQUEsa0NBQWMsQ0FBQyxRQUFRO0lBQ3ZCLElBQUFBLGtDQUFjLENBQUMsSUFBSTtJQUNuQixJQUFBQyw2QkFBUyxDQUFDLElBQUk7S0FDTjtJQUVWLFNBQVMsYUFBYSxDQUFDLEVBQVUsRUFBQTtJQUMvQixJQUFBLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFTLENBQUM7SUFDekM7YUFFZ0IsTUFBTSxDQUFDLElBQXVCLEVBQUUsS0FBVUMsVUFBTSxFQUFBO0lBQzlELElBQUEsSUFBSSxHQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUk7UUFFL0MsU0FBUyxXQUFXLENBQUMsSUFBWSxFQUFBO0lBQy9CLFFBQUEsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUN4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
|
|
173
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXMtem9kLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL292ZXJyaWRlcy50cyIsIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbCxcbiAgTW9kZWxLZXlzLFxuICBUeXBlTWV0YWRhdGEsXG4gIFByaW1pdGl2ZXMsXG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIFZhbGlkYXRvck9wdGlvbnMsXG4gIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMsXG4gIE1pblZhbGlkYXRvck9wdGlvbnMsXG4gIE1heFZhbGlkYXRvck9wdGlvbnMsXG4gIE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMsXG4gIFN0ZXBWYWxpZGF0b3JPcHRpb25zLFxuICBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyxcbiAgTGlzdE1ldGFkYXRhLFxuICBDb25zdHJ1Y3Rvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IHosIFpvZEFueSB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IFJlZmxlY3Rpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuXG5jb25zdCBSZXNlcnZlZEtleXMgPSBbXG4gIFZhbGlkYXRpb25LZXlzLlJFUVVJUkVELFxuICBWYWxpZGF0aW9uS2V5cy5UWVBFLFxuICBNb2RlbEtleXMuVFlQRSxcbl0gYXMgY29uc3Q7XG5cbmZ1bmN0aW9uIGlzUmVzZXJ2ZWRLZXkoZWw6IHN0cmluZykge1xuICByZXR1cm4gUmVzZXJ2ZWRLZXlzLmluY2x1ZGVzKGVsIGFzIGFueSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6b2RpZnkodHlwZTogc3RyaW5nIHwgc3RyaW5nW10sIHp6OiBhbnkgPSBab2RBbnkpIHtcbiAgdHlwZSA9IHR5cGVvZiB0eXBlID09PSBcInN0cmluZ1wiID8gW3R5cGVdIDogdHlwZTtcblxuICBmdW5jdGlvbiBpbm5lclpvZGlmeSh0eXBlOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHR5cGUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSBQcmltaXRpdmVzLlNUUklORzpcbiAgICAgICAgcmV0dXJuIHouc3RyaW5nKCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuTlVNQkVSOlxuICAgICAgICByZXR1cm4gei5udW1iZXIoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5CSUdJTlQ6XG4gICAgICAgIHJldHVybiB6LmJpZ2ludCgpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLkJPT0xFQU46XG4gICAgICAgIHJldHVybiB6LmJvb2xlYW4oKTtcbiAgICAgIGNhc2UgVmFsaWRhdGlvbktleXMuREFURTpcbiAgICAgICAgcmV0dXJuIHouZGF0ZSgpO1xuICAgICAgY2FzZSBBcnJheS5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgIHJldHVybiB6LmFycmF5KHp6KTtcbiAgICAgIGNhc2UgU2V0Lm5hbWUudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgcmV0dXJuIHouc2V0KHp6KTtcbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgbSA9IE1vZGVsLmdldCh0eXBlKTtcbiAgICAgICAgaWYgKCFtKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnpvZGlmaWFibGUgdHlwZTogJHt0eXBlfWApO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgenogPSB6LmZyb20obSk7XG4gICAgICAgICAgcmV0dXJuIHp6O1xuICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gem9kaWZ5IG1vZGVsICR7dHlwZX06ICR7ZX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCB6b2Q6IGFueTtcbiAgZm9yIChjb25zdCB0IG9mIHR5cGUpIHtcbiAgICB6b2QgPSB6b2QgPyB6b2Qub3IoaW5uZXJab2RpZnkodCkpIDogaW5uZXJab2RpZnkodCk7XG4gIH1cblxuICByZXR1cm4gem9kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gem9kaWZ5VmFsaWRhdGlvbihcbiAgem9kOiBhbnksXG4gIHR5cGU6IHN0cmluZyxcbiAgdmFsdWVzOiBWYWxpZGF0b3JPcHRpb25zXG4pIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NSU46XG4gICAgICByZXR1cm4gem9kLm1pbigodmFsdWVzIGFzIE1pblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1JTl0pO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSDpcbiAgICAgIHJldHVybiB6b2QubWluKFxuICAgICAgICAodmFsdWVzIGFzIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEhdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUFYOlxuICAgICAgcmV0dXJuIHpvZC5tYXgoKHZhbHVlcyBhcyBNYXhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NQVhdKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEg6XG4gICAgICByZXR1cm4gem9kLm1heChcbiAgICAgICAgKHZhbHVlcyBhcyBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlNURVA6XG4gICAgICByZXR1cm4gem9kLm11bHRpcGxlT2YoXG4gICAgICAgICh2YWx1ZXMgYXMgU3RlcFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlNURVBdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFUVEVSTjpcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlVSTDpcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkVNQUlMOlxuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFTU1dPUkQ6XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICBuZXcgUmVnRXhwKFxuICAgICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dIGFzIHN0cmluZyxcbiAgICAgICAgICBcImdcIlxuICAgICAgICApXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuREFURTpcbiAgICAgIHJldHVybiB6b2QuZGF0ZSgpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gem9kO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2RlbFRvWm9kPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IE0pIHtcbiAgY29uc3QgcmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgY29uc3QgcHJvcGVydGllcyA9IE1vZGVsLmdldEF0dHJpYnV0ZXMobW9kZWwpO1xuICBpZiAoQXJyYXkuaXNBcnJheShwcm9wZXJ0aWVzKSAmJiAhcHJvcGVydGllcy5sZW5ndGgpIHJldHVybiB6Lm9iamVjdCh7fSk7XG4gIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgaWYgKFxuICAgICAgdHlwZW9mIChtb2RlbCBhcyBhbnkpW3Byb3BdID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgIHByb3Auc3RhcnRzV2l0aChcIl9cIikgfHxcbiAgICAgIHByb3AgPT09IFwiY29uc3RydWN0b3JcIlxuICAgICkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgYWxsRGVjcyA9IFJlZmxlY3Rpb24uZ2V0UHJvcGVydHlEZWNvcmF0b3JzKFxuICAgICAgVmFsaWRhdGlvbktleXMuUkVGTEVDVCxcbiAgICAgIG1vZGVsLFxuICAgICAgcHJvcCxcbiAgICAgIGZhbHNlLFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICBjb25zdCBkZWNvcmF0b3JEYXRhID0gYWxsRGVjcy5kZWNvcmF0b3JzLnJlZHVjZShcbiAgICAgIChhY2N1bTogUmVjb3JkPHN0cmluZywgYW55PiwgZWwpID0+IHtcbiAgICAgICAgY29uc3QgeyBrZXksIHByb3BzIH0gPSBlbDtcbiAgICAgICAgaWYgKGtleSA9PT0gTW9kZWxLZXlzLlRZUEUgJiYgIWFjY3VtW1ZhbGlkYXRpb25LZXlzLlRZUEVdKSB7XG4gICAgICAgICAgYWNjdW1bVmFsaWRhdGlvbktleXMuVFlQRV0gPSB7XG4gICAgICAgICAgICBjdXN0b21UeXBlczogW3Byb3BzLm5hbWUgYXMgc3RyaW5nXSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuVFlQRSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImRlZmluZXMgdGhlIGFjY2VwdGVkIHR5cGVzIGZvciB0aGUgYXR0cmlidXRlXCIsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY2N1bVtrZXldID0gcHJvcHM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGlmICghT2JqZWN0LmtleXMoZGVjb3JhdG9yRGF0YSkubGVuZ3RoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBsZXQgem9kOiBhbnkgPSBab2RBbnk7XG5cbiAgICBjb25zdCB0eXBlRGF0YTogVHlwZU1ldGFkYXRhID0gZGVjb3JhdG9yRGF0YVtcbiAgICAgIFZhbGlkYXRpb25LZXlzLlRZUEVcbiAgICBdIGFzIFR5cGVNZXRhZGF0YTtcblxuICAgIGlmICghdHlwZURhdGEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyB0eXBlIGluZm9ybWF0aW9uYCk7XG4gICAgfVxuXG4gICAgem9kID0gem9kaWZ5KFxuICAgICAgKEFycmF5LmlzQXJyYXkodHlwZURhdGEuY3VzdG9tVHlwZXMpXG4gICAgICAgID8gdHlwZURhdGEuY3VzdG9tVHlwZXNcbiAgICAgICAgOiBbdHlwZURhdGEuY3VzdG9tVHlwZXNdXG4gICAgICApLm1hcCgoYykgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGMgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGMoKTtcbiAgICAgICAgcmV0dXJuIGM7XG4gICAgICB9KSxcbiAgICAgIGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF1cbiAgICAgICAgPyB6b2RpZnkoXG4gICAgICAgICAgICAoQXJyYXkuaXNBcnJheShcbiAgICAgICAgICAgICAgKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6elxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICA/IChkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpcbiAgICAgICAgICAgICAgOiBbKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6el1cbiAgICAgICAgICAgICkubWFwKChjKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgYyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGMoKS5uYW1lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBjIGFzIHN0cmluZztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICA6IFpvZEFueVxuICAgICk7XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHByb3BzXSBvZiBPYmplY3QuZW50cmllcyhkZWNvcmF0b3JEYXRhKS5maWx0ZXIoXG4gICAgICAoW2tdKSA9PiAhaXNSZXNlcnZlZEtleShrKVxuICAgICkpIHtcbiAgICAgIHpvZCA9IHpvZGlmeVZhbGlkYXRpb24oem9kLCBrZXksIHByb3BzKTtcbiAgICB9XG5cbiAgICBpZiAoIWRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuUkVRVUlSRURdKSB7XG4gICAgICB6b2QgPSB6b2Qub3B0aW9uYWwoKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IE1ldGFkYXRhLmRlc2NyaXB0aW9uKFxuICAgICAgbW9kZWwuY29uc3RydWN0b3IgYXMgYW55LFxuICAgICAgcHJvcCBhcyBhbnlcbiAgICApO1xuXG4gICAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICB6b2QgPSB6b2QuZGVzY3JpYmUoZGVzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIHJlc3VsdFtwcm9wXSA9IHpvZDtcbiAgfVxuXG4gIGNvbnN0IGRlc2NyaXB0aW9uID0gTWV0YWRhdGEuZGVzY3JpcHRpb24obW9kZWwuY29uc3RydWN0b3IgYXMgYW55KTtcbiAgY29uc3QgcmVzID0gei5vYmplY3QocmVzdWx0KTtcbiAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgcmVzLmRlc2NyaWJlKGRlc2NyaXB0aW9uKTtcbiAgfVxuICByZXR1cm4gcmVzO1xufVxuXG5jb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih6LCBcImZyb21cIiBhcyBrZXlvZiB0eXBlb2Ygeik7XG5cbmlmICghZGVzY3JpcHRvciB8fCBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoeiwgXCJmcm9tXCIsIHtcbiAgICB2YWx1ZTogPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IENvbnN0cnVjdG9yPE0+KSA9PiB7XG4gICAgICBjb25zdCBtID0gbmV3IG1vZGVsKCk7XG4gICAgICBpZiAoIU1ldGFkYXRhLmNvbnN0cihtLmNvbnN0cnVjdG9yIGFzIGFueSkpIE1vZGVsLmZyb21Nb2RlbChtLCB7fSk7XG4gICAgICByZXR1cm4gbW9kZWxUb1pvZChtKSBhcyBhbnk7XG4gICAgfSxcbiAgfSk7XG59XG4iLCJpbXBvcnQgeyBNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi96b2RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL292ZXJyaWRlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlZmxlY3Rpb24gcGFja2FnZVxuICogQHN1bW1hcnkgU3RvcmVzIHRoZSBzZW1hbnRpYyB2ZXJzaW9uIG51bWJlciBvZiB0aGUgcGFja2FnZVxuICogQGNvbnN0IFZFUlNJT05cbiAqIEBtZW1iZXJPZiBtb2R1bGU6YXMtem9kXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gXCIjI1ZFUlNJT04jI1wiO1xuXG5NZXRhZGF0YS5yZWdpc3RlckxpYnJhcnkoXCJAZGVjYWYtdHMvYXMtem9kXCIsIFZFUlNJT04pO1xuIl0sIm5hbWVzIjpbIlZhbGlkYXRpb25LZXlzIiwiTW9kZWxLZXlzIiwiWm9kQW55IiwiUHJpbWl0aXZlcyIsInoiLCJNb2RlbCIsInpvZCIsIlJlZmxlY3Rpb24iLCJERUZBVUxUX0VSUk9SX01FU1NBR0VTIiwiTWV0YWRhdGEiXSwibWFwcGluZ3MiOiI7Ozs7OztJQXFCQSxNQUFNLFlBQVksR0FBRztJQUNuQixJQUFBQSxrQ0FBYyxDQUFDLFFBQVE7SUFDdkIsSUFBQUEsa0NBQWMsQ0FBQyxJQUFJO0lBQ25CLElBQUFDLDZCQUFTLENBQUMsSUFBSTtLQUNOO0lBRVYsU0FBUyxhQUFhLENBQUMsRUFBVSxFQUFBO0lBQy9CLElBQUEsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQVMsQ0FBQztJQUN6QzthQUVnQixNQUFNLENBQUMsSUFBdUIsRUFBRSxLQUFVQyxVQUFNLEVBQUE7SUFDOUQsSUFBQSxJQUFJLEdBQUcsT0FBTyxJQUFJLEtBQUssUUFBUSxHQUFHLENB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
|
package/dist/as-zod.esm.cjs
CHANGED
|
@@ -146,7 +146,10 @@ const descriptor = Object.getOwnPropertyDescriptor(z, "from");
|
|
|
146
146
|
if (!descriptor || descriptor.configurable) {
|
|
147
147
|
Object.defineProperty(z, "from", {
|
|
148
148
|
value: (model) => {
|
|
149
|
-
|
|
149
|
+
const m = new model();
|
|
150
|
+
if (!Metadata.constr(m.constructor))
|
|
151
|
+
Model.fromModel(m, {});
|
|
152
|
+
return modelToZod(m);
|
|
150
153
|
},
|
|
151
154
|
});
|
|
152
155
|
}
|
|
@@ -157,8 +160,8 @@ if (!descriptor || descriptor.configurable) {
|
|
|
157
160
|
* @const VERSION
|
|
158
161
|
* @memberOf module:as-zod
|
|
159
162
|
*/
|
|
160
|
-
const VERSION = "0.0.
|
|
163
|
+
const VERSION = "0.0.13";
|
|
161
164
|
Metadata.registerLibrary("@decaf-ts/as-zod", VERSION);
|
|
162
165
|
|
|
163
166
|
export { VERSION, modelToZod, zodify, zodifyValidation };
|
|
164
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXMtem9kLmVzbS5janMiLCJzb3VyY2VzIjpbIi4uL3NyYy9vdmVycmlkZXMudHMiLCIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kZWwsXG4gIE1vZGVsS2V5cyxcbiAgVHlwZU1ldGFkYXRhLFxuICBQcmltaXRpdmVzLFxuICBERUZBVUxUX0VSUk9SX01FU1NBR0VTLFxuICBWYWxpZGF0b3JPcHRpb25zLFxuICBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zLFxuICBNaW5WYWxpZGF0b3JPcHRpb25zLFxuICBNYXhWYWxpZGF0b3JPcHRpb25zLFxuICBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zLFxuICBTdGVwVmFsaWRhdG9yT3B0aW9ucyxcbiAgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMsXG4gIExpc3RNZXRhZGF0YSxcbiAgQ29uc3RydWN0b3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyB6LCBab2RBbnkgfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBSZWZsZWN0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuY29uc3QgUmVzZXJ2ZWRLZXlzID0gW1xuICBWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRCxcbiAgVmFsaWRhdGlvbktleXMuVFlQRSxcbiAgTW9kZWxLZXlzLlRZUEUsXG5dIGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBpc1Jlc2VydmVkS2V5KGVsOiBzdHJpbmcpIHtcbiAgcmV0dXJuIFJlc2VydmVkS2V5cy5pbmNsdWRlcyhlbCBhcyBhbnkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gem9kaWZ5KHR5cGU6IHN0cmluZyB8IHN0cmluZ1tdLCB6ejogYW55ID0gWm9kQW55KSB7XG4gIHR5cGUgPSB0eXBlb2YgdHlwZSA9PT0gXCJzdHJpbmdcIiA/IFt0eXBlXSA6IHR5cGU7XG5cbiAgZnVuY3Rpb24gaW5uZXJab2RpZnkodHlwZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5TVFJJTkc6XG4gICAgICAgIHJldHVybiB6LnN0cmluZygpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLk5VTUJFUjpcbiAgICAgICAgcmV0dXJuIHoubnVtYmVyKCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuQklHSU5UOlxuICAgICAgICByZXR1cm4gei5iaWdpbnQoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5CT09MRUFOOlxuICAgICAgICByZXR1cm4gei5ib29sZWFuKCk7XG4gICAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkRBVEU6XG4gICAgICAgIHJldHVybiB6LmRhdGUoKTtcbiAgICAgIGNhc2UgQXJyYXkubmFtZS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICByZXR1cm4gei5hcnJheSh6eik7XG4gICAgICBjYXNlIFNldC5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgIHJldHVybiB6LnNldCh6eik7XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGNvbnN0IG0gPSBNb2RlbC5nZXQodHlwZSk7XG4gICAgICAgIGlmICghbSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW56b2RpZmlhYmxlIHR5cGU6ICR7dHlwZX1gKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHp6ID0gei5mcm9tKG0pO1xuICAgICAgICAgIHJldHVybiB6ejtcbiAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHpvZGlmeSBtb2RlbCAke3R5cGV9OiAke2V9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgem9kOiBhbnk7XG4gIGZvciAoY29uc3QgdCBvZiB0eXBlKSB7XG4gICAgem9kID0gem9kID8gem9kLm9yKGlubmVyWm9kaWZ5KHQpKSA6IGlubmVyWm9kaWZ5KHQpO1xuICB9XG5cbiAgcmV0dXJuIHpvZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHpvZGlmeVZhbGlkYXRpb24oXG4gIHpvZDogYW55LFxuICB0eXBlOiBzdHJpbmcsXG4gIHZhbHVlczogVmFsaWRhdG9yT3B0aW9uc1xuKSB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUlOOlxuICAgICAgcmV0dXJuIHpvZC5taW4oKHZhbHVlcyBhcyBNaW5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NSU5dKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEg6XG4gICAgICByZXR1cm4gem9kLm1pbihcbiAgICAgICAgKHZhbHVlcyBhcyBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1BWDpcbiAgICAgIHJldHVybiB6b2QubWF4KCh2YWx1ZXMgYXMgTWF4VmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUFYXSk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIOlxuICAgICAgcmV0dXJuIHpvZC5tYXgoXG4gICAgICAgICh2YWx1ZXMgYXMgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5TVEVQOlxuICAgICAgcmV0dXJuIHpvZC5tdWx0aXBsZU9mKFxuICAgICAgICAodmFsdWVzIGFzIFN0ZXBWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5TVEVQXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlBBVFRFUk46XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5VUkw6XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5FTUFJTDpcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlBBU1NXT1JEOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgbmV3IFJlZ0V4cChcbiAgICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXSBhcyBzdHJpbmcsXG4gICAgICAgICAgXCJnXCJcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkRBVEU6XG4gICAgICByZXR1cm4gem9kLmRhdGUoKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHpvZDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9kZWxUb1pvZDxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBNKSB7XG4gIGNvbnN0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBNb2RlbC5nZXRBdHRyaWJ1dGVzKG1vZGVsKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcykgJiYgIXByb3BlcnRpZXMubGVuZ3RoKSByZXR1cm4gei5vYmplY3Qoe30pO1xuICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcGVydGllcykge1xuICAgIGlmIChcbiAgICAgIHR5cGVvZiAobW9kZWwgYXMgYW55KVtwcm9wXSA9PT0gXCJmdW5jdGlvblwiIHx8XG4gICAgICBwcm9wLnN0YXJ0c1dpdGgoXCJfXCIpIHx8XG4gICAgICBwcm9wID09PSBcImNvbnN0cnVjdG9yXCJcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbERlY3MgPSBSZWZsZWN0aW9uLmdldFByb3BlcnR5RGVjb3JhdG9ycyhcbiAgICAgIFZhbGlkYXRpb25LZXlzLlJFRkxFQ1QsXG4gICAgICBtb2RlbCxcbiAgICAgIHByb3AsXG4gICAgICBmYWxzZSxcbiAgICAgIHRydWVcbiAgICApO1xuXG4gICAgY29uc3QgZGVjb3JhdG9yRGF0YSA9IGFsbERlY3MuZGVjb3JhdG9ycy5yZWR1Y2UoXG4gICAgICAoYWNjdW06IFJlY29yZDxzdHJpbmcsIGFueT4sIGVsKSA9PiB7XG4gICAgICAgIGNvbnN0IHsga2V5LCBwcm9wcyB9ID0gZWw7XG4gICAgICAgIGlmIChrZXkgPT09IE1vZGVsS2V5cy5UWVBFICYmICFhY2N1bVtWYWxpZGF0aW9uS2V5cy5UWVBFXSkge1xuICAgICAgICAgIGFjY3VtW1ZhbGlkYXRpb25LZXlzLlRZUEVdID0ge1xuICAgICAgICAgICAgY3VzdG9tVHlwZXM6IFtwcm9wcy5uYW1lIGFzIHN0cmluZ10sXG4gICAgICAgICAgICBtZXNzYWdlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlRZUEUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJkZWZpbmVzIHRoZSBhY2NlcHRlZCB0eXBlcyBmb3IgdGhlIGF0dHJpYnV0ZVwiLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjdW1ba2V5XSA9IHByb3BzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgIH0sXG4gICAgICB7fVxuICAgICk7XG5cbiAgICBpZiAoIU9iamVjdC5rZXlzKGRlY29yYXRvckRhdGEpLmxlbmd0aCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgbGV0IHpvZDogYW55ID0gWm9kQW55O1xuXG4gICAgY29uc3QgdHlwZURhdGE6IFR5cGVNZXRhZGF0YSA9IGRlY29yYXRvckRhdGFbXG4gICAgICBWYWxpZGF0aW9uS2V5cy5UWVBFXG4gICAgXSBhcyBUeXBlTWV0YWRhdGE7XG5cbiAgICBpZiAoIXR5cGVEYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgdHlwZSBpbmZvcm1hdGlvbmApO1xuICAgIH1cblxuICAgIHpvZCA9IHpvZGlmeShcbiAgICAgIChBcnJheS5pc0FycmF5KHR5cGVEYXRhLmN1c3RvbVR5cGVzKVxuICAgICAgICA/IHR5cGVEYXRhLmN1c3RvbVR5cGVzXG4gICAgICAgIDogW3R5cGVEYXRhLmN1c3RvbVR5cGVzXVxuICAgICAgKS5tYXAoKGMpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBjKCk7XG4gICAgICAgIHJldHVybiBjO1xuICAgICAgfSksXG4gICAgICBkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdXG4gICAgICAgID8gem9kaWZ5KFxuICAgICAgICAgICAgKEFycmF5LmlzQXJyYXkoXG4gICAgICAgICAgICAgIChkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgPyAoZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXSBhcyBMaXN0TWV0YWRhdGEpLmNsYXp6XG4gICAgICAgICAgICAgIDogWyhkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpdXG4gICAgICAgICAgICApLm1hcCgoYykgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIGMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBjKCkubmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gYyBhcyBzdHJpbmc7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgOiBab2RBbnlcbiAgICApO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCBwcm9wc10gb2YgT2JqZWN0LmVudHJpZXMoZGVjb3JhdG9yRGF0YSkuZmlsdGVyKFxuICAgICAgKFtrXSkgPT4gIWlzUmVzZXJ2ZWRLZXkoaylcbiAgICApKSB7XG4gICAgICB6b2QgPSB6b2RpZnlWYWxpZGF0aW9uKHpvZCwga2V5LCBwcm9wcyk7XG4gICAgfVxuXG4gICAgaWYgKCFkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLlJFUVVJUkVEXSkge1xuICAgICAgem9kID0gem9kLm9wdGlvbmFsKCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBNZXRhZGF0YS5kZXNjcmlwdGlvbihcbiAgICAgIG1vZGVsLmNvbnN0cnVjdG9yIGFzIGFueSxcbiAgICAgIHByb3AgYXMgYW55XG4gICAgKTtcblxuICAgIGlmIChkZXNjcmlwdGlvbikge1xuICAgICAgem9kID0gem9kLmRlc2NyaWJlKGRlc2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICByZXN1bHRbcHJvcF0gPSB6b2Q7XG4gIH1cblxuICBjb25zdCBkZXNjcmlwdGlvbiA9IE1ldGFkYXRhLmRlc2NyaXB0aW9uKG1vZGVsLmNvbnN0cnVjdG9yIGFzIGFueSk7XG4gIGNvbnN0IHJlcyA9IHoub2JqZWN0KHJlc3VsdCk7XG4gIGlmIChkZXNjcmlwdGlvbikge1xuICAgIHJlcy5kZXNjcmliZShkZXNjcmlwdGlvbik7XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cblxuY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoeiwgXCJmcm9tXCIgYXMga2V5b2YgdHlwZW9mIHopO1xuXG5pZiAoIWRlc2NyaXB0b3IgfHwgZGVzY3JpcHRvci5jb25maWd1cmFibGUpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHosIFwiZnJvbVwiLCB7XG4gICAgdmFsdWU6IDxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBDb25zdHJ1Y3RvcjxNPikgPT4ge1xuICAgICAgcmV0dXJuIG1vZGVsVG9ab2QobmV3IG1vZGVsKCkpIGFzIGFueTtcbiAgICB9LFxuICB9KTtcbn1cbiIsImltcG9ydCB7IE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL3pvZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vb3ZlcnJpZGVzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVmbGVjdGlvbiBwYWNrYWdlXG4gKiBAc3VtbWFyeSBTdG9yZXMgdGhlIHNlbWFudGljIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBwYWNrYWdlXG4gKiBAY29uc3QgVkVSU0lPTlxuICogQG1lbWJlck9mIG1vZHVsZTphcy16b2RcbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIiMjVkVSU0lPTiMjXCI7XG5cbk1ldGFkYXRhLnJlZ2lzdGVyTGlicmFyeShcIkBkZWNhZi10cy9hcy16b2RcIiwgVkVSU0lPTik7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFxQkEsTUFBTSxZQUFZLEdBQUc7QUFDbkIsSUFBQSxjQUFjLENBQUMsUUFBUTtBQUN2QixJQUFBLGNBQWMsQ0FBQyxJQUFJO0FBQ25CLElBQUEsU0FBUyxDQUFDLElBQUk7Q0FDTjtBQUVWLFNBQVMsYUFBYSxDQUFDLEVBQVUsRUFBQTtBQUMvQixJQUFBLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFTLENBQUM7QUFDekM7U0FFZ0IsTUFBTSxDQUFDLElBQXVCLEVBQUUsS0FBVSxNQUFNLEVBQUE7QUFDOUQsSUFBQSxJQUFJLEdBQUcsT0FBTyxJQUFJLEtBQUssUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSTtJQUUvQyxTQUFTLFdBQVcsQ0FBQyxJQUFZLEVBQUE7QUFDL0IsUUFBQSxRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDeEIsS0FBSyxVQUFVLENBQUMsTUFBTTtBQUNwQixnQkFBQSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDbkIsS0FBSyxVQUFVLENBQUMsTUFBTTtBQUNwQixnQkFBQSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUU7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
|
|
167
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXMtem9kLmVzbS5janMiLCJzb3VyY2VzIjpbIi4uL3NyYy9vdmVycmlkZXMudHMiLCIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kZWwsXG4gIE1vZGVsS2V5cyxcbiAgVHlwZU1ldGFkYXRhLFxuICBQcmltaXRpdmVzLFxuICBERUZBVUxUX0VSUk9SX01FU1NBR0VTLFxuICBWYWxpZGF0b3JPcHRpb25zLFxuICBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zLFxuICBNaW5WYWxpZGF0b3JPcHRpb25zLFxuICBNYXhWYWxpZGF0b3JPcHRpb25zLFxuICBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zLFxuICBTdGVwVmFsaWRhdG9yT3B0aW9ucyxcbiAgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMsXG4gIExpc3RNZXRhZGF0YSxcbiAgQ29uc3RydWN0b3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyB6LCBab2RBbnkgfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBSZWZsZWN0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuY29uc3QgUmVzZXJ2ZWRLZXlzID0gW1xuICBWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRCxcbiAgVmFsaWRhdGlvbktleXMuVFlQRSxcbiAgTW9kZWxLZXlzLlRZUEUsXG5dIGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBpc1Jlc2VydmVkS2V5KGVsOiBzdHJpbmcpIHtcbiAgcmV0dXJuIFJlc2VydmVkS2V5cy5pbmNsdWRlcyhlbCBhcyBhbnkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gem9kaWZ5KHR5cGU6IHN0cmluZyB8IHN0cmluZ1tdLCB6ejogYW55ID0gWm9kQW55KSB7XG4gIHR5cGUgPSB0eXBlb2YgdHlwZSA9PT0gXCJzdHJpbmdcIiA/IFt0eXBlXSA6IHR5cGU7XG5cbiAgZnVuY3Rpb24gaW5uZXJab2RpZnkodHlwZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5TVFJJTkc6XG4gICAgICAgIHJldHVybiB6LnN0cmluZygpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLk5VTUJFUjpcbiAgICAgICAgcmV0dXJuIHoubnVtYmVyKCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuQklHSU5UOlxuICAgICAgICByZXR1cm4gei5iaWdpbnQoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5CT09MRUFOOlxuICAgICAgICByZXR1cm4gei5ib29sZWFuKCk7XG4gICAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkRBVEU6XG4gICAgICAgIHJldHVybiB6LmRhdGUoKTtcbiAgICAgIGNhc2UgQXJyYXkubmFtZS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICByZXR1cm4gei5hcnJheSh6eik7XG4gICAgICBjYXNlIFNldC5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgIHJldHVybiB6LnNldCh6eik7XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGNvbnN0IG0gPSBNb2RlbC5nZXQodHlwZSk7XG4gICAgICAgIGlmICghbSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW56b2RpZmlhYmxlIHR5cGU6ICR7dHlwZX1gKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHp6ID0gei5mcm9tKG0pO1xuICAgICAgICAgIHJldHVybiB6ejtcbiAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHpvZGlmeSBtb2RlbCAke3R5cGV9OiAke2V9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgem9kOiBhbnk7XG4gIGZvciAoY29uc3QgdCBvZiB0eXBlKSB7XG4gICAgem9kID0gem9kID8gem9kLm9yKGlubmVyWm9kaWZ5KHQpKSA6IGlubmVyWm9kaWZ5KHQpO1xuICB9XG5cbiAgcmV0dXJuIHpvZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHpvZGlmeVZhbGlkYXRpb24oXG4gIHpvZDogYW55LFxuICB0eXBlOiBzdHJpbmcsXG4gIHZhbHVlczogVmFsaWRhdG9yT3B0aW9uc1xuKSB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUlOOlxuICAgICAgcmV0dXJuIHpvZC5taW4oKHZhbHVlcyBhcyBNaW5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NSU5dKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEg6XG4gICAgICByZXR1cm4gem9kLm1pbihcbiAgICAgICAgKHZhbHVlcyBhcyBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1BWDpcbiAgICAgIHJldHVybiB6b2QubWF4KCh2YWx1ZXMgYXMgTWF4VmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUFYXSk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIOlxuICAgICAgcmV0dXJuIHpvZC5tYXgoXG4gICAgICAgICh2YWx1ZXMgYXMgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5TVEVQOlxuICAgICAgcmV0dXJuIHpvZC5tdWx0aXBsZU9mKFxuICAgICAgICAodmFsdWVzIGFzIFN0ZXBWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5TVEVQXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlBBVFRFUk46XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5VUkw6XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5FTUFJTDpcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlBBU1NXT1JEOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgbmV3IFJlZ0V4cChcbiAgICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXSBhcyBzdHJpbmcsXG4gICAgICAgICAgXCJnXCJcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkRBVEU6XG4gICAgICByZXR1cm4gem9kLmRhdGUoKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHpvZDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9kZWxUb1pvZDxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBNKSB7XG4gIGNvbnN0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBNb2RlbC5nZXRBdHRyaWJ1dGVzKG1vZGVsKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcykgJiYgIXByb3BlcnRpZXMubGVuZ3RoKSByZXR1cm4gei5vYmplY3Qoe30pO1xuICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcGVydGllcykge1xuICAgIGlmIChcbiAgICAgIHR5cGVvZiAobW9kZWwgYXMgYW55KVtwcm9wXSA9PT0gXCJmdW5jdGlvblwiIHx8XG4gICAgICBwcm9wLnN0YXJ0c1dpdGgoXCJfXCIpIHx8XG4gICAgICBwcm9wID09PSBcImNvbnN0cnVjdG9yXCJcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbERlY3MgPSBSZWZsZWN0aW9uLmdldFByb3BlcnR5RGVjb3JhdG9ycyhcbiAgICAgIFZhbGlkYXRpb25LZXlzLlJFRkxFQ1QsXG4gICAgICBtb2RlbCxcbiAgICAgIHByb3AsXG4gICAgICBmYWxzZSxcbiAgICAgIHRydWVcbiAgICApO1xuXG4gICAgY29uc3QgZGVjb3JhdG9yRGF0YSA9IGFsbERlY3MuZGVjb3JhdG9ycy5yZWR1Y2UoXG4gICAgICAoYWNjdW06IFJlY29yZDxzdHJpbmcsIGFueT4sIGVsKSA9PiB7XG4gICAgICAgIGNvbnN0IHsga2V5LCBwcm9wcyB9ID0gZWw7XG4gICAgICAgIGlmIChrZXkgPT09IE1vZGVsS2V5cy5UWVBFICYmICFhY2N1bVtWYWxpZGF0aW9uS2V5cy5UWVBFXSkge1xuICAgICAgICAgIGFjY3VtW1ZhbGlkYXRpb25LZXlzLlRZUEVdID0ge1xuICAgICAgICAgICAgY3VzdG9tVHlwZXM6IFtwcm9wcy5uYW1lIGFzIHN0cmluZ10sXG4gICAgICAgICAgICBtZXNzYWdlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlRZUEUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJkZWZpbmVzIHRoZSBhY2NlcHRlZCB0eXBlcyBmb3IgdGhlIGF0dHJpYnV0ZVwiLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjdW1ba2V5XSA9IHByb3BzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgIH0sXG4gICAgICB7fVxuICAgICk7XG5cbiAgICBpZiAoIU9iamVjdC5rZXlzKGRlY29yYXRvckRhdGEpLmxlbmd0aCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgbGV0IHpvZDogYW55ID0gWm9kQW55O1xuXG4gICAgY29uc3QgdHlwZURhdGE6IFR5cGVNZXRhZGF0YSA9IGRlY29yYXRvckRhdGFbXG4gICAgICBWYWxpZGF0aW9uS2V5cy5UWVBFXG4gICAgXSBhcyBUeXBlTWV0YWRhdGE7XG5cbiAgICBpZiAoIXR5cGVEYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgdHlwZSBpbmZvcm1hdGlvbmApO1xuICAgIH1cblxuICAgIHpvZCA9IHpvZGlmeShcbiAgICAgIChBcnJheS5pc0FycmF5KHR5cGVEYXRhLmN1c3RvbVR5cGVzKVxuICAgICAgICA/IHR5cGVEYXRhLmN1c3RvbVR5cGVzXG4gICAgICAgIDogW3R5cGVEYXRhLmN1c3RvbVR5cGVzXVxuICAgICAgKS5tYXAoKGMpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBjKCk7XG4gICAgICAgIHJldHVybiBjO1xuICAgICAgfSksXG4gICAgICBkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdXG4gICAgICAgID8gem9kaWZ5KFxuICAgICAgICAgICAgKEFycmF5LmlzQXJyYXkoXG4gICAgICAgICAgICAgIChkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgPyAoZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXSBhcyBMaXN0TWV0YWRhdGEpLmNsYXp6XG4gICAgICAgICAgICAgIDogWyhkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpdXG4gICAgICAgICAgICApLm1hcCgoYykgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIGMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBjKCkubmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gYyBhcyBzdHJpbmc7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgOiBab2RBbnlcbiAgICApO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCBwcm9wc10gb2YgT2JqZWN0LmVudHJpZXMoZGVjb3JhdG9yRGF0YSkuZmlsdGVyKFxuICAgICAgKFtrXSkgPT4gIWlzUmVzZXJ2ZWRLZXkoaylcbiAgICApKSB7XG4gICAgICB6b2QgPSB6b2RpZnlWYWxpZGF0aW9uKHpvZCwga2V5LCBwcm9wcyk7XG4gICAgfVxuXG4gICAgaWYgKCFkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLlJFUVVJUkVEXSkge1xuICAgICAgem9kID0gem9kLm9wdGlvbmFsKCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBNZXRhZGF0YS5kZXNjcmlwdGlvbihcbiAgICAgIG1vZGVsLmNvbnN0cnVjdG9yIGFzIGFueSxcbiAgICAgIHByb3AgYXMgYW55XG4gICAgKTtcblxuICAgIGlmIChkZXNjcmlwdGlvbikge1xuICAgICAgem9kID0gem9kLmRlc2NyaWJlKGRlc2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICByZXN1bHRbcHJvcF0gPSB6b2Q7XG4gIH1cblxuICBjb25zdCBkZXNjcmlwdGlvbiA9IE1ldGFkYXRhLmRlc2NyaXB0aW9uKG1vZGVsLmNvbnN0cnVjdG9yIGFzIGFueSk7XG4gIGNvbnN0IHJlcyA9IHoub2JqZWN0KHJlc3VsdCk7XG4gIGlmIChkZXNjcmlwdGlvbikge1xuICAgIHJlcy5kZXNjcmliZShkZXNjcmlwdGlvbik7XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cblxuY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoeiwgXCJmcm9tXCIgYXMga2V5b2YgdHlwZW9mIHopO1xuXG5pZiAoIWRlc2NyaXB0b3IgfHwgZGVzY3JpcHRvci5jb25maWd1cmFibGUpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHosIFwiZnJvbVwiLCB7XG4gICAgdmFsdWU6IDxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBDb25zdHJ1Y3RvcjxNPikgPT4ge1xuICAgICAgY29uc3QgbSA9IG5ldyBtb2RlbCgpO1xuICAgICAgaWYgKCFNZXRhZGF0YS5jb25zdHIobS5jb25zdHJ1Y3RvciBhcyBhbnkpKSBNb2RlbC5mcm9tTW9kZWwobSwge30pO1xuICAgICAgcmV0dXJuIG1vZGVsVG9ab2QobSkgYXMgYW55O1xuICAgIH0sXG4gIH0pO1xufVxuIiwiaW1wb3J0IHsgTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vem9kXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vdmVycmlkZXNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZWZsZWN0aW9uIHBhY2thZ2VcbiAqIEBzdW1tYXJ5IFN0b3JlcyB0aGUgc2VtYW50aWMgdmVyc2lvbiBudW1iZXIgb2YgdGhlIHBhY2thZ2VcbiAqIEBjb25zdCBWRVJTSU9OXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmFzLXpvZFxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiIyNWRVJTSU9OIyNcIjtcblxuTWV0YWRhdGEucmVnaXN0ZXJMaWJyYXJ5KFwiQGRlY2FmLXRzL2FzLXpvZFwiLCBWRVJTSU9OKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXFCQSxNQUFNLFlBQVksR0FBRztBQUNuQixJQUFBLGNBQWMsQ0FBQyxRQUFRO0FBQ3ZCLElBQUEsY0FBYyxDQUFDLElBQUk7QUFDbkIsSUFBQSxTQUFTLENBQUMsSUFBSTtDQUNOO0FBRVYsU0FBUyxhQUFhLENBQUMsRUFBVSxFQUFBO0FBQy9CLElBQUEsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQVMsQ0FBQztBQUN6QztTQUVnQixNQUFNLENBQUMsSUFBdUIsRUFBRSxLQUFVLE1BQU0sRUFBQTtBQUM5RCxJQUFBLElBQUksR0FBRyxPQUFPLElBQUksS0FBSyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJO0lBRS9DLFNBQVMsV0FBVyxDQUFDLElBQVksRUFBQTtBQUMvQixRQUFBLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN4QixLQUFLLFVBQVUsQ0FBQyxNQUFNO0FBQ3BC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
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -7,6 +7,6 @@ export * from "./overrides.js";
|
|
|
7
7
|
* @const VERSION
|
|
8
8
|
* @memberOf module:as-zod
|
|
9
9
|
*/
|
|
10
|
-
export const VERSION = "0.0.
|
|
10
|
+
export const VERSION = "0.0.13";
|
|
11
11
|
Metadata.registerLibrary("@decaf-ts/as-zod", VERSION);
|
|
12
12
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWhELHlCQUFzQjtBQUN0QiwrQkFBNEI7QUFFNUI7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDO0FBRXJDLFFBQVEsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi96b2RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL292ZXJyaWRlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlZmxlY3Rpb24gcGFja2FnZVxuICogQHN1bW1hcnkgU3RvcmVzIHRoZSBzZW1hbnRpYyB2ZXJzaW9uIG51bWJlciBvZiB0aGUgcGFja2FnZVxuICogQGNvbnN0IFZFUlNJT05cbiAqIEBtZW1iZXJPZiBtb2R1bGU6YXMtem9kXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gXCIjI1ZFUlNJT04jI1wiO1xuXG5NZXRhZGF0YS5yZWdpc3RlckxpYnJhcnkoXCJAZGVjYWYtdHMvYXMtem9kXCIsIFZFUlNJT04pO1xuIl19
|
package/lib/esm/overrides.js
CHANGED
|
@@ -146,8 +146,11 @@ const descriptor = Object.getOwnPropertyDescriptor(z, "from");
|
|
|
146
146
|
if (!descriptor || descriptor.configurable) {
|
|
147
147
|
Object.defineProperty(z, "from", {
|
|
148
148
|
value: (model) => {
|
|
149
|
-
|
|
149
|
+
const m = new model();
|
|
150
|
+
if (!Metadata.constr(m.constructor))
|
|
151
|
+
Model.fromModel(m, {});
|
|
152
|
+
return modelToZod(m);
|
|
150
153
|
},
|
|
151
154
|
});
|
|
152
155
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL292ZXJyaWRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUNMLFNBQVMsRUFFVCxVQUFVLEVBQ1Ysc0JBQXNCLEdBVXZCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFaEUsTUFBTSxZQUFZLEdBQUc7SUFDbkIsY0FBYyxDQUFDLFFBQVE7SUFDdkIsY0FBYyxDQUFDLElBQUk7SUFDbkIsU0FBUyxDQUFDLElBQUk7Q0FDTixDQUFDO0FBRVgsU0FBUyxhQUFhLENBQUMsRUFBVTtJQUMvQixPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBUyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsSUFBdUIsRUFBRSxLQUFVLE1BQU07SUFDOUQsSUFBSSxHQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRWhELFNBQVMsV0FBVyxDQUFDLElBQVk7UUFDL0IsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUMzQixLQUFLLFVBQVUsQ0FBQyxNQUFNO2dCQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixLQUFLLFVBQVUsQ0FBQyxNQUFNO2dCQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixLQUFLLFVBQVUsQ0FBQyxNQUFNO2dC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QyxDQUFDO0lBQ25FLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQixHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxFQUFFLE1BQXdCLENBQUMsQ0FBQztBQUVoRixJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUU7UUFDL0IsS0FBSyxFQUFFLENBQWtCLEtBQXFCLEVBQUUsRUFBRTtZQUNoRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFRLENBQUM7UUFDeEMsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbCxcbiAgTW9kZWxLZXlzLFxuICBUeXBlTWV0YWRhdGEsXG4gIFByaW1pdGl2ZXMsXG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIFZhbGlkYXRvck9wdGlvbnMsXG4gIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMsXG4gIE1pblZhbGlkYXRvck9wdGlvbnMsXG4gIE1heFZhbGlkYXRvck9wdGlvbnMsXG4gIE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMsXG4gIFN0ZXBWYWxpZGF0b3JPcHRpb25zLFxuICBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyxcbiAgTGlzdE1ldGFkYXRhLFxuICBDb25zdHJ1Y3Rvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IHosIFpvZEFueSB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IFJlZmxlY3Rpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuXG5jb25zdCBSZXNlcnZlZEtleXMgPSBbXG4gIFZhbGlkYXRpb25LZXlzLlJFUVVJUkVELFxuICBWYWxpZGF0aW9uS2V5cy5UWVBFLFxuICBNb2RlbEtleXMuVFlQRSxcbl0gYXMgY29uc3Q7XG5cbmZ1bmN0aW9uIGlzUmVzZXJ2ZWRLZXkoZWw6IHN0cmluZykge1xuICByZXR1cm4gUmVzZXJ2ZWRLZXlzLmluY2x1ZGVzKGVsIGFzIGFueSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6b2RpZnkodHlwZTogc3RyaW5nIHwgc3RyaW5nW10sIHp6OiBhbnkgPSBab2RBbnkpIHtcbiAgdHlwZSA9IHR5cGVvZiB0eXBlID09PSBcInN0cmluZ1wiID8gW3R5cGVdIDogdHlwZTtcblxuICBmdW5jdGlvbiBpbm5lclpvZGlmeSh0eXBlOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHR5cGUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSBQcmltaXRpdmVzLlNUUklORzpcbiAgICAgICAgcmV0dXJuIHouc3RyaW5nKCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuTlVNQkVSOlxuICAgICAgICByZXR1cm4gei5udW1iZXIoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5CSUdJTlQ6XG4gICAgICAgIHJldHVybiB6LmJpZ2ludCgpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLkJPT0xFQU46XG4gICAgICAgIHJldHVybiB6LmJvb2xlYW4oKTtcbiAgICAgIGNhc2UgVmFsaWRhdGlvbktleXMuREFURTpcbiAgICAgICAgcmV0dXJuIHouZGF0ZSgpO1xuICAgICAgY2FzZSBBcnJheS5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgIHJldHVybiB6LmFycmF5KHp6KTtcbiAgICAgIGNhc2UgU2V0Lm5hbWUudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgcmV0dXJuIHouc2V0KHp6KTtcbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgbSA9IE1vZGVsLmdldCh0eXBlKTtcbiAgICAgICAgaWYgKCFtKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnpvZGlmaWFibGUgdHlwZTogJHt0eXBlfWApO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgenogPSB6LmZyb20obSk7XG4gICAgICAgICAgcmV0dXJuIHp6O1xuICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gem9kaWZ5IG1vZGVsICR7dHlwZX06ICR7ZX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCB6b2Q6IGFueTtcbiAgZm9yIChjb25zdCB0IG9mIHR5cGUpIHtcbiAgICB6b2QgPSB6b2QgPyB6b2Qub3IoaW5uZXJab2RpZnkodCkpIDogaW5uZXJab2RpZnkodCk7XG4gIH1cblxuICByZXR1cm4gem9kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gem9kaWZ5VmFsaWRhdGlvbihcbiAgem9kOiBhbnksXG4gIHR5cGU6IHN0cmluZyxcbiAgdmFsdWVzOiBWYWxpZGF0b3JPcHRpb25zXG4pIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NSU46XG4gICAgICByZXR1cm4gem9kLm1pbigodmFsdWVzIGFzIE1pblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1JTl0pO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSDpcbiAgICAgIHJldHVybiB6b2QubWluKFxuICAgICAgICAodmFsdWVzIGFzIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEhdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUFYOlxuICAgICAgcmV0dXJuIHpvZC5tYXgoKHZhbHVlcyBhcyBNYXhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NQVhdKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEg6XG4gICAgICByZXR1cm4gem9kLm1heChcbiAgICAgICAgKHZhbHVlcyBhcyBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlNURVA6XG4gICAgICByZXR1cm4gem9kLm11bHRpcGxlT2YoXG4gICAgICAgICh2YWx1ZXMgYXMgU3RlcFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlNURVBdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFUVEVSTjpcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlVSTDpcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkVNQUlMOlxuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFTU1dPUkQ6XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICBuZXcgUmVnRXhwKFxuICAgICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dIGFzIHN0cmluZyxcbiAgICAgICAgICBcImdcIlxuICAgICAgICApXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuREFURTpcbiAgICAgIHJldHVybiB6b2QuZGF0ZSgpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gem9kO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2RlbFRvWm9kPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IE0pIHtcbiAgY29uc3QgcmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgY29uc3QgcHJvcGVydGllcyA9IE1vZGVsLmdldEF0dHJpYnV0ZXMobW9kZWwpO1xuICBpZiAoQXJyYXkuaXNBcnJheShwcm9wZXJ0aWVzKSAmJiAhcHJvcGVydGllcy5sZW5ndGgpIHJldHVybiB6Lm9iamVjdCh7fSk7XG4gIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgaWYgKFxuICAgICAgdHlwZW9mIChtb2RlbCBhcyBhbnkpW3Byb3BdID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgIHByb3Auc3RhcnRzV2l0aChcIl9cIikgfHxcbiAgICAgIHByb3AgPT09IFwiY29uc3RydWN0b3JcIlxuICAgICkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgYWxsRGVjcyA9IFJlZmxlY3Rpb24uZ2V0UHJvcGVydHlEZWNvcmF0b3JzKFxuICAgICAgVmFsaWRhdGlvbktleXMuUkVGTEVDVCxcbiAgICAgIG1vZGVsLFxuICAgICAgcHJvcCxcbiAgICAgIGZhbHNlLFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICBjb25zdCBkZWNvcmF0b3JEYXRhID0gYWxsRGVjcy5kZWNvcmF0b3JzLnJlZHVjZShcbiAgICAgIChhY2N1bTogUmVjb3JkPHN0cmluZywgYW55PiwgZWwpID0+IHtcbiAgICAgICAgY29uc3QgeyBrZXksIHByb3BzIH0gPSBlbDtcbiAgICAgICAgaWYgKGtleSA9PT0gTW9kZWxLZXlzLlRZUEUgJiYgIWFjY3VtW1ZhbGlkYXRpb25LZXlzLlRZUEVdKSB7XG4gICAgICAgICAgYWNjdW1bVmFsaWRhdGlvbktleXMuVFlQRV0gPSB7XG4gICAgICAgICAgICBjdXN0b21UeXBlczogW3Byb3BzLm5hbWUgYXMgc3RyaW5nXSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuVFlQRSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImRlZmluZXMgdGhlIGFjY2VwdGVkIHR5cGVzIGZvciB0aGUgYXR0cmlidXRlXCIsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY2N1bVtrZXldID0gcHJvcHM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGlmICghT2JqZWN0LmtleXMoZGVjb3JhdG9yRGF0YSkubGVuZ3RoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBsZXQgem9kOiBhbnkgPSBab2RBbnk7XG5cbiAgICBjb25zdCB0eXBlRGF0YTogVHlwZU1ldGFkYXRhID0gZGVjb3JhdG9yRGF0YVtcbiAgICAgIFZhbGlkYXRpb25LZXlzLlRZUEVcbiAgICBdIGFzIFR5cGVNZXRhZGF0YTtcblxuICAgIGlmICghdHlwZURhdGEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyB0eXBlIGluZm9ybWF0aW9uYCk7XG4gICAgfVxuXG4gICAgem9kID0gem9kaWZ5KFxuICAgICAgKEFycmF5LmlzQXJyYXkodHlwZURhdGEuY3VzdG9tVHlwZXMpXG4gICAgICAgID8gdHlwZURhdGEuY3VzdG9tVHlwZXNcbiAgICAgICAgOiBbdHlwZURhdGEuY3VzdG9tVHlwZXNdXG4gICAgICApLm1hcCgoYykgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGMgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGMoKTtcbiAgICAgICAgcmV0dXJuIGM7XG4gICAgICB9KSxcbiAgICAgIGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF1cbiAgICAgICAgPyB6b2RpZnkoXG4gICAgICAgICAgICAoQXJyYXkuaXNBcnJheShcbiAgICAgICAgICAgICAgKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6elxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICA/IChkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpcbiAgICAgICAgICAgICAgOiBbKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6el1cbiAgICAgICAgICAgICkubWFwKChjKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgYyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGMoKS5uYW1lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBjIGFzIHN0cmluZztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICA6IFpvZEFueVxuICAgICk7XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHByb3BzXSBvZiBPYmplY3QuZW50cmllcyhkZWNvcmF0b3JEYXRhKS5maWx0ZXIoXG4gICAgICAoW2tdKSA9PiAhaXNSZXNlcnZlZEtleShrKVxuICAgICkpIHtcbiAgICAgIHpvZCA9IHpvZGlmeVZhbGlkYXRpb24oem9kLCBrZXksIHByb3BzKTtcbiAgICB9XG5cbiAgICBpZiAoIWRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuUkVRVUlSRURdKSB7XG4gICAgICB6b2QgPSB6b2Qub3B0aW9uYWwoKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IE1ldGFkYXRhLmRlc2NyaXB0aW9uKFxuICAgICAgbW9kZWwuY29uc3RydWN0b3IgYXMgYW55LFxuICAgICAgcHJvcCBhcyBhbnlcbiAgICApO1xuXG4gICAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICB6b2QgPSB6b2QuZGVzY3JpYmUoZGVzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIHJlc3VsdFtwcm9wXSA9IHpvZDtcbiAgfVxuXG4gIGNvbnN0IGRlc2NyaXB0aW9uID0gTWV0YWRhdGEuZGVzY3JpcHRpb24obW9kZWwuY29uc3RydWN0b3IgYXMgYW55KTtcbiAgY29uc3QgcmVzID0gei5vYmplY3QocmVzdWx0KTtcbiAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgcmVzLmRlc2NyaWJlKGRlc2NyaXB0aW9uKTtcbiAgfVxuICByZXR1cm4gcmVzO1xufVxuXG5jb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih6LCBcImZyb21cIiBhcyBrZXlvZiB0eXBlb2Ygeik7XG5cbmlmICghZGVzY3JpcHRvciB8fCBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoeiwgXCJmcm9tXCIsIHtcbiAgICB2YWx1ZTogPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IENvbnN0cnVjdG9yPE0+KSA9PiB7XG4gICAgICByZXR1cm4gbW9kZWxUb1pvZChuZXcgbW9kZWwoKSkgYXMgYW55O1xuICAgIH0sXG4gIH0pO1xufVxuIl19
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL292ZXJyaWRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUNMLFNBQVMsRUFFVCxVQUFVLEVBQ1Ysc0JBQXNCLEdBVXZCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFaEUsTUFBTSxZQUFZLEdBQUc7SUFDbkIsY0FBYyxDQUFDLFFBQVE7SUFDdkIsY0FBYyxDQUFDLElBQUk7SUFDbkIsU0FBUyxDQUFDLElBQUk7Q0FDTixDQUFDO0FBRVgsU0FBUyxhQUFhLENBQUMsRUFBVTtJQUMvQixPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBUyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsSUFBdUIsRUFBRSxLQUFVLE1BQU07SUFDOUQsSUFBSSxHQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRWhELFNBQVMsV0FBVyxDQUFDLElBQVk7UUFDL0IsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUMzQixLQUFLLFVBQVUsQ0FBQyxNQUFNO2dCQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixLQUFLLFVBQVUsQ0FBQyxNQUFNO2dCQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixLQUFLLFVBQVUsQ0FBQyxNQUFNO2dC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QyxDQUFDO0lBQ25FLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQixHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxFQUFFLE1BQXdCLENBQUMsQ0FBQztBQUVoRixJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUU7UUFDL0IsS0FBSyxFQUFFLENBQWtCLEtBQXFCLEVBQUUsRUFBRTtZQUNoRCxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFrQixDQUFDO2dCQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBUSxDQUFDO1FBQzlCLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kZWwsXG4gIE1vZGVsS2V5cyxcbiAgVHlwZU1ldGFkYXRhLFxuICBQcmltaXRpdmVzLFxuICBERUZBVUxUX0VSUk9SX01FU1NBR0VTLFxuICBWYWxpZGF0b3JPcHRpb25zLFxuICBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zLFxuICBNaW5WYWxpZGF0b3JPcHRpb25zLFxuICBNYXhWYWxpZGF0b3JPcHRpb25zLFxuICBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zLFxuICBTdGVwVmFsaWRhdG9yT3B0aW9ucyxcbiAgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMsXG4gIExpc3RNZXRhZGF0YSxcbiAgQ29uc3RydWN0b3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyB6LCBab2RBbnkgfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBSZWZsZWN0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuY29uc3QgUmVzZXJ2ZWRLZXlzID0gW1xuICBWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRCxcbiAgVmFsaWRhdGlvbktleXMuVFlQRSxcbiAgTW9kZWxLZXlzLlRZUEUsXG5dIGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBpc1Jlc2VydmVkS2V5KGVsOiBzdHJpbmcpIHtcbiAgcmV0dXJuIFJlc2VydmVkS2V5cy5pbmNsdWRlcyhlbCBhcyBhbnkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gem9kaWZ5KHR5cGU6IHN0cmluZyB8IHN0cmluZ1tdLCB6ejogYW55ID0gWm9kQW55KSB7XG4gIHR5cGUgPSB0eXBlb2YgdHlwZSA9PT0gXCJzdHJpbmdcIiA/IFt0eXBlXSA6IHR5cGU7XG5cbiAgZnVuY3Rpb24gaW5uZXJab2RpZnkodHlwZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5TVFJJTkc6XG4gICAgICAgIHJldHVybiB6LnN0cmluZygpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLk5VTUJFUjpcbiAgICAgICAgcmV0dXJuIHoubnVtYmVyKCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuQklHSU5UOlxuICAgICAgICByZXR1cm4gei5iaWdpbnQoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5CT09MRUFOOlxuICAgICAgICByZXR1cm4gei5ib29sZWFuKCk7XG4gICAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkRBVEU6XG4gICAgICAgIHJldHVybiB6LmRhdGUoKTtcbiAgICAgIGNhc2UgQXJyYXkubmFtZS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICByZXR1cm4gei5hcnJheSh6eik7XG4gICAgICBjYXNlIFNldC5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgIHJldHVybiB6LnNldCh6eik7XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGNvbnN0IG0gPSBNb2RlbC5nZXQodHlwZSk7XG4gICAgICAgIGlmICghbSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW56b2RpZmlhYmxlIHR5cGU6ICR7dHlwZX1gKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHp6ID0gei5mcm9tKG0pO1xuICAgICAgICAgIHJldHVybiB6ejtcbiAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHpvZGlmeSBtb2RlbCAke3R5cGV9OiAke2V9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgem9kOiBhbnk7XG4gIGZvciAoY29uc3QgdCBvZiB0eXBlKSB7XG4gICAgem9kID0gem9kID8gem9kLm9yKGlubmVyWm9kaWZ5KHQpKSA6IGlubmVyWm9kaWZ5KHQpO1xuICB9XG5cbiAgcmV0dXJuIHpvZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHpvZGlmeVZhbGlkYXRpb24oXG4gIHpvZDogYW55LFxuICB0eXBlOiBzdHJpbmcsXG4gIHZhbHVlczogVmFsaWRhdG9yT3B0aW9uc1xuKSB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUlOOlxuICAgICAgcmV0dXJuIHpvZC5taW4oKHZhbHVlcyBhcyBNaW5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NSU5dKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEg6XG4gICAgICByZXR1cm4gem9kLm1pbihcbiAgICAgICAgKHZhbHVlcyBhcyBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1BWDpcbiAgICAgIHJldHVybiB6b2QubWF4KCh2YWx1ZXMgYXMgTWF4VmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUFYXSk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIOlxuICAgICAgcmV0dXJuIHpvZC5tYXgoXG4gICAgICAgICh2YWx1ZXMgYXMgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5TVEVQOlxuICAgICAgcmV0dXJuIHpvZC5tdWx0aXBsZU9mKFxuICAgICAgICAodmFsdWVzIGFzIFN0ZXBWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5TVEVQXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlBBVFRFUk46XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5VUkw6XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5FTUFJTDpcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlBBU1NXT1JEOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgbmV3IFJlZ0V4cChcbiAgICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXSBhcyBzdHJpbmcsXG4gICAgICAgICAgXCJnXCJcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkRBVEU6XG4gICAgICByZXR1cm4gem9kLmRhdGUoKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHpvZDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9kZWxUb1pvZDxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBNKSB7XG4gIGNvbnN0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBNb2RlbC5nZXRBdHRyaWJ1dGVzKG1vZGVsKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcykgJiYgIXByb3BlcnRpZXMubGVuZ3RoKSByZXR1cm4gei5vYmplY3Qoe30pO1xuICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcGVydGllcykge1xuICAgIGlmIChcbiAgICAgIHR5cGVvZiAobW9kZWwgYXMgYW55KVtwcm9wXSA9PT0gXCJmdW5jdGlvblwiIHx8XG4gICAgICBwcm9wLnN0YXJ0c1dpdGgoXCJfXCIpIHx8XG4gICAgICBwcm9wID09PSBcImNvbnN0cnVjdG9yXCJcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbERlY3MgPSBSZWZsZWN0aW9uLmdldFByb3BlcnR5RGVjb3JhdG9ycyhcbiAgICAgIFZhbGlkYXRpb25LZXlzLlJFRkxFQ1QsXG4gICAgICBtb2RlbCxcbiAgICAgIHByb3AsXG4gICAgICBmYWxzZSxcbiAgICAgIHRydWVcbiAgICApO1xuXG4gICAgY29uc3QgZGVjb3JhdG9yRGF0YSA9IGFsbERlY3MuZGVjb3JhdG9ycy5yZWR1Y2UoXG4gICAgICAoYWNjdW06IFJlY29yZDxzdHJpbmcsIGFueT4sIGVsKSA9PiB7XG4gICAgICAgIGNvbnN0IHsga2V5LCBwcm9wcyB9ID0gZWw7XG4gICAgICAgIGlmIChrZXkgPT09IE1vZGVsS2V5cy5UWVBFICYmICFhY2N1bVtWYWxpZGF0aW9uS2V5cy5UWVBFXSkge1xuICAgICAgICAgIGFjY3VtW1ZhbGlkYXRpb25LZXlzLlRZUEVdID0ge1xuICAgICAgICAgICAgY3VzdG9tVHlwZXM6IFtwcm9wcy5uYW1lIGFzIHN0cmluZ10sXG4gICAgICAgICAgICBtZXNzYWdlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlRZUEUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJkZWZpbmVzIHRoZSBhY2NlcHRlZCB0eXBlcyBmb3IgdGhlIGF0dHJpYnV0ZVwiLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjdW1ba2V5XSA9IHByb3BzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgIH0sXG4gICAgICB7fVxuICAgICk7XG5cbiAgICBpZiAoIU9iamVjdC5rZXlzKGRlY29yYXRvckRhdGEpLmxlbmd0aCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgbGV0IHpvZDogYW55ID0gWm9kQW55O1xuXG4gICAgY29uc3QgdHlwZURhdGE6IFR5cGVNZXRhZGF0YSA9IGRlY29yYXRvckRhdGFbXG4gICAgICBWYWxpZGF0aW9uS2V5cy5UWVBFXG4gICAgXSBhcyBUeXBlTWV0YWRhdGE7XG5cbiAgICBpZiAoIXR5cGVEYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgdHlwZSBpbmZvcm1hdGlvbmApO1xuICAgIH1cblxuICAgIHpvZCA9IHpvZGlmeShcbiAgICAgIChBcnJheS5pc0FycmF5KHR5cGVEYXRhLmN1c3RvbVR5cGVzKVxuICAgICAgICA/IHR5cGVEYXRhLmN1c3RvbVR5cGVzXG4gICAgICAgIDogW3R5cGVEYXRhLmN1c3RvbVR5cGVzXVxuICAgICAgKS5tYXAoKGMpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBjKCk7XG4gICAgICAgIHJldHVybiBjO1xuICAgICAgfSksXG4gICAgICBkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdXG4gICAgICAgID8gem9kaWZ5KFxuICAgICAgICAgICAgKEFycmF5LmlzQXJyYXkoXG4gICAgICAgICAgICAgIChkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgPyAoZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXSBhcyBMaXN0TWV0YWRhdGEpLmNsYXp6XG4gICAgICAgICAgICAgIDogWyhkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpdXG4gICAgICAgICAgICApLm1hcCgoYykgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIGMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBjKCkubmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gYyBhcyBzdHJpbmc7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgOiBab2RBbnlcbiAgICApO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCBwcm9wc10gb2YgT2JqZWN0LmVudHJpZXMoZGVjb3JhdG9yRGF0YSkuZmlsdGVyKFxuICAgICAgKFtrXSkgPT4gIWlzUmVzZXJ2ZWRLZXkoaylcbiAgICApKSB7XG4gICAgICB6b2QgPSB6b2RpZnlWYWxpZGF0aW9uKHpvZCwga2V5LCBwcm9wcyk7XG4gICAgfVxuXG4gICAgaWYgKCFkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLlJFUVVJUkVEXSkge1xuICAgICAgem9kID0gem9kLm9wdGlvbmFsKCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBNZXRhZGF0YS5kZXNjcmlwdGlvbihcbiAgICAgIG1vZGVsLmNvbnN0cnVjdG9yIGFzIGFueSxcbiAgICAgIHByb3AgYXMgYW55XG4gICAgKTtcblxuICAgIGlmIChkZXNjcmlwdGlvbikge1xuICAgICAgem9kID0gem9kLmRlc2NyaWJlKGRlc2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICByZXN1bHRbcHJvcF0gPSB6b2Q7XG4gIH1cblxuICBjb25zdCBkZXNjcmlwdGlvbiA9IE1ldGFkYXRhLmRlc2NyaXB0aW9uKG1vZGVsLmNvbnN0cnVjdG9yIGFzIGFueSk7XG4gIGNvbnN0IHJlcyA9IHoub2JqZWN0KHJlc3VsdCk7XG4gIGlmIChkZXNjcmlwdGlvbikge1xuICAgIHJlcy5kZXNjcmliZShkZXNjcmlwdGlvbik7XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cblxuY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoeiwgXCJmcm9tXCIgYXMga2V5b2YgdHlwZW9mIHopO1xuXG5pZiAoIWRlc2NyaXB0b3IgfHwgZGVzY3JpcHRvci5jb25maWd1cmFibGUpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHosIFwiZnJvbVwiLCB7XG4gICAgdmFsdWU6IDxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBDb25zdHJ1Y3RvcjxNPikgPT4ge1xuICAgICAgY29uc3QgbSA9IG5ldyBtb2RlbCgpO1xuICAgICAgaWYgKCFNZXRhZGF0YS5jb25zdHIobS5jb25zdHJ1Y3RvciBhcyBhbnkpKSBNb2RlbC5mcm9tTW9kZWwobSwge30pO1xuICAgICAgcmV0dXJuIG1vZGVsVG9ab2QobSkgYXMgYW55O1xuICAgIH0sXG4gIH0pO1xufVxuIl19
|
package/lib/index.cjs
CHANGED
|
@@ -24,6 +24,6 @@ __exportStar(require("./overrides.cjs"), exports);
|
|
|
24
24
|
* @const VERSION
|
|
25
25
|
* @memberOf module:as-zod
|
|
26
26
|
*/
|
|
27
|
-
exports.VERSION = "0.0.
|
|
27
|
+
exports.VERSION = "0.0.13";
|
|
28
28
|
decoration_1.Metadata.registerLibrary("@decaf-ts/as-zod", exports.VERSION);
|
|
29
29
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBZ0Q7QUFFaEQsNENBQXNCO0FBQ3RCLGtEQUE0QjtBQUU1Qjs7Ozs7R0FLRztBQUNVLFFBQUEsT0FBTyxHQUFHLGFBQWEsQ0FBQztBQUVyQyxxQkFBUSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRSxlQUFPLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL3pvZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vb3ZlcnJpZGVzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVmbGVjdGlvbiBwYWNrYWdlXG4gKiBAc3VtbWFyeSBTdG9yZXMgdGhlIHNlbWFudGljIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBwYWNrYWdlXG4gKiBAY29uc3QgVkVSU0lPTlxuICogQG1lbWJlck9mIG1vZHVsZTphcy16b2RcbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIiMjVkVSU0lPTiMjXCI7XG5cbk1ldGFkYXRhLnJlZ2lzdGVyTGlicmFyeShcIkBkZWNhZi10cy9hcy16b2RcIiwgVkVSU0lPTik7XG4iXX0=
|
package/lib/index.d.ts
CHANGED
package/lib/overrides.cjs
CHANGED
|
@@ -151,8 +151,11 @@ const descriptor = Object.getOwnPropertyDescriptor(zod_1.z, "from");
|
|
|
151
151
|
if (!descriptor || descriptor.configurable) {
|
|
152
152
|
Object.defineProperty(zod_1.z, "from", {
|
|
153
153
|
value: (model) => {
|
|
154
|
-
|
|
154
|
+
const m = new model();
|
|
155
|
+
if (!decoration_1.Metadata.constr(m.constructor))
|
|
156
|
+
decorator_validation_1.Model.fromModel(m, {});
|
|
157
|
+
return modelToZod(m);
|
|
155
158
|
},
|
|
156
159
|
});
|
|
157
160
|
}
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL292ZXJyaWRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQStCQSx3QkF3Q0M7QUFFRCw0Q0FxQ0M7QUFFRCxnQ0EwR0M7QUExTkQseUVBZXdDO0FBQ3hDLHFEQUFnRDtBQUNoRCw2QkFBZ0M7QUFDaEMscURBQWtEO0FBQ2xELHlFQUFnRTtBQUVoRSxNQUFNLFlBQVksR0FBRztJQUNuQixxQ0FBYyxDQUFDLFFBQVE7SUFDdkIscUNBQWMsQ0FBQyxJQUFJO0lBQ25CLGdDQUFTLENBQUMsSUFBSTtDQUNOLENBQUM7QUFFWCxTQUFTLGFBQWEsQ0FBQyxFQUFVO0lBQy9CLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFTLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsU0FBZ0IsTUFBTSxDQUFDLElBQXVCLEVBQUUsS0FBVSxZQUFNO0lBQzlELElBQUksR0FBRyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUVoRCxTQUFTLFdBQVcsQ0FBQyxJQUFZO1FBQy9CLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDM0IsS0FBSyxpQ0FBVSxDQUFDLE1BQU07Z0JBQ3BCLE9BQU8sT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLEtBQUssaUNBQVUsQ0FBQyxNQUFNO2dCQUNwQixPQUFPLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixLQUFLLGlDQUFVLENBQUMsTUFBTTtnQkFDcEIsT0FBTyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsS0FBSyxpQ0FBVSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLEtBQUsscUNBQWMsQ0FBQyxJQUFJO2dCQUN0QixPQUFPLE9BQUMsQ0FBQyxJQUFJ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QUM7SUFDNUIsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxPQUFDLEVBQUUsTUFBd0IsQ0FBQyxDQUFDO0FBRWhGLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBQyxFQUFFLE1BQU0sRUFBRTtRQUMvQixLQUFLLEVBQUUsQ0FBa0IsS0FBcUIsRUFBRSxFQUFFO1lBQ2hELE9BQU8sVUFBVSxDQUFDLElBQUksS0FBSyxFQUFFLENBQVEsQ0FBQztRQUN4QyxDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vZGVsLFxuICBNb2RlbEtleXMsXG4gIFR5cGVNZXRhZGF0YSxcbiAgUHJpbWl0aXZlcyxcbiAgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyxcbiAgVmFsaWRhdG9yT3B0aW9ucyxcbiAgTWluTGVuZ3RoVmFsaWRhdG9yT3B0aW9ucyxcbiAgTWluVmFsaWRhdG9yT3B0aW9ucyxcbiAgTWF4VmFsaWRhdG9yT3B0aW9ucyxcbiAgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucyxcbiAgU3RlcFZhbGlkYXRvck9wdGlvbnMsXG4gIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zLFxuICBMaXN0TWV0YWRhdGEsXG4gIENvbnN0cnVjdG9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgeiwgWm9kQW55IH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHsgUmVmbGVjdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvcmVmbGVjdGlvblwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5cbmNvbnN0IFJlc2VydmVkS2V5cyA9IFtcbiAgVmFsaWRhdGlvbktleXMuUkVRVUlSRUQsXG4gIFZhbGlkYXRpb25LZXlzLlRZUEUsXG4gIE1vZGVsS2V5cy5UWVBFLFxuXSBhcyBjb25zdDtcblxuZnVuY3Rpb24gaXNSZXNlcnZlZEtleShlbDogc3RyaW5nKSB7XG4gIHJldHVybiBSZXNlcnZlZEtleXMuaW5jbHVkZXMoZWwgYXMgYW55KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHpvZGlmeSh0eXBlOiBzdHJpbmcgfCBzdHJpbmdbXSwgeno6IGFueSA9IFpvZEFueSkge1xuICB0eXBlID0gdHlwZW9mIHR5cGUgPT09IFwic3RyaW5nXCIgPyBbdHlwZV0gOiB0eXBlO1xuXG4gIGZ1bmN0aW9uIGlubmVyWm9kaWZ5KHR5cGU6IHN0cmluZykge1xuICAgIHN3aXRjaCAodHlwZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuU1RSSU5HOlxuICAgICAgICByZXR1cm4gei5zdHJpbmcoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5OVU1CRVI6XG4gICAgICAgIHJldHVybiB6Lm51bWJlcigpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLkJJR0lOVDpcbiAgICAgICAgcmV0dXJuIHouYmlnaW50KCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuQk9PTEVBTjpcbiAgICAgICAgcmV0dXJuIHouYm9vbGVhbigpO1xuICAgICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5EQVRFOlxuICAgICAgICByZXR1cm4gei5kYXRlKCk7XG4gICAgICBjYXNlIEFycmF5Lm5hbWUudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgcmV0dXJuIHouYXJyYXkoenopO1xuICAgICAgY2FzZSBTZXQubmFtZS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICByZXR1cm4gei5zZXQoenopO1xuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBjb25zdCBtID0gTW9kZWwuZ2V0KHR5cGUpO1xuICAgICAgICBpZiAoIW0pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuem9kaWZpYWJsZSB0eXBlOiAke3R5cGV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB6eiA9IHouZnJvbShtKTtcbiAgICAgICAgICByZXR1cm4geno7XG4gICAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byB6b2RpZnkgbW9kZWwgJHt0eXBlfTogJHtlfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IHpvZDogYW55O1xuICBmb3IgKGNvbnN0IHQgb2YgdHlwZSkge1xuICAgIHpvZCA9IHpvZCA/IHpvZC5vcihpbm5lclpvZGlmeSh0KSkgOiBpbm5lclpvZGlmeSh0KTtcbiAgfVxuXG4gIHJldHVybiB6b2Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6b2RpZnlWYWxpZGF0aW9uKFxuICB6b2Q6IGFueSxcbiAgdHlwZTogc3RyaW5nLFxuICB2YWx1ZXM6IFZhbGlkYXRvck9wdGlvbnNcbikge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1JTjpcbiAgICAgIHJldHVybiB6b2QubWluKCh2YWx1ZXMgYXMgTWluVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUlOXSk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIOlxuICAgICAgcmV0dXJuIHpvZC5taW4oXG4gICAgICAgICh2YWx1ZXMgYXMgTWluTGVuZ3RoVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NQVg6XG4gICAgICByZXR1cm4gem9kLm1heCgodmFsdWVzIGFzIE1heFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1BWF0pO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSDpcbiAgICAgIHJldHVybiB6b2QubWF4KFxuICAgICAgICAodmFsdWVzIGFzIE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEhdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuU1RFUDpcbiAgICAgIHJldHVybiB6b2QubXVsdGlwbGVPZihcbiAgICAgICAgKHZhbHVlcyBhcyBTdGVwVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuU1RFUF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5QQVRURVJOOlxuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuVVJMOlxuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuRU1BSUw6XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5QQVNTV09SRDpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgIG5ldyBSZWdFeHAoXG4gICAgICAgICAgKHZhbHVlcyBhcyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuUEFUVEVSTl0gYXMgc3RyaW5nLFxuICAgICAgICAgIFwiZ1wiXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5EQVRFOlxuICAgICAgcmV0dXJuIHpvZC5kYXRlKCk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB6b2Q7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGVsVG9ab2Q8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogTSkge1xuICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcblxuICBjb25zdCBwcm9wZXJ0aWVzID0gTW9kZWwuZ2V0QXR0cmlidXRlcyhtb2RlbCk7XG4gIGlmIChBcnJheS5pc0FycmF5KHByb3BlcnRpZXMpICYmICFwcm9wZXJ0aWVzLmxlbmd0aCkgcmV0dXJuIHoub2JqZWN0KHt9KTtcbiAgZm9yIChjb25zdCBwcm9wIG9mIHByb3BlcnRpZXMpIHtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgKG1vZGVsIGFzIGFueSlbcHJvcF0gPT09IFwiZnVuY3Rpb25cIiB8fFxuICAgICAgcHJvcC5zdGFydHNXaXRoKFwiX1wiKSB8fFxuICAgICAgcHJvcCA9PT0gXCJjb25zdHJ1Y3RvclwiXG4gICAgKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxEZWNzID0gUmVmbGVjdGlvbi5nZXRQcm9wZXJ0eURlY29yYXRvcnMoXG4gICAgICBWYWxpZGF0aW9uS2V5cy5SRUZMRUNULFxuICAgICAgbW9kZWwsXG4gICAgICBwcm9wLFxuICAgICAgZmFsc2UsXG4gICAgICB0cnVlXG4gICAgKTtcblxuICAgIGNvbnN0IGRlY29yYXRvckRhdGEgPSBhbGxEZWNzLmRlY29yYXRvcnMucmVkdWNlKFxuICAgICAgKGFjY3VtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBlbCkgPT4ge1xuICAgICAgICBjb25zdCB7IGtleSwgcHJvcHMgfSA9IGVsO1xuICAgICAgICBpZiAoa2V5ID09PSBNb2RlbEtleXMuVFlQRSAmJiAhYWNjdW1bVmFsaWRhdGlvbktleXMuVFlQRV0pIHtcbiAgICAgICAgICBhY2N1bVtWYWxpZGF0aW9uS2V5cy5UWVBFXSA9IHtcbiAgICAgICAgICAgIGN1c3RvbVR5cGVzOiBbcHJvcHMubmFtZSBhcyBzdHJpbmddLFxuICAgICAgICAgICAgbWVzc2FnZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5UWVBFLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiZGVmaW5lcyB0aGUgYWNjZXB0ZWQgdHlwZXMgZm9yIHRoZSBhdHRyaWJ1dGVcIixcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjY3VtW2tleV0gPSBwcm9wcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuXG4gICAgaWYgKCFPYmplY3Qua2V5cyhkZWNvcmF0b3JEYXRhKS5sZW5ndGgpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGxldCB6b2Q6IGFueSA9IFpvZEFueTtcblxuICAgIGNvbnN0IHR5cGVEYXRhOiBUeXBlTWV0YWRhdGEgPSBkZWNvcmF0b3JEYXRhW1xuICAgICAgVmFsaWRhdGlvbktleXMuVFlQRVxuICAgIF0gYXMgVHlwZU1ldGFkYXRhO1xuXG4gICAgaWYgKCF0eXBlRGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIHR5cGUgaW5mb3JtYXRpb25gKTtcbiAgICB9XG5cbiAgICB6b2QgPSB6b2RpZnkoXG4gICAgICAoQXJyYXkuaXNBcnJheSh0eXBlRGF0YS5jdXN0b21UeXBlcylcbiAgICAgICAgPyB0eXBlRGF0YS5jdXN0b21UeXBlc1xuICAgICAgICA6IFt0eXBlRGF0YS5jdXN0b21UeXBlc11cbiAgICAgICkubWFwKChjKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgYyA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gYygpO1xuICAgICAgICByZXR1cm4gYztcbiAgICAgIH0pLFxuICAgICAgZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXVxuICAgICAgICA/IHpvZGlmeShcbiAgICAgICAgICAgIChBcnJheS5pc0FycmF5KFxuICAgICAgICAgICAgICAoZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXSBhcyBMaXN0TWV0YWRhdGEpLmNsYXp6XG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgID8gKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6elxuICAgICAgICAgICAgICA6IFsoZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXSBhcyBMaXN0TWV0YWRhdGEpLmNsYXp6XVxuICAgICAgICAgICAgKS5tYXAoKGMpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYygpLm5hbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGMgYXMgc3RyaW5nO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIDogWm9kQW55XG4gICAgKTtcblxuICAgIGZvciAoY29uc3QgW2tleSwgcHJvcHNdIG9mIE9iamVjdC5lbnRyaWVzKGRlY29yYXRvckRhdGEpLmZpbHRlcihcbiAgICAgIChba10pID0+ICFpc1Jlc2VydmVkS2V5KGspXG4gICAgKSkge1xuICAgICAgem9kID0gem9kaWZ5VmFsaWRhdGlvbih6b2QsIGtleSwgcHJvcHMpO1xuICAgIH1cblxuICAgIGlmICghZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRF0pIHtcbiAgICAgIHpvZCA9IHpvZC5vcHRpb25hbCgpO1xuICAgIH1cblxuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gTWV0YWRhdGEuZGVzY3JpcHRpb24oXG4gICAgICBtb2RlbC5jb25zdHJ1Y3RvciBhcyBhbnksXG4gICAgICBwcm9wIGFzIGFueVxuICAgICk7XG5cbiAgICBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICAgIHpvZCA9IHpvZC5kZXNjcmliZShkZXNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgcmVzdWx0W3Byb3BdID0gem9kO1xuICB9XG5cbiAgY29uc3QgZGVzY3JpcHRpb24gPSBNZXRhZGF0YS5kZXNjcmlwdGlvbihtb2RlbC5jb25zdHJ1Y3RvciBhcyBhbnkpO1xuICBjb25zdCByZXMgPSB6Lm9iamVjdChyZXN1bHQpO1xuICBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICByZXMuZGVzY3JpYmUoZGVzY3JpcHRpb24pO1xuICB9XG4gIHJldHVybiByZXM7XG59XG5cbmNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHosIFwiZnJvbVwiIGFzIGtleW9mIHR5cGVvZiB6KTtcblxuaWYgKCFkZXNjcmlwdG9yIHx8IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh6LCBcImZyb21cIiwge1xuICAgIHZhbHVlOiA8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogQ29uc3RydWN0b3I8TT4pID0+IHtcbiAgICAgIHJldHVybiBtb2RlbFRvWm9kKG5ldyBtb2RlbCgpKSBhcyBhbnk7XG4gICAgfSxcbiAgfSk7XG59XG4iXX0=
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL292ZXJyaWRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQStCQSx3QkF3Q0M7QUFFRCw0Q0FxQ0M7QUFFRCxnQ0EwR0M7QUExTkQseUVBZXdDO0FBQ3hDLHFEQUFnRDtBQUNoRCw2QkFBZ0M7QUFDaEMscURBQWtEO0FBQ2xELHlFQUFnRTtBQUVoRSxNQUFNLFlBQVksR0FBRztJQUNuQixxQ0FBYyxDQUFDLFFBQVE7SUFDdkIscUNBQWMsQ0FBQyxJQUFJO0lBQ25CLGdDQUFTLENBQUMsSUFBSTtDQUNOLENBQUM7QUFFWCxTQUFTLGFBQWEsQ0FBQyxFQUFVO0lBQy9CLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFTLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsU0FBZ0IsTUFBTSxDQUFDLElBQXVCLEVBQUUsS0FBVSxZQUFNO0lBQzlELElBQUksR0FBRyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUVoRCxTQUFTLFdBQVcsQ0FBQyxJQUFZO1FBQy9CLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDM0IsS0FBSyxpQ0FBVSxDQUFDLE1BQU07Z0JBQ3BCLE9BQU8sT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLEtBQUssaUNBQVUsQ0FBQyxNQUFNO2dCQUNwQixPQUFPLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixLQUFLLGlDQUFVLENBQUMsTUFBTTtnQkFDcEIsT0FBTyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsS0FBSyxpQ0FBVSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLEtBQUsscUNBQWMsQ0FBQyxJQUFJO2dCQUN0QixPQUFPLE9BQUMsQ0FBQyxJQUFJ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QUM7SUFDNUIsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxPQUFDLEVBQUUsTUFBd0IsQ0FBQyxDQUFDO0FBRWhGLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBQyxFQUFFLE1BQU0sRUFBRTtRQUMvQixLQUFLLEVBQUUsQ0FBa0IsS0FBcUIsRUFBRSxFQUFFO1lBQ2hELE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLHFCQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFrQixDQUFDO2dCQUFFLDRCQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRSxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQVEsQ0FBQztRQUM5QixDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vZGVsLFxuICBNb2RlbEtleXMsXG4gIFR5cGVNZXRhZGF0YSxcbiAgUHJpbWl0aXZlcyxcbiAgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyxcbiAgVmFsaWRhdG9yT3B0aW9ucyxcbiAgTWluTGVuZ3RoVmFsaWRhdG9yT3B0aW9ucyxcbiAgTWluVmFsaWRhdG9yT3B0aW9ucyxcbiAgTWF4VmFsaWRhdG9yT3B0aW9ucyxcbiAgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucyxcbiAgU3RlcFZhbGlkYXRvck9wdGlvbnMsXG4gIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zLFxuICBMaXN0TWV0YWRhdGEsXG4gIENvbnN0cnVjdG9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgeiwgWm9kQW55IH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHsgUmVmbGVjdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvcmVmbGVjdGlvblwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5cbmNvbnN0IFJlc2VydmVkS2V5cyA9IFtcbiAgVmFsaWRhdGlvbktleXMuUkVRVUlSRUQsXG4gIFZhbGlkYXRpb25LZXlzLlRZUEUsXG4gIE1vZGVsS2V5cy5UWVBFLFxuXSBhcyBjb25zdDtcblxuZnVuY3Rpb24gaXNSZXNlcnZlZEtleShlbDogc3RyaW5nKSB7XG4gIHJldHVybiBSZXNlcnZlZEtleXMuaW5jbHVkZXMoZWwgYXMgYW55KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHpvZGlmeSh0eXBlOiBzdHJpbmcgfCBzdHJpbmdbXSwgeno6IGFueSA9IFpvZEFueSkge1xuICB0eXBlID0gdHlwZW9mIHR5cGUgPT09IFwic3RyaW5nXCIgPyBbdHlwZV0gOiB0eXBlO1xuXG4gIGZ1bmN0aW9uIGlubmVyWm9kaWZ5KHR5cGU6IHN0cmluZykge1xuICAgIHN3aXRjaCAodHlwZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuU1RSSU5HOlxuICAgICAgICByZXR1cm4gei5zdHJpbmcoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5OVU1CRVI6XG4gICAgICAgIHJldHVybiB6Lm51bWJlcigpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLkJJR0lOVDpcbiAgICAgICAgcmV0dXJuIHouYmlnaW50KCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuQk9PTEVBTjpcbiAgICAgICAgcmV0dXJuIHouYm9vbGVhbigpO1xuICAgICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5EQVRFOlxuICAgICAgICByZXR1cm4gei5kYXRlKCk7XG4gICAgICBjYXNlIEFycmF5Lm5hbWUudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgcmV0dXJuIHouYXJyYXkoenopO1xuICAgICAgY2FzZSBTZXQubmFtZS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICByZXR1cm4gei5zZXQoenopO1xuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBjb25zdCBtID0gTW9kZWwuZ2V0KHR5cGUpO1xuICAgICAgICBpZiAoIW0pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuem9kaWZpYWJsZSB0eXBlOiAke3R5cGV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB6eiA9IHouZnJvbShtKTtcbiAgICAgICAgICByZXR1cm4geno7XG4gICAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byB6b2RpZnkgbW9kZWwgJHt0eXBlfTogJHtlfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IHpvZDogYW55O1xuICBmb3IgKGNvbnN0IHQgb2YgdHlwZSkge1xuICAgIHpvZCA9IHpvZCA/IHpvZC5vcihpbm5lclpvZGlmeSh0KSkgOiBpbm5lclpvZGlmeSh0KTtcbiAgfVxuXG4gIHJldHVybiB6b2Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6b2RpZnlWYWxpZGF0aW9uKFxuICB6b2Q6IGFueSxcbiAgdHlwZTogc3RyaW5nLFxuICB2YWx1ZXM6IFZhbGlkYXRvck9wdGlvbnNcbikge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1JTjpcbiAgICAgIHJldHVybiB6b2QubWluKCh2YWx1ZXMgYXMgTWluVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUlOXSk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIOlxuICAgICAgcmV0dXJuIHpvZC5taW4oXG4gICAgICAgICh2YWx1ZXMgYXMgTWluTGVuZ3RoVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NQVg6XG4gICAgICByZXR1cm4gem9kLm1heCgodmFsdWVzIGFzIE1heFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1BWF0pO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSDpcbiAgICAgIHJldHVybiB6b2QubWF4KFxuICAgICAgICAodmFsdWVzIGFzIE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEhdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuU1RFUDpcbiAgICAgIHJldHVybiB6b2QubXVsdGlwbGVPZihcbiAgICAgICAgKHZhbHVlcyBhcyBTdGVwVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuU1RFUF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5QQVRURVJOOlxuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuVVJMOlxuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuRU1BSUw6XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5QQVNTV09SRDpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgIG5ldyBSZWdFeHAoXG4gICAgICAgICAgKHZhbHVlcyBhcyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuUEFUVEVSTl0gYXMgc3RyaW5nLFxuICAgICAgICAgIFwiZ1wiXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5EQVRFOlxuICAgICAgcmV0dXJuIHpvZC5kYXRlKCk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB6b2Q7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGVsVG9ab2Q8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogTSkge1xuICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcblxuICBjb25zdCBwcm9wZXJ0aWVzID0gTW9kZWwuZ2V0QXR0cmlidXRlcyhtb2RlbCk7XG4gIGlmIChBcnJheS5pc0FycmF5KHByb3BlcnRpZXMpICYmICFwcm9wZXJ0aWVzLmxlbmd0aCkgcmV0dXJuIHoub2JqZWN0KHt9KTtcbiAgZm9yIChjb25zdCBwcm9wIG9mIHByb3BlcnRpZXMpIHtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgKG1vZGVsIGFzIGFueSlbcHJvcF0gPT09IFwiZnVuY3Rpb25cIiB8fFxuICAgICAgcHJvcC5zdGFydHNXaXRoKFwiX1wiKSB8fFxuICAgICAgcHJvcCA9PT0gXCJjb25zdHJ1Y3RvclwiXG4gICAgKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxEZWNzID0gUmVmbGVjdGlvbi5nZXRQcm9wZXJ0eURlY29yYXRvcnMoXG4gICAgICBWYWxpZGF0aW9uS2V5cy5SRUZMRUNULFxuICAgICAgbW9kZWwsXG4gICAgICBwcm9wLFxuICAgICAgZmFsc2UsXG4gICAgICB0cnVlXG4gICAgKTtcblxuICAgIGNvbnN0IGRlY29yYXRvckRhdGEgPSBhbGxEZWNzLmRlY29yYXRvcnMucmVkdWNlKFxuICAgICAgKGFjY3VtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBlbCkgPT4ge1xuICAgICAgICBjb25zdCB7IGtleSwgcHJvcHMgfSA9IGVsO1xuICAgICAgICBpZiAoa2V5ID09PSBNb2RlbEtleXMuVFlQRSAmJiAhYWNjdW1bVmFsaWRhdGlvbktleXMuVFlQRV0pIHtcbiAgICAgICAgICBhY2N1bVtWYWxpZGF0aW9uS2V5cy5UWVBFXSA9IHtcbiAgICAgICAgICAgIGN1c3RvbVR5cGVzOiBbcHJvcHMubmFtZSBhcyBzdHJpbmddLFxuICAgICAgICAgICAgbWVzc2FnZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5UWVBFLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiZGVmaW5lcyB0aGUgYWNjZXB0ZWQgdHlwZXMgZm9yIHRoZSBhdHRyaWJ1dGVcIixcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjY3VtW2tleV0gPSBwcm9wcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuXG4gICAgaWYgKCFPYmplY3Qua2V5cyhkZWNvcmF0b3JEYXRhKS5sZW5ndGgpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGxldCB6b2Q6IGFueSA9IFpvZEFueTtcblxuICAgIGNvbnN0IHR5cGVEYXRhOiBUeXBlTWV0YWRhdGEgPSBkZWNvcmF0b3JEYXRhW1xuICAgICAgVmFsaWRhdGlvbktleXMuVFlQRVxuICAgIF0gYXMgVHlwZU1ldGFkYXRhO1xuXG4gICAgaWYgKCF0eXBlRGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIHR5cGUgaW5mb3JtYXRpb25gKTtcbiAgICB9XG5cbiAgICB6b2QgPSB6b2RpZnkoXG4gICAgICAoQXJyYXkuaXNBcnJheSh0eXBlRGF0YS5jdXN0b21UeXBlcylcbiAgICAgICAgPyB0eXBlRGF0YS5jdXN0b21UeXBlc1xuICAgICAgICA6IFt0eXBlRGF0YS5jdXN0b21UeXBlc11cbiAgICAgICkubWFwKChjKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgYyA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gYygpO1xuICAgICAgICByZXR1cm4gYztcbiAgICAgIH0pLFxuICAgICAgZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXVxuICAgICAgICA/IHpvZGlmeShcbiAgICAgICAgICAgIChBcnJheS5pc0FycmF5KFxuICAgICAgICAgICAgICAoZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXSBhcyBMaXN0TWV0YWRhdGEpLmNsYXp6XG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgID8gKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6elxuICAgICAgICAgICAgICA6IFsoZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXSBhcyBMaXN0TWV0YWRhdGEpLmNsYXp6XVxuICAgICAgICAgICAgKS5tYXAoKGMpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYygpLm5hbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGMgYXMgc3RyaW5nO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIDogWm9kQW55XG4gICAgKTtcblxuICAgIGZvciAoY29uc3QgW2tleSwgcHJvcHNdIG9mIE9iamVjdC5lbnRyaWVzKGRlY29yYXRvckRhdGEpLmZpbHRlcihcbiAgICAgIChba10pID0+ICFpc1Jlc2VydmVkS2V5KGspXG4gICAgKSkge1xuICAgICAgem9kID0gem9kaWZ5VmFsaWRhdGlvbih6b2QsIGtleSwgcHJvcHMpO1xuICAgIH1cblxuICAgIGlmICghZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRF0pIHtcbiAgICAgIHpvZCA9IHpvZC5vcHRpb25hbCgpO1xuICAgIH1cblxuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gTWV0YWRhdGEuZGVzY3JpcHRpb24oXG4gICAgICBtb2RlbC5jb25zdHJ1Y3RvciBhcyBhbnksXG4gICAgICBwcm9wIGFzIGFueVxuICAgICk7XG5cbiAgICBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICAgIHpvZCA9IHpvZC5kZXNjcmliZShkZXNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgcmVzdWx0W3Byb3BdID0gem9kO1xuICB9XG5cbiAgY29uc3QgZGVzY3JpcHRpb24gPSBNZXRhZGF0YS5kZXNjcmlwdGlvbihtb2RlbC5jb25zdHJ1Y3RvciBhcyBhbnkpO1xuICBjb25zdCByZXMgPSB6Lm9iamVjdChyZXN1bHQpO1xuICBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICByZXMuZGVzY3JpYmUoZGVzY3JpcHRpb24pO1xuICB9XG4gIHJldHVybiByZXM7XG59XG5cbmNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHosIFwiZnJvbVwiIGFzIGtleW9mIHR5cGVvZiB6KTtcblxuaWYgKCFkZXNjcmlwdG9yIHx8IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh6LCBcImZyb21cIiwge1xuICAgIHZhbHVlOiA8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogQ29uc3RydWN0b3I8TT4pID0+IHtcbiAgICAgIGNvbnN0IG0gPSBuZXcgbW9kZWwoKTtcbiAgICAgIGlmICghTWV0YWRhdGEuY29uc3RyKG0uY29uc3RydWN0b3IgYXMgYW55KSkgTW9kZWwuZnJvbU1vZGVsKG0sIHt9KTtcbiAgICAgIHJldHVybiBtb2RlbFRvWm9kKG0pIGFzIGFueTtcbiAgICB9LFxuICB9KTtcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decaf-ts/as-zod",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.13",
|
|
4
4
|
"description": "Zod compatibility library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"clean-publish": "npx clean-publish",
|
|
33
33
|
"drawings": "for FILE in workdocs/drawings/*.drawio; do echo \"converting $FILE to image...\" && docker run --rm -v $(pwd):/data rlespinasse/drawio-export --format png $FILE; done && cp -rf workdocs/drawings/export/* workdocs/resources/",
|
|
34
34
|
"uml": "cd workdocs/uml && for FILE in ./*.puml; do docker run --rm -v $(pwd):/work -w /work miy4/plantuml -DPLANTUML_LIMIT_SIZE=8192 -tpng $FILE; done && cd ../.. && cp -fr workdocs/uml/*.png workdocs/resources/",
|
|
35
|
-
"docs": "npx rimraf ./docs && mkdir docs &&
|
|
35
|
+
"docs": "npx rimraf ./docs && mkdir docs && npx build-scripts --docs",
|
|
36
36
|
"publish-docs": "docker run -it --rm --user $(id -u):$(id -g) -v \"$(pwd)/workdocs/confluence:/content\" -e ATLASSIAN_API_TOKEN=$(cat .confluence-token) ghcr.io/markdown-confluence/publish:latest",
|
|
37
37
|
"docker:login": "docker login ghcr.io -u $(cat .dockeruser) -p $(cat .dockertoken)",
|
|
38
38
|
"docker:build": "npm run docker:build-base",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"typescript",
|
|
81
81
|
"ts"
|
|
82
82
|
],
|
|
83
|
-
"author": "Tiago Venceslau",
|
|
83
|
+
"author": "Tiago Venceslau and Contributors",
|
|
84
84
|
"bugs": {
|
|
85
85
|
"url": "https://github.com/decaf-ts/ts-workspace/issues"
|
|
86
86
|
},
|
|
@@ -124,5 +124,6 @@
|
|
|
124
124
|
"@decaf-ts/decorator-validation": "latest",
|
|
125
125
|
"@decaf-ts/reflection": "latest",
|
|
126
126
|
"zod": "^3.25.76"
|
|
127
|
-
}
|
|
127
|
+
},
|
|
128
|
+
"license": "MIT"
|
|
128
129
|
}
|