sonamu 0.9.19 → 0.10.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/_virtual/_rolldown/runtime.js +36 -0
- package/dist/ai/agents/agent.js +5 -7
- package/dist/ai/agents/index.js +1 -2
- package/dist/ai/agents/types.js +1 -1
- package/dist/ai/index.js +1 -2
- package/dist/ai/providers/rtzr/api.js +2 -3
- package/dist/ai/providers/rtzr/error.js +14 -29
- package/dist/ai/providers/rtzr/index.js +1 -2
- package/dist/ai/providers/rtzr/model.js +13 -20
- package/dist/ai/providers/rtzr/options.js +2 -3
- package/dist/ai/providers/rtzr/provider.js +2 -3
- package/dist/ai/providers/rtzr/utils.js +12 -21
- package/dist/api/base-frame.js +4 -4
- package/dist/api/caster.js +21 -38
- package/dist/api/code-converters.js +41 -98
- package/dist/api/config.d.ts +1 -10
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +9 -8
- package/dist/api/context.js +2 -3
- package/dist/api/decorators.js +80 -116
- package/dist/api/index.js +2 -3
- package/dist/api/secret.js +6 -10
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +200 -387
- package/dist/api/validator.js +5 -8
- package/dist/api/websocket-helpers.js +21 -32
- package/dist/auth/audit-log/builders.js +2 -3
- package/dist/auth/audit-log/events.js +2 -2
- package/dist/auth/audit-log/plugin.js +30 -61
- package/dist/auth/audit-log-ingestor.js +19 -41
- package/dist/auth/auth-generator.js +16 -41
- package/dist/auth/better-auth-entities.js +3 -4
- package/dist/auth/index.js +2 -3
- package/dist/auth/knex-adapter.js +18 -45
- package/dist/auth/plugins/entity-definitions/admin.js +2 -2
- package/dist/auth/plugins/entity-definitions/anonymous.js +2 -2
- package/dist/auth/plugins/entity-definitions/api-key.js +2 -2
- package/dist/auth/plugins/entity-definitions/audit-log.js +2 -2
- package/dist/auth/plugins/entity-definitions/index.js +2 -3
- package/dist/auth/plugins/entity-definitions/jwt.js +2 -2
- package/dist/auth/plugins/entity-definitions/organization.js +2 -2
- package/dist/auth/plugins/entity-definitions/passkey.js +2 -2
- package/dist/auth/plugins/entity-definitions/phone-number.js +2 -2
- package/dist/auth/plugins/entity-definitions/sso.js +2 -2
- package/dist/auth/plugins/entity-definitions/two-factor.js +2 -2
- package/dist/auth/plugins/entity-definitions/types.js +1 -1
- package/dist/auth/plugins/entity-definitions/username.js +2 -2
- package/dist/auth/plugins/index.js +1 -2
- package/dist/auth/plugins/wrappers/admin.js +2 -3
- package/dist/auth/plugins/wrappers/anonymous.js +2 -3
- package/dist/auth/plugins/wrappers/api-key.js +2 -3
- package/dist/auth/plugins/wrappers/index.js +1 -2
- package/dist/auth/plugins/wrappers/jwt.js +2 -3
- package/dist/auth/plugins/wrappers/organization.js +2 -3
- package/dist/auth/plugins/wrappers/passkey.js +2 -3
- package/dist/auth/plugins/wrappers/phone-number.js +2 -3
- package/dist/auth/plugins/wrappers/sso.js +2 -3
- package/dist/auth/plugins/wrappers/two-factor.js +2 -3
- package/dist/auth/plugins/wrappers/username.js +2 -3
- package/dist/bin/build-config.js +2 -2
- package/dist/bin/cli.js +151 -258
- package/dist/bin/fixture.d.ts.map +1 -1
- package/dist/bin/fixture.js +55 -97
- package/dist/bin/hmr-hook-register.js +3 -3
- package/dist/bin/migrate-targets.d.ts +3 -0
- package/dist/bin/migrate-targets.d.ts.map +1 -0
- package/dist/bin/migrate-targets.js +11 -0
- package/dist/bin/test-command.js +25 -55
- package/dist/bin/ts-loader-register.js +5 -6
- package/dist/bin/ts-loader-registration.js +6 -13
- package/dist/cache/cache-manager.js +3 -4
- package/dist/cache/decorator.js +11 -21
- package/dist/cache/drivers.js +2 -3
- package/dist/cache/index.js +2 -3
- package/dist/cache/types.js +1 -1
- package/dist/cache-control/cache-control.js +21 -34
- package/dist/cache-control/types.js +1 -1
- package/dist/compress/compress.js +10 -10
- package/dist/compress/index.js +1 -2
- package/dist/compress/types.js +1 -1
- package/dist/cone/cone-generator.js +25 -63
- package/dist/database/_batch_update.js +26 -46
- package/dist/database/base-model.js +44 -97
- package/dist/database/base-model.types.js +1 -1
- package/dist/database/db.d.ts +8 -14
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +127 -72
- package/dist/database/knex.js +5 -8
- package/dist/database/puri-subset.types.js +1 -1
- package/dist/database/puri-wrapper.js +11 -15
- package/dist/database/puri.js +117 -234
- package/dist/database/puri.types.js +3 -4
- package/dist/database/transaction-context.js +4 -5
- package/dist/database/upsert-builder.js +109 -176
- package/dist/dict/en.d.ts +1 -0
- package/dist/dict/en.d.ts.map +1 -1
- package/dist/dict/en.js +4 -4
- package/dist/dict/index.js +2 -3
- package/dist/dict/ko.d.ts +1 -0
- package/dist/dict/ko.d.ts.map +1 -1
- package/dist/dict/ko.js +4 -4
- package/dist/dict/rc-keys.js +3 -4
- package/dist/dict/sd.js +8 -19
- package/dist/dict/sonamu-dictionary.js +141 -284
- package/dist/dict/types.js +1 -1
- package/dist/dict/utils.js +4 -5
- package/dist/entity/entity-manager.d.ts +2 -2
- package/dist/entity/entity-manager.js +34 -82
- package/dist/entity/entity-template-cone.js +33 -66
- package/dist/entity/entity.js +156 -310
- package/dist/env.d.ts +14 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +75 -0
- package/dist/exceptions/error-handler.js +2 -3
- package/dist/exceptions/so-exceptions.js +7 -5
- package/dist/filter/index.js +1 -2
- package/dist/filter/types.js +3 -4
- package/dist/filter/utils.js +21 -54
- package/dist/index.js +8 -7
- package/dist/logger/category.js +6 -12
- package/dist/logger/configure.js +23 -34
- package/dist/migration/code-generation.js +146 -314
- package/dist/migration/index-where-predicate.js +52 -144
- package/dist/migration/migration-set.js +19 -33
- package/dist/migration/migrator.d.ts +2 -0
- package/dist/migration/migrator.d.ts.map +1 -1
- package/dist/migration/migrator.js +69 -53
- package/dist/migration/postgresql-schema-reader.js +126 -225
- package/dist/migration/slack-confirm.d.ts +1 -0
- package/dist/migration/slack-confirm.d.ts.map +1 -1
- package/dist/migration/slack-confirm.js +28 -38
- package/dist/migration/types.js +1 -1
- package/dist/naite/messaging-types.js +1 -1
- package/dist/naite/naite-reporter.js +15 -32
- package/dist/naite/naite.js +43 -76
- package/dist/ssr/index.js +6 -9
- package/dist/ssr/registry.js +10 -18
- package/dist/ssr/renderer.js +10 -21
- package/dist/ssr/types.js +1 -1
- package/dist/storage/base-file.js +5 -10
- package/dist/storage/buffered-file.js +3 -4
- package/dist/storage/drivers.js +2 -3
- package/dist/storage/index.js +2 -3
- package/dist/storage/s3-driver.js +5 -9
- package/dist/storage/storage-manager.js +5 -5
- package/dist/storage/types.js +1 -1
- package/dist/storage/uploaded-file.js +4 -6
- package/dist/stream/index.js +1 -2
- package/dist/stream/sse.js +8 -13
- package/dist/stream/ws-audience-resolver.js +5 -5
- package/dist/stream/ws-audience.js +3 -4
- package/dist/stream/ws-cluster-bus.js +3 -4
- package/dist/stream/ws-core.js +1 -1
- package/dist/stream/ws-delivery.js +11 -25
- package/dist/stream/ws-local-connection-store.js +9 -18
- package/dist/stream/ws-presence-store.js +43 -97
- package/dist/stream/ws-registry.js +17 -22
- package/dist/stream/ws-telemetry-memory.js +38 -45
- package/dist/stream/ws-telemetry-trace.js +4 -6
- package/dist/stream/ws-telemetry.js +82 -135
- package/dist/stream/ws.js +47 -91
- package/dist/syncer/api-parser.js +81 -147
- package/dist/syncer/checksum.js +9 -20
- package/dist/syncer/code-generator.js +29 -47
- package/dist/syncer/entity-operations.js +17 -27
- package/dist/syncer/event-batcher.js +8 -15
- package/dist/syncer/file-patterns.js +3 -4
- package/dist/syncer/file-tracking.js +6 -10
- package/dist/syncer/index.js +1 -2
- package/dist/syncer/module-loader.js +10 -26
- package/dist/syncer/syncer-actions.js +19 -37
- package/dist/syncer/syncer.js +46 -98
- package/dist/syncer/watcher.js +12 -26
- package/dist/tasks/decorator.js +7 -11
- package/dist/tasks/step-wrapper.js +7 -8
- package/dist/tasks/workflow-manager.js +18 -25
- package/dist/template/entity-converter.js +40 -64
- package/dist/template/helpers.js +32 -63
- package/dist/template/implementations/entity.template.js +7 -11
- package/dist/template/implementations/entry-server.template.js +2 -3
- package/dist/template/implementations/generated.template.js +25 -51
- package/dist/template/implementations/generated_http.template.js +31 -58
- package/dist/template/implementations/generated_sso.template.js +45 -85
- package/dist/template/implementations/init_types.template.js +4 -7
- package/dist/template/implementations/model.template.js +5 -10
- package/dist/template/implementations/model_test.template.js +2 -3
- package/dist/template/implementations/queries.template.js +4 -7
- package/dist/template/implementations/sd.template.js +17 -35
- package/dist/template/implementations/services.template.js +18 -30
- package/dist/template/implementations/view_form.template.js +72 -125
- package/dist/template/implementations/view_id_all_select.template.js +2 -3
- package/dist/template/implementations/view_list.template.js +86 -143
- package/dist/template/implementations/view_search_input.template.js +2 -3
- package/dist/template/index.js +5 -8
- package/dist/template/template-manager.js +13 -26
- package/dist/template/template-types.js +2 -3
- package/dist/template/template.js +7 -11
- package/dist/template/zod-converter.js +173 -348
- package/dist/testing/_relation-graph.js +18 -37
- package/dist/testing/bootstrap.js +5 -8
- package/dist/testing/data-explorer.js +34 -78
- package/dist/testing/dev-test-routes.js +54 -60
- package/dist/testing/dev-vitest-manager.js +33 -84
- package/dist/testing/faker-mappings.js +3 -4
- package/dist/testing/fixture-generator.d.ts +2 -1
- package/dist/testing/fixture-generator.d.ts.map +1 -1
- package/dist/testing/fixture-generator.js +159 -321
- package/dist/testing/fixture-loader.js +2 -2
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +124 -227
- package/dist/testing/global-setup.d.ts.map +1 -1
- package/dist/testing/global-setup.js +29 -17
- package/dist/testing/index.js +1 -2
- package/dist/testing/naite-vitest-reporter.js +2 -3
- package/dist/testing/parallel-db-manager.js +5 -3
- package/dist/testing/vitest-helpers.d.ts.map +1 -1
- package/dist/testing/vitest-helpers.js +15 -12
- package/dist/types/types.d.ts +14 -14
- package/dist/types/types.js +27 -50
- package/dist/ui/ai-api.js +6 -11
- package/dist/ui/ai-client.js +86 -134
- package/dist/ui/api.js +99 -195
- package/dist/ui/cdd-service.js +78 -130
- package/dist/ui/cdd-types.js +1 -1
- package/dist/ui-web/assets/{index-Df8q-fhb.js → index-DFStGyd0.js} +49 -49
- package/dist/ui-web/assets/index-Dx4ap5i4.css +1 -0
- package/dist/ui-web/index.html +2 -2
- package/dist/utils/async-utils.js +13 -25
- package/dist/utils/class-name.js +3 -4
- package/dist/utils/console-util.js +11 -26
- package/dist/utils/controller.d.ts.map +1 -1
- package/dist/utils/controller.js +14 -12
- package/dist/utils/esm-utils.js +5 -8
- package/dist/utils/formatter.js +10 -22
- package/dist/utils/fs-utils.js +14 -25
- package/dist/utils/lodash-able.js +3 -4
- package/dist/utils/model.js +7 -14
- package/dist/utils/object-utils.js +41 -73
- package/dist/utils/path-utils.js +5 -9
- package/dist/utils/process-utils.js +4 -7
- package/dist/utils/sql-parser.js +6 -13
- package/dist/utils/type-utils.js +16 -26
- package/dist/utils/utils.js +18 -40
- package/dist/utils/zod-error.js +9 -16
- package/dist/vector/chunking.js +24 -37
- package/dist/vector/config.js +2 -2
- package/dist/vector/embedding.js +8 -19
- package/dist/vector/index.js +1 -2
- package/dist/vector/types.js +1 -1
- package/package.json +7 -7
- package/src/__tests__/env.test.ts +127 -0
- package/src/api/__tests__/config.test.ts +10 -1
- package/src/api/config.ts +4 -12
- package/src/api/sonamu.ts +14 -4
- package/src/bin/__tests__/migrate-targets.test.ts +28 -0
- package/src/bin/__tests__/test-command.test.ts +82 -1
- package/src/bin/cli.ts +9 -18
- package/src/bin/fixture.ts +5 -4
- package/src/bin/migrate-targets.ts +7 -0
- package/src/bin/test-command.ts +2 -2
- package/src/database/__tests__/db.test.ts +175 -0
- package/src/database/db.ts +193 -71
- package/src/dict/en.ts +2 -0
- package/src/dict/ko.ts +2 -0
- package/src/env.ts +123 -0
- package/src/migration/__tests__/migrator.test.ts +149 -0
- package/src/migration/migrator.ts +74 -17
- package/src/migration/slack-confirm.ts +21 -0
- package/src/skills/sonamu/database.md +1 -1
- package/src/skills/sonamu/entity-basic.md +31 -0
- package/src/skills/sonamu/puri.md +22 -0
- package/src/skills/sonamu/testing-devrunner.md +1 -1
- package/src/skills/sonamu/upsert.md +53 -6
- package/src/stream/ws-telemetry-memory.ts +2 -2
- package/src/testing/fixture-generator.ts +2 -1
- package/src/testing/fixture-manager.ts +3 -4
- package/src/testing/global-setup.ts +42 -18
- package/src/testing/vitest-helpers.ts +14 -0
- package/src/utils/controller.ts +14 -7
- package/tsdown.api.config.ts +6 -0
- package/dist/_virtual/rolldown_runtime.js +0 -39
- package/dist/ui-web/assets/index-D4rYm-Xz.css +0 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { EntityManager, init_entity_manager } from "../../entity/entity-manager.js";
|
|
2
2
|
import { Template, init_template } from "../template.js";
|
|
3
|
-
|
|
4
3
|
//#region src/template/implementations/view_search_input.template.ts
|
|
5
4
|
init_entity_manager();
|
|
6
5
|
init_template();
|
|
@@ -87,7 +86,7 @@ export function ${names.capital}SearchInput({
|
|
|
87
86
|
};
|
|
88
87
|
}
|
|
89
88
|
};
|
|
90
|
-
|
|
91
89
|
//#endregion
|
|
92
90
|
export { Template__view_search_input };
|
|
93
|
-
|
|
91
|
+
|
|
92
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld19zZWFyY2hfaW5wdXQudGVtcGxhdGUuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlL2ltcGxlbWVudGF0aW9ucy92aWV3X3NlYXJjaF9pbnB1dC50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlNYW5hZ2VyIH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgdHlwZSBFbnRpdHlOYW1lc1JlY29yZCB9IGZyb20gXCIuLi8uLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB7IHR5cGUgVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuLi90ZW1wbGF0ZVwiO1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVfX3ZpZXdfc2VhcmNoX2lucHV0IGV4dGVuZHMgVGVtcGxhdGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcInZpZXdfc2VhcmNoX2lucHV0XCIpO1xuICB9XG5cbiAgZ2V0VGFyZ2V0QW5kUGF0aChuYW1lczogRW50aXR5TmFtZXNSZWNvcmQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0OiBcIndlYi9zcmMvY29tcG9uZW50c1wiLFxuICAgICAgcGF0aDogYCR7bmFtZXMuZnN9LyR7bmFtZXMuY2FwaXRhbH1TZWFyY2hJbnB1dC50c3hgLFxuICAgIH07XG4gIH1cblxuICBvdmVycmlkZSBnZXRSZXF1aXJlZERpY3RLZXlzKCk6IHN0cmluZ1tdIHwgbnVsbCB7XG4gICAgcmV0dXJuIFtcImNvbW1vbi5zZWFyY2hQbGFjZWhvbGRlclwiXTtcbiAgfVxuXG4gIGFzeW5jIHJlbmRlcih7IGVudGl0eUlkIH06IFRlbXBsYXRlT3B0aW9uc1tcInZpZXdfc2VhcmNoX2lucHV0XCJdKSB7XG4gICAgY29uc3QgbmFtZXMgPSBFbnRpdHlNYW5hZ2VyLmdldE5hbWVzRnJvbUlkKGVudGl0eUlkKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgobmFtZXMpLFxuICAgICAgYm9keTogYFxuaW1wb3J0IHsgQnV0dG9uLCBFbnVtU2VsZWN0LCBJbnB1dCB9IGZyb20gXCJAc29uYW11LWtpdC9yZWFjdC1jb21wb25lbnRzL2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IHVzZVNvbmFtdUJhc2VDb250ZXh0IH0gZnJvbSBcIkBzb25hbXUta2l0L3JlYWN0LWNvbXBvbmVudHMvY29udGV4dHNcIjtcbmltcG9ydCB0eXBlIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7ICR7bmFtZXMuY2FwaXRhbH1TZWFyY2hGaWVsZCwgJHtuYW1lcy5jYXBpdGFsfVNlYXJjaEZpZWxkTGFiZWwgfSBmcm9tIFwiQC9zZXJ2aWNlcy9zb25hbXUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgU2VhcmNoSWNvbiBmcm9tIFwifmljb25zL2x1Y2lkZS9zZWFyY2hcIjtcbmltcG9ydCB7IFNEIH0gZnJvbSBcIkAvaTE4bi9zZC5nZW5lcmF0ZWRcIjtcbmV4cG9ydCB0eXBlICR7bmFtZXMuY2FwaXRhbH1TZWFyY2hJbnB1dFByb3BzID0ge1xuICBpbnB1dDoge1xuICAgIHZhbHVlPzogc3RyaW5nO1xuICAgIG9uVmFsdWVDaGFuZ2U/OiAodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpID0+IHZvaWQ7XG4gIH07XG4gIGRyb3Bkb3duOiB7XG4gICAgdmFsdWU/OiBzdHJpbmc7XG4gICAgb25WYWx1ZUNoYW5nZT86ICh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4gdm9pZDtcbiAgfTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiAke25hbWVzLmNhcGl0YWx9U2VhcmNoSW5wdXQoe1xuICBpbnB1dDogeyB2YWx1ZTogaW5wdXRWYWx1ZSwgb25WYWx1ZUNoYW5nZTogaW5wdXRPblZhbHVlQ2hhbmdlIH0sXG4gIGRyb3Bkb3duOiBkcm9wZG93blByb3BzLFxufTogJHtuYW1lcy5jYXBpdGFsfVNlYXJjaElucHV0UHJvcHMpIHtcbiAgY29uc3QgW2tleXdvcmQsIHNldEtleXdvcmRdID0gdXNlU3RhdGU8c3RyaW5nPihpbnB1dFZhbHVlID8/IFwiXCIpO1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaCA9ICgpID0+IHtcbiAgICBpbnB1dE9uVmFsdWVDaGFuZ2U/LihrZXl3b3JkIHx8IHVuZGVmaW5lZCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBSZWFjdC5LZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcbiAgICAgIGhhbmRsZVNlYXJjaCgpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgIDxFbnVtU2VsZWN0XG4gICAgICAgIGVudW09eyR7bmFtZXMuY2FwaXRhbH1TZWFyY2hGaWVsZH1cbiAgICAgICAgbGFiZWxzPXske25hbWVzLmNhcGl0YWx9U2VhcmNoRmllbGRMYWJlbH1cbiAgICAgICAgdmFsdWU9e2Ryb3Bkb3duUHJvcHMudmFsdWV9XG4gICAgICAgIG9uVmFsdWVDaGFuZ2U9eyh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGRyb3Bkb3duUHJvcHMub25WYWx1ZUNoYW5nZT8uKHZhbHVlIGFzIHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpO1xuICAgICAgICB9fVxuICAgICAgICBwbGFjZWhvbGRlcj17U0QoXCJjb21tb24uc2VhcmNoXCIpfVxuICAgICAgICBjbGFzc05hbWU9XCJ3LVsxNTBweF0gaC04XCJcbiAgICAgIC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxJbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj17U0QoXCJjb21tb24uc2VhcmNoUGxhY2Vob2xkZXJcIil9XG4gICAgICAgICAgY2xhc3NOYW1lPVwiaC04IHctWzIwMHB4XSBwci04XCJcbiAgICAgICAgICB2YWx1ZT17a2V5d29yZH1cbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldEtleXdvcmQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgICAgLz5cbiAgICAgICAgPEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgdmFyaWFudD1cImdob3N0XCIgb25DbGljaz17aGFuZGxlU2VhcmNofSBpY29uPXs8U2VhcmNoSWNvbiAvPn0gLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuICAgICAgYC50cmltKCksXG4gICAgICBpbXBvcnRLZXlzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztvQkFBMkQ7Y0FHckI7QUFFdEMsSUFBYSw4QkFBYixjQUFpRCxTQUFTO0NBQ3hELGNBQWM7RUFDWixNQUFNLG1CQUFtQjtDQUMzQjtDQUVBLGlCQUFpQixPQUEwQjtFQUN6QyxPQUFPO0dBQ0wsUUFBUTtHQUNSLE1BQU0sR0FBRyxNQUFNLEdBQUcsR0FBRyxNQUFNLFFBQVE7RUFDckM7Q0FDRjtDQUVBLHNCQUFnRDtFQUM5QyxPQUFPLENBQUMsMEJBQTBCO0NBQ3BDO0NBRUEsTUFBTSxPQUFPLEVBQUUsWUFBa0Q7RUFDL0QsTUFBTSxRQUFRLGNBQWMsZUFBZSxRQUFRO0VBRW5ELE9BQU87R0FDTCxHQUFHLEtBQUssaUJBQWlCLEtBQUs7R0FDOUIsTUFBTTs7Ozs7V0FLRCxNQUFNLFFBQVEsZUFBZSxNQUFNLFFBQVE7OztjQUd4QyxNQUFNLFFBQVE7Ozs7Ozs7Ozs7O2tCQVdWLE1BQU0sUUFBUTs7O0tBRzNCLE1BQU0sUUFBUTs7Ozs7Ozs7Ozs7Ozs7OztnQkFnQkgsTUFBTSxRQUFRO2tCQUNaLE1BQU0sUUFBUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQXNCeEIsS0FBSztHQUNQLFlBQVksQ0FBQztFQUNmO0NBQ0Y7QUFDRiJ9
|
package/dist/template/index.js
CHANGED
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
import { __esmMin } from "../_virtual/
|
|
1
|
+
import { __esmMin } from "../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { Template, init_template as init_template$1 } from "./template.js";
|
|
3
3
|
import { TemplateManager, TemplateManagerClass, init_template_manager } from "./template-manager.js";
|
|
4
4
|
import { BUILT_IN_TYPES, getZodTypeById, init_zod_converter, propNodeToZodTypeDef, propToZodType, propToZodTypeDef, zodTypeToRenderingNode, zodTypeToTsTypeDef, zodTypeToZodCode } from "./zod-converter.js";
|
|
5
5
|
import { getColumnsNode, init_entity_converter, propNodeToZodType } from "./entity-converter.js";
|
|
6
6
|
import { extractObjectDeclaration, getEnumInfoFromColName, getLabel, getRelationNameFromColumnName, getRelationPropFromColName, init_helpers } from "./helpers.js";
|
|
7
7
|
import { init_template_types } from "./template-types.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var init_template = __esmMin((() => {
|
|
8
|
+
//#endregion
|
|
9
|
+
__esmMin((() => {
|
|
11
10
|
init_entity_converter();
|
|
12
11
|
init_helpers();
|
|
13
12
|
init_template$1();
|
|
14
13
|
init_template_manager();
|
|
15
14
|
init_template_types();
|
|
16
15
|
init_zod_converter();
|
|
17
|
-
}));
|
|
18
|
-
|
|
19
|
-
//#endregion
|
|
20
|
-
init_template();
|
|
16
|
+
}))();
|
|
21
17
|
export { BUILT_IN_TYPES, Template, TemplateManager, TemplateManagerClass, extractObjectDeclaration, getColumnsNode, getEnumInfoFromColName, getLabel, getRelationNameFromColumnName, getRelationPropFromColName, getZodTypeById, propNodeToZodType, propNodeToZodTypeDef, propToZodType, propToZodTypeDef, zodTypeToRenderingNode, zodTypeToTsTypeDef, zodTypeToZodCode };
|
|
18
|
+
|
|
22
19
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RlbXBsYXRlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2VudGl0eS1jb252ZXJ0ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2hlbHBlcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RlbXBsYXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZW1wbGF0ZS1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZW1wbGF0ZS10eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vem9kLWNvbnZlcnRlclwiO1xuIl0sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { __esmMin } from "../_virtual/
|
|
1
|
+
import { __esmMin } from "../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { globAsync, init_async_utils } from "../utils/async-utils.js";
|
|
3
3
|
import { importMembers, init_esm_utils } from "../utils/esm-utils.js";
|
|
4
4
|
import { Template, init_template } from "./template.js";
|
|
5
5
|
import path from "path";
|
|
6
|
-
|
|
7
6
|
//#region src/template/template-manager.ts
|
|
8
7
|
var TemplateManagerClass, TemplateManager;
|
|
9
8
|
var init_template_manager = __esmMin((() => {
|
|
@@ -11,28 +10,22 @@ var init_template_manager = __esmMin((() => {
|
|
|
11
10
|
init_esm_utils();
|
|
12
11
|
init_template();
|
|
13
12
|
TemplateManagerClass = class TemplateManagerClass {
|
|
14
|
-
templates = new Map();
|
|
13
|
+
templates = /* @__PURE__ */ new Map();
|
|
15
14
|
isAutoloaded = false;
|
|
16
15
|
/**
|
|
17
16
|
* 빌트인 템플릿 로드 (implementations/*.template.js)
|
|
18
17
|
*/
|
|
19
18
|
async autoload() {
|
|
20
|
-
if (this.isAutoloaded)
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
19
|
+
if (this.isAutoloaded) return;
|
|
23
20
|
const templateFiles = await globAsync(path.join(import.meta.dirname, "implementations/*.template.js"));
|
|
24
21
|
for (const templateFile of templateFiles) {
|
|
25
22
|
const templates = await importMembers(templateFile);
|
|
26
23
|
if (templates.length === 1 && typeof templates[0].value === "function" && templates[0].value.prototype instanceof Template) {
|
|
27
24
|
const instance = new templates[0].value();
|
|
28
25
|
this.templates.set(instance.key, instance);
|
|
29
|
-
} else {
|
|
30
|
-
throw new Error(`Template ${templateFile} should export only one class that extends Template`);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
for (const [key, template] of this.templates) {
|
|
34
|
-
Template._getTemplatesMap().set(key, template);
|
|
26
|
+
} else throw new Error(`Template ${templateFile} should export only one class that extends Template`);
|
|
35
27
|
}
|
|
28
|
+
for (const [key, template] of this.templates) Template._getTemplatesMap().set(key, template);
|
|
36
29
|
this.isAutoloaded = true;
|
|
37
30
|
}
|
|
38
31
|
/**
|
|
@@ -52,12 +45,10 @@ var init_template_manager = __esmMin((() => {
|
|
|
52
45
|
let count = 0;
|
|
53
46
|
for (const file of templateFiles) {
|
|
54
47
|
const templates = await importMembers(file);
|
|
55
|
-
for (const { value } of templates) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
count++;
|
|
60
|
-
}
|
|
48
|
+
for (const { value } of templates) if (this.isTemplateClass(value)) {
|
|
49
|
+
const instance = new value();
|
|
50
|
+
this.register(instance);
|
|
51
|
+
count++;
|
|
61
52
|
}
|
|
62
53
|
}
|
|
63
54
|
return count;
|
|
@@ -76,9 +67,7 @@ var init_template_manager = __esmMin((() => {
|
|
|
76
67
|
* 여러 템플릿 등록
|
|
77
68
|
*/
|
|
78
69
|
registerAll(templates) {
|
|
79
|
-
for (const template of templates)
|
|
80
|
-
this.register(template);
|
|
81
|
-
}
|
|
70
|
+
for (const template of templates) this.register(template);
|
|
82
71
|
}
|
|
83
72
|
/**
|
|
84
73
|
* 템플릿 조회
|
|
@@ -87,9 +76,7 @@ var init_template_manager = __esmMin((() => {
|
|
|
87
76
|
*/
|
|
88
77
|
get(key) {
|
|
89
78
|
const template = this.templates.get(key);
|
|
90
|
-
if (!template) {
|
|
91
|
-
throw new Error(`Template '${key}' not found. Available: [${this.getAllKeys().join(", ")}]`);
|
|
92
|
-
}
|
|
79
|
+
if (!template) throw new Error(`Template '${key}' not found. Available: [${this.getAllKeys().join(", ")}]`);
|
|
93
80
|
return template;
|
|
94
81
|
}
|
|
95
82
|
/**
|
|
@@ -127,8 +114,8 @@ var init_template_manager = __esmMin((() => {
|
|
|
127
114
|
};
|
|
128
115
|
TemplateManager = new TemplateManagerClass();
|
|
129
116
|
}));
|
|
130
|
-
|
|
131
117
|
//#endregion
|
|
132
118
|
init_template_manager();
|
|
133
119
|
export { TemplateManager, TemplateManagerClass, init_template_manager };
|
|
134
|
-
|
|
120
|
+
|
|
121
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbWFuYWdlci5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVtcGxhdGUvdGVtcGxhdGUtbWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyB0eXBlIFRlbXBsYXRlS2V5IH0gZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBnbG9iQXN5bmMgfSBmcm9tIFwiLi4vdXRpbHMvYXN5bmMtdXRpbHNcIjtcbmltcG9ydCB7IGltcG9ydE1lbWJlcnMgfSBmcm9tIFwiLi4vdXRpbHMvZXNtLXV0aWxzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuL3RlbXBsYXRlXCI7XG5cbmNsYXNzIFRlbXBsYXRlTWFuYWdlckNsYXNzIHtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZXM6IE1hcDxUZW1wbGF0ZUtleSB8IHN0cmluZywgVGVtcGxhdGU+ID0gbmV3IE1hcCgpO1xuICBpc0F1dG9sb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyDquLDrs7gg66mU7ISc65OcXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIOu5jO2KuOyduCDthZztlIzrpr8g66Gc65OcIChpbXBsZW1lbnRhdGlvbnMvKi50ZW1wbGF0ZS5qcylcbiAgICovXG4gIGFzeW5jIGF1dG9sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmlzQXV0b2xvYWRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0ZW1wbGF0ZUZpbGVzID0gYXdhaXQgZ2xvYkFzeW5jKFxuICAgICAgcGF0aC5qb2luKGltcG9ydC5tZXRhLmRpcm5hbWUsIFwiaW1wbGVtZW50YXRpb25zLyoudGVtcGxhdGUuanNcIiksXG4gICAgKTtcblxuICAgIGZvciAoY29uc3QgdGVtcGxhdGVGaWxlIG9mIHRlbXBsYXRlRmlsZXMpIHtcbiAgICAgIGNvbnN0IHRlbXBsYXRlcyA9IGF3YWl0IGltcG9ydE1lbWJlcnM8dW5rbm93bj4odGVtcGxhdGVGaWxlKTtcbiAgICAgIGlmIChcbiAgICAgICAgdGVtcGxhdGVzLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICB0eXBlb2YgdGVtcGxhdGVzWzBdLnZhbHVlID09PSBcImZ1bmN0aW9uXCIgJiZcbiAgICAgICAgdGVtcGxhdGVzWzBdLnZhbHVlLnByb3RvdHlwZSBpbnN0YW5jZW9mIFRlbXBsYXRlXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgKHRlbXBsYXRlc1swXS52YWx1ZSBhcyBuZXcgKCkgPT4gVGVtcGxhdGUpKCk7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLnNldChpbnN0YW5jZS5rZXksIGluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgVGVtcGxhdGUgJHt0ZW1wbGF0ZUZpbGV9IHNob3VsZCBleHBvcnQgb25seSBvbmUgY2xhc3MgdGhhdCBleHRlbmRzIFRlbXBsYXRlYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHRlbXBsYXRlXSBvZiB0aGlzLnRlbXBsYXRlcykge1xuICAgICAgVGVtcGxhdGUuX2dldFRlbXBsYXRlc01hcCgpLnNldChrZXkgYXMgVGVtcGxhdGVLZXksIHRlbXBsYXRlKTtcbiAgICB9XG5cbiAgICB0aGlzLmlzQXV0b2xvYWRlZCA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICog7YWc7ZSM66a/IOuLpOyLnCDroZzrk5xcbiAgICovXG4gIGFzeW5jIHJlbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnRlbXBsYXRlcy5jbGVhcigpO1xuICAgIFRlbXBsYXRlLl9jbGVhclRlbXBsYXRlcygpO1xuICAgIHRoaXMuaXNBdXRvbG9hZGVkID0gZmFsc2U7XG4gICAgYXdhaXQgdGhpcy5hdXRvbG9hZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIO2UhOuhnOygne2KuCDrlJTroInthqDrpqzsl5DshJwg7Luk7Iqk7YWAIO2FnO2UjOumvyDroZzrk5xcbiAgICovXG4gIGFzeW5jIGxvYWRGcm9tRGlyZWN0b3J5KGRpcjogc3RyaW5nKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCB0ZW1wbGF0ZUZpbGVzID0gYXdhaXQgZ2xvYkFzeW5jKHBhdGguam9pbihkaXIsIFwiKi50ZW1wbGF0ZS57dHMsanN9XCIpKTtcbiAgICBsZXQgY291bnQgPSAwO1xuXG4gICAgZm9yIChjb25zdCBmaWxlIG9mIHRlbXBsYXRlRmlsZXMpIHtcbiAgICAgIGNvbnN0IHRlbXBsYXRlcyA9IGF3YWl0IGltcG9ydE1lbWJlcnM8dW5rbm93bj4oZmlsZSk7XG4gICAgICBmb3IgKGNvbnN0IHsgdmFsdWUgfSBvZiB0ZW1wbGF0ZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNUZW1wbGF0ZUNsYXNzKHZhbHVlKSkge1xuICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gbmV3ICh2YWx1ZSBhcyBuZXcgKCkgPT4gVGVtcGxhdGUpKCk7XG4gICAgICAgICAgdGhpcy5yZWdpc3RlcihpbnN0YW5jZSk7XG4gICAgICAgICAgY291bnQrKztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjb3VudDtcbiAgfVxuXG4gIHByaXZhdGUgaXNUZW1wbGF0ZUNsYXNzKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiICYmIHZhbHVlLnByb3RvdHlwZSBpbnN0YW5jZW9mIFRlbXBsYXRlO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8g7YWc7ZSM66a/IOuTseuhnVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiDthZztlIzrpr8g65Ox66GdXG4gICAqL1xuICByZWdpc3Rlcih0ZW1wbGF0ZTogVGVtcGxhdGUpOiB2b2lkIHtcbiAgICB0aGlzLnRlbXBsYXRlcy5zZXQodGVtcGxhdGUua2V5LCB0ZW1wbGF0ZSk7XG4gICAgLy8g7ZWY7JyEIO2YuO2ZmFxuICAgIFRlbXBsYXRlLl9nZXRUZW1wbGF0ZXNNYXAoKS5zZXQodGVtcGxhdGUua2V5LCB0ZW1wbGF0ZSk7XG4gIH1cblxuICAvKipcbiAgICog7Jes65+sIO2FnO2UjOumvyDrk7HroZ1cbiAgICovXG4gIHJlZ2lzdGVyQWxsKHRlbXBsYXRlczogVGVtcGxhdGVbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgdGVtcGxhdGUgb2YgdGVtcGxhdGVzKSB7XG4gICAgICB0aGlzLnJlZ2lzdGVyKHRlbXBsYXRlKTtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyDthZztlIzrpr8g7KGw7ZqMXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIO2FnO2UjOumvyDsobDtmoxcbiAgICog67mM7Yq47J24IDog7J6Q64+Z7JmE7ISxIOyngOybkFxuICAgKiDsu6TsiqTthYAgOiDsnoTsnZgg66y47J6Q7Je0IOyngOybkFxuICAgKi9cbiAgZ2V0KGtleTogVGVtcGxhdGVLZXkgfCAoc3RyaW5nICYge30pKTogVGVtcGxhdGUge1xuICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy50ZW1wbGF0ZXMuZ2V0KGtleSk7XG4gICAgaWYgKCF0ZW1wbGF0ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUZW1wbGF0ZSAnJHtrZXl9JyBub3QgZm91bmQuIEF2YWlsYWJsZTogWyR7dGhpcy5nZXRBbGxLZXlzKCkuam9pbihcIiwgXCIpfV1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHRlbXBsYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIO2FnO2UjOumvyDsobTsnqwg7Jes67aAXG4gICAqL1xuICBleGlzdHMoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXMuaGFzKGtleSk7XG4gIH1cblxuICAvKipcbiAgICog66qo65OgIO2FnO2UjOumvyDtgqQg66qp66GdXG4gICAqL1xuICBnZXRBbGxLZXlzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnRlbXBsYXRlcy5rZXlzKCkpLnRvU29ydGVkKCk7XG4gIH1cblxuICAvKipcbiAgICog65Ox66Gd65CcIO2FnO2UjOumvyDqsJzsiJhcbiAgICovXG4gIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGVzLnNpemU7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyDthYzsiqTtirgg7Jyg7Yu466as7YuwXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIOuqqOuToCDsg4Htg5wg7LSI6riw7ZmUICjthYzsiqTtirjsmqkpXG4gICAqL1xuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnRlbXBsYXRlcy5jbGVhcigpO1xuICAgIHRoaXMuaXNBdXRvbG9hZGVkID0gZmFsc2U7XG4gICAgVGVtcGxhdGUuX2NsZWFyVGVtcGxhdGVzKCk7XG4gIH1cblxuICAvKipcbiAgICog6rKp66as65CcIOyduOyKpO2EtOyKpCDsg53shLEgKO2FjOyKpO2KuOyaqSlcbiAgICovXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZSgpOiBUZW1wbGF0ZU1hbmFnZXJDbGFzcyB7XG4gICAgcmV0dXJuIG5ldyBUZW1wbGF0ZU1hbmFnZXJDbGFzcygpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBUZW1wbGF0ZU1hbmFnZXIgPSBuZXcgVGVtcGxhdGVNYW5hZ2VyQ2xhc3MoKTtcbmV4cG9ydCB7IFRlbXBsYXRlTWFuYWdlckNs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
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { __esmMin } from "../_virtual/
|
|
2
|
-
|
|
1
|
+
import { __esmMin } from "../_virtual/_rolldown/runtime.js";
|
|
3
2
|
//#region src/template/template-types.ts
|
|
4
3
|
var init_template_types = __esmMin((() => {}));
|
|
5
|
-
|
|
6
4
|
//#endregion
|
|
7
5
|
init_template_types();
|
|
8
6
|
export { init_template_types };
|
|
7
|
+
|
|
9
8
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtdHlwZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RlbXBsYXRlL3RlbXBsYXRlLXR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog7YWc7ZSM66a/IOq3uOujuSAo6rSA66CoIO2FnO2UjOumvyDrrLbsnYwg7Iuk7ZaJKVxuICovXG5leHBvcnQgdHlwZSBUZW1wbGF0ZUdyb3VwID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB0ZW1wbGF0ZXM6IEFycmF5PHtcbiAgICBrZXk6IHN0cmluZztcbiAgICBnZXRPcHRpb25zOiAoYmFzZU9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgfT47XG59O1xuXG4vKipcbiAqIO2FnO2UjOumvyDtlITrpqzshYsgKO2FnO2UjOumv+uzhCDquLDrs7gg7Ji17IWYKVxuICovXG5leHBvcnQgdHlwZSBUZW1wbGF0ZVByZXNldCA9IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiJdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { __esmMin } from "../_virtual/
|
|
1
|
+
import { __esmMin } from "../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { globAsync, init_async_utils } from "../utils/async-utils.js";
|
|
3
3
|
import { importMembers, init_esm_utils } from "../utils/esm-utils.js";
|
|
4
4
|
import path from "path";
|
|
5
|
-
|
|
6
5
|
//#region src/template/template.ts
|
|
7
6
|
var Template;
|
|
8
7
|
var init_template = __esmMin((() => {
|
|
9
8
|
init_async_utils();
|
|
10
9
|
init_esm_utils();
|
|
11
10
|
Template = class Template {
|
|
12
|
-
|
|
11
|
+
key;
|
|
12
|
+
static templates = /* @__PURE__ */ new Map();
|
|
13
13
|
constructor(key) {
|
|
14
14
|
this.key = key;
|
|
15
15
|
}
|
|
@@ -25,9 +25,7 @@ var init_template = __esmMin((() => {
|
|
|
25
25
|
if (templates.length === 1 && typeof templates[0].value === "function" && templates[0].value.prototype instanceof Template) {
|
|
26
26
|
const instance = new templates[0].value();
|
|
27
27
|
Template.templates.set(instance.key, instance);
|
|
28
|
-
} else {
|
|
29
|
-
throw new Error(`Template ${templateFile} should export only one class that extends Template`);
|
|
30
|
-
}
|
|
28
|
+
} else throw new Error(`Template ${templateFile} should export only one class that extends Template`);
|
|
31
29
|
}
|
|
32
30
|
}
|
|
33
31
|
/**
|
|
@@ -39,9 +37,7 @@ var init_template = __esmMin((() => {
|
|
|
39
37
|
*/
|
|
40
38
|
static find(key) {
|
|
41
39
|
const instance = Template.templates.get(key);
|
|
42
|
-
if (!instance) {
|
|
43
|
-
throw new Error(`Template ${key} not found. It might be because you tried to find a template before loading all templates. Did you call TemplateManager.autoload()?`);
|
|
44
|
-
}
|
|
40
|
+
if (!instance) throw new Error(`Template ${key} not found. It might be because you tried to find a template before loading all templates. Did you call TemplateManager.autoload()?`);
|
|
45
41
|
return instance;
|
|
46
42
|
}
|
|
47
43
|
/**
|
|
@@ -67,8 +63,8 @@ var init_template = __esmMin((() => {
|
|
|
67
63
|
}
|
|
68
64
|
};
|
|
69
65
|
}));
|
|
70
|
-
|
|
71
66
|
//#endregion
|
|
72
67
|
init_template();
|
|
73
68
|
export { Template, init_template };
|
|
74
|
-
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RlbXBsYXRlL3RlbXBsYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IHR5cGUgRW50aXR5TmFtZXNSZWNvcmQgfSBmcm9tIFwiLi4vZW50aXR5L2VudGl0eS1tYW5hZ2VyXCI7XG5pbXBvcnQgeyB0eXBlIFRlbXBsYXRlS2V5LCB0eXBlIFRlbXBsYXRlT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgZ2xvYkFzeW5jIH0gZnJvbSBcIi4uL3V0aWxzL2FzeW5jLXV0aWxzXCI7XG5pbXBvcnQgeyBpbXBvcnRNZW1iZXJzIH0gZnJvbSBcIi4uL3V0aWxzL2VzbS11dGlsc1wiO1xuXG5leHBvcnQgdHlwZSBSZW5kZXJlZFRlbXBsYXRlID0ge1xuICB0YXJnZXQ6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBib2R5OiBzdHJpbmc7XG4gIGltcG9ydEtleXM6IHN0cmluZ1tdO1xuICBjdXN0b21IZWFkZXJzPzogc3RyaW5nW107XG4gIHByZVRlbXBsYXRlcz86IHtcbiAgICBrZXk6IFRlbXBsYXRlS2V5O1xuICAgIG9wdGlvbnM6IFRlbXBsYXRlT3B0aW9uc1tUZW1wbGF0ZUtleV07XG4gIH1bXTtcbn07XG5cbi8qKlxuICog7YWc7ZSM66a/7J2EIOuCmO2DgOuCtOuKlCDrsqDsnbTsiqQg7YG0656Y7Iqk7J6F64uI64ukLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVtcGxhdGUge1xuICBwcml2YXRlIHN0YXRpYyB0ZW1wbGF0ZXM6IE1hcDxUZW1wbGF0ZUtleSwgVGVtcGxhdGU+ID0gbmV3IE1hcCgpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBrZXk6IFRlbXBsYXRlS2V5KSB7fVxuXG4gIC8qKlxuICAgKiDthZztlIzrpr8g6rWs7ZiE7LK06rCAIOyeiOuKlCDrlJTroInthqDrpqzsnZgg66qo65OgIO2FnO2UjOumv+ydhCDroZzrk5ztlanri4jri6QuXG4gICAqIO2FnO2UjOumv+ydtCDtlYTsmpQoVGVtcGxhdGVNYW5hZ2VyLmdldCntlbTsp4DquLAg7KCE7JeQIOy1nOyGjCDtlZwg67KIIO2YuOy2nO2VtOyjvOyFlOyVvCDtlanri4jri6QuXG4gICAqIEBkZXByZWNhdGVkIFRlbXBsYXRlTWFuYWdlci5hdXRvbG9hZCgpIOyCrOyaqSDqtozsnqVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgYXV0b2xvYWQoKSB7XG4gICAgY29uc3QgdGVtcGxhdGVGaWxlcyA9IGF3YWl0IGdsb2JBc3luYyhcbiAgICAgIC8vIFNvbmFtdeydmCDsvZTrk5zrsqDsnbTsiqTripQg7ZWt7IOBIOu5jOuTnOuQnCDssYTroZwgZGlzdCDsho3sl5Ag66i466y066W066+A66GcLFxuICAgICAgLy8g7ZiE7J6sIO2MjOydvOydhCDquLDspIDsnLzroZwg66eI7LCs6rCA7KeA66GcIGRpc3Qg7IaN7JeQIOyeiOuKlCDthZztlIzrpr8g6rWs7ZiE7LK0IGpzIO2MjOydvOuTpOydhCDssL7sirXri4jri6QuXG4gICAgICBwYXRoLmpvaW4oaW1wb3J0Lm1ldGEuZGlybmFtZSwgXCJpbXBsZW1lbnRhdGlvbnMvKi50ZW1wbGF0ZS5qc1wiKSxcbiAgICApO1xuXG4gICAgZm9yIChjb25zdCB0ZW1wbGF0ZUZpbGUgb2YgdGVtcGxhdGVGaWxlcykge1xuICAgICAgLy8gb3hsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgLS0gaW1wb3J0TWVtYmVyc+ydmCDrsJjtmZgg7YOA7J6F7J2EIOuqheyLnOyggeycvOuhnCDsp4DsoJXtlaAg7IiYIOyXhuydjFxuICAgICAgY29uc3QgdGVtcGxhdGVzID0gYXdhaXQgaW1wb3J0TWVtYmVyczxhbnk+KHRlbXBsYXRlRmlsZSk7XG4gICAgICBpZiAoXG4gICAgICAgIHRlbXBsYXRlcy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgdHlwZW9mIHRlbXBsYXRlc1swXS52YWx1ZSA9PT0gXCJmdW5jdGlvblwiICYmXG4gICAgICAgIHRlbXBsYXRlc1swXS52YWx1ZS5wcm90b3R5cGUgaW5zdGFuY2VvZiBUZW1wbGF0ZVxuICAgICAgKSB7XG4gICAgICAgIC8vIO2BtOuemOyKpOydmCDsnbjsiqTthLTsiqTrpbwg7IOd7ISx7ZWY7JesIOuTseuhnVxuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyB0ZW1wbGF0ZXNbMF0udmFsdWUoKTtcbiAgICAgICAgVGVtcGxhdGUudGVtcGxhdGVzLnNldChpbnN0YW5jZS5rZXksIGluc3RhbmNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgVGVtcGxhdGUgJHt0ZW1wbGF0ZUZpbGV9IHNob3VsZCBleHBvcnQgb25seSBvbmUgY2xhc3MgdGhhdCBleHRlbmRzIFRlbXBsYXRlYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjb25zb2xlLmxvZyhcbiAgICAvLyAgIGNoYWxrLmdyYXkoYFtMb2FkaW5nXSBMb2FkZWQgJHt0aGlzLnRlbXBsYXRlcy5zaXplfSB0ZW1wbGF0ZXMuYClcbiAgICAvLyApO1xuICB9XG5cbiAgLyoqXG4gICAqIO2FnO2UjOumvyAqKuyduOyKpO2EtOyKpCoq66W8IGtleeuhnCDssL7slYTsmLXri4jri6QuXG4gICAqIOunjOyVvSDthZztlIzrpr/snbQg66Gc65OcKGF1dG9sb2FkKeuQmOyngCDslYrslZjqsbDrgpgg7LC+64qUIO2FnO2UjOumv+ydtCDsl4bri6TrqbQg7JeQ65+s66W8IOuNmOynkeuLiOuLpC5cbiAgICogQGRlcHJlY2F0ZWQgVGVtcGxhdGVNYW5hZ2VyLmdldCgpIOyCrOyaqSDqtozsnqVcbiAgICogQHBhcmFtIGtleVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmaW5kKGtleTogVGVtcGxhdGVLZXkpOiBUZW1wbGF0ZSB7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBUZW1wbGF0ZS50ZW1wbGF0ZXMuZ2V0KGtleSk7XG4gICAgaWYgKCFpbnN0YW5jZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGVtcGxhdGUgJHtrZXl9IG5vdCBmb3VuZC4gSXQgbWlnaHQgYmUgYmVjYXVzZSB5b3UgdHJpZWQgdG8gZmluZCBhIHRlbXBsYXRlIGJlZm9yZSBsb2FkaW5nIGFsbCB0ZW1wbGF0ZXMuIERpZCB5b3UgY2FsbCBUZW1wbGF0ZU1hbmFnZXIuYXV0b2xvYWQoKT9gLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIOuCtOu2gOyaqTogVGVtcGxhdGVNYW5hZ2Vy7JeQ7IScIOyCrOyaqVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBfZ2V0VGVtcGxhdGVzTWFwKCk6IE1hcDxUZW1wbGF0ZUtleSwgVGVtcGxhdGU+IHtcbiAgICByZXR1cm4gVGVtcGxhdGUudGVtcGxhdGVzO1xuICB9XG5cbiAgLyoqXG4gICAqIOuCtOu2gOyaqTogVGVtcGxhdGVNYW5hZ2Vy7JeQ7IScIOyCrOyaqVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBfY2xlYXJUZW1wbGF0ZXMoKTogdm9pZCB7XG4gICAgVGVtcGxhdGUudGVtcGxhdGVzLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgcmVuZGVyKFxuICAgIG9wdGlvbnM6IFRlbXBsYXRlT3B0aW9uc1tUZW1wbGF0ZUtleV0sXG4gICAgLi4uZXh0cmE6IHVua25vd25bXVxuICApOiBSZW5kZXJlZFRlbXBsYXRlIHwgUHJvbWlzZTxSZW5kZXJlZFRlbXBsYXRlPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZ2V0VGFyZ2V0QW5kUGF0aChcbiAgICBuYW1lcz86IEVudGl0eU5hbWVzUmVjb3JkLFxuICAgIC4uLmV4dHJhOiB1bmtub3duW11cbiAgKToge1xuICAgIHRhcmdldDogc3RyaW5nO1xuICAgIHBhdGg6IHN0cmluZztcbiAgfTtcblxuICAvKipcbiAgICog7J20IO2FnO2UjOumv+ydtCDtlYTsmpTroZwg7ZWY64qUIGkxOG4gZGljdCDtgqTrpbwg67CY7ZmY7ZWp64uI64ukLlxuICAgKiDsiqTsupDtj7TrlKkg7IucIOyXrOufrCDthZztlIzrpr/snZgg7YKk66W8IOuqqOyVhOyEnCDtlZwg67KI7JeQIOyymOumrO2VqeuLiOuLpC5cbiAgICpcbiAgICogQHJldHVybnMg7ZWE7JqU7ZWcIGRpY3Qg7YKkIOuwsOyXtCDrmJDripQgbnVsbCAoaTE4biDrtojtlYTsmpQg7IucKVxuICAgKi9cbiAgcHVibGljIGdldFJlcXVpcmVkRGljdEtleXMoKTogc3RyaW5nW10gfCBudWxsIHtcbiAgICAvLyDquLDrs7jsoIHsnLzroZwgZGljdCDtgqTqsIAg7ZWE7JqUIOyXhuydjC4g7ZWE7JqU7ZWcIO2FnO2UjOumv+yXkOyEnCDsmKTrsoTrnbzsnbTrk5xcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O2tCQUlnRDtnQkFDRTtDQWlCNUIsV0FBdEIsTUFBc0IsU0FBUztFQUdWO0VBRm5CLE9BQWUsNEJBQXdDLElBQUksSUFBSTtFQUUvRCxZQUFZLEtBQXlCO0dBQWxCLEtBQUEsTUFBQTtFQUFtQjs7Ozs7O0VBT3RDLGFBQW9CLFdBQVc7R0FDN0IsTUFBTSxnQkFBZ0IsTUFBTSxVQUcxQixLQUFLLEtBQUssT0FBTyxLQUFLLFNBQVMsK0JBQStCLENBQ2hFO0dBRUEsS0FBSyxNQUFNLGdCQUFnQixlQUFlO0lBRXhDLE1BQU0sWUFBWSxNQUFNLGNBQW1CLFlBQVk7SUFDdkQsSUFDRSxVQUFVLFdBQVcsS0FDckIsT0FBTyxVQUFVLEVBQUUsQ0FBQyxVQUFVLGNBQzlCLFVBQVUsRUFBRSxDQUFDLE1BQU0scUJBQXFCLFVBQ3hDO0tBRUEsTUFBTSxXQUFXLElBQUksVUFBVSxFQUFFLENBQUMsTUFBTTtLQUN4QyxTQUFTLFVBQVUsSUFBSSxTQUFTLEtBQUssUUFBUTtJQUMvQyxPQUNFLE1BQU0sSUFBSSxNQUNSLFlBQVksYUFBYSxvREFDM0I7R0FFSjtFQUtGOzs7Ozs7OztFQVNBLE9BQWMsS0FBSyxLQUE0QjtHQUM3QyxNQUFNLFdBQVcsU0FBUyxVQUFVLElBQUksR0FBRztHQUMzQyxJQUFJLENBQUMsVUFDSCxNQUFNLElBQUksTUFDUixZQUFZLElBQUksb0lBQ2xCO0dBRUYsT0FBTztFQUNUOzs7O0VBS0EsT0FBYyxtQkFBK0M7R0FDM0QsT0FBTyxTQUFTO0VBQ2xCOzs7O0VBS0EsT0FBYyxrQkFBd0I7R0FDcEMsU0FBUyxVQUFVLE1BQU07RUFDM0I7Ozs7Ozs7RUFxQkEsc0JBQThDO0dBRTVDLE9BQU87RUFDVDtDQUNGIn0=
|