nextlove 0.3.6 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generate-openapi/index.d.ts +0 -0
- package/dist/generate-openapi/index.js +141 -141
- package/dist/generate-route-types/index.d.ts +0 -0
- package/dist/generate-route-types/index.js +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +158 -143
- package/dist/lib/default-map-file-path-to-http-route.d.ts +0 -0
- package/dist/lib/default-map-file-path-to-http-route.js +0 -0
- package/dist/lib/parse-routes-in-package.d.ts +0 -0
- package/dist/lib/parse-routes-in-package.js +0 -0
- package/dist/types/index.d.ts +0 -0
- package/dist/types/index.js +0 -0
- package/dist/with-route-spec/index.d.ts +0 -0
- package/dist/with-route-spec/index.js +16 -1
- package/dist/with-route-spec/middlewares/with-methods.d.ts +0 -0
- package/dist/with-route-spec/middlewares/with-methods.js +0 -0
- package/dist/with-route-spec/middlewares/with-validation.d.ts +0 -0
- package/dist/with-route-spec/middlewares/with-validation.js +16 -1
- package/package.json +1 -1
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/types/index.d.ts
CHANGED
|
File without changes
|
package/dist/types/index.js
CHANGED
|
File without changes
|
|
File without changes
|
|
@@ -44,10 +44,25 @@ var withMethods = (methods) => (next) => (req, res) => {
|
|
|
44
44
|
var with_methods_default = withMethods;
|
|
45
45
|
|
|
46
46
|
// src/with-route-spec/middlewares/with-validation.ts
|
|
47
|
+
var import_zod = require("zod");
|
|
47
48
|
var import_nextjs_exception_middleware2 = require("nextjs-exception-middleware");
|
|
48
49
|
var import_lodash = require("lodash");
|
|
49
50
|
var parseCommaSeparateArrays = (schema, input) => {
|
|
50
51
|
const parsed_input = Object.assign({}, input);
|
|
52
|
+
if (schema._def.typeName === import_zod.ZodFirstPartyTypeKind.ZodObject) {
|
|
53
|
+
const obj_schema = schema;
|
|
54
|
+
for (const [key, value] of Object.entries(obj_schema.shape)) {
|
|
55
|
+
if (value._def.typeName === import_zod.ZodFirstPartyTypeKind.ZodArray) {
|
|
56
|
+
const array_input = input[key];
|
|
57
|
+
if (typeof array_input === "string") {
|
|
58
|
+
parsed_input[key] = array_input.split(",");
|
|
59
|
+
}
|
|
60
|
+
if (Array.isArray(input[`${key}[]`])) {
|
|
61
|
+
parsed_input[key] = input[`${key}[]`];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
51
66
|
return schema.parse(parsed_input);
|
|
52
67
|
};
|
|
53
68
|
var zodIssueToString = (issue) => {
|
|
@@ -152,4 +167,4 @@ var createWithRouteSpec = (setupParams) => {
|
|
|
152
167
|
checkRouteSpec,
|
|
153
168
|
createWithRouteSpec
|
|
154
169
|
});
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3dpdGgtcm91dGUtc3BlYy9pbmRleC50cyIsICIuLi8uLi9zcmMvd2l0aC1yb3V0ZS1zcGVjL21pZGRsZXdhcmVzL3dpdGgtbWV0aG9kcy50cyIsICIuLi8uLi9zcmMvd2l0aC1yb3V0ZS1zcGVjL21pZGRsZXdhcmVzL3dpdGgtdmFsaWRhdGlvbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgTmV4dEFwaVJlc3BvbnNlLCBOZXh0QXBpUmVxdWVzdCB9IGZyb20gXCJuZXh0XCJcbmltcG9ydCB7IHdpdGhFeGNlcHRpb25IYW5kbGluZyB9IGZyb20gXCJuZXh0anMtZXhjZXB0aW9uLW1pZGRsZXdhcmVcIlxuaW1wb3J0IHdyYXBwZXJzLCB7IE1pZGRsZXdhcmUgfSBmcm9tIFwibmV4dGpzLW1pZGRsZXdhcmUtd3JhcHBlcnNcIlxuaW1wb3J0IHsgQ3JlYXRlV2l0aFJvdXRlU3BlY0Z1bmN0aW9uLCBSb3V0ZVNwZWMgfSBmcm9tIFwiLi4vdHlwZXNcIlxuaW1wb3J0IHdpdGhNZXRob2RzLCB7IEhUVFBNZXRob2RzIH0gZnJvbSBcIi4vbWlkZGxld2FyZXMvd2l0aC1tZXRob2RzXCJcbmltcG9ydCB3aXRoVmFsaWRhdGlvbiBmcm9tIFwiLi9taWRkbGV3YXJlcy93aXRoLXZhbGlkYXRpb25cIlxuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIlxuXG50eXBlIFBhcmFtRGVmID0gei5ab2RUeXBlQW55IHwgei5ab2RFZmZlY3RzPHouWm9kVHlwZUFueT5cblxuZXhwb3J0IGNvbnN0IGNoZWNrUm91dGVTcGVjID0gPFxuICBBdXRoVHlwZSBleHRlbmRzIHN0cmluZyA9IHN0cmluZyxcbiAgTWV0aG9kcyBleHRlbmRzIEhUVFBNZXRob2RzW10gPSBIVFRQTWV0aG9kc1tdLFxuICBKc29uQm9keSBleHRlbmRzIFBhcmFtRGVmID0gei5ab2RUeXBlQW55LFxuICBRdWVyeVBhcmFtcyBleHRlbmRzIFBhcmFtRGVmID0gei5ab2RUeXBlQW55LFxuICBDb21tb25QYXJhbXMgZXh0ZW5kcyBQYXJhbURlZiA9IHouWm9kVHlwZUFueSxcbiAgTWlkZGxld2FyZXMgZXh0ZW5kcyByZWFkb25seSBNaWRkbGV3YXJlPGFueSwgYW55PltdID0gcmVhZG9ubHkgTWlkZGxld2FyZTxcbiAgICBhbnksXG4gICAgYW55XG4gID5bXSxcbiAgRm9ybURhdGEgZXh0ZW5kcyBQYXJhbURlZiA9IHouWm9kVHlwZUFueSxcbiAgU3BlYyBleHRlbmRzIFJvdXRlU3BlYzxcbiAgICBBdXRoVHlwZSxcbiAgICBNZXRob2RzLFxuICAgIEpzb25Cb2R5LFxuICAgIFF1ZXJ5UGFyYW1zLFxuICAgIENvbW1vblBhcmFtcyxcbiAgICBNaWRkbGV3YXJlcyxcbiAgICBGb3JtRGF0YVxuICA+ID0gUm91dGVTcGVjPFxuICAgIEF1dGhUeXBlLFxuICAgIE1ldGhvZHMsXG4gICAgSnNvbkJvZHksXG4gICAgUXVlcnlQYXJhbXMsXG4gICAgQ29tbW9uUGFyYW1zLFxuICAgIE1pZGRsZXdhcmVzLFxuICAgIEZvcm1EYXRhXG4gID5cbj4oXG4gIHNwZWM6IFNwZWNcbik6IHN0cmluZyBleHRlbmRzIFNwZWNbXCJhdXRoXCJdXG4gID8gYHlvdXIgcm91dGUgc3BlYyBpcyB1bmRlcnNwZWNpZmllZCwgYWRkIFwiYXMgY29uc3RcImBcbiAgOiBTcGVjID0+IHNwZWMgYXMgYW55XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVXaXRoUm91dGVTcGVjOiBDcmVhdGVXaXRoUm91dGVTcGVjRnVuY3Rpb24gPSAoKFxuICBzZXR1cFBhcmFtc1xuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBhdXRoTWlkZGxld2FyZU1hcCA9IHt9LFxuICAgIGdsb2JhbE1pZGRsZXdhcmVzID0gW10sXG4gICAgZXhjZXB0aW9uSGFuZGxpbmdNaWRkbGV3YXJlID0gd2l0aEV4Y2VwdGlvbkhhbmRsaW5nKHtcbiAgICAgIGFkZE9rU3RhdHVzOiBzZXR1cFBhcmFtcy5hZGRPa1N0YXR1cyxcbiAgICB9KSBhcyBhbnksXG4gIH0gPSBzZXR1cFBhcmFtc1xuXG4gIGNvbnN0IHdpdGhSb3V0ZVNwZWMgPSAoc3BlYzogUm91dGVTcGVjKSA9PiB7XG4gICAgY29uc3QgY3JlYXRlUm91dGVFeHBvcnQgPSAodXNlckRlZmluZWRSb3V0ZUZuKSA9PiB7XG4gICAgICBjb25zdCByb290UmVxdWVzdEhhbmRsZXIgPSBhc3luYyAoXG4gICAgICAgIHJlcTogTmV4dEFwaVJlcXVlc3QsXG4gICAgICAgIHJlczogTmV4dEFwaVJlc3BvbnNlXG4gICAgICApID0+IHtcbiAgICAgICAgYXV0aE1pZGRsZXdhcmVNYXBbXCJub25lXCJdID0gKG5leHQpID0+IG5leHRcblxuICAgICAgICBjb25zdCBhdXRoX21pZGRsZXdhcmUgPSBhdXRoTWlkZGxld2FyZU1hcFtzcGVjLmF1dGhdXG4gICAgICAgIGlmICghYXV0aF9taWRkbGV3YXJlKSB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gYXV0aCB0eXBlOiAke3NwZWMuYXV0aH1gKVxuXG4gICAgICAgIHJldHVybiB3cmFwcGVycyhcbiAgICAgICAgICAuLi4oKGV4Y2VwdGlvbkhhbmRsaW5nTWlkZGxld2FyZVxuICAgICAgICAgICAgPyBbZXhjZXB0aW9uSGFuZGxpbmdNaWRkbGV3YXJlXVxuICAgICAgICAgICAgOiBbXSkgYXMgW2FueV0pLFxuICAgICAgICAgIC4uLigoZ2xvYmFsTWlkZGxld2FyZXMgfHwgW10pIGFzIFtdKSxcbiAgICAgICAgICBhdXRoX21pZGRsZXdhcmUsXG4gICAgICAgICAgLi4uKChzcGVjLm1pZGRsZXdhcmVzIHx8IFtdKSBhcyBbXSksXG4gICAgICAgICAgd2l0aE1ldGhvZHMoc3BlYy5tZXRob2RzKSxcbiAgICAgICAgICB3aXRoVmFsaWRhdGlvbih7XG4gICAgICAgICAgICBqc29uQm9keTogc3BlYy5qc29uQm9keSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBzcGVjLnF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgY29tbW9uUGFyYW1zOiBzcGVjLmNvbW1vblBhcmFtcyxcbiAgICAgICAgICAgIGZvcm1EYXRhOiBzcGVjLmZvcm1EYXRhLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHVzZXJEZWZpbmVkUm91dGVGblxuICAgICAgICApKHJlcSBhcyBhbnksIHJlcylcbiAgICAgIH1cblxuICAgICAgcm9vdFJlcXVlc3RIYW5kbGVyLl9zZXR1cFBhcmFtcyA9IHNldHVwUGFyYW1zXG4gICAgICByb290UmVxdWVzdEhhbmRsZXIuX3JvdXRlU3BlYyA9IHNwZWNcblxuICAgICAgcmV0dXJuIHJvb3RSZXF1ZXN0SGFuZGxlclxuICAgIH1cblxuICAgIGNyZWF0ZVJvdXRlRXhwb3J0Ll9zZXR1cFBhcmFtcyA9IHNldHVwUGFyYW1zXG4gICAgY3JlYXRlUm91dGVFeHBvcnQuX3JvdXRlU3BlYyA9IHNwZWNcblxuICAgIHJldHVybiBjcmVhdGVSb3V0ZUV4cG9ydFxuICB9XG5cbiAgd2l0aFJvdXRlU3BlYy5fc2V0dXBQYXJhbXMgPSBzZXR1cFBhcmFtc1xuXG4gIHJldHVybiB3aXRoUm91dGVTcGVjXG59KSBhcyBhbnlcbiIsICJpbXBvcnQgeyBNZXRob2ROb3RBbGxvd2VkRXhjZXB0aW9uIH0gZnJvbSBcIm5leHRqcy1leGNlcHRpb24tbWlkZGxld2FyZVwiXG5cbmV4cG9ydCB0eXBlIEhUVFBNZXRob2RzID1cbiAgfCBcIkdFVFwiXG4gIHwgXCJQT1NUXCJcbiAgfCBcIkRFTEVURVwiXG4gIHwgXCJQVVRcIlxuICB8IFwiUEFUQ0hcIlxuICB8IFwiSEVBRFwiXG4gIHwgXCJPUFRJT05TXCJcblxuZXhwb3J0IGNvbnN0IHdpdGhNZXRob2RzID0gKG1ldGhvZHM6IEhUVFBNZXRob2RzW10pID0+IChuZXh0KSA9PiAocmVxLCByZXMpID0+IHtcbiAgaWYgKCFtZXRob2RzLmluY2x1ZGVzKHJlcS5tZXRob2QpKSB7XG4gICAgdGhyb3cgbmV3IE1ldGhvZE5vdEFsbG93ZWRFeGNlcHRpb24oe1xuICAgICAgdHlwZTogXCJtZXRob2Rfbm90X2FsbG93ZWRcIixcbiAgICAgIG1lc3NhZ2U6IGBvbmx5ICR7bWV0aG9kcy5qb2luKFwiLFwiKX0gYWNjZXB0ZWRgLFxuICAgIH0pXG4gIH1cbiAgcmV0dXJuIG5leHQocmVxLCByZXMpXG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhNZXRob2RzXG4iLCAiaW1wb3J0IHR5cGUgeyBOZXh0QXBpUmVxdWVzdCwgTmV4dEFwaVJlc3BvbnNlIH0gZnJvbSBcIm5leHRcIlxuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIlxuaW1wb3J0IHsgQmFkUmVxdWVzdEV4Y2VwdGlvbiB9IGZyb20gXCJuZXh0anMtZXhjZXB0aW9uLW1pZGRsZXdhcmVcIlxuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gXCJsb2Rhc2hcIlxuXG5jb25zdCBwYXJzZUNvbW1hU2VwYXJhdGVBcnJheXMgPSAoXG4gIHNjaGVtYTogei5ab2RUeXBlQW55LFxuICBpbnB1dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbikgPT4ge1xuICBjb25zdCBwYXJzZWRfaW5wdXQgPSBPYmplY3QuYXNzaWduKHt9LCBpbnB1dClcblxuICAvLyB0b2RvOiBpdGVyYXRlIG92ZXIgWm9kIHRvcCBsZXZlbCBrZXlzLCBpZiB0aGVyZSdzIGFuIGFycmF5LCBwYXJzZSBpdFxuXG4gIHJldHVybiBzY2hlbWEucGFyc2UocGFyc2VkX2lucHV0KVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RJbnB1dDxcbiAgSnNvbkJvZHkgZXh0ZW5kcyB6LlpvZFR5cGVBbnksXG4gIFF1ZXJ5UGFyYW1zIGV4dGVuZHMgei5ab2RUeXBlQW55LFxuICBDb21tb25QYXJhbXMgZXh0ZW5kcyB6LlpvZFR5cGVBbnksXG4gIEZvcm1EYXRhIGV4dGVuZHMgei5ab2RUeXBlQW55XG4+IHtcbiAganNvbkJvZHk/OiBKc29uQm9keVxuICBxdWVyeVBhcmFtcz86IFF1ZXJ5UGFyYW1zXG4gIGNvbW1vblBhcmFtcz86IENvbW1vblBhcmFtc1xuICBmb3JtRGF0YT86IEZvcm1EYXRhXG59XG5cbmNvbnN0IHpvZElzc3VlVG9TdHJpbmcgPSAoaXNzdWU6IHouWm9kSXNzdWUpID0+IHtcbiAgaWYgKGlzc3VlLnBhdGguam9pbihcIi5cIikgPT09IFwiXCIpIHtcbiAgICByZXR1cm4gaXNzdWUubWVzc2FnZVxuICB9XG4gIGlmIChpc3N1ZS5tZXNzYWdlID09PSBcIlJlcXVpcmVkXCIpIHtcbiAgICByZXR1cm4gYCR7aXNzdWUucGF0aC5qb2luKFwiLlwiKX0gaXMgcmVxdWlyZWRgXG4gIH1cbiAgcmV0dXJuIGAke2lzc3VlLm1lc3NhZ2V9IGZvciBcIiR7aXNzdWUucGF0aC5qb2luKFwiLlwiKX1cImBcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhWYWxpZGF0aW9uID1cbiAgPFxuICAgIEpzb25Cb2R5IGV4dGVuZHMgei5ab2RUeXBlQW55LFxuICAgIFF1ZXJ5UGFyYW1zIGV4dGVuZHMgei5ab2RUeXBlQW55LFxuICAgIENvbW1vblBhcmFtcyBleHRlbmRzIHouWm9kVHlwZUFueSxcbiAgICBGb3JtRGF0YSBleHRlbmRzIHouWm9kVHlwZUFueVxuICA+KFxuICAgIGlucHV0OiBSZXF1ZXN0SW5wdXQ8SnNvbkJvZHksIFF1ZXJ5UGFyYW1zLCBDb21tb25QYXJhbXMsIEZvcm1EYXRhPlxuICApID0+XG4gIChuZXh0KSA9PlxuICBhc3luYyAocmVxOiBOZXh0QXBpUmVxdWVzdCwgcmVzOiBOZXh0QXBpUmVzcG9uc2UpID0+IHtcbiAgICBpZiAoXG4gICAgICAoaW5wdXQuZm9ybURhdGEgJiYgaW5wdXQuanNvbkJvZHkpIHx8XG4gICAgICAoaW5wdXQuZm9ybURhdGEgJiYgaW5wdXQuY29tbW9uUGFyYW1zKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IHVzZSBmb3JtRGF0YSB3aXRoIGpzb25Cb2R5IG9yIGNvbW1vblBhcmFtc1wiKVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIChyZXEubWV0aG9kID09PSBcIlBPU1RcIiB8fCByZXEubWV0aG9kID09PSBcIlBBVENIXCIpICYmXG4gICAgICAoaW5wdXQuanNvbkJvZHkgfHwgaW5wdXQuY29tbW9uUGFyYW1zKSAmJlxuICAgICAgIXJlcS5oZWFkZXJzW1wiY29udGVudC10eXBlXCJdPy5pbmNsdWRlcyhcImFwcGxpY2F0aW9uL2pzb25cIikgJiZcbiAgICAgICFpc0VtcHR5KHJlcS5ib2R5KVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24oe1xuICAgICAgICB0eXBlOiBcImludmFsaWRfY29udGVudF90eXBlXCIsXG4gICAgICAgIG1lc3NhZ2U6IGAke3JlcS5tZXRob2R9IHJlcXVlc3RzIG11c3QgaGF2ZSBDb250ZW50LVR5cGUgaGVhZGVyIHdpdGggXCJhcHBsaWNhdGlvbi9qc29uXCJgLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBpbnB1dC5mb3JtRGF0YSAmJlxuICAgICAgcmVxLm1ldGhvZCAhPT0gXCJHRVRcIiAmJlxuICAgICAgIXJlcS5oZWFkZXJzW1wiY29udGVudC10eXBlXCJdPy5pbmNsdWRlcyhcbiAgICAgICAgXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxuICAgICAgKVxuICAgICAgLy8gVE9ETyBldmVudHVhbGx5IHdlIHNob3VsZCBzdXBwb3J0IG11bHRpcGFydC9mb3JtLWRhdGFcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXhjZXB0aW9uKHtcbiAgICAgICAgdHlwZTogXCJpbnZhbGlkX2NvbnRlbnRfdHlwZVwiLFxuICAgICAgICBtZXNzYWdlOiBgTXVzdCBoYXZlIENvbnRlbnQtVHlwZSBoZWFkZXIgd2l0aCBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiYCxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsX2NvbWJpbmVkX3BhcmFtcyA9IHsgLi4ucmVxLnF1ZXJ5LCAuLi5yZXEuYm9keSB9XG4gICAgICByZXEuYm9keSA9XG4gICAgICAgIGlucHV0LmZvcm1EYXRhICYmIHJlcS5tZXRob2QgIT09IFwiR0VUXCJcbiAgICAgICAgICA/IGlucHV0LmZvcm1EYXRhPy5wYXJzZShyZXEuYm9keSlcbiAgICAgICAgICA6IGlucHV0Lmpzb25Cb2R5Py5wYXJzZShyZXEuYm9keSlcbiAgICAgIHJlcS5xdWVyeSA9IGlucHV0LnF1ZXJ5UGFyYW1zPy5wYXJzZShyZXEucXVlcnkpXG5cbiAgICAgIGlmIChpbnB1dC5jb21tb25QYXJhbXMpIHtcbiAgICAgICAgOyhyZXEgYXMgYW55KS5jb21tb25QYXJhbXMgPSBwYXJzZUNvbW1hU2VwYXJhdGVBcnJheXMoXG4gICAgICAgICAgaW5wdXQuY29tbW9uUGFyYW1zLFxuICAgICAgICAgIG9yaWdpbmFsX2NvbWJpbmVkX3BhcmFtc1xuICAgICAgICApXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgaWYgKGVycm9yLm5hbWUgPT09IFwiWm9kRXJyb3JcIikge1xuICAgICAgICBsZXQgbWVzc2FnZVxuICAgICAgICBpZiAoZXJyb3IuaXNzdWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIGNvbnN0IGlzc3VlID0gZXJyb3IuaXNzdWVzWzBdXG4gICAgICAgICAgbWVzc2FnZSA9IHpvZElzc3VlVG9TdHJpbmcoaXNzdWUpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZV9jb21wb25lbnRzOiBzdHJpbmdbXSA9IFtdXG4gICAgICAgICAgZm9yIChjb25zdCBpc3N1ZSBvZiBlcnJvci5pc3N1ZXMpIHtcbiAgICAgICAgICAgIG1lc3NhZ2VfY29tcG9uZW50cy5wdXNoKHpvZElzc3VlVG9TdHJpbmcoaXNzdWUpKVxuICAgICAgICAgIH1cbiAgICAgICAgICBtZXNzYWdlID1cbiAgICAgICAgICAgIGAke2Vycm9yLmlzc3Vlcy5sZW5ndGh9IElucHV0IEVycm9yczogYCArXG4gICAgICAgICAgICBtZXNzYWdlX2NvbXBvbmVudHMuam9pbihcIiwgXCIpXG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbih7XG4gICAgICAgICAgdHlwZTogXCJpbnZhbGlkX2lucHV0XCIsXG4gICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICB2YWxpZGF0aW9uX2Vycm9yczogZXJyb3IuZm9ybWF0KCksXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXhjZXB0aW9uKHtcbiAgICAgICAgdHlwZTogXCJpbnZhbGlkX2lucHV0XCIsXG4gICAgICAgIG1lc3NhZ2U6IFwiRXJyb3Igd2hpbGUgcGFyc2luZyBpbnB1dFwiLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dChyZXEsIHJlcylcbiAgfVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoVmFsaWRhdGlvblxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQSwwQ0FBc0M7QUFDdEMsd0NBQXFDOzs7QUNGckMseUNBQTBDO0FBV25DLElBQU0sY0FBYyxDQUFDLFlBQTJCLENBQUMsU0FBUyxDQUFDLEtBQUssUUFBUTtBQUM3RSxNQUFJLENBQUMsUUFBUSxTQUFTLElBQUksTUFBTSxHQUFHO0FBQ2pDLFVBQU0sSUFBSSw2REFBMEI7QUFBQSxNQUNsQyxNQUFNO0FBQUEsTUFDTixTQUFTLFFBQVEsUUFBUSxLQUFLLEdBQUc7QUFBQSxJQUNuQyxDQUFDO0FBQUEsRUFDSDtBQUNBLFNBQU8sS0FBSyxLQUFLLEdBQUc7QUFDdEI7QUFFQSxJQUFPLHVCQUFROzs7QUNuQmYsMENBQW9DO0FBQ3BDLG9CQUF3QjtBQUV4QixJQUFNLDJCQUEyQixDQUMvQixRQUNBLFVBQ0c7QUFDSCxRQUFNLGVBQWUsT0FBTyxPQUFPLENBQUMsR0FBRyxLQUFLO0FBSTVDLFNBQU8sT0FBTyxNQUFNLFlBQVk7QUFDbEM7QUFjQSxJQUFNLG1CQUFtQixDQUFDLFVB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
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3dpdGgtcm91dGUtc3BlYy9pbmRleC50cyIsICIuLi8uLi9zcmMvd2l0aC1yb3V0ZS1zcGVjL21pZGRsZXdhcmVzL3dpdGgtbWV0aG9kcy50cyIsICIuLi8uLi9zcmMvd2l0aC1yb3V0ZS1zcGVjL21pZGRsZXdhcmVzL3dpdGgtdmFsaWRhdGlvbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgTmV4dEFwaVJlc3BvbnNlLCBOZXh0QXBpUmVxdWVzdCB9IGZyb20gXCJuZXh0XCJcbmltcG9ydCB7IHdpdGhFeGNlcHRpb25IYW5kbGluZyB9IGZyb20gXCJuZXh0anMtZXhjZXB0aW9uLW1pZGRsZXdhcmVcIlxuaW1wb3J0IHdyYXBwZXJzLCB7IE1pZGRsZXdhcmUgfSBmcm9tIFwibmV4dGpzLW1pZGRsZXdhcmUtd3JhcHBlcnNcIlxuaW1wb3J0IHsgQ3JlYXRlV2l0aFJvdXRlU3BlY0Z1bmN0aW9uLCBSb3V0ZVNwZWMgfSBmcm9tIFwiLi4vdHlwZXNcIlxuaW1wb3J0IHdpdGhNZXRob2RzLCB7IEhUVFBNZXRob2RzIH0gZnJvbSBcIi4vbWlkZGxld2FyZXMvd2l0aC1tZXRob2RzXCJcbmltcG9ydCB3aXRoVmFsaWRhdGlvbiBmcm9tIFwiLi9taWRkbGV3YXJlcy93aXRoLXZhbGlkYXRpb25cIlxuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIlxuXG50eXBlIFBhcmFtRGVmID0gei5ab2RUeXBlQW55IHwgei5ab2RFZmZlY3RzPHouWm9kVHlwZUFueT5cblxuZXhwb3J0IGNvbnN0IGNoZWNrUm91dGVTcGVjID0gPFxuICBBdXRoVHlwZSBleHRlbmRzIHN0cmluZyA9IHN0cmluZyxcbiAgTWV0aG9kcyBleHRlbmRzIEhUVFBNZXRob2RzW10gPSBIVFRQTWV0aG9kc1tdLFxuICBKc29uQm9keSBleHRlbmRzIFBhcmFtRGVmID0gei5ab2RUeXBlQW55LFxuICBRdWVyeVBhcmFtcyBleHRlbmRzIFBhcmFtRGVmID0gei5ab2RUeXBlQW55LFxuICBDb21tb25QYXJhbXMgZXh0ZW5kcyBQYXJhbURlZiA9IHouWm9kVHlwZUFueSxcbiAgTWlkZGxld2FyZXMgZXh0ZW5kcyByZWFkb25seSBNaWRkbGV3YXJlPGFueSwgYW55PltdID0gcmVhZG9ubHkgTWlkZGxld2FyZTxcbiAgICBhbnksXG4gICAgYW55XG4gID5bXSxcbiAgRm9ybURhdGEgZXh0ZW5kcyBQYXJhbURlZiA9IHouWm9kVHlwZUFueSxcbiAgU3BlYyBleHRlbmRzIFJvdXRlU3BlYzxcbiAgICBBdXRoVHlwZSxcbiAgICBNZXRob2RzLFxuICAgIEpzb25Cb2R5LFxuICAgIFF1ZXJ5UGFyYW1zLFxuICAgIENvbW1vblBhcmFtcyxcbiAgICBNaWRkbGV3YXJlcyxcbiAgICBGb3JtRGF0YVxuICA+ID0gUm91dGVTcGVjPFxuICAgIEF1dGhUeXBlLFxuICAgIE1ldGhvZHMsXG4gICAgSnNvbkJvZHksXG4gICAgUXVlcnlQYXJhbXMsXG4gICAgQ29tbW9uUGFyYW1zLFxuICAgIE1pZGRsZXdhcmVzLFxuICAgIEZvcm1EYXRhXG4gID5cbj4oXG4gIHNwZWM6IFNwZWNcbik6IHN0cmluZyBleHRlbmRzIFNwZWNbXCJhdXRoXCJdXG4gID8gYHlvdXIgcm91dGUgc3BlYyBpcyB1bmRlcnNwZWNpZmllZCwgYWRkIFwiYXMgY29uc3RcImBcbiAgOiBTcGVjID0+IHNwZWMgYXMgYW55XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVXaXRoUm91dGVTcGVjOiBDcmVhdGVXaXRoUm91dGVTcGVjRnVuY3Rpb24gPSAoKFxuICBzZXR1cFBhcmFtc1xuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBhdXRoTWlkZGxld2FyZU1hcCA9IHt9LFxuICAgIGdsb2JhbE1pZGRsZXdhcmVzID0gW10sXG4gICAgZXhjZXB0aW9uSGFuZGxpbmdNaWRkbGV3YXJlID0gd2l0aEV4Y2VwdGlvbkhhbmRsaW5nKHtcbiAgICAgIGFkZE9rU3RhdHVzOiBzZXR1cFBhcmFtcy5hZGRPa1N0YXR1cyxcbiAgICB9KSBhcyBhbnksXG4gIH0gPSBzZXR1cFBhcmFtc1xuXG4gIGNvbnN0IHdpdGhSb3V0ZVNwZWMgPSAoc3BlYzogUm91dGVTcGVjKSA9PiB7XG4gICAgY29uc3QgY3JlYXRlUm91dGVFeHBvcnQgPSAodXNlckRlZmluZWRSb3V0ZUZuKSA9PiB7XG4gICAgICBjb25zdCByb290UmVxdWVzdEhhbmRsZXIgPSBhc3luYyAoXG4gICAgICAgIHJlcTogTmV4dEFwaVJlcXVlc3QsXG4gICAgICAgIHJlczogTmV4dEFwaVJlc3BvbnNlXG4gICAgICApID0+IHtcbiAgICAgICAgYXV0aE1pZGRsZXdhcmVNYXBbXCJub25lXCJdID0gKG5leHQpID0+IG5leHRcblxuICAgICAgICBjb25zdCBhdXRoX21pZGRsZXdhcmUgPSBhdXRoTWlkZGxld2FyZU1hcFtzcGVjLmF1dGhdXG4gICAgICAgIGlmICghYXV0aF9taWRkbGV3YXJlKSB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gYXV0aCB0eXBlOiAke3NwZWMuYXV0aH1gKVxuXG4gICAgICAgIHJldHVybiB3cmFwcGVycyhcbiAgICAgICAgICAuLi4oKGV4Y2VwdGlvbkhhbmRsaW5nTWlkZGxld2FyZVxuICAgICAgICAgICAgPyBbZXhjZXB0aW9uSGFuZGxpbmdNaWRkbGV3YXJlXVxuICAgICAgICAgICAgOiBbXSkgYXMgW2FueV0pLFxuICAgICAgICAgIC4uLigoZ2xvYmFsTWlkZGxld2FyZXMgfHwgW10pIGFzIFtdKSxcbiAgICAgICAgICBhdXRoX21pZGRsZXdhcmUsXG4gICAgICAgICAgLi4uKChzcGVjLm1pZGRsZXdhcmVzIHx8IFtdKSBhcyBbXSksXG4gICAgICAgICAgd2l0aE1ldGhvZHMoc3BlYy5tZXRob2RzKSxcbiAgICAgICAgICB3aXRoVmFsaWRhdGlvbih7XG4gICAgICAgICAgICBqc29uQm9keTogc3BlYy5qc29uQm9keSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBzcGVjLnF1ZXJ5UGFyYW1zLFxuICAgICAgICAgICAgY29tbW9uUGFyYW1zOiBzcGVjLmNvbW1vblBhcmFtcyxcbiAgICAgICAgICAgIGZvcm1EYXRhOiBzcGVjLmZvcm1EYXRhLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHVzZXJEZWZpbmVkUm91dGVGblxuICAgICAgICApKHJlcSBhcyBhbnksIHJlcylcbiAgICAgIH1cblxuICAgICAgcm9vdFJlcXVlc3RIYW5kbGVyLl9zZXR1cFBhcmFtcyA9IHNldHVwUGFyYW1zXG4gICAgICByb290UmVxdWVzdEhhbmRsZXIuX3JvdXRlU3BlYyA9IHNwZWNcblxuICAgICAgcmV0dXJuIHJvb3RSZXF1ZXN0SGFuZGxlclxuICAgIH1cblxuICAgIGNyZWF0ZVJvdXRlRXhwb3J0Ll9zZXR1cFBhcmFtcyA9IHNldHVwUGFyYW1zXG4gICAgY3JlYXRlUm91dGVFeHBvcnQuX3JvdXRlU3BlYyA9IHNwZWNcblxuICAgIHJldHVybiBjcmVhdGVSb3V0ZUV4cG9ydFxuICB9XG5cbiAgd2l0aFJvdXRlU3BlYy5fc2V0dXBQYXJhbXMgPSBzZXR1cFBhcmFtc1xuXG4gIHJldHVybiB3aXRoUm91dGVTcGVjXG59KSBhcyBhbnlcbiIsICJpbXBvcnQgeyBNZXRob2ROb3RBbGxvd2VkRXhjZXB0aW9uIH0gZnJvbSBcIm5leHRqcy1leGNlcHRpb24tbWlkZGxld2FyZVwiXG5cbmV4cG9ydCB0eXBlIEhUVFBNZXRob2RzID1cbiAgfCBcIkdFVFwiXG4gIHwgXCJQT1NUXCJcbiAgfCBcIkRFTEVURVwiXG4gIHwgXCJQVVRcIlxuICB8IFwiUEFUQ0hcIlxuICB8IFwiSEVBRFwiXG4gIHwgXCJPUFRJT05TXCJcblxuZXhwb3J0IGNvbnN0IHdpdGhNZXRob2RzID0gKG1ldGhvZHM6IEhUVFBNZXRob2RzW10pID0+IChuZXh0KSA9PiAocmVxLCByZXMpID0+IHtcbiAgaWYgKCFtZXRob2RzLmluY2x1ZGVzKHJlcS5tZXRob2QpKSB7XG4gICAgdGhyb3cgbmV3IE1ldGhvZE5vdEFsbG93ZWRFeGNlcHRpb24oe1xuICAgICAgdHlwZTogXCJtZXRob2Rfbm90X2FsbG93ZWRcIixcbiAgICAgIG1lc3NhZ2U6IGBvbmx5ICR7bWV0aG9kcy5qb2luKFwiLFwiKX0gYWNjZXB0ZWRgLFxuICAgIH0pXG4gIH1cbiAgcmV0dXJuIG5leHQocmVxLCByZXMpXG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhNZXRob2RzXG4iLCAiaW1wb3J0IHR5cGUgeyBOZXh0QXBpUmVxdWVzdCwgTmV4dEFwaVJlc3BvbnNlIH0gZnJvbSBcIm5leHRcIlxuaW1wb3J0IHsgeiwgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kIH0gZnJvbSBcInpvZFwiXG5pbXBvcnQgeyBCYWRSZXF1ZXN0RXhjZXB0aW9uIH0gZnJvbSBcIm5leHRqcy1leGNlcHRpb24tbWlkZGxld2FyZVwiXG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSBcImxvZGFzaFwiXG5cbmNvbnN0IHBhcnNlQ29tbWFTZXBhcmF0ZUFycmF5cyA9IChcbiAgc2NoZW1hOiB6LlpvZFR5cGVBbnksXG4gIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuKSA9PiB7XG4gIGNvbnN0IHBhcnNlZF9pbnB1dCA9IE9iamVjdC5hc3NpZ24oe30sIGlucHV0KVxuXG4gIGlmIChzY2hlbWEuX2RlZi50eXBlTmFtZSA9PT0gWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE9iamVjdCkge1xuICAgIGNvbnN0IG9ial9zY2hlbWEgPSBzY2hlbWEgYXMgei5ab2RPYmplY3Q8YW55PlxuXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqX3NjaGVtYS5zaGFwZSkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgKHZhbHVlIGFzIHouWm9kVHlwZUFueSkuX2RlZi50eXBlTmFtZSA9PT0gWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEFycmF5XG4gICAgICApIHtcbiAgICAgICAgY29uc3QgYXJyYXlfaW5wdXQgPSBpbnB1dFtrZXldXG5cbiAgICAgICAgaWYgKHR5cGVvZiBhcnJheV9pbnB1dCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIHBhcnNlZF9pbnB1dFtrZXldID0gYXJyYXlfaW5wdXQuc3BsaXQoXCIsXCIpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpbnB1dFtgJHtrZXl9W11gXSkpIHtcbiAgICAgICAgICBwYXJzZWRfaW5wdXRba2V5XSA9IGlucHV0W2Ake2tleX1bXWBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gc2NoZW1hLnBhcnNlKHBhcnNlZF9pbnB1dClcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0SW5wdXQ8XG4gIEpzb25Cb2R5IGV4dGVuZHMgei5ab2RUeXBlQW55LFxuICBRdWVyeVBhcmFtcyBleHRlbmRzIHouWm9kVHlwZUFueSxcbiAgQ29tbW9uUGFyYW1zIGV4dGVuZHMgei5ab2RUeXBlQW55LFxuICBGb3JtRGF0YSBleHRlbmRzIHouWm9kVHlwZUFueVxuPiB7XG4gIGpzb25Cb2R5PzogSnNvbkJvZHlcbiAgcXVlcnlQYXJhbXM/OiBRdWVyeVBhcmFtc1xuICBjb21tb25QYXJhbXM/OiBDb21tb25QYXJhbXNcbiAgZm9ybURhdGE/OiBGb3JtRGF0YVxufVxuXG5jb25zdCB6b2RJc3N1ZVRvU3RyaW5nID0gKGlzc3VlOiB6LlpvZElzc3VlKSA9PiB7XG4gIGlmIChpc3N1ZS5wYXRoLmpvaW4oXCIuXCIpID09PSBcIlwiKSB7XG4gICAgcmV0dXJuIGlzc3VlLm1lc3NhZ2VcbiAgfVxuICBpZiAoaXNzdWUubWVzc2FnZSA9PT0gXCJSZXF1aXJlZFwiKSB7XG4gICAgcmV0dXJuIGAke2lzc3VlLnBhdGguam9pbihcIi5cIil9IGlzIHJlcXVpcmVkYFxuICB9XG4gIHJldHVybiBgJHtpc3N1ZS5tZXNzYWdlfSBmb3IgXCIke2lzc3VlLnBhdGguam9pbihcIi5cIil9XCJgXG59XG5cbmV4cG9ydCBjb25zdCB3aXRoVmFsaWRhdGlvbiA9XG4gIDxcbiAgICBKc29uQm9keSBleHRlbmRzIHouWm9kVHlwZUFueSxcbiAgICBRdWVyeVBhcmFtcyBleHRlbmRzIHouWm9kVHlwZUFueSxcbiAgICBDb21tb25QYXJhbXMgZXh0ZW5kcyB6LlpvZFR5cGVBbnksXG4gICAgRm9ybURhdGEgZXh0ZW5kcyB6LlpvZFR5cGVBbnlcbiAgPihcbiAgICBpbnB1dDogUmVxdWVzdElucHV0PEpzb25Cb2R5LCBRdWVyeVBhcmFtcywgQ29tbW9uUGFyYW1zLCBGb3JtRGF0YT5cbiAgKSA9PlxuICAobmV4dCkgPT5cbiAgYXN5bmMgKHJlcTogTmV4dEFwaVJlcXVlc3QsIHJlczogTmV4dEFwaVJlc3BvbnNlKSA9PiB7XG4gICAgaWYgKFxuICAgICAgKGlucHV0LmZvcm1EYXRhICYmIGlucHV0Lmpzb25Cb2R5KSB8fFxuICAgICAgKGlucHV0LmZvcm1EYXRhICYmIGlucHV0LmNvbW1vblBhcmFtcylcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCB1c2UgZm9ybURhdGEgd2l0aCBqc29uQm9keSBvciBjb21tb25QYXJhbXNcIilcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAocmVxLm1ldGhvZCA9PT0gXCJQT1NUXCIgfHwgcmVxLm1ldGhvZCA9PT0gXCJQQVRDSFwiKSAmJlxuICAgICAgKGlucHV0Lmpzb25Cb2R5IHx8IGlucHV0LmNvbW1vblBhcmFtcykgJiZcbiAgICAgICFyZXEuaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXT8uaW5jbHVkZXMoXCJhcHBsaWNhdGlvbi9qc29uXCIpICYmXG4gICAgICAhaXNFbXB0eShyZXEuYm9keSlcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXhjZXB0aW9uKHtcbiAgICAgICAgdHlwZTogXCJpbnZhbGlkX2NvbnRlbnRfdHlwZVwiLFxuICAgICAgICBtZXNzYWdlOiBgJHtyZXEubWV0aG9kfSByZXF1ZXN0cyBtdXN0IGhhdmUgQ29udGVudC1UeXBlIGhlYWRlciB3aXRoIFwiYXBwbGljYXRpb24vanNvblwiYCxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgaW5wdXQuZm9ybURhdGEgJiZcbiAgICAgIHJlcS5tZXRob2QgIT09IFwiR0VUXCIgJiZcbiAgICAgICFyZXEuaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXT8uaW5jbHVkZXMoXG4gICAgICAgIFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICAgIClcbiAgICAgIC8vIFRPRE8gZXZlbnR1YWxseSB3ZSBzaG91bGQgc3VwcG9ydCBtdWx0aXBhcnQvZm9ybS1kYXRhXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbih7XG4gICAgICAgIHR5cGU6IFwiaW52YWxpZF9jb250ZW50X3R5cGVcIixcbiAgICAgICAgbWVzc2FnZTogYE11c3QgaGF2ZSBDb250ZW50LVR5cGUgaGVhZGVyIHdpdGggXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcImAsXG4gICAgICB9KVxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBvcmlnaW5hbF9jb21iaW5lZF9wYXJhbXMgPSB7IC4uLnJlcS5xdWVyeSwgLi4ucmVxLmJvZHkgfVxuICAgICAgcmVxLmJvZHkgPVxuICAgICAgICBpbnB1dC5mb3JtRGF0YSAmJiByZXEubWV0aG9kICE9PSBcIkdFVFwiXG4gICAgICAgICAgPyBpbnB1dC5mb3JtRGF0YT8ucGFyc2UocmVxLmJvZHkpXG4gICAgICAgICAgOiBpbnB1dC5qc29uQm9keT8ucGFyc2UocmVxLmJvZHkpXG4gICAgICByZXEucXVlcnkgPSBpbnB1dC5xdWVyeVBhcmFtcz8ucGFyc2UocmVxLnF1ZXJ5KVxuXG4gICAgICBpZiAoaW5wdXQuY29tbW9uUGFyYW1zKSB7XG4gICAgICAgIDsocmVxIGFzIGFueSkuY29tbW9uUGFyYW1zID0gcGFyc2VDb21tYVNlcGFyYXRlQXJyYXlzKFxuICAgICAgICAgIGlucHV0LmNvbW1vblBhcmFtcyxcbiAgICAgICAgICBvcmlnaW5hbF9jb21iaW5lZF9wYXJhbXNcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGlmIChlcnJvci5uYW1lID09PSBcIlpvZEVycm9yXCIpIHtcbiAgICAgICAgbGV0IG1lc3NhZ2VcbiAgICAgICAgaWYgKGVycm9yLmlzc3Vlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICBjb25zdCBpc3N1ZSA9IGVycm9yLmlzc3Vlc1swXVxuICAgICAgICAgIG1lc3NhZ2UgPSB6b2RJc3N1ZVRvU3RyaW5nKGlzc3VlKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2VfY29tcG9uZW50czogc3RyaW5nW10gPSBbXVxuICAgICAgICAgIGZvciAoY29uc3QgaXNzdWUgb2YgZXJyb3IuaXNzdWVzKSB7XG4gICAgICAgICAgICBtZXNzYWdlX2NvbXBvbmVudHMucHVzaCh6b2RJc3N1ZVRvU3RyaW5nKGlzc3VlKSlcbiAgICAgICAgICB9XG4gICAgICAgICAgbWVzc2FnZSA9XG4gICAgICAgICAgICBgJHtlcnJvci5pc3N1ZXMubGVuZ3RofSBJbnB1dCBFcnJvcnM6IGAgK1xuICAgICAgICAgICAgbWVzc2FnZV9jb21wb25lbnRzLmpvaW4oXCIsIFwiKVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24oe1xuICAgICAgICAgIHR5cGU6IFwiaW52YWxpZF9pbnB1dFwiLFxuICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgdmFsaWRhdGlvbl9lcnJvcnM6IGVycm9yLmZvcm1hdCgpLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbih7XG4gICAgICAgIHR5cGU6IFwiaW52YWxpZF9pbnB1dFwiLFxuICAgICAgICBtZXNzYWdlOiBcIkVycm9yIHdoaWxlIHBhcnNpbmcgaW5wdXRcIixcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQocmVxLCByZXMpXG4gIH1cblxuZXhwb3J0IGRl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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -24,10 +24,25 @@ __export(with_validation_exports, {
|
|
|
24
24
|
withValidation: () => withValidation
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(with_validation_exports);
|
|
27
|
+
var import_zod = require("zod");
|
|
27
28
|
var import_nextjs_exception_middleware = require("nextjs-exception-middleware");
|
|
28
29
|
var import_lodash = require("lodash");
|
|
29
30
|
var parseCommaSeparateArrays = (schema, input) => {
|
|
30
31
|
const parsed_input = Object.assign({}, input);
|
|
32
|
+
if (schema._def.typeName === import_zod.ZodFirstPartyTypeKind.ZodObject) {
|
|
33
|
+
const obj_schema = schema;
|
|
34
|
+
for (const [key, value] of Object.entries(obj_schema.shape)) {
|
|
35
|
+
if (value._def.typeName === import_zod.ZodFirstPartyTypeKind.ZodArray) {
|
|
36
|
+
const array_input = input[key];
|
|
37
|
+
if (typeof array_input === "string") {
|
|
38
|
+
parsed_input[key] = array_input.split(",");
|
|
39
|
+
}
|
|
40
|
+
if (Array.isArray(input[`${key}[]`])) {
|
|
41
|
+
parsed_input[key] = input[`${key}[]`];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
31
46
|
return schema.parse(parsed_input);
|
|
32
47
|
};
|
|
33
48
|
var zodIssueToString = (issue) => {
|
|
@@ -95,4 +110,4 @@ var with_validation_default = withValidation;
|
|
|
95
110
|
0 && (module.exports = {
|
|
96
111
|
withValidation
|
|
97
112
|
});
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3dpdGgtcm91dGUtc3BlYy9taWRkbGV3YXJlcy93aXRoLXZhbGlkYXRpb24udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHsgTmV4dEFwaVJlcXVlc3QsIE5leHRBcGlSZXNwb25zZSB9IGZyb20gXCJuZXh0XCJcbmltcG9ydCB7IHosIFpvZEZpcnN0UGFydHlUeXBlS2luZCB9IGZyb20gXCJ6b2RcIlxuaW1wb3J0IHsgQmFkUmVxdWVzdEV4Y2VwdGlvbiB9IGZyb20gXCJuZXh0anMtZXhjZXB0aW9uLW1pZGRsZXdhcmVcIlxuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gXCJsb2Rhc2hcIlxuXG5jb25zdCBwYXJzZUNvbW1hU2VwYXJhdGVBcnJheXMgPSAoXG4gIHNjaGVtYTogei5ab2RUeXBlQW55LFxuICBpbnB1dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbikgPT4ge1xuICBjb25zdCBwYXJzZWRfaW5wdXQgPSBPYmplY3QuYXNzaWduKHt9LCBpbnB1dClcblxuICBpZiAoc2NoZW1hLl9kZWYudHlwZU5hbWUgPT09IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RPYmplY3QpIHtcbiAgICBjb25zdCBvYmpfc2NoZW1hID0gc2NoZW1hIGFzIHouWm9kT2JqZWN0PGFueT5cblxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9ial9zY2hlbWEuc2hhcGUpKSB7XG4gICAgICBpZiAoXG4gICAgICAgICh2YWx1ZSBhcyB6LlpvZFR5cGVBbnkpLl9kZWYudHlwZU5hbWUgPT09IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RBcnJheVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGFycmF5X2lucHV0ID0gaW5wdXRba2V5XVxuXG4gICAgICAgIGlmICh0eXBlb2YgYXJyYXlfaW5wdXQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICBwYXJzZWRfaW5wdXRba2V5XSA9IGFycmF5X2lucHV0LnNwbGl0KFwiLFwiKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5wdXRbYCR7a2V5fVtdYF0pKSB7XG4gICAgICAgICAgcGFyc2VkX2lucHV0W2tleV0gPSBpbnB1dFtgJHtrZXl9W11gXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHNjaGVtYS5wYXJzZShwYXJzZWRfaW5wdXQpXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdElucHV0PFxuICBKc29uQm9keSBleHRlbmRzIHouWm9kVHlwZUFueSxcbiAgUXVlcnlQYXJhbXMgZXh0ZW5kcyB6LlpvZFR5cGVBbnksXG4gIENvbW1vblBhcmFtcyBleHRlbmRzIHouWm9kVHlwZUFueSxcbiAgRm9ybURhdGEgZXh0ZW5kcyB6LlpvZFR5cGVBbnlcbj4ge1xuICBqc29uQm9keT86IEpzb25Cb2R5XG4gIHF1ZXJ5UGFyYW1zPzogUXVlcnlQYXJhbXNcbiAgY29tbW9uUGFyYW1zPzogQ29tbW9uUGFyYW1zXG4gIGZvcm1EYXRhPzogRm9ybURhdGFcbn1cblxuY29uc3Qgem9kSXNzdWVUb1N0cmluZyA9IChpc3N1ZTogei5ab2RJc3N1ZSkgPT4ge1xuICBpZiAoaXNzdWUucGF0aC5qb2luKFwiLlwiKSA9PT0gXCJcIikge1xuICAgIHJldHVybiBpc3N1ZS5tZXNzYWdlXG4gIH1cbiAgaWYgKGlzc3VlLm1lc3NhZ2UgPT09IFwiUmVxdWlyZWRcIikge1xuICAgIHJldHVybiBgJHtpc3N1ZS5wYXRoLmpvaW4oXCIuXCIpfSBpcyByZXF1aXJlZGBcbiAgfVxuICByZXR1cm4gYCR7aXNzdWUubWVzc2FnZX0gZm9yIFwiJHtpc3N1ZS5wYXRoLmpvaW4oXCIuXCIpfVwiYFxufVxuXG5leHBvcnQgY29uc3Qgd2l0aFZhbGlkYXRpb24gPVxuICA8XG4gICAgSnNvbkJvZHkgZXh0ZW5kcyB6LlpvZFR5cGVBbnksXG4gICAgUXVlcnlQYXJhbXMgZXh0ZW5kcyB6LlpvZFR5cGVBbnksXG4gICAgQ29tbW9uUGFyYW1zIGV4dGVuZHMgei5ab2RUeXBlQW55LFxuICAgIEZvcm1EYXRhIGV4dGVuZHMgei5ab2RUeXBlQW55XG4gID4oXG4gICAgaW5wdXQ6IFJlcXVlc3RJbnB1dDxKc29uQm9keSwgUXVlcnlQYXJhbXMsIENvbW1vblBhcmFtcywgRm9ybURhdGE+XG4gICkgPT5cbiAgKG5leHQpID0+XG4gIGFzeW5jIChyZXE6IE5leHRBcGlSZXF1ZXN0LCByZXM6IE5leHRBcGlSZXNwb25zZSkgPT4ge1xuICAgIGlmIChcbiAgICAgIChpbnB1dC5mb3JtRGF0YSAmJiBpbnB1dC5qc29uQm9keSkgfHxcbiAgICAgIChpbnB1dC5mb3JtRGF0YSAmJiBpbnB1dC5jb21tb25QYXJhbXMpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgdXNlIGZvcm1EYXRhIHdpdGgganNvbkJvZHkgb3IgY29tbW9uUGFyYW1zXCIpXG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgKHJlcS5tZXRob2QgPT09IFwiUE9TVFwiIHx8IHJlcS5tZXRob2QgPT09IFwiUEFUQ0hcIikgJiZcbiAgICAgIChpbnB1dC5qc29uQm9keSB8fCBpbnB1dC5jb21tb25QYXJhbXMpICYmXG4gICAgICAhcmVxLmhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0/LmluY2x1ZGVzKFwiYXBwbGljYXRpb24vanNvblwiKSAmJlxuICAgICAgIWlzRW1wdHkocmVxLmJvZHkpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbih7XG4gICAgICAgIHR5cGU6IFwiaW52YWxpZF9jb250ZW50X3R5cGVcIixcbiAgICAgICAgbWVzc2FnZTogYCR7cmVxLm1ldGhvZH0gcmVxdWVzdHMgbXVzdCBoYXZlIENvbnRlbnQtVHlwZSBoZWFkZXIgd2l0aCBcImFwcGxpY2F0aW9uL2pzb25cImAsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGlucHV0LmZvcm1EYXRhICYmXG4gICAgICByZXEubWV0aG9kICE9PSBcIkdFVFwiICYmXG4gICAgICAhcmVxLmhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0/LmluY2x1ZGVzKFxuICAgICAgICBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiXG4gICAgICApXG4gICAgICAvLyBUT0RPIGV2ZW50dWFsbHkgd2Ugc2hvdWxkIHN1cHBvcnQgbXVsdGlwYXJ0L2Zvcm0tZGF0YVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24oe1xuICAgICAgICB0eXBlOiBcImludmFsaWRfY29udGVudF90eXBlXCIsXG4gICAgICAgIG1lc3NhZ2U6IGBNdXN0IGhhdmUgQ29udGVudC1UeXBlIGhlYWRlciB3aXRoIFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJgLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3JpZ2luYWxfY29tYmluZWRfcGFyYW1zID0geyAuLi5yZXEucXVlcnksIC4uLnJlcS5ib2R5IH1cbiAgICAgIHJlcS5ib2R5ID1cbiAgICAgICAgaW5wdXQuZm9ybURhdGEgJiYgcmVxLm1ldGhvZCAhPT0gXCJHRVRcIlxuICAgICAgICAgID8gaW5wdXQuZm9ybURhdGE/LnBhcnNlKHJlcS5ib2R5KVxuICAgICAgICAgIDogaW5wdXQuanNvbkJvZHk/LnBhcnNlKHJlcS5ib2R5KVxuICAgICAgcmVxLnF1ZXJ5ID0gaW5wdXQucXVlcnlQYXJhbXM/LnBhcnNlKHJlcS5xdWVyeSlcblxuICAgICAgaWYgKGlucHV0LmNvbW1vblBhcmFtcykge1xuICAgICAgICA7KHJlcSBhcyBhbnkpLmNvbW1vblBhcmFtcyA9IHBhcnNlQ29tbWFTZXBhcmF0ZUFycmF5cyhcbiAgICAgICAgICBpbnB1dC5jb21tb25QYXJhbXMsXG4gICAgICAgICAgb3JpZ2luYWxfY29tYmluZWRfcGFyYW1zXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBpZiAoZXJyb3IubmFtZSA9PT0gXCJab2RFcnJvclwiKSB7XG4gICAgICAgIGxldCBtZXNzYWdlXG4gICAgICAgIGlmIChlcnJvci5pc3N1ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgY29uc3QgaXNzdWUgPSBlcnJvci5pc3N1ZXNbMF1cbiAgICAgICAgICBtZXNzYWdlID0gem9kSXNzdWVUb1N0cmluZyhpc3N1ZSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlX2NvbXBvbmVudHM6IHN0cmluZ1tdID0gW11cbiAgICAgICAgICBmb3IgKGNvbnN0IGlzc3VlIG9mIGVycm9yLmlzc3Vlcykge1xuICAgICAgICAgICAgbWVzc2FnZV9jb21wb25lbnRzLnB1c2goem9kSXNzdWVUb1N0cmluZyhpc3N1ZSkpXG4gICAgICAgICAgfVxuICAgICAgICAgIG1lc3NhZ2UgPVxuICAgICAgICAgICAgYCR7ZXJyb3IuaXNzdWVzLmxlbmd0aH0gSW5wdXQgRXJyb3JzOiBgICtcbiAgICAgICAgICAgIG1lc3NhZ2VfY29tcG9uZW50cy5qb2luKFwiLCBcIilcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBCYWRSZXF1ZXN0RXhjZXB0aW9uKHtcbiAgICAgICAgICB0eXBlOiBcImludmFsaWRfaW5wdXRcIixcbiAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgIHZhbGlkYXRpb25fZXJyb3JzOiBlcnJvci5mb3JtYXQoKSxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24oe1xuICAgICAgICB0eXBlOiBcImludmFsaWRfaW5wdXRcIixcbiAgICAgICAgbWVzc2FnZTogXCJFcnJvciB3aGlsZSBwYXJzaW5nIGlucHV0XCIsXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiBuZXh0KHJlcSwgcmVzKVxuICB9XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhWYWxpZGF0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
|