@decaf-ts/as-zod 0.0.7 → 0.0.10

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/dist/as-zod.cjs CHANGED
@@ -111,8 +111,21 @@
111
111
  if (!typeData) {
112
112
  throw new Error(`Missing type information`);
113
113
  }
114
- zod$1 = zodify(typeData.customTypes, decoratorData[decoratorValidation.ValidationKeys.LIST]
115
- ? zodify(decoratorData[decoratorValidation.ValidationKeys.LIST].clazz)
114
+ zod$1 = zodify((Array.isArray(typeData.customTypes)
115
+ ? typeData.customTypes
116
+ : [typeData.customTypes]).map((c) => {
117
+ if (typeof c === "function")
118
+ return c();
119
+ return c;
120
+ }), decoratorData[decoratorValidation.ValidationKeys.LIST]
121
+ ? zodify((Array.isArray(decoratorData[decoratorValidation.ValidationKeys.LIST].clazz)
122
+ ? decoratorData[decoratorValidation.ValidationKeys.LIST].clazz
123
+ : [decoratorData[decoratorValidation.ValidationKeys.LIST].clazz]).map((c) => {
124
+ if (typeof c === "function") {
125
+ return c().name;
126
+ }
127
+ return c;
128
+ }))
116
129
  : zod.ZodAny);
117
130
  for (const [key, props] of Object.entries(decoratorData).filter(([k]) => !isReservedKey(k))) {
118
131
  zod$1 = zodifyValidation(zod$1, key, props);
@@ -124,7 +137,10 @@
124
137
  }
125
138
  return zod.z.object(result);
126
139
  };
127
- if (!zod.z["fromModel"]) {
140
+ // @ts-expect-error overriding type
141
+ const Zod = zod.z;
142
+ const descriptor = Object.getOwnPropertyDescriptor(Zod, "fromModel");
143
+ if (!descriptor || descriptor.configurable) {
128
144
  Object.defineProperty(zod.z, "fromModel", {
129
145
  value: (model) => {
130
146
  const m = new model();
@@ -132,7 +148,6 @@
132
148
  },
133
149
  });
134
150
  }
135
- const Zod = zod.z;
136
151
 
137
152
  /**
138
153
  * @description Current version of the reflection package
@@ -140,7 +155,7 @@
140
155
  * @const VERSION
141
156
  * @memberOf module:as-zod
142
157
  */
143
- const VERSION = "0.0.7";
158
+ const VERSION = "0.0.10";
144
159
 
145
160
  exports.VERSION = VERSION;
146
161
  exports.Zod = Zod;
@@ -148,4 +163,4 @@
148
163
  exports.zodifyValidation = zodifyValidation;
149
164
 
150
165
  }));
