sonamu 0.8.13 → 0.8.14
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/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +2 -3
- package/dist/auth/auth-generator.d.ts +8 -0
- package/dist/auth/auth-generator.d.ts.map +1 -1
- package/dist/auth/auth-generator.js +33 -1
- package/dist/auth/better-auth-entities.d.ts.map +1 -1
- package/dist/auth/better-auth-entities.js +12 -2
- package/dist/bin/cli.js +18 -3
- package/dist/cone/cone-generator.js +10 -4
- package/dist/database/knex.d.ts.map +1 -1
- package/dist/database/knex.js +64 -2
- package/dist/database/puri.d.ts +9 -1
- package/dist/database/puri.d.ts.map +1 -1
- package/dist/database/puri.js +42 -1
- package/dist/database/puri.types.d.ts +2 -0
- package/dist/database/puri.types.d.ts.map +1 -1
- package/dist/database/puri.types.js +6 -2
- package/dist/entity/entity-manager.d.ts +149 -1
- package/dist/entity/entity-manager.d.ts.map +1 -1
- package/dist/entity/entity-manager.js +68 -4
- package/dist/migration/__tests__/code-generation.search-text.test.js +435 -0
- package/dist/migration/code-generation.d.ts.map +1 -1
- package/dist/migration/code-generation.js +696 -32
- package/dist/migration/migration-set.js +3 -1
- package/dist/migration/postgresql-schema-reader.d.ts +16 -2
- package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
- package/dist/migration/postgresql-schema-reader.js +281 -7
- package/dist/stream/sse.js +5 -3
- package/dist/template/__tests__/generated.template.search-text.test.js +99 -0
- package/dist/template/generated.template.test-d.js +24 -0
- package/dist/template/implementations/generated.template.d.ts.map +1 -1
- package/dist/template/implementations/generated.template.js +2 -2
- package/dist/template/implementations/init_types.template.d.ts.map +1 -1
- package/dist/template/implementations/init_types.template.js +11 -3
- package/dist/template/zod-converter.d.ts.map +1 -1
- package/dist/template/zod-converter.js +6 -2
- package/dist/testing/dev-test-routes.d.ts.map +1 -1
- package/dist/testing/dev-test-routes.js +5 -3
- package/dist/testing/fixture-generator.d.ts +13 -0
- package/dist/testing/fixture-generator.d.ts.map +1 -1
- package/dist/testing/fixture-generator.js +105 -8
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +19 -2
- package/dist/types/__tests__/entity-json-schema-search-text.test.js +256 -0
- package/dist/types/types.d.ts +494 -1
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +117 -13
- package/dist/ui/api.d.ts.map +1 -1
- package/dist/ui/api.js +14 -2
- package/dist/ui/cdd-service.d.ts +16 -14
- package/dist/ui/cdd-service.d.ts.map +1 -1
- package/dist/ui/cdd-service.js +145 -37
- package/dist/ui/cdd-types.d.ts +60 -0
- package/dist/ui/cdd-types.d.ts.map +1 -0
- package/dist/ui/cdd-types.js +3 -0
- package/dist/ui-web/assets/index-D4XFBV-f.css +1 -0
- package/dist/ui-web/assets/{index-CQ_S40bD.js → index-D_19-Pi4.js} +87 -87
- package/dist/ui-web/index.html +2 -2
- package/package.json +7 -3
- package/src/api/sonamu.ts +1 -2
- package/src/auth/auth-generator.ts +38 -0
- package/src/auth/better-auth-entities.ts +18 -1
- package/src/bin/cli.ts +15 -1
- package/src/cone/cone-generator.ts +9 -3
- package/src/database/knex.ts +62 -4
- package/src/database/puri.ts +71 -0
- package/src/database/puri.types.ts +2 -0
- package/src/entity/entity-manager.ts +95 -3
- package/src/migration/__tests__/code-generation.search-text.test.ts +390 -0
- package/src/migration/code-generation.ts +848 -34
- package/src/migration/migration-set.ts +2 -0
- package/src/migration/postgresql-schema-reader.ts +366 -9
- package/src/skills/sonamu/auth-migration.md +80 -0
- package/src/skills/sonamu/cdd.md +148 -28
- package/src/skills/sonamu/cone.md +16 -0
- package/src/skills/sonamu/entity-relations.md +1 -1
- package/src/skills/sonamu/fixture-cli.md +4 -0
- package/src/skills/sonamu/frontend.md +65 -0
- package/src/skills/sonamu/migration.md +3 -1
- package/src/skills/sonamu/model.md +28 -0
- package/src/skills/sonamu/workflow.md +12 -5
- package/src/stream/sse.ts +4 -2
- package/src/template/__tests__/generated.template.search-text.test.ts +89 -0
- package/src/template/generated.template.test-d.ts +46 -0
- package/src/template/implementations/generated.template.ts +4 -1
- package/src/template/implementations/init_types.template.ts +20 -5
- package/src/template/zod-converter.ts +5 -0
- package/src/testing/dev-test-routes.ts +4 -2
- package/src/testing/fixture-generator.ts +157 -9
- package/src/testing/fixture-manager.ts +15 -1
- package/src/types/__tests__/entity-json-schema-search-text.test.ts +179 -0
- package/src/types/types.ts +168 -12
- package/src/ui/api.ts +24 -1
- package/src/ui/cdd-service.ts +195 -55
- package/src/ui/cdd-types.ts +73 -0
- package/dist/ui-web/assets/index-egkMxKos.css +0 -1
|
@@ -216,6 +216,8 @@ function resolveEntityPropTypeToMigrationColumnType(prop) {
|
|
|
216
216
|
return "uuid[]";
|
|
217
217
|
case "json":
|
|
218
218
|
return "json";
|
|
219
|
+
case "searchText":
|
|
220
|
+
return "string";
|
|
219
221
|
case "vector":
|
|
220
222
|
return "vector";
|
|
221
223
|
case "vector[]":
|
|
@@ -228,4 +230,4 @@ function resolveEntityPropTypeToMigrationColumnType(prop) {
|
|
|
228
230
|
}
|
|
229
231
|
}
|
|
230
232
|
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWdyYXRpb24vbWlncmF0aW9uLXNldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiO1xuaW1wb3J0IHR5cGUgeyBFbnRpdHkgfSBmcm9tIFwiLi4vZW50aXR5L2VudGl0eVwiO1xuaW1wb3J0IHsgRW50aXR5TWFuYWdlciB9IGZyb20gXCIuLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB7XG4gIHR5cGUgRW50aXR5UHJvcCxcbiAgaXNCZWxvbmdzVG9PbmVSZWxhdGlvblByb3AsXG4gIGlzSGFzTWFueVJlbGF0aW9uUHJvcCxcbiAgaXNNYW55VG9NYW55UmVsYXRpb25Qcm9wLFxuICBpc051bWJlclByb3AsXG4gIGlzTnVtZXJpY1Byb3AsXG4gIGlzT25lVG9PbmVSZWxhdGlvblByb3AsXG4gIGlzUmVsYXRpb25Qcm9wLFxuICBpc1N0cmluZ1Byb3AsXG4gIGlzVmVjdG9yUHJvcCxcbiAgaXNWaXJ0dWFsUHJvcCxcbiAgdHlwZSBNaWdyYXRpb25Db2x1bW4sXG4gIHR5cGUgTWlncmF0aW9uQ29sdW1uVHlwZSxcbiAgdHlwZSBNaWdyYXRpb25Gb3JlaWduLFxuICB0eXBlIE1pZ3JhdGlvbkluZGV4LFxuICB0eXBlIE1pZ3JhdGlvbkpvaW5UYWJsZSxcbiAgdHlwZSBNaWdyYXRpb25TZXRBbmRKb2luVGFibGUsXG59IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgZXhoYXVzdGl2ZSB9IGZyb20gXCIuLi91dGlscy91dGlsc1wiO1xuXG4vKipcbiAqIEVudGl0eeulvCDsnb3slrTshJwgTWlncmF0aW9uU2V0QW5kSm9pblRhYmxl7J2EIOunjOuTpOyWtOyYteuLiOuLpC5cbiAqIEBwYXJhbSBlbnRpdHkgRW50aXR5IOqwneyytFxuICogQHJldHVybnMgTWlncmF0aW9uU2V0QW5kSm9pblRhYmxlIOqwneyytFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWlncmF0aW9uU2V0RnJvbUVudGl0eShlbnRpdHk6IEVudGl0eSk6IE1pZ3JhdGlvblNldEFuZEpvaW5UYWJsZSB7XG4gIGNvbnN0IG1pZ3JhdGlvblNldDogTWlncmF0aW9uU2V0QW5kSm9pblRhYmxlID0gZW50aXR5LnByb3BzLnJlZHVjZShcbiAgICAociwgcHJvcCkgPT4ge1xuICAgICAgLy8gdmlydHVhbCDtlYTrk5wg7KCc7Jm4XG4gICAgICBpZiAoaXNWaXJ0dWFsUHJvcChwcm9wKSkge1xuICAgICAgICByZXR1cm4gcjtcbiAgICAgIH1cbiAgICAgIC8vIEhhc01hbnkg7LyA7J207Iqk64qUIOyVhOustCDsspjrpqzrj4Qg7ZWY7KeAIOyViuydjFxuICAgICAgaWYgKGlzSGFzTWFueVJlbGF0aW9uUHJvcChwcm9wKSkge1xuICAgICAgICByZXR1cm4gcjtcbiAgICAgIH1cblxuICAgICAgLy8g7J2867CYIOy7rOufvFxuICAgICAgaWYgKCFpc1JlbGF0aW9uUHJvcChwcm9wKSkge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSB7XG4gICAgICAgICAgbmFtZTogcHJvcC5uYW1lLFxuICAgICAgICAgIHR5cGU6IHJlc29sdmVFbnRpdHlQcm9wVHlwZVRvTWlncmF0aW9uQ29sdW1uVHlwZShwcm9wKSxcbiAgICAgICAgICBudWxsYWJsZTogcHJvcC5udWxsYWJsZSA9PT0gdHJ1ZSxcbiAgICAgICAgICAuLi4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3AuZGJEZWZhdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBkZWZhdWx0VG86IHByb3AuZGJEZWZhdWx0LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICAgIH0pKCksXG4gICAgICAgICAgLy8gU3RyaW5nIO2DgOyeheyXkCBsZW5ndGgg7J6I64qUIOqyveyasCDstpTqsIBcbiAgICAgICAgICAuLi4oaXNTdHJpbmdQcm9wKHByb3ApICYmXG4gICAgICAgICAgICBwcm9wLmxlbmd0aCAhPT0gdW5kZWZpbmVkICYmIHtcbiAgICAgICAgICAgICAgbGVuZ3RoOiBwcm9wLmxlbmd0aCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIC8vIE51bWJlci9OdW1lcmljIO2DgOyeheydmCDqsr3smrAgcHJlY2lzaW9uLCBzY2FsZSDstpTqsIBcbiAgICAgICAgICAuLi4oKGlzTnVtYmVyUHJvcChwcm9wKSB8fCBpc051bWVyaWNQcm9wKHByb3ApKSAmJiB7XG4gICAgICAgICAgICBwcmVjaXNpb246IHByb3AucHJlY2lzaW9uLFxuICAgICAgICAgICAgc2NhbGU6IHByb3Auc2NhbGUsXG4gICAgICAgICAgICBudW1iZXJUeXBlOiBpc051bWJlclByb3AocHJvcCkgPyAocHJvcC5udW1iZXJUeXBlID8/IFwibnVtZXJpY1wiKSA6IFwibnVtZXJpY1wiLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIC8vIFZlY3RvciDtg4DsnoXsnZgg6rK97JqwIGRpbWVuc2lvbnMg7LaU6rCAXG4gICAgICAgICAgLi4uKGlzVmVjdG9yUHJvcChwcm9wKSAmJiB7XG4gICAgICAgICAgICBkaW1lbnNpb25zOiBwcm9wLmRpbWVuc2lvbnMsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgLy8gR2VuZXJhdGVkIENvbHVtbiDsoJXrs7Qg7LaU6rCAXG4gICAgICAgICAgLi4uKHByb3AuZ2VuZXJhdGVkICYmIHtcbiAgICAgICAgICAgIGdlbmVyYXRlZDogcHJvcC5nZW5lcmF0ZWQsXG4gICAgICAgICAgfSksXG4gICAgICAgIH07XG5cbiAgICAgICAgci5jb2x1bW5zLnB1c2goY29sdW1uKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzTWFueVRvTWFueVJlbGF0aW9uUHJvcChwcm9wKSkge1xuICAgICAgICAvLyBNYW55VG9NYW55IOy8gOydtOyKpFxuICAgICAgICBjb25zdCByZWxNZCA9IEVudGl0eU1hbmFnZXIuZ2V0KHByb3Aud2l0aCk7XG4gICAgICAgIGNvbnN0IHRhYmxlMSA9IGVudGl0eS50YWJsZTtcbiAgICAgICAgY29uc3QgdGFibGUyID0gcmVsTWQudGFibGU7XG5cbiAgICAgICAgLy8g6rCBIOyXlO2LsO2LsOydmCBQSyDtg4DsnoUg7KCV67O0IOqwgOyguOyYpOq4sFxuICAgICAgICBjb25zdCB0aGlzUGtUeXBlID0gZW50aXR5LmdldFBrVHlwZSgpO1xuICAgICAgICBjb25zdCB0aGlzUGtQcm9wID0gZW50aXR5LmdldFBrUHJvcCgpO1xuICAgICAgICBjb25zdCByZWxQa1R5cGUgPSByZWxNZC5nZXRQa1R5cGUoKTtcbiAgICAgICAgY29uc3QgcmVsUGtQcm9wID0gcmVsTWQuZ2V0UGtQcm9wKCk7XG5cbiAgICAgICAgY29uc3Qgam9pbiA9IHtcbiAgICAgICAgICBmcm9tOiBgJHtlbnRpdHkudGFibGV9LmlkYCxcbiAgICAgICAgICB0aHJvdWdoOiB7XG4gICAgICAgICAgICBmcm9tOiBgJHtwcm9wLmpvaW5UYWJsZX0uJHtpbmZsZWN0aW9uLnNpbmd1bGFyaXplKHRhYmxlMSl9X2lkYCxcbiAgICAgICAgICAgIHRvOiBgJHtwcm9wLmpvaW5UYWJsZX0uJHtpbmZsZWN0aW9uLnNpbmd1bGFyaXplKHRhYmxlMil9X2lkYCxcbiAgICAgICAgICAgIG9uVXBkYXRlOiBwcm9wLm9uVXBkYXRlLFxuICAgICAgICAgICAgb25EZWxldGU6IHByb3Aub25EZWxldGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0bzogYCR7cmVsTWQudGFibGV9LmlkYCxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgdGhyb3VnaCA9IGpvaW4udGhyb3VnaDtcbiAgICAgICAgY29uc3QgZmllbGRzID0gW3Rocm91Z2guZnJvbSwgdGhyb3VnaC50b107XG4gICAgICAgIHIuam9pblRhYmxlcy5wdXNoKHtcbiAgICAgICAgICB0YWJsZTogdGhyb3VnaC5mcm9tLnNwbGl0KFwiLlwiKVswXSxcbiAgICAgICAgICBpbmRleGVzOiBbXG4gICAgICAgICAgICAvLyDsobDsnbgg7YWM7J2067iU7JeQIOqxuOumsCDsnbjrjbHsiqQg7LC+7JWE7JmA7IScIOyXsOqysFxuICAgICAgICAgICAgLi4uZW50aXR5LmluZGV4ZXNcbiAgICAgICAgICAgICAgLmZpbHRlcigoaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgaW5kZXguY29sdW1ucy5maW5kKChjb2wpID0+IGNvbC5uYW1lLmluY2x1ZGVzKGAke3Byb3Auam9pblRhYmxlfS5gKSksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLm1hcCgoaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uaW5kZXgsXG4gICAgICAgICAgICAgICAgY29sdW1uczogaW5kZXguY29sdW1ucy5tYXAoKGNvbCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IGNvbC5uYW1lLnJlcGxhY2UoYCR7cHJvcC5qb2luVGFibGV9LmAsIFwiXCIpLFxuICAgICAgICAgICAgICAgICAgbnVsbHNGaXJzdDogY29sLm51bGxzRmlyc3QsXG4gICAgICAgICAgICAgICAgICBzb3J0T3JkZXI6IGNvbC5zb3J0T3JkZXIsXG4gICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgXSxcbiAgICAgICAgICBjb2x1bW5zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6IFwiaWRcIixcbiAgICAgICAgICAgICAgdHlwZTogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgICAgIG51bGxhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyDtmITsnqwg7JeU7Yuw7Yuw7J2YIEZLXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6IGAke2luZmxlY3Rpb24uc2luZ3VsYXJpemUodGFibGUxKX1faWRgLFxuICAgICAgICAgICAgICB0eXBlOiB0aGlzUGtUeXBlLFxuICAgICAgICAgICAgICBudWxsYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgIC4uLih0aGlzUGtUeXBlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICAgICAgdGhpc1BrUHJvcC50eXBlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICAgICAgdGhpc1BrUHJvcC5sZW5ndGggIT09IHVuZGVmaW5lZCAmJiB7XG4gICAgICAgICAgICAgICAgICBsZW5ndGg6IHRoaXNQa1Byb3AubGVuZ3RoLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIOywuOyhsCDsl5Tti7Dti7DsnZggRktcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogYCR7aW5mbGVjdGlvbi5zaW5ndWxhcml6ZSh0YWJsZTIpfV9pZGAsXG4gICAgICAgICAgICAgIHR5cGU6IHJlbFBrVHlwZSxcbiAgICAgICAgICAgICAgbnVsbGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAuLi4ocmVsUGtUeXBlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICAgICAgcmVsUGtQcm9wLnR5cGUgPT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgICAgICAgICByZWxQa1Byb3AubGVuZ3RoICE9PSB1bmRlZmluZWQgJiYge1xuICAgICAgICAgICAgICAgICAgbGVuZ3RoOiByZWxQa1Byb3AubGVuZ3RoLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGZvcmVpZ25zOiBmaWVsZHMubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgLy8g7ZiE7J6sIO2VhOuTnOqwgCDslrTrlqQg7YWM7J2067iU7JeQIOyGje2VmOuKlOyngCDtjJDri6hcbiAgICAgICAgICAgIGNvbnN0IGNvbCA9IGZpZWxkLnNwbGl0KFwiLlwiKVsxXTtcbiAgICAgICAgICAgIGNvbnN0IHRvID0gKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGAke2luZmxlY3Rpb24uc2luZ3VsYXJpemUoam9pbi50by5zcGxpdChcIi5cIilbMF0pfV9pZGAgPT09IGNvbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBqb2luLnRvO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBqb2luLmZyb207XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBjb2x1bW5zOiBbY29sXSxcbiAgICAgICAgICAgICAgdG8sXG4gICAgICAgICAgICAgIG9uVXBkYXRlOiB0aHJvdWdoLm9uVXBkYXRlLFxuICAgICAgICAgICAgICBvbkRlbGV0ZTogdGhyb3VnaC5vbkRlbGV0ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcjtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGlzQmVsb25nc1RvT25lUmVsYXRpb25Qcm9wKHByb3ApIHx8XG4gICAgICAgIChpc09uZVRvT25lUmVsYXRpb25Qcm9wKHByb3ApICYmIHByb3AuaGFzSm9pbkNvbHVtbilcbiAgICAgICkge1xuICAgICAgICAvLyAtT25lUmVsYXRpb24g7LyA7J207IqkXG4gICAgICAgIGNvbnN0IHJlbEVudGl0eSA9IEVudGl0eU1hbmFnZXIuZ2V0KHByb3Aud2l0aCk7XG4gICAgICAgIGNvbnN0IHBrVHlwZSA9IHJlbEVudGl0eS5nZXRQa1R5cGUoKTtcbiAgICAgICAgY29uc3QgcGtQcm9wID0gcmVsRW50aXR5LmdldFBrUHJvcCgpO1xuXG4gICAgICAgIGNvbnN0IGlkQ29sdW1uTmFtZSA9IGAke3Byb3AubmFtZX1faWRgO1xuICAgICAgICByLmNvbHVtbnMucHVzaCh7XG4gICAgICAgICAgbmFtZTogaWRDb2x1bW5OYW1lLFxuICAgICAgICAgIHR5cGU6IHBrVHlwZSxcbiAgICAgICAgICBudWxsYWJsZTogcHJvcC5udWxsYWJsZSA/PyBmYWxzZSxcbiAgICAgICAgICAvLyBzdHJpbmcgRkvsnbgg6rK97JqwIGxlbmd0aOuPhCDsoITri6xcbiAgICAgICAgICAuLi4ocGtUeXBlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICBwa1Byb3AudHlwZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICAgICAgcGtQcm9wLmxlbmd0aCAhPT0gdW5kZWZpbmVkICYmIHtcbiAgICAgICAgICAgICAgbGVuZ3RoOiBwa1Byb3AubGVuZ3RoLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoKHByb3AudXNlQ29uc3RyYWludCA/PyB0cnVlKSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHIuZm9yZWlnbnMucHVzaCh7XG4gICAgICAgICAgICBjb2x1bW5zOiBbaWRDb2x1bW5OYW1lXSxcbiAgICAgICAgICAgIHRvOiBgJHtpbmZsZWN0aW9uLnVuZGVyc2NvcmUoaW5mbGVjdGlvbi5wbHVyYWxpemUocHJvcC53aXRoKSkudG9Mb3dlckNhc2UoKX0uaWRgLFxuICAgICAgICAgICAgb25VcGRhdGU6IHByb3Aub25VcGRhdGUgPz8gXCJSRVNUUklDVFwiLFxuICAgICAgICAgICAgb25EZWxldGU6IHByb3Aub25EZWxldGUgPz8gXCJSRVNUUklDVFwiLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAge1xuICAgICAgdGFibGU6IGVudGl0eS50YWJsZSxcbiAgICAgIGNvbHVtbnM6IFtdIGFzIE1pZ3JhdGlvbkNvbHVtbltdLFxuICAgICAgaW5kZXhlczogW10gYXMgTWlncmF0aW9uSW5kZXhbXSxcbiAgICAgIGZvcmVpZ25zOiBbXSBhcyBNaWdyYXRpb25Gb3JlaWduW10sXG4gICAgICBqb2luVGFibGVzOiBbXSBhcyBNaWdyYXRpb25Kb2luVGFibGVbXSxcbiAgICB9LFxuICApO1xuXG4gIC8vIGluZGV4ZXNcbiAgbWlncmF0aW9uU2V0LmluZGV4ZXMgPSBlbnRpdHkuaW5kZXhlcy5maWx0ZXIoKGluZGV4KSA9PlxuICAgIGluZGV4LmNvbHVtbnMuZmluZCgoY29sKSA9PiBjb2wubmFtZS5pbmNsdWRlcyhcIi5cIikgPT09IGZhbHNlKSxcbiAgKTtcblxuICByZXR1cm4gbWlncmF0aW9uU2V0O1xufVxuXG5mdW5jdGlvbiByZXNvbHZlRW50aXR5UHJvcFR5cGVUb01pZ3JhdGlvbkNvbHVtblR5cGUocHJvcDogRW50aXR5UHJvcCk6IE1pZ3JhdGlvbkNvbHVtblR5cGUge1xuICBpZiAocHJvcC50eXBlID09PSBcInJlbGF0aW9uXCIgfHwgcHJvcC50eXBlID09PSBcInZpcnR1YWxcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5yZXNvbHZlZCBjb2x1bW4gdHlwZTogJHtwcm9wLnR5cGV9YCk7XG4gIH1cblxuICBzd2l0Y2ggKHByb3AudHlwZSkge1xuICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgIHJldHVybiBcInN0cmluZ1wiO1xuICAgIGNhc2UgXCJzdHJpbmdbXVwiOlxuICAgICAgcmV0dXJuIFwic3RyaW5nW11cIjtcbiAgICBjYXNlIFwiZW51bVwiOlxuICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgY2FzZSBcImVudW1bXVwiOlxuICAgICAgcmV0dXJuIFwic3RyaW5nW11cIjtcbiAgICBjYXNlIFwiaW50ZWdlclwiOlxuICAgICAgcmV0dXJuIFwiaW50ZWdlclwiO1xuICAgIGNhc2UgXCJpbnRlZ2VyW11cIjpcbiAgICAgIHJldHVybiBcImludGVnZXJbXVwiO1xuICAgIGNhc2UgXCJiaWdJbnRlZ2VyXCI6XG4gICAgICByZXR1cm4gXCJiaWdJbnRlZ2VyXCI7XG4gICAgY2FzZSBcImJpZ0ludGVnZXJbXVwiOlxuICAgICAgcmV0dXJuIFwiYmlnSW50ZWdlcltdXCI7XG4gICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgcmV0dXJuIFwibnVtYmVyT3JOdW1lcmljXCI7XG4gICAgY2FzZSBcIm51bWJlcltdXCI6XG4gICAgICByZXR1cm4gXCJudW1iZXJPck51bWVyaWNbXVwiO1xuICAgIGNhc2UgXCJudW1lcmljXCI6XG4gICAgICByZXR1cm4gXCJudW1iZXJPck51bWVyaWNcIjtcbiAgICBjYXNlIFwibnVtZXJpY1tdXCI6XG4gICAgICByZXR1cm4gXCJudW1iZXJPck51bWVyaWNbXVwiO1xuICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICByZXR1cm4gXCJib29sZWFuXCI7XG4gICAgY2FzZSBcImJvb2xlYW5bXVwiOlxuICAgICAgcmV0dXJuIFwiYm9vbGVhbltdXCI7XG4gICAgY2FzZSBcImRhdGVcIjpcbiAgICAgIHJldHVybiBcImRhdGVcIjtcbiAgICBjYXNlIFwiZGF0ZVtdXCI6XG4gICAgICByZXR1cm4gXCJkYXRlW11cIjtcbiAgICBjYXNlIFwidXVpZFwiOlxuICAgICAgcmV0dXJuIFwidXVpZFwiO1xuICAgIGNhc2UgXCJ1dWlkW11cIjpcbiAgICAgIHJldHVybiBcInV1aWRbXVwiO1xuICAgIGNhc2UgXCJqc29uXCI6XG4gICAgICByZXR1cm4gXCJqc29uXCI7XG4gICAgY2FzZSBcInZlY3RvclwiOlxuICAgICAgcmV0dXJuIFwidmVjdG9yXCI7XG4gICAgY2FzZSBcInZlY3RvcltdXCI6XG4gICAgICByZXR1cm4gXCJ2ZWN0b3JbXVwiO1xuICAgIGNhc2UgXCJ0c3ZlY3RvclwiOlxuICAgICAgcmV0dXJuIFwidHN2ZWN0b3JcIjtcbiAgICBkZWZhdWx0OlxuICAgICAgZXhoYXVzdGl2ZShwcm9wKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBlbnRpdHkgcHJvcCB0eXBlOiAkeyhwcm9wIGFzIHsgdHlwZTogc3RyaW5nIH0pLnR5cGV9YCk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwiRW50aXR5TWFuYWdlciIsImlzQmVsb25nc1RvT25lUmVsYXRpb25Qcm9wIiwiaXNIYXNNYW55UmVsYXRpb25Qcm9wIiwiaXNNYW55VG9NYW55UmVsYXRpb25Qcm9wIiwiaXNOdW1iZXJQcm9wIiwiaXNOdW1lcmljUHJvcCIsImlzT25lVG9PbmVSZWxhdGlvblByb3AiLCJpc1JlbGF0aW9uUHJvcCIsImlzU3RyaW5nUHJvcCIsImlzVmVjdG9yUHJvcCIsImlzVmlydHVhbFByb3AiLCJleGhhdXN0aXZlIiwiZ2V0TWlncmF0aW9uU2V0RnJvbUVudGl0eSIsImVudGl0eSIsIm1pZ3JhdGlvblNldCIsInByb3BzIiwicmVkdWNlIiwiciIsInByb3AiLCJjb2x1bW4iLCJuYW1lIiwidHlwZSIsInJlc29sdmVFbnRpdHlQcm9wVHlwZVRvTWlncmF0aW9uQ29sdW1uVHlwZSIsIm51bGxhYmxlIiwiZGJEZWZhdWx0IiwidW5kZWZpbmVkIiwiZGVmYXVsdFRvIiwibGVuZ3RoIiwicHJlY2lzaW9uIiwic2NhbGUiLCJudW1iZXJUeXBlIiwiZGltZW5zaW9ucyIsImdlbmVyYXRlZCIsImNvbHVtbnMiLCJwdXNoIiwicmVsTWQiLCJnZXQiLCJ3aXRoIiwidGFibGUxIiwidGFibGUiLCJ0YWJsZTIiLCJ0aGlzUGtUeXBlIiwiZ2V0UGtUeXBlIiwidGhpc1BrUHJvcCIsImdldFBrUHJvcCIsInJlbFBrVHlwZSIsInJlbFBrUHJvcCIsImpvaW4iLCJmcm9tIiwidGhyb3VnaCIsImpvaW5UYWJsZSIsInNpbmd1bGFyaXplIiwidG8iLCJvblVwZGF0ZSIsIm9uRGVsZXRlIiwiZmllbGRzIiwiam9pblRhYmxlcyIsInNwbGl0IiwiaW5kZXhlcyIsImZpbHRlciIsImluZGV4IiwiZmluZCIsImNvbCIsImluY2x1ZGVzIiwibWFwIiwicmVwbGFjZSIsIm51bGxzRmlyc3QiLCJzb3J0T3JkZXIiLCJmb3JlaWducyIsImZpZWxkIiwiaGFzSm9pbkNvbHVtbiIsInJlbEVudGl0eSIsInBrVHlwZSIsInBrUHJvcCIsImlkQ29sdW1uTmFtZSIsInVzZUNvbnN0cmFpbnQiLCJ1bmRlcnNjb3JlIiwicGx1cmFsaXplIiwidG9Mb3dlckNhc2UiLCJFcnJvciJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsZ0JBQWdCLGFB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
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWdyYXRpb24vbWlncmF0aW9uLXNldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiO1xuaW1wb3J0IHR5cGUgeyBFbnRpdHkgfSBmcm9tIFwiLi4vZW50aXR5L2VudGl0eVwiO1xuaW1wb3J0IHsgRW50aXR5TWFuYWdlciB9IGZyb20gXCIuLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB7XG4gIHR5cGUgRW50aXR5UHJvcCxcbiAgaXNCZWxvbmdzVG9PbmVSZWxhdGlvblByb3AsXG4gIGlzSGFzTWFueVJlbGF0aW9uUHJvcCxcbiAgaXNNYW55VG9NYW55UmVsYXRpb25Qcm9wLFxuICBpc051bWJlclByb3AsXG4gIGlzTnVtZXJpY1Byb3AsXG4gIGlzT25lVG9PbmVSZWxhdGlvblByb3AsXG4gIGlzUmVsYXRpb25Qcm9wLFxuICBpc1N0cmluZ1Byb3AsXG4gIGlzVmVjdG9yUHJvcCxcbiAgaXNWaXJ0dWFsUHJvcCxcbiAgdHlwZSBNaWdyYXRpb25Db2x1bW4sXG4gIHR5cGUgTWlncmF0aW9uQ29sdW1uVHlwZSxcbiAgdHlwZSBNaWdyYXRpb25Gb3JlaWduLFxuICB0eXBlIE1pZ3JhdGlvbkluZGV4LFxuICB0eXBlIE1pZ3JhdGlvbkpvaW5UYWJsZSxcbiAgdHlwZSBNaWdyYXRpb25TZXRBbmRKb2luVGFibGUsXG59IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgZXhoYXVzdGl2ZSB9IGZyb20gXCIuLi91dGlscy91dGlsc1wiO1xuXG4vKipcbiAqIEVudGl0eeulvCDsnb3slrTshJwgTWlncmF0aW9uU2V0QW5kSm9pblRhYmxl7J2EIOunjOuTpOyWtOyYteuLiOuLpC5cbiAqIEBwYXJhbSBlbnRpdHkgRW50aXR5IOqwneyytFxuICogQHJldHVybnMgTWlncmF0aW9uU2V0QW5kSm9pblRhYmxlIOqwneyytFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWlncmF0aW9uU2V0RnJvbUVudGl0eShlbnRpdHk6IEVudGl0eSk6IE1pZ3JhdGlvblNldEFuZEpvaW5UYWJsZSB7XG4gIGNvbnN0IG1pZ3JhdGlvblNldDogTWlncmF0aW9uU2V0QW5kSm9pblRhYmxlID0gZW50aXR5LnByb3BzLnJlZHVjZShcbiAgICAociwgcHJvcCkgPT4ge1xuICAgICAgLy8gdmlydHVhbCDtlYTrk5wg7KCc7Jm4XG4gICAgICBpZiAoaXNWaXJ0dWFsUHJvcChwcm9wKSkge1xuICAgICAgICByZXR1cm4gcjtcbiAgICAgIH1cbiAgICAgIC8vIEhhc01hbnkg7LyA7J207Iqk64qUIOyVhOustCDsspjrpqzrj4Qg7ZWY7KeAIOyViuydjFxuICAgICAgaWYgKGlzSGFzTWFueVJlbGF0aW9uUHJvcChwcm9wKSkge1xuICAgICAgICByZXR1cm4gcjtcbiAgICAgIH1cblxuICAgICAgLy8g7J2867CYIOy7rOufvFxuICAgICAgaWYgKCFpc1JlbGF0aW9uUHJvcChwcm9wKSkge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSB7XG4gICAgICAgICAgbmFtZTogcHJvcC5uYW1lLFxuICAgICAgICAgIHR5cGU6IHJlc29sdmVFbnRpdHlQcm9wVHlwZVRvTWlncmF0aW9uQ29sdW1uVHlwZShwcm9wKSxcbiAgICAgICAgICBudWxsYWJsZTogcHJvcC5udWxsYWJsZSA9PT0gdHJ1ZSxcbiAgICAgICAgICAuLi4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3AuZGJEZWZhdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBkZWZhdWx0VG86IHByb3AuZGJEZWZhdWx0LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICAgIH0pKCksXG4gICAgICAgICAgLy8gU3RyaW5nIO2DgOyeheyXkCBsZW5ndGgg7J6I64qUIOqyveyasCDstpTqsIBcbiAgICAgICAgICAuLi4oaXNTdHJpbmdQcm9wKHByb3ApICYmXG4gICAgICAgICAgICBwcm9wLmxlbmd0aCAhPT0gdW5kZWZpbmVkICYmIHtcbiAgICAgICAgICAgICAgbGVuZ3RoOiBwcm9wLmxlbmd0aCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIC8vIE51bWJlci9OdW1lcmljIO2DgOyeheydmCDqsr3smrAgcHJlY2lzaW9uLCBzY2FsZSDstpTqsIBcbiAgICAgICAgICAuLi4oKGlzTnVtYmVyUHJvcChwcm9wKSB8fCBpc051bWVyaWNQcm9wKHByb3ApKSAmJiB7XG4gICAgICAgICAgICBwcmVjaXNpb246IHByb3AucHJlY2lzaW9uLFxuICAgICAgICAgICAgc2NhbGU6IHByb3Auc2NhbGUsXG4gICAgICAgICAgICBudW1iZXJUeXBlOiBpc051bWJlclByb3AocHJvcCkgPyAocHJvcC5udW1iZXJUeXBlID8/IFwibnVtZXJpY1wiKSA6IFwibnVtZXJpY1wiLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIC8vIFZlY3RvciDtg4DsnoXsnZgg6rK97JqwIGRpbWVuc2lvbnMg7LaU6rCAXG4gICAgICAgICAgLi4uKGlzVmVjdG9yUHJvcChwcm9wKSAmJiB7XG4gICAgICAgICAgICBkaW1lbnNpb25zOiBwcm9wLmRpbWVuc2lvbnMsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgLy8gR2VuZXJhdGVkIENvbHVtbiDsoJXrs7Qg7LaU6rCAXG4gICAgICAgICAgLi4uKHByb3AuZ2VuZXJhdGVkICYmIHtcbiAgICAgICAgICAgIGdlbmVyYXRlZDogcHJvcC5nZW5lcmF0ZWQsXG4gICAgICAgICAgfSksXG4gICAgICAgIH07XG5cbiAgICAgICAgci5jb2x1bW5zLnB1c2goY29sdW1uKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzTWFueVRvTWFueVJlbGF0aW9uUHJvcChwcm9wKSkge1xuICAgICAgICAvLyBNYW55VG9NYW55IOy8gOydtOyKpFxuICAgICAgICBjb25zdCByZWxNZCA9IEVudGl0eU1hbmFnZXIuZ2V0KHByb3Aud2l0aCk7XG4gICAgICAgIGNvbnN0IHRhYmxlMSA9IGVudGl0eS50YWJsZTtcbiAgICAgICAgY29uc3QgdGFibGUyID0gcmVsTWQudGFibGU7XG5cbiAgICAgICAgLy8g6rCBIOyXlO2LsO2LsOydmCBQSyDtg4DsnoUg7KCV67O0IOqwgOyguOyYpOq4sFxuICAgICAgICBjb25zdCB0aGlzUGtUeXBlID0gZW50aXR5LmdldFBrVHlwZSgpO1xuICAgICAgICBjb25zdCB0aGlzUGtQcm9wID0gZW50aXR5LmdldFBrUHJvcCgpO1xuICAgICAgICBjb25zdCByZWxQa1R5cGUgPSByZWxNZC5nZXRQa1R5cGUoKTtcbiAgICAgICAgY29uc3QgcmVsUGtQcm9wID0gcmVsTWQuZ2V0UGtQcm9wKCk7XG5cbiAgICAgICAgY29uc3Qgam9pbiA9IHtcbiAgICAgICAgICBmcm9tOiBgJHtlbnRpdHkudGFibGV9LmlkYCxcbiAgICAgICAgICB0aHJvdWdoOiB7XG4gICAgICAgICAgICBmcm9tOiBgJHtwcm9wLmpvaW5UYWJsZX0uJHtpbmZsZWN0aW9uLnNpbmd1bGFyaXplKHRhYmxlMSl9X2lkYCxcbiAgICAgICAgICAgIHRvOiBgJHtwcm9wLmpvaW5UYWJsZX0uJHtpbmZsZWN0aW9uLnNpbmd1bGFyaXplKHRhYmxlMil9X2lkYCxcbiAgICAgICAgICAgIG9uVXBkYXRlOiBwcm9wLm9uVXBkYXRlLFxuICAgICAgICAgICAgb25EZWxldGU6IHByb3Aub25EZWxldGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0bzogYCR7cmVsTWQudGFibGV9LmlkYCxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgdGhyb3VnaCA9IGpvaW4udGhyb3VnaDtcbiAgICAgICAgY29uc3QgZmllbGRzID0gW3Rocm91Z2guZnJvbSwgdGhyb3VnaC50b107XG4gICAgICAgIHIuam9pblRhYmxlcy5wdXNoKHtcbiAgICAgICAgICB0YWJsZTogdGhyb3VnaC5mcm9tLnNwbGl0KFwiLlwiKVswXSxcbiAgICAgICAgICBpbmRleGVzOiBbXG4gICAgICAgICAgICAvLyDsobDsnbgg7YWM7J2067iU7JeQIOqxuOumsCDsnbjrjbHsiqQg7LC+7JWE7JmA7IScIOyXsOqysFxuICAgICAgICAgICAgLi4uZW50aXR5LmluZGV4ZXNcbiAgICAgICAgICAgICAgLmZpbHRlcigoaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgaW5kZXguY29sdW1ucy5maW5kKChjb2wpID0+IGNvbC5uYW1lLmluY2x1ZGVzKGAke3Byb3Auam9pblRhYmxlfS5gKSksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLm1hcCgoaW5kZXgpID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uaW5kZXgsXG4gICAgICAgICAgICAgICAgY29sdW1uczogaW5kZXguY29sdW1ucy5tYXAoKGNvbCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IGNvbC5uYW1lLnJlcGxhY2UoYCR7cHJvcC5qb2luVGFibGV9LmAsIFwiXCIpLFxuICAgICAgICAgICAgICAgICAgbnVsbHNGaXJzdDogY29sLm51bGxzRmlyc3QsXG4gICAgICAgICAgICAgICAgICBzb3J0T3JkZXI6IGNvbC5zb3J0T3JkZXIsXG4gICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgXSxcbiAgICAgICAgICBjb2x1bW5zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6IFwiaWRcIixcbiAgICAgICAgICAgICAgdHlwZTogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgICAgIG51bGxhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyDtmITsnqwg7JeU7Yuw7Yuw7J2YIEZLXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6IGAke2luZmxlY3Rpb24uc2luZ3VsYXJpemUodGFibGUxKX1faWRgLFxuICAgICAgICAgICAgICB0eXBlOiB0aGlzUGtUeXBlLFxuICAgICAgICAgICAgICBudWxsYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgIC4uLih0aGlzUGtUeXBlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICAgICAgdGhpc1BrUHJvcC50eXBlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICAgICAgdGhpc1BrUHJvcC5sZW5ndGggIT09IHVuZGVmaW5lZCAmJiB7XG4gICAgICAgICAgICAgICAgICBsZW5ndGg6IHRoaXNQa1Byb3AubGVuZ3RoLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIOywuOyhsCDsl5Tti7Dti7DsnZggRktcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogYCR7aW5mbGVjdGlvbi5zaW5ndWxhcml6ZSh0YWJsZTIpfV9pZGAsXG4gICAgICAgICAgICAgIHR5cGU6IHJlbFBrVHlwZSxcbiAgICAgICAgICAgICAgbnVsbGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAuLi4ocmVsUGtUeXBlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICAgICAgcmVsUGtQcm9wLnR5cGUgPT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgICAgICAgICByZWxQa1Byb3AubGVuZ3RoICE9PSB1bmRlZmluZWQgJiYge1xuICAgICAgICAgICAgICAgICAgbGVuZ3RoOiByZWxQa1Byb3AubGVuZ3RoLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGZvcmVpZ25zOiBmaWVsZHMubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgLy8g7ZiE7J6sIO2VhOuTnOqwgCDslrTrlqQg7YWM7J2067iU7JeQIOyGje2VmOuKlOyngCDtjJDri6hcbiAgICAgICAgICAgIGNvbnN0IGNvbCA9IGZpZWxkLnNwbGl0KFwiLlwiKVsxXTtcbiAgICAgICAgICAgIGNvbnN0IHRvID0gKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGAke2luZmxlY3Rpb24uc2luZ3VsYXJpemUoam9pbi50by5zcGxpdChcIi5cIilbMF0pfV9pZGAgPT09IGNvbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBqb2luLnRvO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBqb2luLmZyb207XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKCk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBjb2x1bW5zOiBbY29sXSxcbiAgICAgICAgICAgICAgdG8sXG4gICAgICAgICAgICAgIG9uVXBkYXRlOiB0aHJvdWdoLm9uVXBkYXRlLFxuICAgICAgICAgICAgICBvbkRlbGV0ZTogdGhyb3VnaC5vbkRlbGV0ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcjtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGlzQmVsb25nc1RvT25lUmVsYXRpb25Qcm9wKHByb3ApIHx8XG4gICAgICAgIChpc09uZVRvT25lUmVsYXRpb25Qcm9wKHByb3ApICYmIHByb3AuaGFzSm9pbkNvbHVtbilcbiAgICAgICkge1xuICAgICAgICAvLyAtT25lUmVsYXRpb24g7LyA7J207IqkXG4gICAgICAgIGNvbnN0IHJlbEVudGl0eSA9IEVudGl0eU1hbmFnZXIuZ2V0KHByb3Aud2l0aCk7XG4gICAgICAgIGNvbnN0IHBrVHlwZSA9IHJlbEVudGl0eS5nZXRQa1R5cGUoKTtcbiAgICAgICAgY29uc3QgcGtQcm9wID0gcmVsRW50aXR5LmdldFBrUHJvcCgpO1xuXG4gICAgICAgIGNvbnN0IGlkQ29sdW1uTmFtZSA9IGAke3Byb3AubmFtZX1faWRgO1xuICAgICAgICByLmNvbHVtbnMucHVzaCh7XG4gICAgICAgICAgbmFtZTogaWRDb2x1bW5OYW1lLFxuICAgICAgICAgIHR5cGU6IHBrVHlwZSxcbiAgICAgICAgICBudWxsYWJsZTogcHJvcC5udWxsYWJsZSA/PyBmYWxzZSxcbiAgICAgICAgICAvLyBzdHJpbmcgRkvsnbgg6rK97JqwIGxlbmd0aOuPhCDsoITri6xcbiAgICAgICAgICAuLi4ocGtUeXBlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICBwa1Byb3AudHlwZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICAgICAgcGtQcm9wLmxlbmd0aCAhPT0gdW5kZWZpbmVkICYmIHtcbiAgICAgICAgICAgICAgbGVuZ3RoOiBwa1Byb3AubGVuZ3RoLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoKHByb3AudXNlQ29uc3RyYWludCA/PyB0cnVlKSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHIuZm9yZWlnbnMucHVzaCh7XG4gICAgICAgICAgICBjb2x1bW5zOiBbaWRDb2x1bW5OYW1lXSxcbiAgICAgICAgICAgIHRvOiBgJHtpbmZsZWN0aW9uLnVuZGVyc2NvcmUoaW5mbGVjdGlvbi5wbHVyYWxpemUocHJvcC53aXRoKSkudG9Mb3dlckNhc2UoKX0uaWRgLFxuICAgICAgICAgICAgb25VcGRhdGU6IHByb3Aub25VcGRhdGUgPz8gXCJSRVNUUklDVFwiLFxuICAgICAgICAgICAgb25EZWxldGU6IHByb3Aub25EZWxldGUgPz8gXCJSRVNUUklDVFwiLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByO1xuICAgIH0sXG4gICAge1xuICAgICAgdGFibGU6IGVudGl0eS50YWJsZSxcbiAgICAgIGNvbHVtbnM6IFtdIGFzIE1pZ3JhdGlvbkNvbHVtbltdLFxuICAgICAgaW5kZXhlczogW10gYXMgTWlncmF0aW9uSW5kZXhbXSxcbiAgICAgIGZvcmVpZ25zOiBbXSBhcyBNaWdyYXRpb25Gb3JlaWduW10sXG4gICAgICBqb2luVGFibGVzOiBbXSBhcyBNaWdyYXRpb25Kb2luVGFibGVbXSxcbiAgICB9LFxuICApO1xuXG4gIC8vIGluZGV4ZXNcbiAgbWlncmF0aW9uU2V0LmluZGV4ZXMgPSBlbnRpdHkuaW5kZXhlcy5maWx0ZXIoKGluZGV4KSA9PlxuICAgIGluZGV4LmNvbHVtbnMuZmluZCgoY29sKSA9PiBjb2wubmFtZS5pbmNsdWRlcyhcIi5cIikgPT09IGZhbHNlKSxcbiAgKTtcblxuICByZXR1cm4gbWlncmF0aW9uU2V0O1xufVxuXG5mdW5jdGlvbiByZXNvbHZlRW50aXR5UHJvcFR5cGVUb01pZ3JhdGlvbkNvbHVtblR5cGUocHJvcDogRW50aXR5UHJvcCk6IE1pZ3JhdGlvbkNvbHVtblR5cGUge1xuICBpZiAocHJvcC50eXBlID09PSBcInJlbGF0aW9uXCIgfHwgcHJvcC50eXBlID09PSBcInZpcnR1YWxcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5yZXNvbHZlZCBjb2x1bW4gdHlwZTogJHtwcm9wLnR5cGV9YCk7XG4gIH1cblxuICBzd2l0Y2ggKHByb3AudHlwZSkge1xuICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgIHJldHVybiBcInN0cmluZ1wiO1xuICAgIGNhc2UgXCJzdHJpbmdbXVwiOlxuICAgICAgcmV0dXJuIFwic3RyaW5nW11cIjtcbiAgICBjYXNlIFwiZW51bVwiOlxuICAgICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gICAgY2FzZSBcImVudW1bXVwiOlxuICAgICAgcmV0dXJuIFwic3RyaW5nW11cIjtcbiAgICBjYXNlIFwiaW50ZWdlclwiOlxuICAgICAgcmV0dXJuIFwiaW50ZWdlclwiO1xuICAgIGNhc2UgXCJpbnRlZ2VyW11cIjpcbiAgICAgIHJldHVybiBcImludGVnZXJbXVwiO1xuICAgIGNhc2UgXCJiaWdJbnRlZ2VyXCI6XG4gICAgICByZXR1cm4gXCJiaWdJbnRlZ2VyXCI7XG4gICAgY2FzZSBcImJpZ0ludGVnZXJbXVwiOlxuICAgICAgcmV0dXJuIFwiYmlnSW50ZWdlcltdXCI7XG4gICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgcmV0dXJuIFwibnVtYmVyT3JOdW1lcmljXCI7XG4gICAgY2FzZSBcIm51bWJlcltdXCI6XG4gICAgICByZXR1cm4gXCJudW1iZXJPck51bWVyaWNbXVwiO1xuICAgIGNhc2UgXCJudW1lcmljXCI6XG4gICAgICByZXR1cm4gXCJudW1iZXJPck51bWVyaWNcIjtcbiAgICBjYXNlIFwibnVtZXJpY1tdXCI6XG4gICAgICByZXR1cm4gXCJudW1iZXJPck51bWVyaWNbXVwiO1xuICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICByZXR1cm4gXCJib29sZWFuXCI7XG4gICAgY2FzZSBcImJvb2xlYW5bXVwiOlxuICAgICAgcmV0dXJuIFwiYm9vbGVhbltdXCI7XG4gICAgY2FzZSBcImRhdGVcIjpcbiAgICAgIHJldHVybiBcImRhdGVcIjtcbiAgICBjYXNlIFwiZGF0ZVtdXCI6XG4gICAgICByZXR1cm4gXCJkYXRlW11cIjtcbiAgICBjYXNlIFwidXVpZFwiOlxuICAgICAgcmV0dXJuIFwidXVpZFwiO1xuICAgIGNhc2UgXCJ1dWlkW11cIjpcbiAgICAgIHJldHVybiBcInV1aWRbXVwiO1xuICAgIGNhc2UgXCJqc29uXCI6XG4gICAgICByZXR1cm4gXCJqc29uXCI7XG4gICAgY2FzZSBcInNlYXJjaFRleHRcIjpcbiAgICAgIHJldHVybiBcInN0cmluZ1wiO1xuICAgIGNhc2UgXCJ2ZWN0b3JcIjpcbiAgICAgIHJldHVybiBcInZlY3RvclwiO1xuICAgIGNhc2UgXCJ2ZWN0b3JbXVwiOlxuICAgICAgcmV0dXJuIFwidmVjdG9yW11cIjtcbiAgICBjYXNlIFwidHN2ZWN0b3JcIjpcbiAgICAgIHJldHVybiBcInRzdmVjdG9yXCI7XG4gICAgZGVmYXVsdDpcbiAgICAgIGV4aGF1c3RpdmUocHJvcCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gZW50aXR5IHByb3AgdHlwZTogJHsocHJvcCBhcyB7IHR5cGU6IHN0cmluZyB9KS50eXBlfWApO1xuICB9XG59XG4iXSwibmFtZXMiOlsiaW5mbGVjdGlvbiIsIkVudGl0eU1hbmFnZXIiLCJpc0JlbG9uZ3NUb09uZVJlbGF0aW9uUHJvcCIsImlzSGFzTWFueVJlbGF0aW9uUHJvcCIsImlzTWFueVRvTWFueVJlbGF0aW9uUHJvcCIsImlzTnVtYmVyUHJvcCIsImlzTnVtZXJpY1Byb3AiLCJpc09uZVRvT25lUmVsYXRpb25Qcm9wIiwiaXNSZWxhdGlvblByb3AiLCJpc1N0cmluZ1Byb3AiLCJpc1ZlY3RvclByb3AiLCJpc1ZpcnR1YWxQcm9wIiwiZXhoYXVzdGl2ZSIsImdldE1pZ3JhdGlvblNldEZyb21FbnRpdHkiLCJlbnRpdHkiLCJtaWdyYXRpb25TZXQiLCJwcm9wcyIsInJlZHVjZSIsInIiLCJwcm9wIiwiY29sdW1uIiwibmFtZSIsInR5cGUiLCJyZXNvbHZlRW50aXR5UHJvcFR5cGVUb01pZ3JhdGlvbkNvbHVtblR5cGUiLCJudWxsYWJsZSIsImRiRGVmYXVsdCIsInVuZGVmaW5lZCIsImRlZmF1bHRUbyIsImxlbmd0aCIsInByZWNpc2lvbiIsInNjYWxlIiwibnVtYmVyVHlwZSIsImRpbWVuc2lvbnMiLCJnZW5lcmF0ZWQiLCJjb2x1bW5zIiwicHVzaCIsInJlbE1kIiwiZ2V0Iiwid2l0aCIsInRhYmxlMSIsInRhYmxlIiwidGFibGUyIiwidGhpc1BrVHlwZSIsImdldFBrVHlwZSIsInRoaXNQa1Byb3AiLCJnZXRQa1Byb3AiLCJyZWxQa1R5cGUiLCJyZWxQa1Byb3AiLCJqb2luIiwiZnJvbSIsInRocm91Z2giLCJqb2luVGFibGUiLCJzaW5ndWxhcml6ZSIsInRvIiwib25VcGRhdGUiLCJvbkRlbGV0ZSIsImZpZWxkcyIsImpvaW5UYWJsZXMiLCJzcGxpdCIsImluZGV4ZXMiLCJmaWx0ZXIiLCJpbmRleCIsImZpbmQiLCJjb2wiLCJpbmNsdWRlcyIsIm1hcCIsInJlcGxhY2UiLCJudWxsc0ZpcnN0Iiwic29ydE9yZGVyIiwiZm9yZWlnbnMiLCJmaWVsZCIsImhhc0pvaW5Db2x1bW4iLCJyZWxFbnRpdHkiLCJwa1R5cGUiLCJwa1Byb3AiLCJpZENvbHVtbk5hbWUiLCJ1c2VDb25zdHJhaW50IiwidW5kZXJzY29yZSIsInBsdXJhbGl6ZSIsInRv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
|
|
@@ -41,6 +41,8 @@ type PgIndex = {
|
|
|
41
41
|
nulls_first: boolean;
|
|
42
42
|
sort_order: "ASC" | "DESC";
|
|
43
43
|
nulls_not_distinct: boolean;
|
|
44
|
+
column_order: number;
|
|
45
|
+
index_definition: string;
|
|
44
46
|
};
|
|
45
47
|
type PgForeign = {
|
|
46
48
|
constraint_name: string;
|
|
@@ -50,14 +52,16 @@ type PgForeign = {
|
|
|
50
52
|
update_rule: string;
|
|
51
53
|
delete_rule: string;
|
|
52
54
|
};
|
|
55
|
+
type RawCapableKnex = Pick<Knex, "raw">;
|
|
53
56
|
declare class PostgreSQLSchemaReaderClass {
|
|
57
|
+
private readonly genericIndexTypes;
|
|
54
58
|
/**
|
|
55
59
|
* DB에서 테이블 정보를 읽어서 MigrationSet을 만들어옵니다.
|
|
56
60
|
* @param compareDB Knex 인스턴스
|
|
57
61
|
* @param table 테이블 이름
|
|
58
62
|
* @returns MigrationSet 객체
|
|
59
63
|
*/
|
|
60
|
-
getMigrationSetFromDB(compareDB:
|
|
64
|
+
getMigrationSetFromDB(compareDB: RawCapableKnex, table: string): Promise<MigrationSet | null>;
|
|
61
65
|
/**
|
|
62
66
|
* PostgreSQL의 constraint action을 Knex 형식으로 변환
|
|
63
67
|
*/
|
|
@@ -65,7 +69,17 @@ declare class PostgreSQLSchemaReaderClass {
|
|
|
65
69
|
/**
|
|
66
70
|
* 기존 테이블 읽어서 cols, indexes, foreigns 반환
|
|
67
71
|
*/
|
|
68
|
-
readTable(compareDB:
|
|
72
|
+
readTable(compareDB: RawCapableKnex, tableName: string): Promise<[PgColumn[], PgIndex[], PgForeign[]]>;
|
|
73
|
+
private restoreMigrationIndexType;
|
|
74
|
+
private restoreGenericUsing;
|
|
75
|
+
private parseVectorIndexOptions;
|
|
76
|
+
private parseIntegerOption;
|
|
77
|
+
private extractIndexColumnOpclass;
|
|
78
|
+
private parseIndexDefinition;
|
|
79
|
+
private parseIndexOptionEntries;
|
|
80
|
+
private splitTopLevel;
|
|
81
|
+
private tokenizeTopLevel;
|
|
82
|
+
private findMatchingParenthesis;
|
|
69
83
|
/**
|
|
70
84
|
* 특정 테이블의 PK를 참조하는 다른 테이블의 FK 목록을 조회합니다.
|
|
71
85
|
* PK 타입 변경 시 관련 FK 제약조건을 삭제/복구하기 위해 사용됩니다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresql-schema-reader.d.ts","sourceRoot":"","sources":["../../src/migration/postgresql-schema-reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,KAAK,EACV,eAAe,EAGf,YAAY,EACZ,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,mBAAmB;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB;IACnB,QAAQ,EAAE,UAAU,CAAC;IACrB,mBAAmB;IACnB,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"postgresql-schema-reader.d.ts","sourceRoot":"","sources":["../../src/migration/postgresql-schema-reader.ts"],"names":[],"mappings":"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"}
|