151
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXMtem9kLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL292ZXJyaWRlcy50cyIsIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbCxcbiAgTW9kZWxLZXlzLFxuICBUeXBlTWV0YWRhdGEsXG4gIFByaW1pdGl2ZXMsXG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIFZhbGlkYXRvck9wdGlvbnMsXG4gIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMsXG4gIE1pblZhbGlkYXRvck9wdGlvbnMsXG4gIE1heFZhbGlkYXRvck9wdGlvbnMsXG4gIE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMsXG4gIFN0ZXBWYWxpZGF0b3JPcHRpb25zLFxuICBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyxcbiAgTGlzdE1ldGFkYXRhLFxuICBDb25zdHJ1Y3Rvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgeiwgWm9kQW55LCBab2RPYmplY3QsIFpvZFJhd1NoYXBlIH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHsgUmVmbGVjdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvcmVmbGVjdGlvblwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5cbmNvbnN0IFJlc2VydmVkS2V5cyA9IFtcbiAgVmFsaWRhdGlvbktleXMuUkVRVUlSRUQsXG4gIFZhbGlkYXRpb25LZXlzLlRZUEUsXG4gIE1vZGVsS2V5cy5UWVBFLFxuXSBhcyBjb25zdDtcblxuZnVuY3Rpb24gaXNSZXNlcnZlZEtleShlbDogc3RyaW5nKSB7XG4gIHJldHVybiBSZXNlcnZlZEtleXMuaW5jbHVkZXMoZWwgYXMgYW55KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHpvZGlmeSh0eXBlOiBzdHJpbmcgfCBzdHJpbmdbXSwgeno6IGFueSA9IFpvZEFueSkge1xuICB0eXBlID0gdHlwZW9mIHR5cGUgPT09IFwic3RyaW5nXCIgPyBbdHlwZV0gOiB0eXBlO1xuXG4gIGZ1bmN0aW9uIGlubmVyWm9kaWZ5KHR5cGU6IHN0cmluZykge1xuICAgIHN3aXRjaCAodHlwZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuU1RSSU5HOlxuICAgICAgICByZXR1cm4gei5zdHJpbmcoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5OVU1CRVI6XG4gICAgICAgIHJldHVybiB6Lm51bWJlcigpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLkJJR0lOVDpcbiAgICAgICAgcmV0dXJuIHouYmlnaW50KCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuQk9PTEVBTjpcbiAgICAgICAgcmV0dXJuIHouYm9vbGVhbigpO1xuICAgICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5EQVRFOlxuICAgICAgICByZXR1cm4gei5kYXRlKCk7XG4gICAgICBjYXNlIEFycmF5Lm5hbWUudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgcmV0dXJuIHouYXJyYXkoenopO1xuICAgICAgY2FzZSBTZXQubmFtZS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICByZXR1cm4gei5zZXQoenopO1xuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBjb25zdCBtID0gTW9kZWwuZ2V0KHR5cGUpO1xuICAgICAgICBpZiAoIW0pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuem9kaWZpYWJsZSB0eXBlOiAke3R5cGV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB6eiA9IG5ldyBtKCkudG9ab2QoKTtcbiAgICAgICAgICByZXR1cm4geno7XG4gICAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byB6b2RpZnkgbW9kZWwgJHt0eXBlfTogJHtlfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IHpvZDogYW55O1xuICBmb3IgKGNvbnN0IHQgb2YgdHlwZSkge1xuICAgIHpvZCA9IHpvZCA/IHpvZC5vcihpbm5lclpvZGlmeSh0KSkgOiBpbm5lclpvZGlmeSh0KTtcbiAgfVxuXG4gIHJldHVybiB6b2Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6b2RpZnlWYWxpZGF0aW9uKFxuICB6b2Q6IGFueSxcbiAgdHlwZTogc3RyaW5nLFxuICB2YWx1ZXM6IFZhbGlkYXRvck9wdGlvbnNcbikge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1JTjpcbiAgICAgIHJldHVybiB6b2QubWluKCh2YWx1ZXMgYXMgTWluVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUlOXSk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIOlxuICAgICAgcmV0dXJuIHpvZC5taW4oXG4gICAgICAgICh2YWx1ZXMgYXMgTWluTGVuZ3RoVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NQVg6XG4gICAgICByZXR1cm4gem9kLm1heCgodmFsdWVzIGFzIE1heFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1BWF0pO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSDpcbiAgICAgIHJldHVybiB6b2QubWF4KFxuICAgICAgICAodmFsdWVzIGFzIE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEhdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuU1RFUDpcbiAgICAgIHJldHVybiB6b2QubXVsdGlwbGVPZihcbiAgICAgICAgKHZhbHVlcyBhcyBTdGVwVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuU1RFUF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5QQVRURVJOOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgKHZhbHVlcyBhcyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuUEFUVEVSTl1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5VUkw6XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkVNQUlMOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgKHZhbHVlcyBhcyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuUEFUVEVSTl1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5QQVNTV09SRDpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuREFURTpcbiAgICAgIHJldHVybiB6b2QuZGF0ZSgpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gem9kO1xuICB9XG59XG5cbk1vZGVsLnByb3RvdHlwZS50b1pvZCA9IGZ1bmN0aW9uIDxNIGV4dGVuZHMgTW9kZWw+KHRoaXM6IE0pOiBab2RPYmplY3Q8YW55PiB7XG4gIGNvbnN0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBab2RSYXdTaGFwZSB9ID0ge307XG5cbiAgY29uc3QgcHJvcGVydGllcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpO1xuICBpZiAoQXJyYXkuaXNBcnJheShwcm9wZXJ0aWVzKSAmJiAhcHJvcGVydGllcy5sZW5ndGgpIHJldHVybiB6Lm9iamVjdCh7fSk7XG4gIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgaWYgKFxuICAgICAgdHlwZW9mICh0aGlzIGFzIGFueSlbcHJvcF0gPT09IFwiZnVuY3Rpb25cIiB8fFxuICAgICAgcHJvcC5zdGFydHNXaXRoKFwiX1wiKSB8fFxuICAgICAgcHJvcCA9PT0gXCJjb25zdHJ1Y3RvclwiXG4gICAgKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxEZWNzID0gUmVmbGVjdGlvbi5nZXRQcm9wZXJ0eURlY29yYXRvcnMoXG4gICAgICBWYWxpZGF0aW9uS2V5cy5SRUZMRUNULFxuICAgICAgdGhpcyxcbiAgICAgIHByb3AsXG4gICAgICBmYWxzZSxcbiAgICAgIHRydWVcbiAgICApO1xuXG4gICAgY29uc3QgZGVjb3JhdG9yRGF0YSA9IGFsbERlY3MuZGVjb3JhdG9ycy5yZWR1Y2UoXG4gICAgICAoYWNjdW06IFJlY29yZDxzdHJpbmcsIGFueT4sIGVsKSA9PiB7XG4gICAgICAgIGNvbnN0IHsga2V5LCBwcm9wcyB9ID0gZWw7XG4gICAgICAgIGlmIChrZXkgPT09IE1vZGVsS2V5cy5UWVBFICYmICFhY2N1bVtWYWxpZGF0aW9uS2V5cy5UWVBFXSkge1xuICAgICAgICAgIGFjY3VtW1ZhbGlkYXRpb25LZXlzLlRZUEVdID0ge1xuICAgICAgICAgICAgY3VzdG9tVHlwZXM6IFtwcm9wcy5uYW1lIGFzIHN0cmluZ10sXG4gICAgICAgICAgICBtZXNzYWdlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlRZUEUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJkZWZpbmVzIHRoZSBhY2NlcHRlZCB0eXBlcyBmb3IgdGhlIGF0dHJpYnV0ZVwiLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjdW1ba2V5XSA9IHByb3BzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgIH0sXG4gICAgICB7fVxuICAgICk7XG5cbiAgICBpZiAoIU9iamVjdC5rZXlzKGRlY29yYXRvckRhdGEpLmxlbmd0aCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgbGV0IHpvZDogYW55ID0gWm9kQW55O1xuXG4gICAgY29uc3QgdHlwZURhdGE6IFR5cGVNZXRhZGF0YSA9IGRlY29yYXRvckRhdGFbXG4gICAgICBWYWxpZGF0aW9uS2V5cy5UWVBFXG4gICAgXSBhcyBUeXBlTWV0YWRhdGE7XG5cbiAgICBpZiAoIXR5cGVEYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgdHlwZSBpbmZvcm1hdGlvbmApO1xuICAgIH1cblxuICAgIHpvZCA9IHpvZGlmeShcbiAgICAgIHR5cGVEYXRhLmN1c3RvbVR5cGVzLFxuICAgICAgZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXVxuICAgICAgICA/IHpvZGlmeSgoZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXSBhcyBMaXN0TWV0YWRhdGEpLmNsYXp6KVxuICAgICAgICA6IFpvZEFueVxuICAgICk7XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHByb3BzXSBvZiBPYmplY3QuZW50cmllcyhkZWNvcmF0b3JEYXRhKS5maWx0ZXIoXG4gICAgICAoW2tdKSA9PiAhaXNSZXNlcnZlZEtleShrKVxuICAgICkpIHtcbiAgICAgIHpvZCA9IHpvZGlmeVZhbGlkYXRpb24oem9kLCBrZXksIHByb3BzKTtcbiAgICB9XG5cbiAgICBpZiAoIWRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuUkVRVUlSRURdKSB7XG4gICAgICB6b2QgPSB6b2Qub3B0aW9uYWwoKTtcbiAgICB9XG5cbiAgICByZXN1bHRbcHJvcF0gPSB6b2Q7XG4gIH1cblxuICByZXR1cm4gei5vYmplY3QocmVzdWx0KTtcbn07XG5cbmlmICgheltcImZyb21Nb2RlbFwiIGFzIGtleW9mIHR5cGVvZiB6XSkge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoeiwgXCJmcm9tTW9kZWxcIiwge1xuICAgIHZhbHVlOiA8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogQ29uc3RydWN0b3I8TT4pID0+IHtcbiAgICAgIGNvbnN0IG0gPSBuZXcgbW9kZWwoKTtcbiAgICAgIHJldHVybiBtLnRvWm9kKCk7XG4gICAgfSxcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBab2Q6IHR5cGVvZiB6ICYge1xuICBmcm9tTW9kZWw6IDxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBDb25zdHJ1Y3RvcjxNPikgPT4gWm9kT2JqZWN0O1xufSA9IHo7XG4iLCJleHBvcnQgKiBmcm9tIFwiLi9tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vb3ZlcnJpZGVzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVmbGVjdGlvbiBwYWNrYWdlXG4gKiBAc3VtbWFyeSBTdG9yZXMgdGhlIHNlbWFudGljIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBwYWNrYWdlXG4gKiBAY29uc3QgVkVSU0lPTlxuICogQG1lbWJlck9mIG1vZHVsZTphcy16b2RcbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIiMjVkVSU0lPTiMjXCI7XG4iXSwibmFtZXMiOlsiVmFsaWRhdGlvbktleXMiLCJNb2RlbEtleXMiLCJab2RBbnkiLCJQcmltaXRpdmVzIiwieiIsIk1vZGVsIiwiem9kIiwiUmVmbGVjdGlvbiIsIkRFRkFVTFRfRVJST1JfTUVTU0FHRVMiXSwibWFwcGluZ3MiOiI7Ozs7OztJQW9CQSxNQUFNLFlBQVksR0FBRztJQUNuQixJQUFBQSxrQ0FBYyxDQUFDLFFBQVE7SUFDdkIsSUFBQUEsa0NBQWMsQ0FBQyxJQUFJO0lBQ25CLElBQUFDLDZCQUFTLENBQUMsSUFBSTtLQUNOO0lBRVYsU0FBUyxhQUFhLENBQUMsRUFBVSxFQUFBO0lBQy9CLElBQUEsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQVMsQ0FBQztJQUN6QzthQUVnQixNQUFNLENBQUMsSUFBdUIsRUFBRSxLQUFV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
166
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXMtem9kLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL292ZXJyaWRlcy50cyIsIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbCxcbiAgTW9kZWxLZXlzLFxuICBUeXBlTWV0YWRhdGEsXG4gIFByaW1pdGl2ZXMsXG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIFZhbGlkYXRvck9wdGlvbnMsXG4gIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMsXG4gIE1pblZhbGlkYXRvck9wdGlvbnMsXG4gIE1heFZhbGlkYXRvck9wdGlvbnMsXG4gIE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMsXG4gIFN0ZXBWYWxpZGF0b3JPcHRpb25zLFxuICBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyxcbiAgTGlzdE1ldGFkYXRhLFxuICBDb25zdHJ1Y3Rvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgeiwgWm9kQW55LCBab2RPYmplY3QgfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBSZWZsZWN0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuY29uc3QgUmVzZXJ2ZWRLZXlzID0gW1xuICBWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRCxcbiAgVmFsaWRhdGlvbktleXMuVFlQRSxcbiAgTW9kZWxLZXlzLlRZUEUsXG5dIGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBpc1Jlc2VydmVkS2V5KGVsOiBzdHJpbmcpIHtcbiAgcmV0dXJuIFJlc2VydmVkS2V5cy5pbmNsdWRlcyhlbCBhcyBhbnkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gem9kaWZ5KHR5cGU6IHN0cmluZyB8IHN0cmluZ1tdLCB6ejogYW55ID0gWm9kQW55KSB7XG4gIHR5cGUgPSB0eXBlb2YgdHlwZSA9PT0gXCJzdHJpbmdcIiA/IFt0eXBlXSA6IHR5cGU7XG5cbiAgZnVuY3Rpb24gaW5uZXJab2RpZnkodHlwZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5TVFJJTkc6XG4gICAgICAgIHJldHVybiB6LnN0cmluZygpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLk5VTUJFUjpcbiAgICAgICAgcmV0dXJuIHoubnVtYmVyKCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuQklHSU5UOlxuICAgICAgICByZXR1cm4gei5iaWdpbnQoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5CT09MRUFOOlxuICAgICAgICByZXR1cm4gei5ib29sZWFuKCk7XG4gICAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkRBVEU6XG4gICAgICAgIHJldHVybiB6LmRhdGUoKTtcbiAgICAgIGNhc2UgQXJyYXkubmFtZS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICByZXR1cm4gei5hcnJheSh6eik7XG4gICAgICBjYXNlIFNldC5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgIHJldHVybiB6LnNldCh6eik7XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGNvbnN0IG0gPSBNb2RlbC5nZXQodHlwZSk7XG4gICAgICAgIGlmICghbSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW56b2RpZmlhYmxlIHR5cGU6ICR7dHlwZX1gKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHp6ID0gbmV3IG0oKS50b1pvZCgpO1xuICAgICAgICAgIHJldHVybiB6ejtcbiAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHpvZGlmeSBtb2RlbCAke3R5cGV9OiAke2V9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgem9kOiBhbnk7XG4gIGZvciAoY29uc3QgdCBvZiB0eXBlKSB7XG4gICAgem9kID0gem9kID8gem9kLm9yKGlubmVyWm9kaWZ5KHQpKSA6IGlubmVyWm9kaWZ5KHQpO1xuICB9XG5cbiAgcmV0dXJuIHpvZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHpvZGlmeVZhbGlkYXRpb24oXG4gIHpvZDogYW55LFxuICB0eXBlOiBzdHJpbmcsXG4gIHZhbHVlczogVmFsaWRhdG9yT3B0aW9uc1xuKSB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUlOOlxuICAgICAgcmV0dXJuIHpvZC5taW4oKHZhbHVlcyBhcyBNaW5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NSU5dKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEg6XG4gICAgICByZXR1cm4gem9kLm1pbihcbiAgICAgICAgKHZhbHVlcyBhcyBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1BWDpcbiAgICAgIHJldHVybiB6b2QubWF4KCh2YWx1ZXMgYXMgTWF4VmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUFYXSk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIOlxuICAgICAgcmV0dXJuIHpvZC5tYXgoXG4gICAgICAgICh2YWx1ZXMgYXMgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5TVEVQOlxuICAgICAgcmV0dXJuIHpvZC5tdWx0aXBsZU9mKFxuICAgICAgICAodmFsdWVzIGFzIFN0ZXBWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5TVEVQXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlBBVFRFUk46XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlVSTDpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuRU1BSUw6XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlBBU1NXT1JEOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgKHZhbHVlcyBhcyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuUEFUVEVSTl1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5EQVRFOlxuICAgICAgcmV0dXJuIHpvZC5kYXRlKCk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB6b2Q7XG4gIH1cbn1cblxuTW9kZWwucHJvdG90eXBlLnRvWm9kID0gZnVuY3Rpb24gPE0gZXh0ZW5kcyBNb2RlbD4odGhpczogTSk6IFpvZE9iamVjdDxhbnk+IHtcbiAgY29uc3QgcmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgY29uc3QgcHJvcGVydGllcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpO1xuICBpZiAoQXJyYXkuaXNBcnJheShwcm9wZXJ0aWVzKSAmJiAhcHJvcGVydGllcy5sZW5ndGgpIHJldHVybiB6Lm9iamVjdCh7fSk7XG4gIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgaWYgKFxuICAgICAgdHlwZW9mICh0aGlzIGFzIGFueSlbcHJvcF0gPT09IFwiZnVuY3Rpb25cIiB8fFxuICAgICAgcHJvcC5zdGFydHNXaXRoKFwiX1wiKSB8fFxuICAgICAgcHJvcCA9PT0gXCJjb25zdHJ1Y3RvclwiXG4gICAgKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxEZWNzID0gUmVmbGVjdGlvbi5nZXRQcm9wZXJ0eURlY29yYXRvcnMoXG4gICAgICBWYWxpZGF0aW9uS2V5cy5SRUZMRUNULFxuICAgICAgdGhpcyxcbiAgICAgIHByb3AsXG4gICAgICBmYWxzZSxcbiAgICAgIHRydWVcbiAgICApO1xuXG4gICAgY29uc3QgZGVjb3JhdG9yRGF0YSA9IGFsbERlY3MuZGVjb3JhdG9ycy5yZWR1Y2UoXG4gICAgICAoYWNjdW06IFJlY29yZDxzdHJpbmcsIGFueT4sIGVsKSA9PiB7XG4gICAgICAgIGNvbnN0IHsga2V5LCBwcm9wcyB9ID0gZWw7XG4gICAgICAgIGlmIChrZXkgPT09IE1vZGVsS2V5cy5UWVBFICYmICFhY2N1bVtWYWxpZGF0aW9uS2V5cy5UWVBFXSkge1xuICAgICAgICAgIGFjY3VtW1ZhbGlkYXRpb25LZXlzLlRZUEVdID0ge1xuICAgICAgICAgICAgY3VzdG9tVHlwZXM6IFtwcm9wcy5uYW1lIGFzIHN0cmluZ10sXG4gICAgICAgICAgICBtZXNzYWdlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlRZUEUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJkZWZpbmVzIHRoZSBhY2NlcHRlZCB0eXBlcyBmb3IgdGhlIGF0dHJpYnV0ZVwiLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjdW1ba2V5XSA9IHByb3BzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgIH0sXG4gICAgICB7fVxuICAgICk7XG5cbiAgICBpZiAoIU9iamVjdC5rZXlzKGRlY29yYXRvckRhdGEpLmxlbmd0aCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgbGV0IHpvZDogYW55ID0gWm9kQW55O1xuXG4gICAgY29uc3QgdHlwZURhdGE6IFR5cGVNZXRhZGF0YSA9IGRlY29yYXRvckRhdGFbXG4gICAgICBWYWxpZGF0aW9uS2V5cy5UWVBFXG4gICAgXSBhcyBUeXBlTWV0YWRhdGE7XG5cbiAgICBpZiAoIXR5cGVEYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgdHlwZSBpbmZvcm1hdGlvbmApO1xuICAgIH1cblxuICAgIHpvZCA9IHpvZGlmeShcbiAgICAgIChBcnJheS5pc0FycmF5KHR5cGVEYXRhLmN1c3RvbVR5cGVzKVxuICAgICAgICA/IHR5cGVEYXRhLmN1c3RvbVR5cGVzXG4gICAgICAgIDogW3R5cGVEYXRhLmN1c3RvbVR5cGVzXVxuICAgICAgKS5tYXAoKGMpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBjKCk7XG4gICAgICAgIHJldHVybiBjO1xuICAgICAgfSksXG4gICAgICBkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdXG4gICAgICAgID8gem9kaWZ5KFxuICAgICAgICAgICAgKEFycmF5LmlzQXJyYXkoXG4gICAgICAgICAgICAgIChkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgPyAoZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXSBhcyBMaXN0TWV0YWRhdGEpLmNsYXp6XG4gICAgICAgICAgICAgIDogWyhkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpdXG4gICAgICAgICAgICApLm1hcCgoYykgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIGMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBjKCkubmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gYyBhcyBzdHJpbmc7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgOiBab2RBbnlcbiAgICApO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCBwcm9wc10gb2YgT2JqZWN0LmVudHJpZXMoZGVjb3JhdG9yRGF0YSkuZmlsdGVyKFxuICAgICAgKFtrXSkgPT4gIWlzUmVzZXJ2ZWRLZXkoaylcbiAgICApKSB7XG4gICAgICB6b2QgPSB6b2RpZnlWYWxpZGF0aW9uKHpvZCwga2V5LCBwcm9wcyk7XG4gICAgfVxuXG4gICAgaWYgKCFkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLlJFUVVJUkVEXSkge1xuICAgICAgem9kID0gem9kLm9wdGlvbmFsKCk7XG4gICAgfVxuXG4gICAgcmVzdWx0W3Byb3BdID0gem9kO1xuICB9XG5cbiAgcmV0dXJuIHoub2JqZWN0KHJlc3VsdCk7XG59O1xuXG5leHBvcnQgdHlwZSBab2RGcm9tTW9kZWwgPSB0eXBlb2YgeiAmIHtcbiAgZnJvbU1vZGVsOiA8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogQ29uc3RydWN0b3I8TT4pID0+IFpvZE9iamVjdDxhbnk+O1xufTtcblxuLy8gQHRzLWV4cGVjdC1lcnJvciBvdmVycmlkaW5nIHR5cGVcbmNvbnN0IFpvZDogWm9kRnJvbU1vZGVsID0gejtcblxuY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gIFpvZCxcbiAgXCJmcm9tTW9kZWxcIiBhcyBrZXlvZiB0eXBlb2YgWm9kXG4pO1xuXG5pZiAoIWRlc2NyaXB0b3IgfHwgZGVzY3JpcHRvci5jb25maWd1cmFibGUpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHosIFwiZnJvbU1vZGVsXCIsIHtcbiAgICB2YWx1ZTogPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IENvbnN0cnVjdG9yPE0+KSA9PiB7XG4gICAgICBjb25zdCBtID0gbmV3IG1vZGVsKCk7XG4gICAgICByZXR1cm4gbS50b1pvZCgpO1xuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgeyBab2QgfTtcbiIsImV4cG9ydCAqIGZyb20gXCIuL21vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vdmVycmlkZXNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ3VycmVudCB2ZXJzaW9uIG9mIHRoZSByZWZsZWN0aW9uIHBhY2thZ2VcbiAqIEBzdW1tYXJ5IFN0b3JlcyB0aGUgc2VtYW50aWMgdmVyc2lvbiBudW1iZXIgb2YgdGhlIHBhY2thZ2VcbiAqIEBjb25zdCBWRVJTSU9OXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmFzLXpvZFxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiIyNWRVJTSU9OIyNcIjtcbiJdLCJuYW1lcyI6WyJWYWxpZGF0aW9uS2V5cyIsIk1vZGVsS2V5cyIsIlpvZEFueSIsIlByaW1pdGl2ZXMiLCJ6IiwiTW9kZWwiLCJ6b2QiLCJSZWZsZWN0aW9uIiwiREVGQVVMVF9FUlJPUl9NRVNTQUdFUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBb0JBLE1BQU0sWUFBWSxHQUFHO0lBQ25CLElBQUFBLGtDQUFjLENBQUMsUUFBUTtJQUN2QixJQUFBQSxrQ0FBYyxDQUFDLElBQUk7SUFDbkIsSUFBQUMsNkJBQVMsQ0FBQyxJQUFJO0tBQ047SUFFVixTQUFTLGFBQWEsQ0FBQyxFQUFVLEVBQUE7SUFDL0IsSUFBQSxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBUyxDQUFDO0lBQ3pDO2FBRWdCLE1BQU0sQ0FBQyxJQUF1QixFQUFFLEtBQVVDLFVBQU0sRUFBQTtJQUM5RCxJQUFBLElBQUksR0FBRyxPQUFPLElBQUksS0FBSyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJO1FBRS9DLFNBQVMsV0FBVyxDQUFDLElBQVksRUFBQTtJQUMvQixRQUFBLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDeEIsS0FBS0MsOEJBQVUsQ0FBQyxNQUFNO0lBQ3BCLGdCQUFBLE9BQU9DLEtBQUMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ25CLEtBQUtELDhCQUFVLENBQUMsTUFBTTtJQUNwQixnQkFBQSxPQUFPQyxLQUFDLENBQUMsTUFBTSxFQUFFO2dCQUNuQixLQUFLRCw4QkFBVSxDQUFDLE1BQU07SUFDcEIsZ0JBQUEsT0FBT0MsS0FBQyxDQUFDLE1BQU0sRUFBRTtnQkFDbkIsS0FBS0QsOEJBQVUsQ0FBQyxPQUFPO0lBQ3JCLGdCQUFBLE9BQU9DLEtBQUMsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3BCLEtBQUtKLGtDQUFjLENBQUMsSUFBSTtJQUN0QixnQkFBQSxPQUFPSSxLQUFDLENBQUMsSUFBSSxFQUFFO0lBQ2pCLFlBQUEsS0FBSyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtJQUMzQixnQkFBQSxPQUFPQSxLQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUNwQixZQUFBLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7SUFDekIsZ0JBQUEsT0FBT0EsS0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xCLFNBQVM7b0JBQ1AsTUFBTSxDQUFDLEdBQUdDLHlCQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztvQkFDekIsSUFBSSxDQUFDLENBQUMsRUFBRTtJQUNOLG9CQUFBLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQSxDQUFFLENBQUM7O0lBRS9DLGdCQUFBLElBQUk7d0JBQ0YsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUU7SUFDMUIsb0JBQUEsT0FBTyxFQUFFOztvQkFDVCxPQUFPLENBQVUsRUFBRTt3QkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFBLHVCQUFBLEVBQTBCLElBQUksQ0FBSyxFQUFBLEVBQUEsQ0FBQyxDQUFFLENBQUEsQ0FBQzs7Ozs7SUFNL0QsSUFBQSxJQUFJQyxLQUFRO0lBQ1osSUFBQSxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRTtZQUNwQkEsS0FBRyxHQUFHQSxLQUFHLEdBQUdBLEtBQUcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQzs7SUFHckQsSUFBQSxPQUFPQSxLQUFHO0lBQ1o7YUFFZ0IsZ0JBQWdCLENBQzlCLEdBQVEsRUFDUixJQUFZLEVBQ1osTUFBd0IsRUFBQTtRQUV4QixRQUFRLElBQUk7WUFDVixLQUFLTixrQ0FBYyxDQUFDLEdBQUc7Z0JBQ3JCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBRSxNQUE4QixDQUFDQSxrQ0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JFLEtBQUtBLGtDQUFjLENBQUMsVUFBVTtnQkFDNUIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUNYLE1BQW9DLENBQUNBLGtDQUFjLENBQUMsVUFBVSxDQUFDLENBQ2pFO1lBQ0gsS0FBS0Esa0NBQWMsQ0FBQyxHQUFHO2dCQUNyQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUUsTUFBOEIsQ0FBQ0Esa0NBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyRSxLQUFLQSxrQ0FBYyxDQUFDLFVBQVU7Z0JBQzVCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FDWCxNQUFvQyxDQUFDQSxrQ0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUNqRTtZQUNILEtBQUtBLGtDQUFjLENBQUMsSUFBSTtnQkFDdEIsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUNsQixNQUErQixDQUFDQSxrQ0FBYyxDQUFDLElBQUksQ0FBQyxDQUN0RDtZQUNILEtBQUtBLGtDQUFjLENBQUMsT0FBTztnQkFDekIsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUNiLE1BQWtDLENBQUNBLGtDQUFjLENBQUMsT0FBTyxDQUFDLENBQzVEO1lBQ0gsS0FBS0Esa0NBQWMsQ0FBQyxHQUFHO2dCQUNyQixPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQ2IsTUFBa0MsQ0FBQ0Esa0NBQWMsQ0FBQyxPQUFPLENBQUMsQ0FDNUQ7WUFDSCxLQUFLQSxrQ0FBYyxDQUFDLEtBQUs7Z0JBQ3ZCLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FDYixNQUFrQyxDQUFDQSxrQ0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUM1RDtZQUNILEtBQUtBLGtDQUFjLENBQUMsUUFBUTtnQkFDMUIsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUNiLE1BQWtDLENBQUNBLGtDQUFjLENBQUMsT0FBTyxDQUFDLENBQzVEO1lBQ0gsS0FBS0Esa0NBQWMsQ0FBQyxJQUFJO0lBQ3RCLFlBQUEsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFO0lBQ25CLFFBQUE7SUFDRSxZQUFBLE9BQU8sR0FBRzs7SUFFaEI7QUFFQUssNkJBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFlBQUE7UUFDdEIsTUFBTSxNQUFNLEdBQTJCLEVBQUU7UUFFekMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztRQUNuRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtJQUFFLFFBQUEsT0FBT0QsS0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDeEUsSUFBQSxLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsRUFBRTtJQUM3QixRQUFBLElBQ0UsT0FBUSxJQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVTtJQUN6QyxZQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2dCQUNwQixJQUFJLEtBQUssYUFBYSxFQUN0QjtnQkFDQTs7SUFHRixRQUFBLE1BQU0sT0FBTyxHQUFHRyxxQkFBVSxDQUFDLHFCQUFxQixDQUM5Q1Asa0NBQWMsQ0FBQyxPQUFPLEVBQ3RCLElBQUksRUFDSixJQUFJLEVBQ0osS0FBSyxFQUNMLElBQUksQ0FDTDtJQUVELFFBQUEsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQzdDLENBQUMsS0FBMEIsRUFBRSxFQUFFLEtBQUk7SUFDakMsWUFBQSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7SUFDekIsWUFBQSxJQUFJLEdBQUcsS0FBS0MsNkJBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUNELGtDQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7SUFDekQsZ0JBQUEsS0FBSyxDQUFDQSxrQ0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHO0lBQzNCLG9CQUFBLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFjLENBQUM7d0JBQ25DLE9BQU8sRUFBRVEsMENBQXNCLENBQUMsSUFBSTtJQUNwQyxvQkFBQSxXQUFXLEVBQUUsOENBQThDO3FCQUM1RDs7cUJBQ0k7SUFDTCxnQkFBQSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSzs7SUFFcEIsWUFBQSxPQUFPLEtBQUs7YUFDYixFQUNELEVBQUUsQ0FDSDtZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sRUFBRTtnQkFDdEM7O1lBR0YsSUFBSUYsS0FBRyxHQUFRSixVQUFNO1lBRXJCLE1BQU0sUUFBUSxHQUFpQixhQUFhLENBQzFDRixrQ0FBYyxDQUFDLElBQUksQ0FDSjtZQUVqQixJQUFJLENBQUMsUUFBUSxFQUFFO0lBQ2IsWUFBQSxNQUFNLElBQUksS0FBSyxDQUFDLENBQUEsd0JBQUEsQ0FBMEIsQ0FBQzs7WUFHN0NNLEtBQUcsR0FBRyxNQUFNLENBQ1YsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXO2tCQUMvQixRQUFRLENBQUM7SUFDWCxjQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUN4QixHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUk7Z0JBQ1YsSUFBSSxPQUFPLENBQUMsS0FBSyxVQUFVO29CQUFFLE9BQU8sQ0FBQyxFQUFFO0lBQ3ZDLFlBQUEsT0FBTyxDQUFDO0lBQ1YsU0FBQyxDQUFDLEVBQ0YsYUFBYSxDQUFDTixrQ0FBYyxDQUFDLElBQUk7SUFDL0IsY0FBRSxNQUFNLENBQ0osQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNYLGFBQWEsQ0FBQ0Esa0NBQWMsQ0FBQyxJQUFJLENBQWtCLENBQUMsS0FBSztzQkFFdkQsYUFBYSxDQUFDQSxrQ0FBYyxDQUFDLElBQUksQ0FBa0IsQ0FBQztJQUN2RCxrQkFBRSxDQUFFLGFBQWEsQ0FBQ0Esa0NBQWMsQ0FBQyxJQUFJLENBQWtCLENBQUMsS0FBSyxDQUFDLEVBQzlELEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSTtJQUNWLGdCQUFBLElBQUksT0FBTyxDQUFDLEtBQUssVUFBVSxFQUFFO0lBQzNCLG9CQUFBLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSTs7SUFFakIsZ0JBQUEsT0FBTyxDQUFXO0lBQ3BCLGFBQUMsQ0FBQztrQkFFSkUsVUFBTSxDQUNYO0lBRUQsUUFBQSxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQzdELENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FDM0IsRUFBRTtnQkFDREksS0FBRyxHQUFHLGdCQUFnQixDQUFDQSxLQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQzs7WUFHekMsSUFBSSxDQUFDLGFBQWEsQ0FBQ04sa0NBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRTtJQUMzQyxZQUFBTSxLQUFHLEdBQUdBLEtBQUcsQ0FBQyxRQUFRLEVBQUU7O0lBR3RCLFFBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHQSxLQUFHOztJQUdwQixJQUFBLE9BQU9GLEtBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUM7SUFNRDtBQUNNLFVBQUEsR0FBRyxHQUFpQkE7SUFFMUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUNoRCxHQUFHLEVBQ0gsV0FBK0IsQ0FDaEM7SUFFRCxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxZQUFZLEVBQUU7SUFDMUMsSUFBQSxNQUFNLENBQUMsY0FBYyxDQUFDQSxLQUFDLEVBQUUsV0FBVyxFQUFFO0lBQ3BDLFFBQUEsS0FBSyxFQUFFLENBQWtCLEtBQXFCLEtBQUk7SUFDaEQsWUFBQSxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssRUFBRTtJQUNyQixZQUFBLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRTthQUNqQjtJQUNGLEtBQUEsQ0FBQztJQUNKOztJQ25PQTs7Ozs7SUFLRztBQUNJLFVBQU0sT0FBTyxHQUFHOzs7Ozs7Ozs7OzsifQ==
@@ -109,8 +109,21 @@ Model.prototype.toZod = function () {
109
109
  if (!typeData) {
110
110
  throw new Error(`Missing type information`);
111
111
  }
112
- zod = zodify(typeData.customTypes, decoratorData[ValidationKeys.LIST]
113
- ? zodify(decoratorData[ValidationKeys.LIST].clazz)
112
+ zod = zodify((Array.isArray(typeData.customTypes)
113
+ ? typeData.customTypes
114
+ : [typeData.customTypes]).map((c) => {
115
+ if (typeof c === "function")
116
+ return c();
117
+ return c;
118
+ }), decoratorData[ValidationKeys.LIST]
119
+ ? zodify((Array.isArray(decoratorData[ValidationKeys.LIST].clazz)
120
+ ? decoratorData[ValidationKeys.LIST].clazz
121
+ : [decoratorData[ValidationKeys.LIST].clazz]).map((c) => {
122
+ if (typeof c === "function") {
123
+ return c().name;
124
+ }
125
+ return c;
126
+ }))
114
127
  : ZodAny);
115
128
  for (const [key, props] of Object.entries(decoratorData).filter(([k]) => !isReservedKey(k))) {
116
129
  zod = zodifyValidation(zod, key, props);
@@ -122,7 +135,10 @@ Model.prototype.toZod = function () {
122
135
  }
123
136
  return z.object(result);
124
137
  };
125
- if (!z["fromModel"]) {
138
+ // @ts-expect-error overriding type
139
+ const Zod = z;
140
+ const descriptor = Object.getOwnPropertyDescriptor(Zod, "fromModel");
141
+ if (!descriptor || descriptor.configurable) {
126
142
  Object.defineProperty(z, "fromModel", {
127
143
  value: (model) => {
128
144
  const m = new model();
@@ -130,7 +146,6 @@ if (!z["fromModel"]) {
130
146
  },
131
147
  });
132
148
  }
133
- const Zod = z;
134
149
 
135
150
  /**
136
151
  * @description Current version of the reflection package
@@ -138,7 +153,7 @@ const Zod = z;
138
153
  * @const VERSION
139
154
  * @memberOf module:as-zod
140
155
  */
141
- const VERSION = "0.0.7";
156
+ const VERSION = "0.0.10";
142
157
 
143
158
  export { VERSION, Zod, zodify, zodifyValidation };
144
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXMtem9kLmVzbS5janMiLCJzb3VyY2VzIjpbIi4uL3NyYy9vdmVycmlkZXMudHMiLCIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kZWwsXG4gIE1vZGVsS2V5cyxcbiAgVHlwZU1ldGFkYXRhLFxuICBQcmltaXRpdmVzLFxuICBERUZBVUxUX0VSUk9SX01FU1NBR0VTLFxuICBWYWxpZGF0b3JPcHRpb25zLFxuICBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zLFxuICBNaW5WYWxpZGF0b3JPcHRpb25zLFxuICBNYXhWYWxpZGF0b3JPcHRpb25zLFxuICBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zLFxuICBTdGVwVmFsaWRhdG9yT3B0aW9ucyxcbiAgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMsXG4gIExpc3RNZXRhZGF0YSxcbiAgQ29uc3RydWN0b3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHosIFpvZEFueSwgWm9kT2JqZWN0LCBab2RSYXdTaGFwZSB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IFJlZmxlY3Rpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuXG5jb25zdCBSZXNlcnZlZEtleXMgPSBbXG4gIFZhbGlkYXRpb25LZXlzLlJFUVVJUkVELFxuICBWYWxpZGF0aW9uS2V5cy5UWVBFLFxuICBNb2RlbEtleXMuVFlQRSxcbl0gYXMgY29uc3Q7XG5cbmZ1bmN0aW9uIGlzUmVzZXJ2ZWRLZXkoZWw6IHN0cmluZykge1xuICByZXR1cm4gUmVzZXJ2ZWRLZXlzLmluY2x1ZGVzKGVsIGFzIGFueSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6b2RpZnkodHlwZTogc3RyaW5nIHwgc3RyaW5nW10sIHp6OiBhbnkgPSBab2RBbnkpIHtcbiAgdHlwZSA9IHR5cGVvZiB0eXBlID09PSBcInN0cmluZ1wiID8gW3R5cGVdIDogdHlwZTtcblxuICBmdW5jdGlvbiBpbm5lclpvZGlmeSh0eXBlOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHR5cGUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSBQcmltaXRpdmVzLlNUUklORzpcbiAgICAgICAgcmV0dXJuIHouc3RyaW5nKCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuTlVNQkVSOlxuICAgICAgICByZXR1cm4gei5udW1iZXIoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5CSUdJTlQ6XG4gICAgICAgIHJldHVybiB6LmJpZ2ludCgpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLkJPT0xFQU46XG4gICAgICAgIHJldHVybiB6LmJvb2xlYW4oKTtcbiAgICAgIGNhc2UgVmFsaWRhdGlvbktleXMuREFURTpcbiAgICAgICAgcmV0dXJuIHouZGF0ZSgpO1xuICAgICAgY2FzZSBBcnJheS5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgIHJldHVybiB6LmFycmF5KHp6KTtcbiAgICAgIGNhc2UgU2V0Lm5hbWUudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgcmV0dXJuIHouc2V0KHp6KTtcbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgbSA9IE1vZGVsLmdldCh0eXBlKTtcbiAgICAgICAgaWYgKCFtKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnpvZGlmaWFibGUgdHlwZTogJHt0eXBlfWApO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgenogPSBuZXcgbSgpLnRvWm9kKCk7XG4gICAgICAgICAgcmV0dXJuIHp6O1xuICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gem9kaWZ5IG1vZGVsICR7dHlwZX06ICR7ZX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCB6b2Q6IGFueTtcbiAgZm9yIChjb25zdCB0IG9mIHR5cGUpIHtcbiAgICB6b2QgPSB6b2QgPyB6b2Qub3IoaW5uZXJab2RpZnkodCkpIDogaW5uZXJab2RpZnkodCk7XG4gIH1cblxuICByZXR1cm4gem9kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gem9kaWZ5VmFsaWRhdGlvbihcbiAgem9kOiBhbnksXG4gIHR5cGU6IHN0cmluZyxcbiAgdmFsdWVzOiBWYWxpZGF0b3JPcHRpb25zXG4pIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NSU46XG4gICAgICByZXR1cm4gem9kLm1pbigodmFsdWVzIGFzIE1pblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1JTl0pO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSDpcbiAgICAgIHJldHVybiB6b2QubWluKFxuICAgICAgICAodmFsdWVzIGFzIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEhdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUFYOlxuICAgICAgcmV0dXJuIHpvZC5tYXgoKHZhbHVlcyBhcyBNYXhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NQVhdKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEg6XG4gICAgICByZXR1cm4gem9kLm1heChcbiAgICAgICAgKHZhbHVlcyBhcyBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlNURVA6XG4gICAgICByZXR1cm4gem9kLm11bHRpcGxlT2YoXG4gICAgICAgICh2YWx1ZXMgYXMgU3RlcFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlNURVBdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFUVEVSTjpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuVVJMOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgKHZhbHVlcyBhcyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuUEFUVEVSTl1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5FTUFJTDpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFTU1dPUkQ6XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkRBVEU6XG4gICAgICByZXR1cm4gem9kLmRhdGUoKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHpvZDtcbiAgfVxufVxuXG5Nb2RlbC5wcm90b3R5cGUudG9ab2QgPSBmdW5jdGlvbiA8TSBleHRlbmRzIE1vZGVsPih0aGlzOiBNKTogWm9kT2JqZWN0PGFueT4ge1xuICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogWm9kUmF3U2hhcGUgfSA9IHt9O1xuXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcykgJiYgIXByb3BlcnRpZXMubGVuZ3RoKSByZXR1cm4gei5vYmplY3Qoe30pO1xuICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcGVydGllcykge1xuICAgIGlmIChcbiAgICAgIHR5cGVvZiAodGhpcyBhcyBhbnkpW3Byb3BdID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgIHByb3Auc3RhcnRzV2l0aChcIl9cIikgfHxcbiAgICAgIHByb3AgPT09IFwiY29uc3RydWN0b3JcIlxuICAgICkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgYWxsRGVjcyA9IFJlZmxlY3Rpb24uZ2V0UHJvcGVydHlEZWNvcmF0b3JzKFxuICAgICAgVmFsaWRhdGlvbktleXMuUkVGTEVDVCxcbiAgICAgIHRoaXMsXG4gICAgICBwcm9wLFxuICAgICAgZmFsc2UsXG4gICAgICB0cnVlXG4gICAgKTtcblxuICAgIGNvbnN0IGRlY29yYXRvckRhdGEgPSBhbGxEZWNzLmRlY29yYXRvcnMucmVkdWNlKFxuICAgICAgKGFjY3VtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBlbCkgPT4ge1xuICAgICAgICBjb25zdCB7IGtleSwgcHJvcHMgfSA9IGVsO1xuICAgICAgICBpZiAoa2V5ID09PSBNb2RlbEtleXMuVFlQRSAmJiAhYWNjdW1bVmFsaWRhdGlvbktleXMuVFlQRV0pIHtcbiAgICAgICAgICBhY2N1bVtWYWxpZGF0aW9uS2V5cy5UWVBFXSA9IHtcbiAgICAgICAgICAgIGN1c3RvbVR5cGVzOiBbcHJvcHMubmFtZSBhcyBzdHJpbmddLFxuICAgICAgICAgICAgbWVzc2FnZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5UWVBFLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiZGVmaW5lcyB0aGUgYWNjZXB0ZWQgdHlwZXMgZm9yIHRoZSBhdHRyaWJ1dGVcIixcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjY3VtW2tleV0gPSBwcm9wcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuXG4gICAgaWYgKCFPYmplY3Qua2V5cyhkZWNvcmF0b3JEYXRhKS5sZW5ndGgpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGxldCB6b2Q6IGFueSA9IFpvZEFueTtcblxuICAgIGNvbnN0IHR5cGVEYXRhOiBUeXBlTWV0YWRhdGEgPSBkZWNvcmF0b3JEYXRhW1xuICAgICAgVmFsaWRhdGlvbktleXMuVFlQRVxuICAgIF0gYXMgVHlwZU1ldGFkYXRhO1xuXG4gICAgaWYgKCF0eXBlRGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIHR5cGUgaW5mb3JtYXRpb25gKTtcbiAgICB9XG5cbiAgICB6b2QgPSB6b2RpZnkoXG4gICAgICB0eXBlRGF0YS5jdXN0b21UeXBlcyxcbiAgICAgIGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF1cbiAgICAgICAgPyB6b2RpZnkoKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6eilcbiAgICAgICAgOiBab2RBbnlcbiAgICApO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCBwcm9wc10gb2YgT2JqZWN0LmVudHJpZXMoZGVjb3JhdG9yRGF0YSkuZmlsdGVyKFxuICAgICAgKFtrXSkgPT4gIWlzUmVzZXJ2ZWRLZXkoaylcbiAgICApKSB7XG4gICAgICB6b2QgPSB6b2RpZnlWYWxpZGF0aW9uKHpvZCwga2V5LCBwcm9wcyk7XG4gICAgfVxuXG4gICAgaWYgKCFkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLlJFUVVJUkVEXSkge1xuICAgICAgem9kID0gem9kLm9wdGlvbmFsKCk7XG4gICAgfVxuXG4gICAgcmVzdWx0W3Byb3BdID0gem9kO1xuICB9XG5cbiAgcmV0dXJuIHoub2JqZWN0KHJlc3VsdCk7XG59O1xuXG5pZiAoIXpbXCJmcm9tTW9kZWxcIiBhcyBrZXlvZiB0eXBlb2Ygel0pIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHosIFwiZnJvbU1vZGVsXCIsIHtcbiAgICB2YWx1ZTogPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IENvbnN0cnVjdG9yPE0+KSA9PiB7XG4gICAgICBjb25zdCBtID0gbmV3IG1vZGVsKCk7XG4gICAgICByZXR1cm4gbS50b1pvZCgpO1xuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgWm9kOiB0eXBlb2YgeiAmIHtcbiAgZnJvbU1vZGVsOiA8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogQ29uc3RydWN0b3I8TT4pID0+IFpvZE9iamVjdDtcbn0gPSB6O1xuIiwiZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL292ZXJyaWRlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlZmxlY3Rpb24gcGFja2FnZVxuICogQHN1bW1hcnkgU3RvcmVzIHRoZSBzZW1hbnRpYyB2ZXJzaW9uIG51bWJlciBvZiB0aGUgcGFja2FnZVxuICogQGNvbnN0IFZFUlNJT05cbiAqIEBtZW1iZXJPZiBtb2R1bGU6YXMtem9kXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gXCIjI1ZFUlNJT04jI1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFvQkEsTUFBTSxZQUFZLEdBQUc7QUFDbkIsSUFBQSxjQUFjLENBQUMsUUFBUTtBQUN2QixJQUFBLGNBQWMsQ0FBQyxJQUFJO0FBQ25CLElBQUEsU0FBUyxDQUFDLElBQUk7Q0FDTjtBQUVWLFNBQVMsYUFBYSxDQUFDLEVBQVUsRUFBQTtBQUMvQixJQUFBLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFTLENBQUM7QUFDekM7U0FFZ0IsTUFBTSxDQUFDLElBQXVCLEVBQUUsS0FBVSxNQUFNLEVBQUE7QUFDOUQsSUFBQSxJQUFJLEdBQUcsT0FBTyxJQUFJLEtBQUssUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSTtJQUUvQyxTQUFTLFdBQVcsQ0FBQyxJQUFZLEVBQUE7QUFDL0IsUUFBQSxRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDeEIsS0FBSyxVQUFVLENBQUMsTUFBTTtBQUNwQixnQkFBQSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDbkIsS0FBSyxVQUFVLENBQUMsTUFBTTtBQUNwQixnQkFBQSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDbkIsS0FBSyxVQUFVLENBQUMsTUFBTTtBQUNwQixnQkFBQSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDbkIsS0FBSyxVQUFVLENBQUMsT0FBTztBQUNyQixnQkFBQSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUU7WUFDcEIsS0FBSyxjQUFjLENBQUMsSUFBSTtBQUN0QixnQkFBQSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUU7QUFDakIsWUFBQSxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO0FBQzNCLGdCQUFBLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7QUFDcEIsWUFBQSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO0FBQ3pCLGdCQUFBLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEIsU0FBUztnQkFDUCxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDekIsSUFBSSxDQUFDLENBQUMsRUFBRTtBQUNOLG9CQUFBLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQSxDQUFFLENBQUM7O0FBRS9DLGdCQUFBLElBQUk7b0JBQ0YsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUU7QUFDMUIsb0JBQUEsT0FBTyxFQUFFOztnQkFDVCxPQUFPLENBQVUsRUFBRTtvQkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFBLHVCQUFBLEVBQTBCLElBQUksQ0FBSyxFQUFBLEVBQUEsQ0FBQyxDQUFFLENBQUEsQ0FBQzs7Ozs7QUFNL0QsSUFBQSxJQUFJLEdBQVE7QUFDWixJQUFBLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFO1FBQ3BCLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDOztBQUdyRCxJQUFBLE9BQU8sR0FBRztBQUNaO1NBRWdCLGdCQUFnQixDQUM5QixHQUFRLEVBQ1IsSUFBWSxFQUNaLE1BQXdCLEVBQUE7SUFFeEIsUUFBUSxJQUFJO1FBQ1YsS0FBSyxjQUFjLENBQUMsR0FBRztZQUNyQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUUsTUFBOEIsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckUsS0FBSyxjQUFjLENBQUMsVUFBVTtZQUM1QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQ1gsTUFBb0MsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQ2pFO1FBQ0gsS0FBSyxjQUFjLENBQUMsR0FBRztZQUNyQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUUsTUFBOEIsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckUsS0FBSyxjQUFjLENBQUMsVUFBVTtZQUM1QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQ1gsTUFBb0MsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQ2pFO1FBQ0gsS0FBSyxjQUFjLENBQUMsSUFBSTtZQUN0QixPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQ2xCLE1BQStCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUN0RDtRQUNILEtBQUssY0FBYyxDQUFDLE9BQU87WUFDekIsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUNiLE1BQWtDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUM1RDtRQUNILEtBQUssY0FBYyxDQUFDLEdBQUc7WUFDckIsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUNiLE1BQWtDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUM1RDtRQUNILEtBQUssY0FBYyxDQUFDLEtBQUs7WUFDdkIsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUNiLE1BQWtDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUM1RDtRQUNILEtBQUssY0FBYyxDQUFDLFFBQVE7WUFDMUIsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUNiLE1BQWtDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUM1RDtRQUNILEtBQUssY0FBYyxDQUFDLElBQUk7QUFDdEIsWUFBQSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUU7QUFDbkIsUUFBQTtBQUNFLFlBQUEsT0FBTyxHQUFHOztBQUVoQjtBQUVBLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFlBQUE7SUFDdEIsTUFBTSxNQUFNLEdBQW1DLEVBQUU7SUFFakQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztJQUNuRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtBQUFFLFFBQUEsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztBQUN4RSxJQUFBLEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxFQUFFO0FBQzdCLFFBQUEsSUFDRSxPQUFRLElBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVO0FBQ3pDLFlBQUEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7WUFDcEIsSUFBSSxLQUFLLGFBQWEsRUFDdEI7WUFDQTs7QUFHRixRQUFBLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxxQkFBcUIsQ0FDOUMsY0FBYyxDQUFDLE9BQU8sRUFDdEIsSUFBSSxFQUNKLElBQUksRUFDSixLQUFLLEVBQ0wsSUFBSSxDQUNMO0FBRUQsUUFBQSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDN0MsQ0FBQyxLQUEwQixFQUFFLEVBQUUsS0FBSTtBQUNqQyxZQUFBLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtBQUN6QixZQUFBLElBQUksR0FBRyxLQUFLLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQ3pELGdCQUFBLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUc7QUFDM0Isb0JBQUEsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQWMsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLHNCQUFzQixDQUFDLElBQUk7QUFDcEMsb0JBQUEsV0FBVyxFQUFFLDhDQUE4QztpQkFDNUQ7O2lCQUNJO0FBQ0wsZ0JBQUEsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUs7O0FBRXBCLFlBQUEsT0FBTyxLQUFLO1NBQ2IsRUFDRCxFQUFFLENBQ0g7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDdEM7O1FBR0YsSUFBSSxHQUFHLEdBQVEsTUFBTTtRQUVyQixNQUFNLFFBQVEsR0FBaUIsYUFBYSxDQUMxQyxjQUFjLENBQUMsSUFBSSxDQUNKO1FBRWpCLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDYixZQUFBLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQSx3QkFBQSxDQUEwQixDQUFDOztBQUc3QyxRQUFBLEdBQUcsR0FBRyxNQUFNLENBQ1YsUUFBUSxDQUFDLFdBQVcsRUFDcEIsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJO2NBQzdCLE1BQU0sQ0FBRSxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBa0IsQ0FBQyxLQUFLO2NBQ2pFLE1BQU0sQ0FDWDtBQUVELFFBQUEsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQzNCLEVBQUU7WUFDRCxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7O1FBR3pDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO0FBQzNDLFlBQUEsR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUU7O0FBR3RCLFFBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUc7O0FBR3BCLElBQUEsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUN6QixDQUFDO0FBRUQsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUE2QixDQUFDLEVBQUU7QUFDckMsSUFBQSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUU7QUFDcEMsUUFBQSxLQUFLLEVBQUUsQ0FBa0IsS0FBcUIsS0FBSTtBQUNoRCxZQUFBLE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxFQUFFO0FBQ3JCLFlBQUEsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFO1NBQ2pCO0FBQ0YsS0FBQSxDQUFDO0FBQ0o7QUFFTyxNQUFNLEdBQUcsR0FFWjs7QUN6TUo7Ozs7O0FBS0c7QUFDSSxNQUFNLE9BQU8sR0FBRzs7OzsifQ==
159
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXMtem9kLmVzbS5janMiLCJzb3VyY2VzIjpbIi4uL3NyYy9vdmVycmlkZXMudHMiLCIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kZWwsXG4gIE1vZGVsS2V5cyxcbiAgVHlwZU1ldGFkYXRhLFxuICBQcmltaXRpdmVzLFxuICBERUZBVUxUX0VSUk9SX01FU1NBR0VTLFxuICBWYWxpZGF0b3JPcHRpb25zLFxuICBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zLFxuICBNaW5WYWxpZGF0b3JPcHRpb25zLFxuICBNYXhWYWxpZGF0b3JPcHRpb25zLFxuICBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zLFxuICBTdGVwVmFsaWRhdG9yT3B0aW9ucyxcbiAgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMsXG4gIExpc3RNZXRhZGF0YSxcbiAgQ29uc3RydWN0b3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHosIFpvZEFueSwgWm9kT2JqZWN0IH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHsgUmVmbGVjdGlvbiB9IGZyb20gXCJAZGVjYWYtdHMvcmVmbGVjdGlvblwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5cbmNvbnN0IFJlc2VydmVkS2V5cyA9IFtcbiAgVmFsaWRhdGlvbktleXMuUkVRVUlSRUQsXG4gIFZhbGlkYXRpb25LZXlzLlRZUEUsXG4gIE1vZGVsS2V5cy5UWVBFLFxuXSBhcyBjb25zdDtcblxuZnVuY3Rpb24gaXNSZXNlcnZlZEtleShlbDogc3RyaW5nKSB7XG4gIHJldHVybiBSZXNlcnZlZEtleXMuaW5jbHVkZXMoZWwgYXMgYW55KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHpvZGlmeSh0eXBlOiBzdHJpbmcgfCBzdHJpbmdbXSwgeno6IGFueSA9IFpvZEFueSkge1xuICB0eXBlID0gdHlwZW9mIHR5cGUgPT09IFwic3RyaW5nXCIgPyBbdHlwZV0gOiB0eXBlO1xuXG4gIGZ1bmN0aW9uIGlubmVyWm9kaWZ5KHR5cGU6IHN0cmluZykge1xuICAgIHN3aXRjaCAodHlwZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuU1RSSU5HOlxuICAgICAgICByZXR1cm4gei5zdHJpbmcoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5OVU1CRVI6XG4gICAgICAgIHJldHVybiB6Lm51bWJlcigpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLkJJR0lOVDpcbiAgICAgICAgcmV0dXJuIHouYmlnaW50KCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuQk9PTEVBTjpcbiAgICAgICAgcmV0dXJuIHouYm9vbGVhbigpO1xuICAgICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5EQVRFOlxuICAgICAgICByZXR1cm4gei5kYXRlKCk7XG4gICAgICBjYXNlIEFycmF5Lm5hbWUudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgcmV0dXJuIHouYXJyYXkoenopO1xuICAgICAgY2FzZSBTZXQubmFtZS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICByZXR1cm4gei5zZXQoenopO1xuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBjb25zdCBtID0gTW9kZWwuZ2V0KHR5cGUpO1xuICAgICAgICBpZiAoIW0pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuem9kaWZpYWJsZSB0eXBlOiAke3R5cGV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB6eiA9IG5ldyBtKCkudG9ab2QoKTtcbiAgICAgICAgICByZXR1cm4geno7XG4gICAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byB6b2RpZnkgbW9kZWwgJHt0eXBlfTogJHtlfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IHpvZDogYW55O1xuICBmb3IgKGNvbnN0IHQgb2YgdHlwZSkge1xuICAgIHpvZCA9IHpvZCA/IHpvZC5vcihpbm5lclpvZGlmeSh0KSkgOiBpbm5lclpvZGlmeSh0KTtcbiAgfVxuXG4gIHJldHVybiB6b2Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6b2RpZnlWYWxpZGF0aW9uKFxuICB6b2Q6IGFueSxcbiAgdHlwZTogc3RyaW5nLFxuICB2YWx1ZXM6IFZhbGlkYXRvck9wdGlvbnNcbikge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1JTjpcbiAgICAgIHJldHVybiB6b2QubWluKCh2YWx1ZXMgYXMgTWluVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUlOXSk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIOlxuICAgICAgcmV0dXJuIHpvZC5taW4oXG4gICAgICAgICh2YWx1ZXMgYXMgTWluTGVuZ3RoVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NQVg6XG4gICAgICByZXR1cm4gem9kLm1heCgodmFsdWVzIGFzIE1heFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1BWF0pO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSDpcbiAgICAgIHJldHVybiB6b2QubWF4KFxuICAgICAgICAodmFsdWVzIGFzIE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEhdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuU1RFUDpcbiAgICAgIHJldHVybiB6b2QubXVsdGlwbGVPZihcbiAgICAgICAgKHZhbHVlcyBhcyBTdGVwVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuU1RFUF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5QQVRURVJOOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgKHZhbHVlcyBhcyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuUEFUVEVSTl1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5VUkw6XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkVNQUlMOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgKHZhbHVlcyBhcyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuUEFUVEVSTl1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5QQVNTV09SRDpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuREFURTpcbiAgICAgIHJldHVybiB6b2QuZGF0ZSgpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gem9kO1xuICB9XG59XG5cbk1vZGVsLnByb3RvdHlwZS50b1pvZCA9IGZ1bmN0aW9uIDxNIGV4dGVuZHMgTW9kZWw+KHRoaXM6IE0pOiBab2RPYmplY3Q8YW55PiB7XG4gIGNvbnN0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcykgJiYgIXByb3BlcnRpZXMubGVuZ3RoKSByZXR1cm4gei5vYmplY3Qoe30pO1xuICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcGVydGllcykge1xuICAgIGlmIChcbiAgICAgIHR5cGVvZiAodGhpcyBhcyBhbnkpW3Byb3BdID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgIHByb3Auc3RhcnRzV2l0aChcIl9cIikgfHxcbiAgICAgIHByb3AgPT09IFwiY29uc3RydWN0b3JcIlxuICAgICkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgYWxsRGVjcyA9IFJlZmxlY3Rpb24uZ2V0UHJvcGVydHlEZWNvcmF0b3JzKFxuICAgICAgVmFsaWRhdGlvbktleXMuUkVGTEVDVCxcbiAgICAgIHRoaXMsXG4gICAgICBwcm9wLFxuICAgICAgZmFsc2UsXG4gICAgICB0cnVlXG4gICAgKTtcblxuICAgIGNvbnN0IGRlY29yYXRvckRhdGEgPSBhbGxEZWNzLmRlY29yYXRvcnMucmVkdWNlKFxuICAgICAgKGFjY3VtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBlbCkgPT4ge1xuICAgICAgICBjb25zdCB7IGtleSwgcHJvcHMgfSA9IGVsO1xuICAgICAgICBpZiAoa2V5ID09PSBNb2RlbEtleXMuVFlQRSAmJiAhYWNjdW1bVmFsaWRhdGlvbktleXMuVFlQRV0pIHtcbiAgICAgICAgICBhY2N1bVtWYWxpZGF0aW9uS2V5cy5UWVBFXSA9IHtcbiAgICAgICAgICAgIGN1c3RvbVR5cGVzOiBbcHJvcHMubmFtZSBhcyBzdHJpbmddLFxuICAgICAgICAgICAgbWVzc2FnZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5UWVBFLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiZGVmaW5lcyB0aGUgYWNjZXB0ZWQgdHlwZXMgZm9yIHRoZSBhdHRyaWJ1dGVcIixcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjY3VtW2tleV0gPSBwcm9wcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuXG4gICAgaWYgKCFPYmplY3Qua2V5cyhkZWNvcmF0b3JEYXRhKS5sZW5ndGgpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGxldCB6b2Q6IGFueSA9IFpvZEFueTtcblxuICAgIGNvbnN0IHR5cGVEYXRhOiBUeXBlTWV0YWRhdGEgPSBkZWNvcmF0b3JEYXRhW1xuICAgICAgVmFsaWRhdGlvbktleXMuVFlQRVxuICAgIF0gYXMgVHlwZU1ldGFkYXRhO1xuXG4gICAgaWYgKCF0eXBlRGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIHR5cGUgaW5mb3JtYXRpb25gKTtcbiAgICB9XG5cbiAgICB6b2QgPSB6b2RpZnkoXG4gICAgICAoQXJyYXkuaXNBcnJheSh0eXBlRGF0YS5jdXN0b21UeXBlcylcbiAgICAgICAgPyB0eXBlRGF0YS5jdXN0b21UeXBlc1xuICAgICAgICA6IFt0eXBlRGF0YS5jdXN0b21UeXBlc11cbiAgICAgICkubWFwKChjKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgYyA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gYygpO1xuICAgICAgICByZXR1cm4gYztcbiAgICAgIH0pLFxuICAgICAgZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXVxuICAgICAgICA/IHpvZGlmeShcbiAgICAgICAgICAgIChBcnJheS5pc0FycmF5KFxuICAgICAgICAgICAgICAoZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXSBhcyBMaXN0TWV0YWRhdGEpLmNsYXp6XG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgID8gKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6elxuICAgICAgICAgICAgICA6IFsoZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXSBhcyBMaXN0TWV0YWRhdGEpLmNsYXp6XVxuICAgICAgICAgICAgKS5tYXAoKGMpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYygpLm5hbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGMgYXMgc3RyaW5nO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIDogWm9kQW55XG4gICAgKTtcblxuICAgIGZvciAoY29uc3QgW2tleSwgcHJvcHNdIG9mIE9iamVjdC5lbnRyaWVzKGRlY29yYXRvckRhdGEpLmZpbHRlcihcbiAgICAgIChba10pID0+ICFpc1Jlc2VydmVkS2V5KGspXG4gICAgKSkge1xuICAgICAgem9kID0gem9kaWZ5VmFsaWRhdGlvbih6b2QsIGtleSwgcHJvcHMpO1xuICAgIH1cblxuICAgIGlmICghZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRF0pIHtcbiAgICAgIHpvZCA9IHpvZC5vcHRpb25hbCgpO1xuICAgIH1cblxuICAgIHJlc3VsdFtwcm9wXSA9IHpvZDtcbiAgfVxuXG4gIHJldHVybiB6Lm9iamVjdChyZXN1bHQpO1xufTtcblxuZXhwb3J0IHR5cGUgWm9kRnJvbU1vZGVsID0gdHlwZW9mIHogJiB7XG4gIGZyb21Nb2RlbDogPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IENvbnN0cnVjdG9yPE0+KSA9PiBab2RPYmplY3Q8YW55Pjtcbn07XG5cbi8vIEB0cy1leHBlY3QtZXJyb3Igb3ZlcnJpZGluZyB0eXBlXG5jb25zdCBab2Q6IFpvZEZyb21Nb2RlbCA9IHo7XG5cbmNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFxuICBab2QsXG4gIFwiZnJvbU1vZGVsXCIgYXMga2V5b2YgdHlwZW9mIFpvZFxuKTtcblxuaWYgKCFkZXNjcmlwdG9yIHx8IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh6LCBcImZyb21Nb2RlbFwiLCB7XG4gICAgdmFsdWU6IDxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBDb25zdHJ1Y3RvcjxNPikgPT4ge1xuICAgICAgY29uc3QgbSA9IG5ldyBtb2RlbCgpO1xuICAgICAgcmV0dXJuIG0udG9ab2QoKTtcbiAgICB9LFxuICB9KTtcbn1cblxuZXhwb3J0IHsgWm9kIH07XG4iLCJleHBvcnQgKiBmcm9tIFwiLi9tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vb3ZlcnJpZGVzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVmbGVjdGlvbiBwYWNrYWdlXG4gKiBAc3VtbWFyeSBTdG9yZXMgdGhlIHNlbWFudGljIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBwYWNrYWdlXG4gKiBAY29uc3QgVkVSU0lPTlxuICogQG1lbWJlck9mIG1vZHVsZTphcy16b2RcbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIiMjVkVSU0lPTiMjXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQW9CQSxNQUFNLFlBQVksR0FBRztBQUNuQixJQUFBLGNBQWMsQ0FBQyxRQUFRO0FBQ3ZCLElBQUEsY0FBYyxDQUFDLElBQUk7QUFDbkIsSUFBQSxTQUFTLENBQUMsSUFBSTtDQUNOO0FBRVYsU0FBUyxhQUFhLENBQUMsRUFBVSxFQUFBO0FBQy9CLElBQUEsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQVMsQ0FBQztBQUN6QztTQUVnQixNQUFNLENBQUMsSUFBdUIsRUFBRSxLQUFVLE1BQU0sRUFBQTtBQUM5RCxJQUFBLElBQUksR0FBRyxPQUFPLElBQUksS0FBSyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJO0lBRS9DLFNBQVMsV0FBVyxDQUFDLElBQVksRUFBQTtBQUMvQixRQUFBLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN4QixLQUFLLFVBQVUsQ0FBQyxNQUFNO0FBQ3BCLGdCQUFBLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNuQixLQUFLLFVBQVUsQ0FBQyxNQUFN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
@@ -6,4 +6,4 @@ export * from "./overrides";
6
6
  * @const VERSION
7
7
  * @memberOf module:as-zod
8
8
  */
9
- export declare const VERSION = "0.0.7";
9
+ export declare const VERSION = "0.0.10";
package/lib/esm/index.js CHANGED
@@ -6,5 +6,5 @@ export * from "./overrides.js";
6
6
  * @const VERSION
7
7
  * @memberOf module:as-zod
8
8
  */
9
- export const VERSION = "0.0.7";
9
+ export const VERSION = "0.0.10";
10
10
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkJBQXdCO0FBQ3hCLCtCQUE0QjtBQUU1Qjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vb3ZlcnJpZGVzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcmVmbGVjdGlvbiBwYWNrYWdlXG4gKiBAc3VtbWFyeSBTdG9yZXMgdGhlIHNlbWFudGljIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBwYWNrYWdlXG4gKiBAY29uc3QgVkVSU0lPTlxuICogQG1lbWJlck9mIG1vZHVsZTphcy16b2RcbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIiMjVkVSU0lPTiMjXCI7XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { ZodObject } from "zod";
2
2
  declare module "@decaf-ts/decorator-validation" {
3
3
  interface Model {
4
- toZod(): ZodObject;
4
+ toZod(): ZodObject<any>;
5
5
  }
6
6
  }
package/lib/esm/model.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFpvZE9iamVjdCB9IGZyb20gXCJ6b2RcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIiB7XG4gIGludGVyZmFjZSBNb2RlbCB7XG4gICAgdG9ab2QoKTogWm9kT2JqZWN0O1xuICB9XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFpvZE9iamVjdCB9IGZyb20gXCJ6b2RcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIiB7XG4gIGludGVyZmFjZSBNb2RlbCB7XG4gICAgdG9ab2QoKTogWm9kT2JqZWN0PGFueT47XG4gIH1cbn1cbiJdfQ==
@@ -2,6 +2,8 @@ import { Model, ValidatorOptions, Constructor } from "@decaf-ts/decorator-valida
2
2
  import { z, ZodObject } from "zod";
3
3
  export declare function zodify(type: string | string[], zz?: any): any;
4
4
  export declare function zodifyValidation(zod: any, type: string, values: ValidatorOptions): any;
5
- export declare const Zod: typeof z & {
6
- fromModel: <M extends Model>(model: Constructor<M>) => ZodObject;
5
+ export type ZodFromModel = typeof z & {
6
+ fromModel: <M extends Model>(model: Constructor<M>) => ZodObject<any>;
7
7
  };
8
+ declare const Zod: ZodFromModel;
9
+ export { Zod };
@@ -109,8 +109,21 @@ Model.prototype.toZod = function () {
109
109
  if (!typeData) {
110
110
  throw new Error(`Missing type information`);
111
111
  }
112
- zod = zodify(typeData.customTypes, decoratorData[ValidationKeys.LIST]
113
- ? zodify(decoratorData[ValidationKeys.LIST].clazz)
112
+ zod = zodify((Array.isArray(typeData.customTypes)
113
+ ? typeData.customTypes
114
+ : [typeData.customTypes]).map((c) => {
115
+ if (typeof c === "function")
116
+ return c();
117
+ return c;
118
+ }), decoratorData[ValidationKeys.LIST]
119
+ ? zodify((Array.isArray(decoratorData[ValidationKeys.LIST].clazz)
120
+ ? decoratorData[ValidationKeys.LIST].clazz
121
+ : [decoratorData[ValidationKeys.LIST].clazz]).map((c) => {
122
+ if (typeof c === "function") {
123
+ return c().name;
124
+ }
125
+ return c;
126
+ }))
114
127
  : ZodAny);
115
128
  for (const [key, props] of Object.entries(decoratorData).filter(([k]) => !isReservedKey(k))) {
116
129
  zod = zodifyValidation(zod, key, props);
@@ -122,7 +135,10 @@ Model.prototype.toZod = function () {
122
135
  }
123
136
  return z.object(result);
124
137
  };
125
- if (!z["fromModel"]) {
138
+ // @ts-expect-error overriding type
139
+ const Zod = z;
140
+ const descriptor = Object.getOwnPropertyDescriptor(Zod, "fromModel");
141
+ if (!descriptor || descriptor.configurable) {
126
142
  Object.defineProperty(z, "fromModel", {
127
143
  value: (model) => {
128
144
  const m = new model();
@@ -130,5 +146,5 @@ if (!z["fromModel"]) {
130
146
  },
131
147
  });
132
148
  }
133
- export const Zod = z;
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL292ZXJyaWRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUNMLFNBQVMsRUFFVCxVQUFVLEVBQ1Ysc0JBQXNCLEdBVXZCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQTBCLE1BQU0sS0FBSyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFaEUsTUFBTSxZQUFZLEdBQUc7SUFDbkIsY0FBYyxDQUFDLFFBQVE7SUFDdkIsY0FBYyxDQUFDLElBQUk7SUFDbkIsU0FBUyxDQUFDLElBQUk7Q0FDTixDQUFDO0FBRVgsU0FBUyxhQUFhLENBQUMsRUFBVTtJQUMvQixPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBUyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsSUFBdUIsRUFBRSxLQUFVLE1BQU07SUFDOUQsSUFBSSxHQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRWhELFNBQVMsV0FBVyxDQUFDLElBQVk7UUFDL0IsUUFBUSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUMzQixLQUFLLFVBQVUsQ0FBQyxNQUFNO2dCQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixLQUFLLFVBQVUsQ0FBQyxNQUFNO2dCQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixLQUFLLFVBQVUsQ0FBQyxNQUFNO2dCQUNwQixPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixL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QyxDQUFDLENBQzNCLEVBQUUsQ0FBQztZQUNGLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzVDLEdBQUcsR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDckIsQ0FBQztJQUVELE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUM7QUFFRixJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQTZCLENBQUMsRUFBRSxDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRTtRQUNwQyxLQUFLLEVBQUUsQ0FBa0IsS0FBcUIsRUFBRSxFQUFFO1lBQ2hELE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBRVosQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kZWwsXG4gIE1vZGVsS2V5cyxcbiAgVHlwZU1ldGFkYXRhLFxuICBQcmltaXRpdmVzLFxuICBERUZBVUxUX0VSUk9SX01FU1NBR0VTLFxuICBWYWxpZGF0b3JPcHRpb25zLFxuICBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zLFxuICBNaW5WYWxpZGF0b3JPcHRpb25zLFxuICBNYXhWYWxpZGF0b3JPcHRpb25zLFxuICBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zLFxuICBTdGVwVmFsaWRhdG9yT3B0aW9ucyxcbiAgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMsXG4gIExpc3RNZXRhZGF0YSxcbiAgQ29uc3RydWN0b3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHosIFpvZEFueSwgWm9kT2JqZWN0LCBab2RSYXdTaGFwZSB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IFJlZmxlY3Rpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuXG5jb25zdCBSZXNlcnZlZEtleXMgPSBbXG4gIFZhbGlkYXRpb25LZXlzLlJFUVVJUkVELFxuICBWYWxpZGF0aW9uS2V5cy5UWVBFLFxuICBNb2RlbEtleXMuVFlQRSxcbl0gYXMgY29uc3Q7XG5cbmZ1bmN0aW9uIGlzUmVzZXJ2ZWRLZXkoZWw6IHN0cmluZykge1xuICByZXR1cm4gUmVzZXJ2ZWRLZXlzLmluY2x1ZGVzKGVsIGFzIGFueSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6b2RpZnkodHlwZTogc3RyaW5nIHwgc3RyaW5nW10sIHp6OiBhbnkgPSBab2RBbnkpIHtcbiAgdHlwZSA9IHR5cGVvZiB0eXBlID09PSBcInN0cmluZ1wiID8gW3R5cGVdIDogdHlwZTtcblxuICBmdW5jdGlvbiBpbm5lclpvZGlmeSh0eXBlOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHR5cGUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSBQcmltaXRpdmVzLlNUUklORzpcbiAgICAgICAgcmV0dXJuIHouc3RyaW5nKCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuTlVNQkVSOlxuICAgICAgICByZXR1cm4gei5udW1iZXIoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5CSUdJTlQ6XG4gICAgICAgIHJldHVybiB6LmJpZ2ludCgpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLkJPT0xFQU46XG4gICAgICAgIHJldHVybiB6LmJvb2xlYW4oKTtcbiAgICAgIGNhc2UgVmFsaWRhdGlvbktleXMuREFURTpcbiAgICAgICAgcmV0dXJuIHouZGF0ZSgpO1xuICAgICAgY2FzZSBBcnJheS5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgIHJldHVybiB6LmFycmF5KHp6KTtcbiAgICAgIGNhc2UgU2V0Lm5hbWUudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgcmV0dXJuIHouc2V0KHp6KTtcbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgbSA9IE1vZGVsLmdldCh0eXBlKTtcbiAgICAgICAgaWYgKCFtKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnpvZGlmaWFibGUgdHlwZTogJHt0eXBlfWApO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgenogPSBuZXcgbSgpLnRvWm9kKCk7XG4gICAgICAgICAgcmV0dXJuIHp6O1xuICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gem9kaWZ5IG1vZGVsICR7dHlwZX06ICR7ZX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCB6b2Q6IGFueTtcbiAgZm9yIChjb25zdCB0IG9mIHR5cGUpIHtcbiAgICB6b2QgPSB6b2QgPyB6b2Qub3IoaW5uZXJab2RpZnkodCkpIDogaW5uZXJab2RpZnkodCk7XG4gIH1cblxuICByZXR1cm4gem9kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gem9kaWZ5VmFsaWRhdGlvbihcbiAgem9kOiBhbnksXG4gIHR5cGU6IHN0cmluZyxcbiAgdmFsdWVzOiBWYWxpZGF0b3JPcHRpb25zXG4pIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NSU46XG4gICAgICByZXR1cm4gem9kLm1pbigodmFsdWVzIGFzIE1pblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1JTl0pO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSDpcbiAgICAgIHJldHVybiB6b2QubWluKFxuICAgICAgICAodmFsdWVzIGFzIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEhdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUFYOlxuICAgICAgcmV0dXJuIHpvZC5tYXgoKHZhbHVlcyBhcyBNYXhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NQVhdKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEg6XG4gICAgICByZXR1cm4gem9kLm1heChcbiAgICAgICAgKHZhbHVlcyBhcyBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlNURVA6XG4gICAgICByZXR1cm4gem9kLm11bHRpcGxlT2YoXG4gICAgICAgICh2YWx1ZXMgYXMgU3RlcFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlNURVBdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFUVEVSTjpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuVVJMOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgKHZhbHVlcyBhcyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuUEFUVEVSTl1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5FTUFJTDpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFTU1dPUkQ6XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkRBVEU6XG4gICAgICByZXR1cm4gem9kLmRhdGUoKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHpvZDtcbiAgfVxufVxuXG5Nb2RlbC5wcm90b3R5cGUudG9ab2QgPSBmdW5jdGlvbiA8TSBleHRlbmRzIE1vZGVsPih0aGlzOiBNKTogWm9kT2JqZWN0PGFueT4ge1xuICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogWm9kUmF3U2hhcGUgfSA9IHt9O1xuXG4gIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcykgJiYgIXByb3BlcnRpZXMubGVuZ3RoKSByZXR1cm4gei5vYmplY3Qoe30pO1xuICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcGVydGllcykge1xuICAgIGlmIChcbiAgICAgIHR5cGVvZiAodGhpcyBhcyBhbnkpW3Byb3BdID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgIHByb3Auc3RhcnRzV2l0aChcIl9cIikgfHxcbiAgICAgIHByb3AgPT09IFwiY29uc3RydWN0b3JcIlxuICAgICkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgYWxsRGVjcyA9IFJlZmxlY3Rpb24uZ2V0UHJvcGVydHlEZWNvcmF0b3JzKFxuICAgICAgVmFsaWRhdGlvbktleXMuUkVGTEVDVCxcbiAgICAgIHRoaXMsXG4gICAgICBwcm9wLFxuICAgICAgZmFsc2UsXG4gICAgICB0cnVlXG4gICAgKTtcblxuICAgIGNvbnN0IGRlY29yYXRvckRhdGEgPSBhbGxEZWNzLmRlY29yYXRvcnMucmVkdWNlKFxuICAgICAgKGFjY3VtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBlbCkgPT4ge1xuICAgICAgICBjb25zdCB7IGtleSwgcHJvcHMgfSA9IGVsO1xuICAgICAgICBpZiAoa2V5ID09PSBNb2RlbEtleXMuVFlQRSAmJiAhYWNjdW1bVmFsaWRhdGlvbktleXMuVFlQRV0pIHtcbiAgICAgICAgICBhY2N1bVtWYWxpZGF0aW9uS2V5cy5UWVBFXSA9IHtcbiAgICAgICAgICAgIGN1c3RvbVR5cGVzOiBbcHJvcHMubmFtZSBhcyBzdHJpbmddLFxuICAgICAgICAgICAgbWVzc2FnZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5UWVBFLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiZGVmaW5lcyB0aGUgYWNjZXB0ZWQgdHlwZXMgZm9yIHRoZSBhdHRyaWJ1dGVcIixcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjY3VtW2tleV0gPSBwcm9wcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuXG4gICAgaWYgKCFPYmplY3Qua2V5cyhkZWNvcmF0b3JEYXRhKS5sZW5ndGgpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGxldCB6b2Q6IGFueSA9IFpvZEFueTtcblxuICAgIGNvbnN0IHR5cGVEYXRhOiBUeXBlTWV0YWRhdGEgPSBkZWNvcmF0b3JEYXRhW1xuICAgICAgVmFsaWRhdGlvbktleXMuVFlQRVxuICAgIF0gYXMgVHlwZU1ldGFkYXRhO1xuXG4gICAgaWYgKCF0eXBlRGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIHR5cGUgaW5mb3JtYXRpb25gKTtcbiAgICB9XG5cbiAgICB6b2QgPSB6b2RpZnkoXG4gICAgICB0eXBlRGF0YS5jdXN0b21UeXBlcyxcbiAgICAgIGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF1cbiAgICAgICAgPyB6b2RpZnkoKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6eilcbiAgICAgICAgOiBab2RBbnlcbiAgICApO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCBwcm9wc10gb2YgT2JqZWN0LmVudHJpZXMoZGVjb3JhdG9yRGF0YSkuZmlsdGVyKFxuICAgICAgKFtrXSkgPT4gIWlzUmVzZXJ2ZWRLZXkoaylcbiAgICApKSB7XG4gICAgICB6b2QgPSB6b2RpZnlWYWxpZGF0aW9uKHpvZCwga2V5LCBwcm9wcyk7XG4gICAgfVxuXG4gICAgaWYgKCFkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLlJFUVVJUkVEXSkge1xuICAgICAgem9kID0gem9kLm9wdGlvbmFsKCk7XG4gICAgfVxuXG4gICAgcmVzdWx0W3Byb3BdID0gem9kO1xuICB9XG5cbiAgcmV0dXJuIHoub2JqZWN0KHJlc3VsdCk7XG59O1xuXG5pZiAoIXpbXCJmcm9tTW9kZWxcIiBhcyBrZXlvZiB0eXBlb2Ygel0pIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHosIFwiZnJvbU1vZGVsXCIsIHtcbiAgICB2YWx1ZTogPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IENvbnN0cnVjdG9yPE0+KSA9PiB7XG4gICAgICBjb25zdCBtID0gbmV3IG1vZGVsKCk7XG4gICAgICByZXR1cm4gbS50b1pvZCgpO1xuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgWm9kOiB0eXBlb2YgeiAmIHtcbiAgZnJvbU1vZGVsOiA8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogQ29uc3RydWN0b3I8TT4pID0+IFpvZE9iamVjdDtcbn0gPSB6O1xuIl19
149
+ export { Zod };
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL292ZXJyaWRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUNMLFNBQVMsRUFFVCxVQUFVLEVBQ1Ysc0JBQXNCLEdBVXZCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQWEsTUFBTSxLQUFLLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVoRSxNQUFNLFlBQVksR0FBRztJQUNuQixjQUFjLENBQUMsUUFBUTtJQUN2QixjQUFjLENBQUMsSUFBSTtJQUNuQixTQUFTLENBQUMsSUFBSTtDQUNOLENBQUM7QUFFWCxTQUFTLGFBQWEsQ0FBQyxFQUFVO0lBQy9CLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFTLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUF1QixFQUFFLEtBQVUsTUFBTTtJQUM5RCxJQUFJLEdBQUcsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFFaEQsU0FBUyxXQUFXLENBQUMsSUFBWTtRQUMvQixRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQzNCLEtBQUssVUFBVSxDQUFDLE1BQU07Z0JBQ3BCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLEtBQUssVUFBVSxDQUFDLE1BQU07Z0JBQ3BCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLEtBQUssVUFBVSxDQUFDLE1BQU07Z0JBQ3BCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLEtB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QUFpQixDQUFDLENBQUM7QUFFNUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUNoRCxHQUFHLEVBQ0gsV0FBK0IsQ0FDaEMsQ0FBQztBQUVGLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRTtRQUNwQyxLQUFLLEVBQUUsQ0FBa0IsS0FBcUIsRUFBRSxFQUFFO1lBQ2hELE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDdEIsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbCxcbiAgTW9kZWxLZXlzLFxuICBUeXBlTWV0YWRhdGEsXG4gIFByaW1pdGl2ZXMsXG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIFZhbGlkYXRvck9wdGlvbnMsXG4gIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMsXG4gIE1pblZhbGlkYXRvck9wdGlvbnMsXG4gIE1heFZhbGlkYXRvck9wdGlvbnMsXG4gIE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMsXG4gIFN0ZXBWYWxpZGF0b3JPcHRpb25zLFxuICBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyxcbiAgTGlzdE1ldGFkYXRhLFxuICBDb25zdHJ1Y3Rvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgeiwgWm9kQW55LCBab2RPYmplY3QgfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBSZWZsZWN0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuY29uc3QgUmVzZXJ2ZWRLZXlzID0gW1xuICBWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRCxcbiAgVmFsaWRhdGlvbktleXMuVFlQRSxcbiAgTW9kZWxLZXlzLlRZUEUsXG5dIGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBpc1Jlc2VydmVkS2V5KGVsOiBzdHJpbmcpIHtcbiAgcmV0dXJuIFJlc2VydmVkS2V5cy5pbmNsdWRlcyhlbCBhcyBhbnkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gem9kaWZ5KHR5cGU6IHN0cmluZyB8IHN0cmluZ1tdLCB6ejogYW55ID0gWm9kQW55KSB7XG4gIHR5cGUgPSB0eXBlb2YgdHlwZSA9PT0gXCJzdHJpbmdcIiA/IFt0eXBlXSA6IHR5cGU7XG5cbiAgZnVuY3Rpb24gaW5uZXJab2RpZnkodHlwZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5TVFJJTkc6XG4gICAgICAgIHJldHVybiB6LnN0cmluZygpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLk5VTUJFUjpcbiAgICAgICAgcmV0dXJuIHoubnVtYmVyKCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuQklHSU5UOlxuICAgICAgICByZXR1cm4gei5iaWdpbnQoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5CT09MRUFOOlxuICAgICAgICByZXR1cm4gei5ib29sZWFuKCk7XG4gICAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkRBVEU6XG4gICAgICAgIHJldHVybiB6LmRhdGUoKTtcbiAgICAgIGNhc2UgQXJyYXkubmFtZS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICByZXR1cm4gei5hcnJheSh6eik7XG4gICAgICBjYXNlIFNldC5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgIHJldHVybiB6LnNldCh6eik7XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGNvbnN0IG0gPSBNb2RlbC5nZXQodHlwZSk7XG4gICAgICAgIGlmICghbSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW56b2RpZmlhYmxlIHR5cGU6ICR7dHlwZX1gKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHp6ID0gbmV3IG0oKS50b1pvZCgpO1xuICAgICAgICAgIHJldHVybiB6ejtcbiAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHpvZGlmeSBtb2RlbCAke3R5cGV9OiAke2V9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgem9kOiBhbnk7XG4gIGZvciAoY29uc3QgdCBvZiB0eXBlKSB7XG4gICAgem9kID0gem9kID8gem9kLm9yKGlubmVyWm9kaWZ5KHQpKSA6IGlubmVyWm9kaWZ5KHQpO1xuICB9XG5cbiAgcmV0dXJuIHpvZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHpvZGlmeVZhbGlkYXRpb24oXG4gIHpvZDogYW55LFxuICB0eXBlOiBzdHJpbmcsXG4gIHZhbHVlczogVmFsaWRhdG9yT3B0aW9uc1xuKSB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUlOOlxuICAgICAgcmV0dXJuIHpvZC5taW4oKHZhbHVlcyBhcyBNaW5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NSU5dKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEg6XG4gICAgICByZXR1cm4gem9kLm1pbihcbiAgICAgICAgKHZhbHVlcyBhcyBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1BWDpcbiAgICAgIHJldHVybiB6b2QubWF4KCh2YWx1ZXMgYXMgTWF4VmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUFYXSk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIOlxuICAgICAgcmV0dXJuIHpvZC5tYXgoXG4gICAgICAgICh2YWx1ZXMgYXMgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5TVEVQOlxuICAgICAgcmV0dXJuIHpvZC5tdWx0aXBsZU9mKFxuICAgICAgICAodmFsdWVzIGFzIFN0ZXBWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5TVEVQXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlBBVFRFUk46XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlVSTDpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuRU1BSUw6XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlBBU1NXT1JEOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgKHZhbHVlcyBhcyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuUEFUVEVSTl1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5EQVRFOlxuICAgICAgcmV0dXJuIHpvZC5kYXRlKCk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB6b2Q7XG4gIH1cbn1cblxuTW9kZWwucHJvdG90eXBlLnRvWm9kID0gZnVuY3Rpb24gPE0gZXh0ZW5kcyBNb2RlbD4odGhpczogTSk6IFpvZE9iamVjdDxhbnk+IHtcbiAgY29uc3QgcmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgY29uc3QgcHJvcGVydGllcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpO1xuICBpZiAoQXJyYXkuaXNBcnJheShwcm9wZXJ0aWVzKSAmJiAhcHJvcGVydGllcy5sZW5ndGgpIHJldHVybiB6Lm9iamVjdCh7fSk7XG4gIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgaWYgKFxuICAgICAgdHlwZW9mICh0aGlzIGFzIGFueSlbcHJvcF0gPT09IFwiZnVuY3Rpb25cIiB8fFxuICAgICAgcHJvcC5zdGFydHNXaXRoKFwiX1wiKSB8fFxuICAgICAgcHJvcCA9PT0gXCJjb25zdHJ1Y3RvclwiXG4gICAgKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxEZWNzID0gUmVmbGVjdGlvbi5nZXRQcm9wZXJ0eURlY29yYXRvcnMoXG4gICAgICBWYWxpZGF0aW9uS2V5cy5SRUZMRUNULFxuICAgICAgdGhpcyxcbiAgICAgIHByb3AsXG4gICAgICBmYWxzZSxcbiAgICAgIHRydWVcbiAgICApO1xuXG4gICAgY29uc3QgZGVjb3JhdG9yRGF0YSA9IGFsbERlY3MuZGVjb3JhdG9ycy5yZWR1Y2UoXG4gICAgICAoYWNjdW06IFJlY29yZDxzdHJpbmcsIGFueT4sIGVsKSA9PiB7XG4gICAgICAgIGNvbnN0IHsga2V5LCBwcm9wcyB9ID0gZWw7XG4gICAgICAgIGlmIChrZXkgPT09IE1vZGVsS2V5cy5UWVBFICYmICFhY2N1bVtWYWxpZGF0aW9uS2V5cy5UWVBFXSkge1xuICAgICAgICAgIGFjY3VtW1ZhbGlkYXRpb25LZXlzLlRZUEVdID0ge1xuICAgICAgICAgICAgY3VzdG9tVHlwZXM6IFtwcm9wcy5uYW1lIGFzIHN0cmluZ10sXG4gICAgICAgICAgICBtZXNzYWdlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlRZUEUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJkZWZpbmVzIHRoZSBhY2NlcHRlZCB0eXBlcyBmb3IgdGhlIGF0dHJpYnV0ZVwiLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjdW1ba2V5XSA9IHByb3BzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgIH0sXG4gICAgICB7fVxuICAgICk7XG5cbiAgICBpZiAoIU9iamVjdC5rZXlzKGRlY29yYXRvckRhdGEpLmxlbmd0aCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgbGV0IHpvZDogYW55ID0gWm9kQW55O1xuXG4gICAgY29uc3QgdHlwZURhdGE6IFR5cGVNZXRhZGF0YSA9IGRlY29yYXRvckRhdGFbXG4gICAgICBWYWxpZGF0aW9uS2V5cy5UWVBFXG4gICAgXSBhcyBUeXBlTWV0YWRhdGE7XG5cbiAgICBpZiAoIXR5cGVEYXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgdHlwZSBpbmZvcm1hdGlvbmApO1xuICAgIH1cblxuICAgIHpvZCA9IHpvZGlmeShcbiAgICAgIChBcnJheS5pc0FycmF5KHR5cGVEYXRhLmN1c3RvbVR5cGVzKVxuICAgICAgICA/IHR5cGVEYXRhLmN1c3RvbVR5cGVzXG4gICAgICAgIDogW3R5cGVEYXRhLmN1c3RvbVR5cGVzXVxuICAgICAgKS5tYXAoKGMpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBjKCk7XG4gICAgICAgIHJldHVybiBjO1xuICAgICAgfSksXG4gICAgICBkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdXG4gICAgICAgID8gem9kaWZ5KFxuICAgICAgICAgICAgKEFycmF5LmlzQXJyYXkoXG4gICAgICAgICAgICAgIChkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgPyAoZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5MSVNUXSBhcyBMaXN0TWV0YWRhdGEpLmNsYXp6XG4gICAgICAgICAgICAgIDogWyhkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpdXG4gICAgICAgICAgICApLm1hcCgoYykgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIGMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBjKCkubmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gYyBhcyBzdHJpbmc7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgOiBab2RBbnlcbiAgICApO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCBwcm9wc10gb2YgT2JqZWN0LmVudHJpZXMoZGVjb3JhdG9yRGF0YSkuZmlsdGVyKFxuICAgICAgKFtrXSkgPT4gIWlzUmVzZXJ2ZWRLZXkoaylcbiAgICApKSB7XG4gICAgICB6b2QgPSB6b2RpZnlWYWxpZGF0aW9uKHpvZCwga2V5LCBwcm9wcyk7XG4gICAgfVxuXG4gICAgaWYgKCFkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLlJFUVVJUkVEXSkge1xuICAgICAgem9kID0gem9kLm9wdGlvbmFsKCk7XG4gICAgfVxuXG4gICAgcmVzdWx0W3Byb3BdID0gem9kO1xuICB9XG5cbiAgcmV0dXJuIHoub2JqZWN0KHJlc3VsdCk7XG59O1xuXG5leHBvcnQgdHlwZSBab2RGcm9tTW9kZWwgPSB0eXBlb2YgeiAmIHtcbiAgZnJvbU1vZGVsOiA8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogQ29uc3RydWN0b3I8TT4pID0+IFpvZE9iamVjdDxhbnk+O1xufTtcblxuLy8gQHRzLWV4cGVjdC1lcnJvciBvdmVycmlkaW5nIHR5cGVcbmNvbnN0IFpvZDogWm9kRnJvbU1vZGVsID0gejtcblxuY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gIFpvZCxcbiAgXCJmcm9tTW9kZWxcIiBhcyBrZXlvZiB0eXBlb2YgWm9kXG4pO1xuXG5pZiAoIWRlc2NyaXB0b3IgfHwgZGVzY3JpcHRvci5jb25maWd1cmFibGUpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHosIFwiZnJvbU1vZGVsXCIsIHtcbiAgICB2YWx1ZTogPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IENvbnN0cnVjdG9yPE0+KSA9PiB7XG4gICAgICBjb25zdCBtID0gbmV3IG1vZGVsKCk7XG4gICAgICByZXR1cm4gbS50b1pvZCgpO1xuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgeyBab2QgfTtcbiJdfQ==
package/lib/index.cjs CHANGED
@@ -23,5 +23,5 @@ __exportStar(require("./overrides.cjs"), exports);
23
23
  * @const VERSION
24
24
  * @memberOf module:as-zod
25
25
  */
26
- exports.VERSION = "0.0.7";
26
+ exports.VERSION = "0.0.10";
27
27
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBd0I7QUFDeEIsa0RBQTRCO0FBRTVCOzs7OztHQUtHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL292ZXJyaWRlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDdXJyZW50IHZlcnNpb24gb2YgdGhlIHJlZmxlY3Rpb24gcGFja2FnZVxuICogQHN1bW1hcnkgU3RvcmVzIHRoZSBzZW1hbnRpYyB2ZXJzaW9uIG51bWJlciBvZiB0aGUgcGFja2FnZVxuICogQGNvbnN0IFZFUlNJT05cbiAqIEBtZW1iZXJPZiBtb2R1bGU6YXMtem9kXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gXCIjI1ZFUlNJT04jI1wiO1xuIl19
package/lib/index.d.ts CHANGED
@@ -6,4 +6,4 @@ export * from "./overrides";
6
6
  * @const VERSION
7
7
  * @memberOf module:as-zod
8
8
  */
9
- export declare const VERSION = "0.0.7";
9
+ export declare const VERSION = "0.0.10";
package/lib/model.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFpvZE9iamVjdCB9IGZyb20gXCJ6b2RcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIiB7XG4gIGludGVyZmFjZSBNb2RlbCB7XG4gICAgdG9ab2QoKTogWm9kT2JqZWN0O1xuICB9XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFpvZE9iamVjdCB9IGZyb20gXCJ6b2RcIjtcblxuZGVjbGFyZSBtb2R1bGUgXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIiB7XG4gIGludGVyZmFjZSBNb2RlbCB7XG4gICAgdG9ab2QoKTogWm9kT2JqZWN0PGFueT47XG4gIH1cbn1cbiJdfQ==
package/lib/model.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ZodObject } from "zod";
2
2
  declare module "@decaf-ts/decorator-validation" {
3
3
  interface Model {
4
- toZod(): ZodObject;
4
+ toZod(): ZodObject<any>;
5
5
  }
6
6
  }
package/lib/overrides.cjs CHANGED
@@ -114,8 +114,21 @@ decorator_validation_1.Model.prototype.toZod = function () {
114
114
  if (!typeData) {
115
115
  throw new Error(`Missing type information`);
116
116
  }
117
- zod = zodify(typeData.customTypes, decoratorData[decorator_validation_2.ValidationKeys.LIST]
118
- ? zodify(decoratorData[decorator_validation_2.ValidationKeys.LIST].clazz)
117
+ zod = zodify((Array.isArray(typeData.customTypes)
118
+ ? typeData.customTypes
119
+ : [typeData.customTypes]).map((c) => {
120
+ if (typeof c === "function")
121
+ return c();
122
+ return c;
123
+ }), decoratorData[decorator_validation_2.ValidationKeys.LIST]
124
+ ? zodify((Array.isArray(decoratorData[decorator_validation_2.ValidationKeys.LIST].clazz)
125
+ ? decoratorData[decorator_validation_2.ValidationKeys.LIST].clazz
126
+ : [decoratorData[decorator_validation_2.ValidationKeys.LIST].clazz]).map((c) => {
127
+ if (typeof c === "function") {
128
+ return c().name;
129
+ }
130
+ return c;
131
+ }))
119
132
  : zod_1.ZodAny);
120
133
  for (const [key, props] of Object.entries(decoratorData).filter(([k]) => !isReservedKey(k))) {
121
134
  zod = zodifyValidation(zod, key, props);
@@ -127,7 +140,11 @@ decorator_validation_1.Model.prototype.toZod = function () {
127
140
  }
128
141
  return zod_1.z.object(result);
129
142
  };
130
- if (!zod_1.z["fromModel"]) {
143
+ // @ts-expect-error overriding type
144
+ const Zod = zod_1.z;
145
+ exports.Zod = Zod;
146
+ const descriptor = Object.getOwnPropertyDescriptor(Zod, "fromModel");
147
+ if (!descriptor || descriptor.configurable) {
131
148
  Object.defineProperty(zod_1.z, "fromModel", {
132
149
  value: (model) => {
133
150
  const m = new model();
@@ -135,5 +152,4 @@ if (!zod_1.z["fromModel"]) {
135
152
  },
136
153
  });
137
154
  }
138
- exports.Zod = zod_1.z;
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL292ZXJyaWRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE4QkEsd0JBd0NDO0FBRUQsNENBMkNDO0FBbkhELHlFQWV3QztBQUN4Qyw2QkFBd0Q7QUFDeEQscURBQWtEO0FBQ2xELHlFQUFnRTtBQUVoRSxNQUFNLFlBQVksR0FBRztJQUNuQixxQ0FBYyxDQUFDLFFBQVE7SUFDdkIscUNBQWMsQ0FBQyxJQUFJO0lBQ25CLGdDQUFTLENBQUMsSUFBSTtDQUNOLENBQUM7QUFFWCxTQUFTLGFBQWEsQ0FBQyxFQUFVO0lBQy9CLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFTLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsU0FBZ0IsTUFBTSxDQUFDLElBQXVCLEVBQUUsS0FBVSxZQUFNO0lBQzlELElBQUksR0FBRyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUVoRCxTQUFTLFdBQVcsQ0FBQyxJQUFZO1FBQy9CLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDM0IsS0FBSyxpQ0FBVSxDQUFDLE1BQU07Z0JBQ3BCLE9BQU8sT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLEtBQUssaUNBQVUsQ0FBQyxNQUFNO2dCQUNwQixPQUFPLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixLQUFLLGlDQUFVLENBQUMsTUFBTTtnQkFDcEIsT0FBTyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsS0FBSyxpQ0FBVSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLEtBQUsscUNBQWMsQ0FBQyxJQUFJO2dCQUN0QixPQUFPLE9BQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixLQUFLLEtB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QUFDLGFBQWEsQ0FBQyxxQ0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDNUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUNyQixDQUFDO0lBRUQsT0FBTyxPQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQztBQUVGLElBQUksQ0FBQyxPQUFDLENBQUMsV0FBNkIsQ0FBQyxFQUFFLENBQUM7SUFDdEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFDLEVBQUUsV0FBVyxFQUFFO1FBQ3BDLEtBQUssRUFBRSxDQUFrQixLQUFxQixFQUFFLEVBQUU7WUFDaEQsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVZLFFBQUEsR0FBRyxHQUVaLE9BQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vZGVsLFxuICBNb2RlbEtleXMsXG4gIFR5cGVNZXRhZGF0YSxcbiAgUHJpbWl0aXZlcyxcbiAgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyxcbiAgVmFsaWRhdG9yT3B0aW9ucyxcbiAgTWluTGVuZ3RoVmFsaWRhdG9yT3B0aW9ucyxcbiAgTWluVmFsaWRhdG9yT3B0aW9ucyxcbiAgTWF4VmFsaWRhdG9yT3B0aW9ucyxcbiAgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucyxcbiAgU3RlcFZhbGlkYXRvck9wdGlvbnMsXG4gIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zLFxuICBMaXN0TWV0YWRhdGEsXG4gIENvbnN0cnVjdG9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB6LCBab2RBbnksIFpvZE9iamVjdCwgWm9kUmF3U2hhcGUgfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBSZWZsZWN0aW9uIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuY29uc3QgUmVzZXJ2ZWRLZXlzID0gW1xuICBWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRCxcbiAgVmFsaWRhdGlvbktleXMuVFlQRSxcbiAgTW9kZWxLZXlzLlRZUEUsXG5dIGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBpc1Jlc2VydmVkS2V5KGVsOiBzdHJpbmcpIHtcbiAgcmV0dXJuIFJlc2VydmVkS2V5cy5pbmNsdWRlcyhlbCBhcyBhbnkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gem9kaWZ5KHR5cGU6IHN0cmluZyB8IHN0cmluZ1tdLCB6ejogYW55ID0gWm9kQW55KSB7XG4gIHR5cGUgPSB0eXBlb2YgdHlwZSA9PT0gXCJzdHJpbmdcIiA/IFt0eXBlXSA6IHR5cGU7XG5cbiAgZnVuY3Rpb24gaW5uZXJab2RpZnkodHlwZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5TVFJJTkc6XG4gICAgICAgIHJldHVybiB6LnN0cmluZygpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLk5VTUJFUjpcbiAgICAgICAgcmV0dXJuIHoubnVtYmVyKCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuQklHSU5UOlxuICAgICAgICByZXR1cm4gei5iaWdpbnQoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5CT09MRUFOOlxuICAgICAgICByZXR1cm4gei5ib29sZWFuKCk7XG4gICAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkRBVEU6XG4gICAgICAgIHJldHVybiB6LmRhdGUoKTtcbiAgICAgIGNhc2UgQXJyYXkubmFtZS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICByZXR1cm4gei5hcnJheSh6eik7XG4gICAgICBjYXNlIFNldC5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgIHJldHVybiB6LnNldCh6eik7XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGNvbnN0IG0gPSBNb2RlbC5nZXQodHlwZSk7XG4gICAgICAgIGlmICghbSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW56b2RpZmlhYmxlIHR5cGU6ICR7dHlwZX1gKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHp6ID0gbmV3IG0oKS50b1pvZCgpO1xuICAgICAgICAgIHJldHVybiB6ejtcbiAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIHpvZGlmeSBtb2RlbCAke3R5cGV9OiAke2V9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgem9kOiBhbnk7XG4gIGZvciAoY29uc3QgdCBvZiB0eXBlKSB7XG4gICAgem9kID0gem9kID8gem9kLm9yKGlubmVyWm9kaWZ5KHQpKSA6IGlubmVyWm9kaWZ5KHQpO1xuICB9XG5cbiAgcmV0dXJuIHpvZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHpvZGlmeVZhbGlkYXRpb24oXG4gIHpvZDogYW55LFxuICB0eXBlOiBzdHJpbmcsXG4gIHZhbHVlczogVmFsaWRhdG9yT3B0aW9uc1xuKSB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUlOOlxuICAgICAgcmV0dXJuIHpvZC5taW4oKHZhbHVlcyBhcyBNaW5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NSU5dKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEg6XG4gICAgICByZXR1cm4gem9kLm1pbihcbiAgICAgICAgKHZhbHVlcyBhcyBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1BWDpcbiAgICAgIHJldHVybiB6b2QubWF4KCh2YWx1ZXMgYXMgTWF4VmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUFYXSk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIOlxuICAgICAgcmV0dXJuIHpvZC5tYXgoXG4gICAgICAgICh2YWx1ZXMgYXMgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSF1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5TVEVQOlxuICAgICAgcmV0dXJuIHpvZC5tdWx0aXBsZU9mKFxuICAgICAgICAodmFsdWVzIGFzIFN0ZXBWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5TVEVQXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlBBVFRFUk46XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlVSTDpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuRU1BSUw6XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlBBU1NXT1JEOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgKHZhbHVlcyBhcyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuUEFUVEVSTl1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5EQVRFOlxuICAgICAgcmV0dXJuIHpvZC5kYXRlKCk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB6b2Q7XG4gIH1cbn1cblxuTW9kZWwucHJvdG90eXBlLnRvWm9kID0gZnVuY3Rpb24gPE0gZXh0ZW5kcyBNb2RlbD4odGhpczogTSk6IFpvZE9iamVjdDxhbnk+IHtcbiAgY29uc3QgcmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IFpvZFJhd1NoYXBlIH0gPSB7fTtcblxuICBjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcyk7XG4gIGlmIChBcnJheS5pc0FycmF5KHByb3BlcnRpZXMpICYmICFwcm9wZXJ0aWVzLmxlbmd0aCkgcmV0dXJuIHoub2JqZWN0KHt9KTtcbiAgZm9yIChjb25zdCBwcm9wIG9mIHByb3BlcnRpZXMpIHtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgKHRoaXMgYXMgYW55KVtwcm9wXSA9PT0gXCJmdW5jdGlvblwiIHx8XG4gICAgICBwcm9wLnN0YXJ0c1dpdGgoXCJfXCIpIHx8XG4gICAgICBwcm9wID09PSBcImNvbnN0cnVjdG9yXCJcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbERlY3MgPSBSZWZsZWN0aW9uLmdldFByb3BlcnR5RGVjb3JhdG9ycyhcbiAgICAgIFZhbGlkYXRpb25LZXlzLlJFRkxFQ1QsXG4gICAgICB0aGlzLFxuICAgICAgcHJvcCxcbiAgICAgIGZhbHNlLFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICBjb25zdCBkZWNvcmF0b3JEYXRhID0gYWxsRGVjcy5kZWNvcmF0b3JzLnJlZHVjZShcbiAgICAgIChhY2N1bTogUmVjb3JkPHN0cmluZywgYW55PiwgZWwpID0+IHtcbiAgICAgICAgY29uc3QgeyBrZXksIHByb3BzIH0gPSBlbDtcbiAgICAgICAgaWYgKGtleSA9PT0gTW9kZWxLZXlzLlRZUEUgJiYgIWFjY3VtW1ZhbGlkYXRpb25LZXlzLlRZUEVdKSB7XG4gICAgICAgICAgYWNjdW1bVmFsaWRhdGlvbktleXMuVFlQRV0gPSB7XG4gICAgICAgICAgICBjdXN0b21UeXBlczogW3Byb3BzLm5hbWUgYXMgc3RyaW5nXSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuVFlQRSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImRlZmluZXMgdGhlIGFjY2VwdGVkIHR5cGVzIGZvciB0aGUgYXR0cmlidXRlXCIsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY2N1bVtrZXldID0gcHJvcHM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGlmICghT2JqZWN0LmtleXMoZGVjb3JhdG9yRGF0YSkubGVuZ3RoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBsZXQgem9kOiBhbnkgPSBab2RBbnk7XG5cbiAgICBjb25zdCB0eXBlRGF0YTogVHlwZU1ldGFkYXRhID0gZGVjb3JhdG9yRGF0YVtcbiAgICAgIFZhbGlkYXRpb25LZXlzLlRZUEVcbiAgICBdIGFzIFR5cGVNZXRhZGF0YTtcblxuICAgIGlmICghdHlwZURhdGEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyB0eXBlIGluZm9ybWF0aW9uYCk7XG4gICAgfVxuXG4gICAgem9kID0gem9kaWZ5KFxuICAgICAgdHlwZURhdGEuY3VzdG9tVHlwZXMsXG4gICAgICBkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdXG4gICAgICAgID8gem9kaWZ5KChkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenopXG4gICAgICAgIDogWm9kQW55XG4gICAgKTtcblxuICAgIGZvciAoY29uc3QgW2tleSwgcHJvcHNdIG9mIE9iamVjdC5lbnRyaWVzKGRlY29yYXRvckRhdGEpLmZpbHRlcihcbiAgICAgIChba10pID0+ICFpc1Jlc2VydmVkS2V5KGspXG4gICAgKSkge1xuICAgICAgem9kID0gem9kaWZ5VmFsaWRhdGlvbih6b2QsIGtleSwgcHJvcHMpO1xuICAgIH1cblxuICAgIGlmICghZGVjb3JhdG9yRGF0YVtWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRF0pIHtcbiAgICAgIHpvZCA9IHpvZC5vcHRpb25hbCgpO1xuICAgIH1cblxuICAgIHJlc3VsdFtwcm9wXSA9IHpvZDtcbiAgfVxuXG4gIHJldHVybiB6Lm9iamVjdChyZXN1bHQpO1xufTtcblxuaWYgKCF6W1wiZnJvbU1vZGVsXCIgYXMga2V5b2YgdHlwZW9mIHpdKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh6LCBcImZyb21Nb2RlbFwiLCB7XG4gICAgdmFsdWU6IDxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBDb25zdHJ1Y3RvcjxNPikgPT4ge1xuICAgICAgY29uc3QgbSA9IG5ldyBtb2RlbCgpO1xuICAgICAgcmV0dXJuIG0udG9ab2QoKTtcbiAgICB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IFpvZDogdHlwZW9mIHogJiB7XG4gIGZyb21Nb2RlbDogPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IENvbnN0cnVjdG9yPE0+KSA9PiBab2RPYmplY3Q7XG59ID0gejtcbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL292ZXJyaWRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE4QkEsd0JBd0NDO0FBRUQsNENBMkNDO0FBbkhELHlFQWV3QztBQUN4Qyw2QkFBMkM7QUFDM0MscURBQWtEO0FBQ2xELHlFQUFnRTtBQUVoRSxNQUFNLFlBQVksR0FBRztJQUNuQixxQ0FBYyxDQUFDLFFBQVE7SUFDdkIscUNBQWMsQ0FBQyxJQUFJO0lBQ25CLGdDQUFTLENBQUMsSUFBSTtDQUNOLENBQUM7QUFFWCxTQUFTLGFBQWEsQ0FBQyxFQUFVO0lBQy9CLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFTLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsU0FBZ0IsTUFBTSxDQUFDLElBQXVCLEVBQUUsS0FBVSxZQUFNO0lBQzlELElBQUksR0FBRyxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUVoRCxTQUFTLFdBQVcsQ0FBQyxJQUFZO1FBQy9CLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDM0IsS0FBSyxpQ0FBVSxDQUFDLE1BQU07Z0JBQ3BCLE9BQU8sT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLEtBQUssaUNBQVUsQ0FBQyxNQUFNO2dCQUNwQixPQUFPLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixLQUFLLGlDQUFVLENBQUMsTUFBTTtnQkFDcEIsT0FBTyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsS0FBSyxpQ0FBVSxDQUFDLE9BQU87Z0JBQ3JCLE9BQU8sT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLEtBQUsscUNBQWMsQ0FBQyxJQUFJO2dCQUN0QixPQUFPLE9BQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixLQUFLLEtB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SUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFDLEVBQUUsV0FBVyxFQUFFO1FBQ3BDLEtBQUssRUFBRSxDQUFrQixLQUFxQixFQUFFLEVBQUU7WUFDaEQsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vZGVsLFxuICBNb2RlbEtleXMsXG4gIFR5cGVNZXRhZGF0YSxcbiAgUHJpbWl0aXZlcyxcbiAgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyxcbiAgVmFsaWRhdG9yT3B0aW9ucyxcbiAgTWluTGVuZ3RoVmFsaWRhdG9yT3B0aW9ucyxcbiAgTWluVmFsaWRhdG9yT3B0aW9ucyxcbiAgTWF4VmFsaWRhdG9yT3B0aW9ucyxcbiAgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucyxcbiAgU3RlcFZhbGlkYXRvck9wdGlvbnMsXG4gIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zLFxuICBMaXN0TWV0YWRhdGEsXG4gIENvbnN0cnVjdG9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB6LCBab2RBbnksIFpvZE9iamVjdCB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IFJlZmxlY3Rpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuXG5jb25zdCBSZXNlcnZlZEtleXMgPSBbXG4gIFZhbGlkYXRpb25LZXlzLlJFUVVJUkVELFxuICBWYWxpZGF0aW9uS2V5cy5UWVBFLFxuICBNb2RlbEtleXMuVFlQRSxcbl0gYXMgY29uc3Q7XG5cbmZ1bmN0aW9uIGlzUmVzZXJ2ZWRLZXkoZWw6IHN0cmluZykge1xuICByZXR1cm4gUmVzZXJ2ZWRLZXlzLmluY2x1ZGVzKGVsIGFzIGFueSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6b2RpZnkodHlwZTogc3RyaW5nIHwgc3RyaW5nW10sIHp6OiBhbnkgPSBab2RBbnkpIHtcbiAgdHlwZSA9IHR5cGVvZiB0eXBlID09PSBcInN0cmluZ1wiID8gW3R5cGVdIDogdHlwZTtcblxuICBmdW5jdGlvbiBpbm5lclpvZGlmeSh0eXBlOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHR5cGUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSBQcmltaXRpdmVzLlNUUklORzpcbiAgICAgICAgcmV0dXJuIHouc3RyaW5nKCk7XG4gICAgICBjYXNlIFByaW1pdGl2ZXMuTlVNQkVSOlxuICAgICAgICByZXR1cm4gei5udW1iZXIoKTtcbiAgICAgIGNhc2UgUHJpbWl0aXZlcy5CSUdJTlQ6XG4gICAgICAgIHJldHVybiB6LmJpZ2ludCgpO1xuICAgICAgY2FzZSBQcmltaXRpdmVzLkJPT0xFQU46XG4gICAgICAgIHJldHVybiB6LmJvb2xlYW4oKTtcbiAgICAgIGNhc2UgVmFsaWRhdGlvbktleXMuREFURTpcbiAgICAgICAgcmV0dXJuIHouZGF0ZSgpO1xuICAgICAgY2FzZSBBcnJheS5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgIHJldHVybiB6LmFycmF5KHp6KTtcbiAgICAgIGNhc2UgU2V0Lm5hbWUudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgcmV0dXJuIHouc2V0KHp6KTtcbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgbSA9IE1vZGVsLmdldCh0eXBlKTtcbiAgICAgICAgaWYgKCFtKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnpvZGlmaWFibGUgdHlwZTogJHt0eXBlfWApO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgenogPSBuZXcgbSgpLnRvWm9kKCk7XG4gICAgICAgICAgcmV0dXJuIHp6O1xuICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gem9kaWZ5IG1vZGVsICR7dHlwZX06ICR7ZX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCB6b2Q6IGFueTtcbiAgZm9yIChjb25zdCB0IG9mIHR5cGUpIHtcbiAgICB6b2QgPSB6b2QgPyB6b2Qub3IoaW5uZXJab2RpZnkodCkpIDogaW5uZXJab2RpZnkodCk7XG4gIH1cblxuICByZXR1cm4gem9kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gem9kaWZ5VmFsaWRhdGlvbihcbiAgem9kOiBhbnksXG4gIHR5cGU6IHN0cmluZyxcbiAgdmFsdWVzOiBWYWxpZGF0b3JPcHRpb25zXG4pIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5NSU46XG4gICAgICByZXR1cm4gem9kLm1pbigodmFsdWVzIGFzIE1pblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1JTl0pO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSDpcbiAgICAgIHJldHVybiB6b2QubWluKFxuICAgICAgICAodmFsdWVzIGFzIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEhdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuTUFYOlxuICAgICAgcmV0dXJuIHpvZC5tYXgoKHZhbHVlcyBhcyBNYXhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NQVhdKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEg6XG4gICAgICByZXR1cm4gem9kLm1heChcbiAgICAgICAgKHZhbHVlcyBhcyBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlNURVA6XG4gICAgICByZXR1cm4gem9kLm11bHRpcGxlT2YoXG4gICAgICAgICh2YWx1ZXMgYXMgU3RlcFZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlNURVBdXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFUVEVSTjpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuVVJMOlxuICAgICAgcmV0dXJuIHpvZC5yZWdleChcbiAgICAgICAgKHZhbHVlcyBhcyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucylbVmFsaWRhdGlvbktleXMuUEFUVEVSTl1cbiAgICAgICk7XG4gICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5FTUFJTDpcbiAgICAgIHJldHVybiB6b2QucmVnZXgoXG4gICAgICAgICh2YWx1ZXMgYXMgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMpW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dXG4gICAgICApO1xuICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFTU1dPUkQ6XG4gICAgICByZXR1cm4gem9kLnJlZ2V4KFxuICAgICAgICAodmFsdWVzIGFzIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zKVtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXVxuICAgICAgKTtcbiAgICBjYXNlIFZhbGlkYXRpb25LZXlzLkRBVEU6XG4gICAgICByZXR1cm4gem9kLmRhdGUoKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHpvZDtcbiAgfVxufVxuXG5Nb2RlbC5wcm90b3R5cGUudG9ab2QgPSBmdW5jdGlvbiA8TSBleHRlbmRzIE1vZGVsPih0aGlzOiBNKTogWm9kT2JqZWN0PGFueT4ge1xuICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcblxuICBjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcyk7XG4gIGlmIChBcnJheS5pc0FycmF5KHByb3BlcnRpZXMpICYmICFwcm9wZXJ0aWVzLmxlbmd0aCkgcmV0dXJuIHoub2JqZWN0KHt9KTtcbiAgZm9yIChjb25zdCBwcm9wIG9mIHByb3BlcnRpZXMpIHtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgKHRoaXMgYXMgYW55KVtwcm9wXSA9PT0gXCJmdW5jdGlvblwiIHx8XG4gICAgICBwcm9wLnN0YXJ0c1dpdGgoXCJfXCIpIHx8XG4gICAgICBwcm9wID09PSBcImNvbnN0cnVjdG9yXCJcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbERlY3MgPSBSZWZsZWN0aW9uLmdldFByb3BlcnR5RGVjb3JhdG9ycyhcbiAgICAgIFZhbGlkYXRpb25LZXlzLlJFRkxFQ1QsXG4gICAgICB0aGlzLFxuICAgICAgcHJvcCxcbiAgICAgIGZhbHNlLFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICBjb25zdCBkZWNvcmF0b3JEYXRhID0gYWxsRGVjcy5kZWNvcmF0b3JzLnJlZHVjZShcbiAgICAgIChhY2N1bTogUmVjb3JkPHN0cmluZywgYW55PiwgZWwpID0+IHtcbiAgICAgICAgY29uc3QgeyBrZXksIHByb3BzIH0gPSBlbDtcbiAgICAgICAgaWYgKGtleSA9PT0gTW9kZWxLZXlzLlRZUEUgJiYgIWFjY3VtW1ZhbGlkYXRpb25LZXlzLlRZUEVdKSB7XG4gICAgICAgICAgYWNjdW1bVmFsaWRhdGlvbktleXMuVFlQRV0gPSB7XG4gICAgICAgICAgICBjdXN0b21UeXBlczogW3Byb3BzLm5hbWUgYXMgc3RyaW5nXSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuVFlQRSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcImRlZmluZXMgdGhlIGFjY2VwdGVkIHR5cGVzIGZvciB0aGUgYXR0cmlidXRlXCIsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY2N1bVtrZXldID0gcHJvcHM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGlmICghT2JqZWN0LmtleXMoZGVjb3JhdG9yRGF0YSkubGVuZ3RoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBsZXQgem9kOiBhbnkgPSBab2RBbnk7XG5cbiAgICBjb25zdCB0eXBlRGF0YTogVHlwZU1ldGFkYXRhID0gZGVjb3JhdG9yRGF0YVtcbiAgICAgIFZhbGlkYXRpb25LZXlzLlRZUEVcbiAgICBdIGFzIFR5cGVNZXRhZGF0YTtcblxuICAgIGlmICghdHlwZURhdGEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyB0eXBlIGluZm9ybWF0aW9uYCk7XG4gICAgfVxuXG4gICAgem9kID0gem9kaWZ5KFxuICAgICAgKEFycmF5LmlzQXJyYXkodHlwZURhdGEuY3VzdG9tVHlwZXMpXG4gICAgICAgID8gdHlwZURhdGEuY3VzdG9tVHlwZXNcbiAgICAgICAgOiBbdHlwZURhdGEuY3VzdG9tVHlwZXNdXG4gICAgICApLm1hcCgoYykgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGMgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIGMoKTtcbiAgICAgICAgcmV0dXJuIGM7XG4gICAgICB9KSxcbiAgICAgIGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF1cbiAgICAgICAgPyB6b2RpZnkoXG4gICAgICAgICAgICAoQXJyYXkuaXNBcnJheShcbiAgICAgICAgICAgICAgKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6elxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICA/IChkZWNvcmF0b3JEYXRhW1ZhbGlkYXRpb25LZXlzLkxJU1RdIGFzIExpc3RNZXRhZGF0YSkuY2xhenpcbiAgICAgICAgICAgICAgOiBbKGRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuTElTVF0gYXMgTGlzdE1ldGFkYXRhKS5jbGF6el1cbiAgICAgICAgICAgICkubWFwKChjKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgYyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGMoKS5uYW1lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBjIGFzIHN0cmluZztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICA6IFpvZEFueVxuICAgICk7XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHByb3BzXSBvZiBPYmplY3QuZW50cmllcyhkZWNvcmF0b3JEYXRhKS5maWx0ZXIoXG4gICAgICAoW2tdKSA9PiAhaXNSZXNlcnZlZEtleShrKVxuICAgICkpIHtcbiAgICAgIHpvZCA9IHpvZGlmeVZhbGlkYXRpb24oem9kLCBrZXksIHByb3BzKTtcbiAgICB9XG5cbiAgICBpZiAoIWRlY29yYXRvckRhdGFbVmFsaWRhdGlvbktleXMuUkVRVUlSRURdKSB7XG4gICAgICB6b2QgPSB6b2Qub3B0aW9uYWwoKTtcbiAgICB9XG5cbiAgICByZXN1bHRbcHJvcF0gPSB6b2Q7XG4gIH1cblxuICByZXR1cm4gei5vYmplY3QocmVzdWx0KTtcbn07XG5cbmV4cG9ydCB0eXBlIFpvZEZyb21Nb2RlbCA9IHR5cGVvZiB6ICYge1xuICBmcm9tTW9kZWw6IDxNIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBDb25zdHJ1Y3RvcjxNPikgPT4gWm9kT2JqZWN0PGFueT47XG59O1xuXG4vLyBAdHMtZXhwZWN0LWVycm9yIG92ZXJyaWRpbmcgdHlwZVxuY29uc3QgWm9kOiBab2RGcm9tTW9kZWwgPSB6O1xuXG5jb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgWm9kLFxuICBcImZyb21Nb2RlbFwiIGFzIGtleW9mIHR5cGVvZiBab2Rcbik7XG5cbmlmICghZGVzY3JpcHRvciB8fCBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoeiwgXCJmcm9tTW9kZWxcIiwge1xuICAgIHZhbHVlOiA8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogQ29uc3RydWN0b3I8TT4pID0+IHtcbiAgICAgIGNvbnN0IG0gPSBuZXcgbW9kZWwoKTtcbiAgICAgIHJldHVybiBtLnRvWm9kKCk7XG4gICAgfSxcbiAgfSk7XG59XG5cbmV4cG9ydCB7IFpvZCB9O1xuIl19
@@ -2,6 +2,8 @@ import { Model, ValidatorOptions, Constructor } from "@decaf-ts/decorator-valida
2
2
  import { z, ZodObject } from "zod";
3
3
  export declare function zodify(type: string | string[], zz?: any): any;
4
4
  export declare function zodifyValidation(zod: any, type: string, values: ValidatorOptions): any;
5
- export declare const Zod: typeof z & {
6
- fromModel: <M extends Model>(model: Constructor<M>) => ZodObject;
5
+ export type ZodFromModel = typeof z & {
6
+ fromModel: <M extends Model>(model: Constructor<M>) => ZodObject<any>;
7
7
  };
8
+ declare const Zod: ZodFromModel;
9
+ export { Zod };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/as-zod",
3
- "version": "0.0.7",
3
+ "version": "0.0.10",
4
4
  "description": "Zod compatibility library",
5
5
  "type": "module",
6
6
  "exports": {