@buenojs/bueno 0.8.9 → 0.8.11
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/README.md +1 -1
- package/dist/cache/index.d.ts +187 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +595 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cli/bin.d.ts +8 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +9 -9
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/commands/add-frontend.d.ts +7 -0
- package/dist/cli/commands/add-frontend.d.ts.map +1 -0
- package/dist/cli/commands/add-frontend.js +376 -0
- package/dist/cli/commands/add-frontend.js.map +1 -0
- package/dist/cli/commands/build.d.ts +7 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/build.js +347 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +7 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/dev.js +205 -0
- package/dist/cli/commands/dev.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +7 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/generate.js +491 -0
- package/dist/cli/commands/generate.js.map +1 -0
- package/dist/cli/commands/help.d.ts +7 -0
- package/dist/cli/commands/help.d.ts.map +1 -0
- package/dist/cli/commands/help.js +51 -0
- package/dist/cli/commands/help.js.map +1 -0
- package/dist/cli/commands/index.d.ts +59 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +77 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/migration.d.ts +7 -0
- package/dist/cli/commands/migration.d.ts.map +1 -0
- package/dist/cli/commands/migration.js +295 -0
- package/dist/cli/commands/migration.js.map +1 -0
- package/dist/cli/commands/new.d.ts +7 -0
- package/dist/cli/commands/new.d.ts.map +1 -0
- package/dist/cli/commands/new.js +641 -0
- package/dist/cli/commands/new.js.map +1 -0
- package/dist/cli/commands/start.d.ts +7 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +171 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/core/args.d.ts +61 -0
- package/dist/cli/core/args.d.ts.map +1 -0
- package/dist/cli/core/args.js +224 -0
- package/dist/cli/core/args.js.map +1 -0
- package/dist/cli/core/console.d.ts +135 -0
- package/dist/cli/core/console.d.ts.map +1 -0
- package/dist/cli/core/console.js +268 -0
- package/dist/cli/core/console.js.map +1 -0
- package/dist/cli/core/index.d.ts +10 -0
- package/dist/cli/core/index.d.ts.map +1 -0
- package/dist/cli/core/index.js +10 -0
- package/dist/cli/core/index.js.map +1 -0
- package/dist/cli/core/prompt.d.ts +63 -0
- package/dist/cli/core/prompt.d.ts.map +1 -0
- package/dist/cli/core/prompt.js +338 -0
- package/dist/cli/core/prompt.js.map +1 -0
- package/dist/cli/core/spinner.d.ts +111 -0
- package/dist/cli/core/spinner.d.ts.map +1 -0
- package/dist/cli/core/spinner.js +208 -0
- package/dist/cli/core/spinner.js.map +1 -0
- package/dist/cli/index.d.ts +47 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +127 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/templates/database/index.d.ts +24 -0
- package/dist/cli/templates/database/index.d.ts.map +1 -0
- package/dist/cli/templates/database/index.js +49 -0
- package/dist/cli/templates/database/index.js.map +1 -0
- package/dist/cli/templates/database/mysql.d.ts +6 -0
- package/dist/cli/templates/database/mysql.d.ts.map +1 -0
- package/dist/cli/templates/database/mysql.js +12 -0
- package/dist/cli/templates/database/mysql.js.map +1 -0
- package/dist/cli/templates/database/none.d.ts +8 -0
- package/dist/cli/templates/database/none.d.ts.map +1 -0
- package/dist/cli/templates/database/none.js +14 -0
- package/dist/cli/templates/database/none.js.map +1 -0
- package/dist/cli/templates/database/postgresql.d.ts +6 -0
- package/dist/cli/templates/database/postgresql.d.ts.map +1 -0
- package/dist/cli/templates/database/postgresql.js +12 -0
- package/dist/cli/templates/database/postgresql.js.map +1 -0
- package/dist/cli/templates/database/sqlite.d.ts +6 -0
- package/dist/cli/templates/database/sqlite.d.ts.map +1 -0
- package/dist/cli/templates/database/sqlite.js +12 -0
- package/dist/cli/templates/database/sqlite.js.map +1 -0
- package/dist/cli/templates/deploy.d.ts +41 -0
- package/dist/cli/templates/deploy.d.ts.map +1 -0
- package/dist/cli/templates/deploy.js +278 -0
- package/dist/cli/templates/deploy.js.map +1 -0
- package/dist/cli/templates/docker.d.ts +30 -0
- package/dist/cli/templates/docker.d.ts.map +1 -0
- package/dist/cli/templates/docker.js +298 -0
- package/dist/cli/templates/docker.js.map +1 -0
- package/dist/cli/templates/frontend/index.d.ts +25 -0
- package/dist/cli/templates/frontend/index.d.ts.map +1 -0
- package/dist/cli/templates/frontend/index.js +40 -0
- package/dist/cli/templates/frontend/index.js.map +1 -0
- package/dist/cli/templates/frontend/none.d.ts +8 -0
- package/dist/cli/templates/frontend/none.d.ts.map +1 -0
- package/dist/cli/templates/frontend/none.js +15 -0
- package/dist/cli/templates/frontend/none.js.map +1 -0
- package/dist/cli/templates/frontend/react.d.ts +6 -0
- package/dist/cli/templates/frontend/react.d.ts.map +1 -0
- package/dist/cli/templates/frontend/react.js +139 -0
- package/dist/cli/templates/frontend/react.js.map +1 -0
- package/dist/cli/templates/frontend/solid.d.ts +6 -0
- package/dist/cli/templates/frontend/solid.d.ts.map +1 -0
- package/dist/cli/templates/frontend/solid.js +133 -0
- package/dist/cli/templates/frontend/solid.js.map +1 -0
- package/dist/cli/templates/frontend/svelte.d.ts +6 -0
- package/dist/cli/templates/frontend/svelte.d.ts.map +1 -0
- package/dist/cli/templates/frontend/svelte.js +130 -0
- package/dist/cli/templates/frontend/svelte.js.map +1 -0
- package/dist/cli/templates/frontend/vue.d.ts +6 -0
- package/dist/cli/templates/frontend/vue.d.ts.map +1 -0
- package/dist/cli/templates/frontend/vue.js +129 -0
- package/dist/cli/templates/frontend/vue.js.map +1 -0
- package/dist/cli/templates/generators/index.d.ts +29 -0
- package/dist/cli/templates/generators/index.d.ts.map +1 -0
- package/dist/cli/templates/generators/index.js +308 -0
- package/dist/cli/templates/generators/index.js.map +1 -0
- package/dist/cli/templates/generators/types.d.ts +32 -0
- package/dist/cli/templates/generators/types.d.ts.map +1 -0
- package/dist/cli/templates/generators/types.js +21 -0
- package/dist/cli/templates/generators/types.js.map +1 -0
- package/dist/cli/templates/index.d.ts +12 -0
- package/dist/cli/templates/index.d.ts.map +1 -0
- package/dist/cli/templates/index.js +18 -0
- package/dist/cli/templates/index.js.map +1 -0
- package/dist/cli/templates/project/api.d.ts +6 -0
- package/dist/cli/templates/project/api.d.ts.map +1 -0
- package/dist/cli/templates/project/api.js +79 -0
- package/dist/cli/templates/project/api.js.map +1 -0
- package/dist/cli/templates/project/default.d.ts +6 -0
- package/dist/cli/templates/project/default.d.ts.map +1 -0
- package/dist/cli/templates/project/default.js +136 -0
- package/dist/cli/templates/project/default.js.map +1 -0
- package/dist/cli/templates/project/fullstack.d.ts +14 -0
- package/dist/cli/templates/project/fullstack.d.ts.map +1 -0
- package/dist/cli/templates/project/fullstack.js +19 -0
- package/dist/cli/templates/project/fullstack.js.map +1 -0
- package/dist/cli/templates/project/index.d.ts +26 -0
- package/dist/cli/templates/project/index.d.ts.map +1 -0
- package/dist/cli/templates/project/index.js +60 -0
- package/dist/cli/templates/project/index.js.map +1 -0
- package/dist/cli/templates/project/minimal.d.ts +6 -0
- package/dist/cli/templates/project/minimal.d.ts.map +1 -0
- package/dist/cli/templates/project/minimal.js +43 -0
- package/dist/cli/templates/project/minimal.js.map +1 -0
- package/dist/cli/templates/project/types.d.ts +80 -0
- package/dist/cli/templates/project/types.d.ts.map +1 -0
- package/dist/cli/templates/project/types.js +7 -0
- package/dist/cli/templates/project/types.js.map +1 -0
- package/dist/cli/templates/project/website.d.ts +8 -0
- package/dist/cli/templates/project/website.d.ts.map +1 -0
- package/dist/cli/templates/project/website.js +312 -0
- package/dist/cli/templates/project/website.js.map +1 -0
- package/dist/cli/utils/fs.d.ts +137 -0
- package/dist/cli/utils/fs.d.ts.map +1 -0
- package/dist/cli/utils/fs.js +350 -0
- package/dist/cli/utils/fs.js.map +1 -0
- package/dist/cli/utils/index.d.ts +9 -0
- package/dist/cli/utils/index.d.ts.map +1 -0
- package/dist/cli/utils/index.js +9 -0
- package/dist/cli/utils/index.js.map +1 -0
- package/dist/cli/utils/strings.d.ts +86 -0
- package/dist/cli/utils/strings.d.ts.map +1 -0
- package/dist/cli/utils/strings.js +190 -0
- package/dist/cli/utils/strings.js.map +1 -0
- package/dist/cli/utils/version.d.ts +15 -0
- package/dist/cli/utils/version.d.ts.map +1 -0
- package/dist/cli/utils/version.js +38 -0
- package/dist/cli/utils/version.js.map +1 -0
- package/dist/config/env-validation.d.ts +49 -0
- package/dist/config/env-validation.d.ts.map +1 -0
- package/dist/config/env-validation.js +77 -0
- package/dist/config/env-validation.js.map +1 -0
- package/dist/config/env.d.ts +167 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +392 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/index.d.ts +168 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +329 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +81 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +242 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/merge.d.ts +66 -0
- package/dist/config/merge.d.ts.map +1 -0
- package/dist/config/merge.js +226 -0
- package/dist/config/merge.js.map +1 -0
- package/dist/config/types.d.ts +322 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +443 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/validation.d.ts +100 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/config/validation.js +548 -0
- package/dist/config/validation.js.map +1 -0
- package/dist/container/forward-ref.d.ts +116 -0
- package/dist/container/forward-ref.d.ts.map +1 -0
- package/dist/container/forward-ref.js +105 -0
- package/dist/container/forward-ref.js.map +1 -0
- package/dist/container/index.d.ts +95 -0
- package/dist/container/index.d.ts.map +1 -0
- package/dist/container/index.js.map +1 -0
- package/dist/context/index.d.ts +143 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js.map +1 -0
- package/dist/database/index.d.ts +219 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/migrations/index.d.ts +151 -0
- package/dist/database/migrations/index.d.ts.map +1 -0
- package/dist/database/migrations/index.js +258 -0
- package/dist/database/migrations/index.js.map +1 -0
- package/dist/database/orm/builder.d.ts +122 -0
- package/dist/database/orm/builder.d.ts.map +1 -0
- package/dist/database/orm/builder.js +355 -0
- package/dist/database/orm/builder.js.map +1 -0
- package/dist/database/orm/casts/index.d.ts +16 -0
- package/dist/database/orm/casts/index.d.ts.map +1 -0
- package/dist/database/orm/casts/index.js +131 -0
- package/dist/database/orm/casts/index.js.map +1 -0
- package/dist/database/orm/casts/types.d.ts +16 -0
- package/dist/database/orm/casts/types.d.ts.map +1 -0
- package/dist/database/orm/casts/types.js +5 -0
- package/dist/database/orm/casts/types.js.map +1 -0
- package/dist/database/orm/compiler.d.ts +90 -0
- package/dist/database/orm/compiler.d.ts.map +1 -0
- package/dist/database/orm/compiler.js +218 -0
- package/dist/database/orm/compiler.js.map +1 -0
- package/dist/database/orm/hooks/index.d.ts +53 -0
- package/dist/database/orm/hooks/index.d.ts.map +1 -0
- package/dist/database/orm/hooks/index.js +81 -0
- package/dist/database/orm/hooks/index.js.map +1 -0
- package/dist/database/orm/index.d.ts +21 -0
- package/dist/database/orm/index.d.ts.map +1 -0
- package/dist/database/orm/index.js +23 -0
- package/dist/database/orm/index.js.map +1 -0
- package/dist/database/orm/model-registry.d.ts +33 -0
- package/dist/database/orm/model-registry.d.ts.map +1 -0
- package/dist/database/orm/model-registry.js +49 -0
- package/dist/database/orm/model-registry.js.map +1 -0
- package/dist/database/orm/model.d.ts +245 -0
- package/dist/database/orm/model.d.ts.map +1 -0
- package/dist/database/orm/model.js +599 -0
- package/dist/database/orm/model.js.map +1 -0
- package/dist/database/orm/relationships/base.d.ts +69 -0
- package/dist/database/orm/relationships/base.d.ts.map +1 -0
- package/dist/database/orm/relationships/base.js +84 -0
- package/dist/database/orm/relationships/base.js.map +1 -0
- package/dist/database/orm/relationships/belongs-to-many.d.ts +47 -0
- package/dist/database/orm/relationships/belongs-to-many.d.ts.map +1 -0
- package/dist/database/orm/relationships/belongs-to-many.js +136 -0
- package/dist/database/orm/relationships/belongs-to-many.js.map +1 -0
- package/dist/database/orm/relationships/belongs-to.d.ts +17 -0
- package/dist/database/orm/relationships/belongs-to.d.ts.map +1 -0
- package/dist/database/orm/relationships/belongs-to.js +38 -0
- package/dist/database/orm/relationships/belongs-to.js.map +1 -0
- package/dist/database/orm/relationships/has-many.d.ts +14 -0
- package/dist/database/orm/relationships/has-many.d.ts.map +1 -0
- package/dist/database/orm/relationships/has-many.js +35 -0
- package/dist/database/orm/relationships/has-many.js.map +1 -0
- package/dist/database/orm/relationships/has-one.d.ts +14 -0
- package/dist/database/orm/relationships/has-one.d.ts.map +1 -0
- package/dist/database/orm/relationships/has-one.js +32 -0
- package/dist/database/orm/relationships/has-one.js.map +1 -0
- package/dist/database/orm/relationships/index.d.ts +10 -0
- package/dist/database/orm/relationships/index.d.ts.map +1 -0
- package/dist/database/orm/relationships/index.js +9 -0
- package/dist/database/orm/relationships/index.js.map +1 -0
- package/dist/database/orm/scopes/index.d.ts +36 -0
- package/dist/database/orm/scopes/index.d.ts.map +1 -0
- package/dist/database/orm/scopes/index.js +47 -0
- package/dist/database/orm/scopes/index.js.map +1 -0
- package/dist/database/schema/index.d.ts +155 -0
- package/dist/database/schema/index.d.ts.map +1 -0
- package/dist/database/schema/index.js +401 -0
- package/dist/database/schema/index.js.map +1 -0
- package/dist/frontend/api-routes.d.ts +189 -0
- package/dist/frontend/api-routes.d.ts.map +1 -0
- package/dist/frontend/api-routes.js +548 -0
- package/dist/frontend/api-routes.js.map +1 -0
- package/dist/frontend/bundler.d.ts +99 -0
- package/dist/frontend/bundler.d.ts.map +1 -0
- package/dist/frontend/bundler.js +555 -0
- package/dist/frontend/bundler.js.map +1 -0
- package/dist/frontend/console-client.d.ts +11 -0
- package/dist/frontend/console-client.d.ts.map +1 -0
- package/dist/frontend/console-client.js +414 -0
- package/dist/frontend/console-client.js.map +1 -0
- package/dist/frontend/console-stream.d.ts +138 -0
- package/dist/frontend/console-stream.d.ts.map +1 -0
- package/dist/frontend/console-stream.js +535 -0
- package/dist/frontend/console-stream.js.map +1 -0
- package/dist/frontend/dev-server.d.ts +174 -0
- package/dist/frontend/dev-server.d.ts.map +1 -0
- package/dist/frontend/dev-server.js +735 -0
- package/dist/frontend/dev-server.js.map +1 -0
- package/dist/frontend/file-router.d.ts +170 -0
- package/dist/frontend/file-router.d.ts.map +1 -0
- package/dist/frontend/file-router.js +531 -0
- package/dist/frontend/file-router.js.map +1 -0
- package/dist/frontend/frameworks/index.d.ts +41 -0
- package/dist/frontend/frameworks/index.d.ts.map +1 -0
- package/dist/frontend/frameworks/index.js +87 -0
- package/dist/frontend/frameworks/index.js.map +1 -0
- package/dist/frontend/frameworks/react.d.ts +32 -0
- package/dist/frontend/frameworks/react.d.ts.map +1 -0
- package/dist/frontend/frameworks/react.js +66 -0
- package/dist/frontend/frameworks/react.js.map +1 -0
- package/dist/frontend/frameworks/solid.d.ts +42 -0
- package/dist/frontend/frameworks/solid.d.ts.map +1 -0
- package/dist/frontend/frameworks/solid.js +84 -0
- package/dist/frontend/frameworks/solid.js.map +1 -0
- package/dist/frontend/frameworks/svelte.d.ts +57 -0
- package/dist/frontend/frameworks/svelte.d.ts.map +1 -0
- package/dist/frontend/frameworks/svelte.js +90 -0
- package/dist/frontend/frameworks/svelte.js.map +1 -0
- package/dist/frontend/frameworks/vue.d.ts +36 -0
- package/dist/frontend/frameworks/vue.d.ts.map +1 -0
- package/dist/frontend/frameworks/vue.js +72 -0
- package/dist/frontend/frameworks/vue.js.map +1 -0
- package/dist/frontend/hmr-client.d.ts +22 -0
- package/dist/frontend/hmr-client.d.ts.map +1 -0
- package/dist/frontend/hmr-client.js +654 -0
- package/dist/frontend/hmr-client.js.map +1 -0
- package/dist/frontend/hmr.d.ts +185 -0
- package/dist/frontend/hmr.d.ts.map +1 -0
- package/dist/frontend/hmr.js +619 -0
- package/dist/frontend/hmr.js.map +1 -0
- package/dist/frontend/index.d.ts +34 -0
- package/dist/frontend/index.d.ts.map +1 -0
- package/dist/frontend/index.js.map +1 -0
- package/dist/frontend/islands.d.ts +135 -0
- package/dist/frontend/islands.d.ts.map +1 -0
- package/dist/frontend/islands.js +455 -0
- package/dist/frontend/islands.js.map +1 -0
- package/dist/frontend/isr.d.ts +143 -0
- package/dist/frontend/isr.d.ts.map +1 -0
- package/dist/frontend/isr.js +440 -0
- package/dist/frontend/isr.js.map +1 -0
- package/dist/frontend/layout.d.ts +140 -0
- package/dist/frontend/layout.d.ts.map +1 -0
- package/dist/frontend/layout.js +392 -0
- package/dist/frontend/layout.js.map +1 -0
- package/dist/frontend/ssr/react.d.ts +118 -0
- package/dist/frontend/ssr/react.d.ts.map +1 -0
- package/dist/frontend/ssr/react.js +373 -0
- package/dist/frontend/ssr/react.js.map +1 -0
- package/dist/frontend/ssr/solid.d.ts +141 -0
- package/dist/frontend/ssr/solid.d.ts.map +1 -0
- package/dist/frontend/ssr/solid.js +440 -0
- package/dist/frontend/ssr/solid.js.map +1 -0
- package/dist/frontend/ssr/svelte.d.ts +158 -0
- package/dist/frontend/ssr/svelte.d.ts.map +1 -0
- package/dist/frontend/ssr/svelte.js +439 -0
- package/dist/frontend/ssr/svelte.js.map +1 -0
- package/dist/frontend/ssr/vue.d.ts +161 -0
- package/dist/frontend/ssr/vue.d.ts.map +1 -0
- package/dist/frontend/ssr/vue.js +385 -0
- package/dist/frontend/ssr/vue.js.map +1 -0
- package/dist/frontend/ssr.d.ts +147 -0
- package/dist/frontend/ssr.d.ts.map +1 -0
- package/dist/frontend/ssr.js +609 -0
- package/dist/frontend/ssr.js.map +1 -0
- package/dist/frontend/types.d.ts +1902 -0
- package/dist/frontend/types.d.ts.map +1 -0
- package/dist/frontend/types.js +8 -0
- package/dist/frontend/types.js.map +1 -0
- package/dist/graphql/built-in-engine.d.ts +36 -0
- package/dist/graphql/built-in-engine.d.ts.map +1 -0
- package/dist/graphql/built-in-engine.js +443 -0
- package/dist/graphql/built-in-engine.js.map +1 -0
- package/dist/graphql/context-builder.d.ts +44 -0
- package/dist/graphql/context-builder.d.ts.map +1 -0
- package/dist/graphql/context-builder.js +91 -0
- package/dist/graphql/context-builder.js.map +1 -0
- package/dist/graphql/decorators.d.ts +162 -0
- package/dist/graphql/decorators.d.ts.map +1 -0
- package/dist/graphql/decorators.js +291 -0
- package/dist/graphql/decorators.js.map +1 -0
- package/dist/graphql/execution-pipeline.d.ts +67 -0
- package/dist/graphql/execution-pipeline.d.ts.map +1 -0
- package/dist/graphql/execution-pipeline.js +127 -0
- package/dist/graphql/execution-pipeline.js.map +1 -0
- package/dist/graphql/graphql-module.d.ts +70 -0
- package/dist/graphql/graphql-module.d.ts.map +1 -0
- package/dist/graphql/graphql-module.js +442 -0
- package/dist/graphql/graphql-module.js.map +1 -0
- package/dist/graphql/index.d.ts +48 -0
- package/dist/graphql/index.d.ts.map +1 -0
- package/dist/graphql/index.js.map +1 -0
- package/dist/graphql/metadata.d.ts +37 -0
- package/dist/graphql/metadata.d.ts.map +1 -0
- package/dist/graphql/metadata.js +130 -0
- package/dist/graphql/metadata.js.map +1 -0
- package/dist/graphql/schema-builder.d.ts +34 -0
- package/dist/graphql/schema-builder.d.ts.map +1 -0
- package/dist/graphql/schema-builder.js +251 -0
- package/dist/graphql/schema-builder.js.map +1 -0
- package/dist/graphql/subscription-handler.d.ts +47 -0
- package/dist/graphql/subscription-handler.d.ts.map +1 -0
- package/dist/graphql/subscription-handler.js +201 -0
- package/dist/graphql/subscription-handler.js.map +1 -0
- package/dist/graphql/types.d.ts +252 -0
- package/dist/graphql/types.d.ts.map +1 -0
- package/dist/graphql/types.js +28 -0
- package/dist/graphql/types.js.map +1 -0
- package/dist/health/index.d.ts +176 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/index.js.map +1 -0
- package/dist/i18n/engine.d.ts +105 -0
- package/dist/i18n/engine.d.ts.map +1 -0
- package/dist/i18n/engine.js +248 -0
- package/dist/i18n/engine.js.map +1 -0
- package/dist/i18n/index.d.ts +13 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/loader.d.ts +79 -0
- package/dist/i18n/loader.d.ts.map +1 -0
- package/dist/i18n/loader.js +192 -0
- package/dist/i18n/loader.js.map +1 -0
- package/dist/i18n/middleware.d.ts +96 -0
- package/dist/i18n/middleware.d.ts.map +1 -0
- package/dist/i18n/middleware.js +126 -0
- package/dist/i18n/middleware.js.map +1 -0
- package/dist/i18n/negotiator.d.ts +84 -0
- package/dist/i18n/negotiator.d.ts.map +1 -0
- package/dist/i18n/negotiator.js +139 -0
- package/dist/i18n/negotiator.js.map +1 -0
- package/dist/i18n/types.d.ts +129 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/i18n/types.js +8 -0
- package/dist/i18n/types.js.map +1 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/jobs/drivers/memory.d.ts +38 -0
- package/dist/jobs/drivers/memory.d.ts.map +1 -0
- package/dist/jobs/drivers/memory.js +246 -0
- package/dist/jobs/drivers/memory.js.map +1 -0
- package/dist/jobs/drivers/redis.d.ts +34 -0
- package/dist/jobs/drivers/redis.d.ts.map +1 -0
- package/dist/jobs/drivers/redis.js +355 -0
- package/dist/jobs/drivers/redis.js.map +1 -0
- package/dist/jobs/index.d.ts +12 -0
- package/dist/jobs/index.d.ts.map +1 -0
- package/dist/jobs/index.js.map +1 -0
- package/dist/jobs/queue.d.ts +93 -0
- package/dist/jobs/queue.d.ts.map +1 -0
- package/dist/jobs/queue.js +233 -0
- package/dist/jobs/queue.js.map +1 -0
- package/dist/jobs/types.d.ts +193 -0
- package/dist/jobs/types.d.ts.map +1 -0
- package/dist/jobs/types.js +8 -0
- package/dist/jobs/types.js.map +1 -0
- package/dist/jobs/worker.d.ts +91 -0
- package/dist/jobs/worker.d.ts.map +1 -0
- package/dist/jobs/worker.js +300 -0
- package/dist/jobs/worker.js.map +1 -0
- package/dist/lock/index.d.ts +141 -0
- package/dist/lock/index.d.ts.map +1 -0
- package/dist/lock/index.js.map +1 -0
- package/dist/logger/index.d.ts +156 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/transports/index.d.ts +371 -0
- package/dist/logger/transports/index.d.ts.map +1 -0
- package/dist/logger/transports/index.js +740 -0
- package/dist/logger/transports/index.js.map +1 -0
- package/dist/metrics/index.d.ts +163 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/middleware/built-in.d.ts +50 -0
- package/dist/middleware/built-in.d.ts.map +1 -0
- package/dist/middleware/built-in.js +220 -0
- package/dist/middleware/built-in.js.map +1 -0
- package/dist/middleware/index.d.ts +40 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/migrations/index.d.ts +48 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +3 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/modules/filters.d.ts +150 -0
- package/dist/modules/filters.d.ts.map +1 -0
- package/dist/modules/filters.js +338 -0
- package/dist/modules/filters.js.map +1 -0
- package/dist/modules/guards.d.ts +188 -0
- package/dist/modules/guards.d.ts.map +1 -0
- package/dist/modules/guards.js +278 -0
- package/dist/modules/guards.js.map +1 -0
- package/dist/modules/index.d.ts +266 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/modules/interceptors.d.ts +242 -0
- package/dist/modules/interceptors.d.ts.map +1 -0
- package/dist/modules/interceptors.js +407 -0
- package/dist/modules/interceptors.js.map +1 -0
- package/dist/modules/lazy.d.ts +187 -0
- package/dist/modules/lazy.d.ts.map +1 -0
- package/dist/modules/lazy.js +305 -0
- package/dist/modules/lazy.js.map +1 -0
- package/dist/modules/lifecycle.d.ts +221 -0
- package/dist/modules/lifecycle.d.ts.map +1 -0
- package/dist/modules/lifecycle.js +314 -0
- package/dist/modules/lifecycle.js.map +1 -0
- package/dist/modules/metadata.d.ts +32 -0
- package/dist/modules/metadata.d.ts.map +1 -0
- package/dist/modules/metadata.js +59 -0
- package/dist/modules/metadata.js.map +1 -0
- package/dist/modules/pipes.d.ts +287 -0
- package/dist/modules/pipes.d.ts.map +1 -0
- package/dist/modules/pipes.js +443 -0
- package/dist/modules/pipes.js.map +1 -0
- package/dist/notification/channels/base.d.ts +32 -0
- package/dist/notification/channels/base.d.ts.map +1 -0
- package/dist/notification/channels/base.js +37 -0
- package/dist/notification/channels/base.js.map +1 -0
- package/dist/notification/channels/email.d.ts +37 -0
- package/dist/notification/channels/email.d.ts.map +1 -0
- package/dist/notification/channels/email.js +85 -0
- package/dist/notification/channels/email.js.map +1 -0
- package/dist/notification/channels/push.d.ts +37 -0
- package/dist/notification/channels/push.d.ts.map +1 -0
- package/dist/notification/channels/push.js +84 -0
- package/dist/notification/channels/push.js.map +1 -0
- package/dist/notification/channels/sms.d.ts +37 -0
- package/dist/notification/channels/sms.d.ts.map +1 -0
- package/dist/notification/channels/sms.js +83 -0
- package/dist/notification/channels/sms.js.map +1 -0
- package/dist/notification/channels/whatsapp.d.ts +37 -0
- package/dist/notification/channels/whatsapp.d.ts.map +1 -0
- package/dist/notification/channels/whatsapp.js +81 -0
- package/dist/notification/channels/whatsapp.js.map +1 -0
- package/dist/notification/index.d.ts +15 -0
- package/dist/notification/index.d.ts.map +1 -0
- package/dist/notification/index.js.map +1 -0
- package/dist/notification/service.d.ts +100 -0
- package/dist/notification/service.d.ts.map +1 -0
- package/dist/notification/service.js +279 -0
- package/dist/notification/service.js.map +1 -0
- package/dist/notification/types.d.ts +253 -0
- package/dist/notification/types.d.ts.map +1 -0
- package/dist/notification/types.js +14 -0
- package/dist/notification/types.js.map +1 -0
- package/dist/observability/__tests__/observability.test.d.ts +2 -0
- package/dist/observability/__tests__/observability.test.d.ts.map +1 -0
- package/dist/observability/__tests__/observability.test.js +404 -0
- package/dist/observability/__tests__/observability.test.js.map +1 -0
- package/dist/observability/breadcrumbs.d.ts +48 -0
- package/dist/observability/breadcrumbs.d.ts.map +1 -0
- package/dist/observability/breadcrumbs.js +97 -0
- package/dist/observability/breadcrumbs.js.map +1 -0
- package/dist/observability/index.d.ts +95 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/interceptor.d.ts +19 -0
- package/dist/observability/interceptor.d.ts.map +1 -0
- package/dist/observability/interceptor.js +67 -0
- package/dist/observability/interceptor.js.map +1 -0
- package/dist/observability/service.d.ts +101 -0
- package/dist/observability/service.d.ts.map +1 -0
- package/dist/observability/service.js +249 -0
- package/dist/observability/service.js.map +1 -0
- package/dist/observability/trace.d.ts +21 -0
- package/dist/observability/trace.d.ts.map +1 -0
- package/dist/observability/trace.js +35 -0
- package/dist/observability/trace.js.map +1 -0
- package/dist/observability/types.d.ts +172 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +8 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/openapi/decorators.d.ts +173 -0
- package/dist/openapi/decorators.d.ts.map +1 -0
- package/dist/openapi/decorators.js +276 -0
- package/dist/openapi/decorators.js.map +1 -0
- package/dist/openapi/document-builder.d.ts +82 -0
- package/dist/openapi/document-builder.d.ts.map +1 -0
- package/dist/openapi/document-builder.js +228 -0
- package/dist/openapi/document-builder.js.map +1 -0
- package/dist/openapi/index.d.ts +48 -0
- package/dist/openapi/index.d.ts.map +1 -0
- package/dist/openapi/index.js.map +1 -0
- package/dist/openapi/metadata.d.ts +36 -0
- package/dist/openapi/metadata.d.ts.map +1 -0
- package/dist/openapi/metadata.js +78 -0
- package/dist/openapi/metadata.js.map +1 -0
- package/dist/openapi/route-scanner.d.ts +34 -0
- package/dist/openapi/route-scanner.d.ts.map +1 -0
- package/dist/openapi/route-scanner.js +174 -0
- package/dist/openapi/route-scanner.js.map +1 -0
- package/dist/openapi/schema-generator.d.ts +53 -0
- package/dist/openapi/schema-generator.d.ts.map +1 -0
- package/dist/openapi/schema-generator.js +236 -0
- package/dist/openapi/schema-generator.js.map +1 -0
- package/dist/openapi/swagger-module.d.ts +57 -0
- package/dist/openapi/swagger-module.d.ts.map +1 -0
- package/dist/openapi/swagger-module.js +143 -0
- package/dist/openapi/swagger-module.js.map +1 -0
- package/dist/openapi/types.d.ts +344 -0
- package/dist/openapi/types.d.ts.map +1 -0
- package/dist/openapi/types.js +7 -0
- package/dist/openapi/types.js.map +1 -0
- package/dist/orm/index.d.ts +10 -0
- package/dist/orm/index.d.ts.map +1 -0
- package/dist/orm/index.js.map +1 -0
- package/dist/router/index.d.ts +73 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/linear.d.ts +54 -0
- package/dist/router/linear.d.ts.map +1 -0
- package/dist/router/linear.js +261 -0
- package/dist/router/linear.js.map +1 -0
- package/dist/router/regex.d.ts +49 -0
- package/dist/router/regex.d.ts.map +1 -0
- package/dist/router/regex.js +201 -0
- package/dist/router/regex.js.map +1 -0
- package/dist/router/tree.d.ts +112 -0
- package/dist/router/tree.d.ts.map +1 -0
- package/dist/router/tree.js +360 -0
- package/dist/router/tree.js.map +1 -0
- package/dist/rpc/index.d.ts +321 -0
- package/dist/rpc/index.d.ts.map +1 -0
- package/dist/rpc/index.js.map +1 -0
- package/dist/schema/index.d.ts +10 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/security/index.d.ts +126 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +309 -0
- package/dist/security/index.js.map +1 -0
- package/dist/ssg/index.d.ts +73 -0
- package/dist/ssg/index.d.ts.map +1 -0
- package/dist/ssg/index.js +464 -0
- package/dist/ssg/index.js.map +1 -0
- package/dist/storage/index.d.ts +99 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +338 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/telemetry/index.d.ts +376 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/template/index.d.ts +7 -0
- package/dist/template/index.d.ts.map +1 -0
- package/dist/template/index.js.map +1 -0
- package/dist/templates/engine.d.ts +60 -0
- package/dist/templates/engine.d.ts.map +1 -0
- package/dist/templates/engine.js +177 -0
- package/dist/templates/engine.js.map +1 -0
- package/dist/templates/index.d.ts +9 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/loader.d.ts +45 -0
- package/dist/templates/loader.d.ts.map +1 -0
- package/dist/templates/loader.js +274 -0
- package/dist/templates/loader.js.map +1 -0
- package/dist/templates/renderers/markdown.d.ts +46 -0
- package/dist/templates/renderers/markdown.d.ts.map +1 -0
- package/dist/templates/renderers/markdown.js +181 -0
- package/dist/templates/renderers/markdown.js.map +1 -0
- package/dist/templates/renderers/simple.d.ts +35 -0
- package/dist/templates/renderers/simple.d.ts.map +1 -0
- package/dist/templates/renderers/simple.js +245 -0
- package/dist/templates/renderers/simple.js.map +1 -0
- package/dist/templates/types.d.ts +138 -0
- package/dist/templates/types.d.ts.map +1 -0
- package/dist/templates/types.js +8 -0
- package/dist/templates/types.js.map +1 -0
- package/dist/testing/index.d.ts +539 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/types/index.d.ts +116 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/validation/index.d.ts +89 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +276 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/schemas.d.ts +283 -0
- package/dist/validation/schemas.d.ts.map +1 -0
- package/dist/validation/schemas.js +407 -0
- package/dist/validation/schemas.js.map +1 -0
- package/dist/websocket/index.d.ts +252 -0
- package/dist/websocket/index.d.ts.map +1 -0
- package/dist/websocket/index.js +749 -0
- package/dist/websocket/index.js.map +1 -0
- package/llms.txt +1 -1
- package/package.json +3 -3
- package/src/cli/commands/new.ts +1 -1
- package/src/cli/templates/frontend/react.ts +1 -1
- package/src/cli/templates/frontend/solid.ts +1 -1
- package/src/cli/templates/frontend/svelte.ts +1 -1
- package/src/cli/templates/frontend/vue.ts +1 -1
- package/src/cli/templates/project/default.ts +1 -1
- package/src/cli/templates/project/website.ts +3 -3
- package/src/database/migrations/index.ts +8 -0
- package/src/migrations/index.ts +40 -1
- package/src/types/index.ts +1 -1
- package/tsconfig.json +2 -6
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lazy Loading System
|
|
3
|
+
*
|
|
4
|
+
* Provides on-demand module loading for improved startup time
|
|
5
|
+
* and reduced memory usage for large applications.
|
|
6
|
+
*/
|
|
7
|
+
import type { Container, Token } from "../container";
|
|
8
|
+
/**
|
|
9
|
+
* Constructor type for module classes
|
|
10
|
+
*/
|
|
11
|
+
export type Constructor = new (...args: unknown[]) => unknown;
|
|
12
|
+
/**
|
|
13
|
+
* Lazy module loader interface
|
|
14
|
+
*/
|
|
15
|
+
export interface LazyModuleLoader {
|
|
16
|
+
/**
|
|
17
|
+
* Load the lazy module
|
|
18
|
+
*/
|
|
19
|
+
load(): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Check if the module is already loaded
|
|
22
|
+
*/
|
|
23
|
+
isLoaded(): boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Module loader function type for dynamic imports
|
|
27
|
+
*/
|
|
28
|
+
export type ModuleLoaderFn = () => Promise<Constructor>;
|
|
29
|
+
/**
|
|
30
|
+
* Metadata for lazy modules
|
|
31
|
+
*/
|
|
32
|
+
export interface LazyModuleMetadata {
|
|
33
|
+
loader: ModuleLoaderFn;
|
|
34
|
+
loaded: boolean;
|
|
35
|
+
loadedModule?: Constructor;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get lazy module metadata
|
|
39
|
+
*/
|
|
40
|
+
export declare function getLazyMetadata(target: Constructor): LazyModuleMetadata | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Check if a module is a lazy module
|
|
43
|
+
*/
|
|
44
|
+
export declare function isLazyModule(target: Constructor): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Implementation of LazyModuleLoader
|
|
47
|
+
*/
|
|
48
|
+
export declare class LazyModuleLoaderImpl implements LazyModuleLoader {
|
|
49
|
+
private loaded;
|
|
50
|
+
private loadingPromise;
|
|
51
|
+
private loader;
|
|
52
|
+
private onModuleLoaded?;
|
|
53
|
+
constructor(loader: ModuleLoaderFn, onModuleLoaded?: (moduleClass: Constructor) => Promise<void>);
|
|
54
|
+
load(): Promise<void>;
|
|
55
|
+
private doLoad;
|
|
56
|
+
isLoaded(): boolean;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Decorator to mark a module as lazy-loaded
|
|
60
|
+
*
|
|
61
|
+
* @param loader - Function that returns a Promise resolving to the module class
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* @LazyModule(() => import('./users.module').then(m => m.UsersModule))
|
|
66
|
+
* export class LazyUsersModule {}
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare function LazyModule(loader: ModuleLoaderFn): ClassDecorator;
|
|
70
|
+
/**
|
|
71
|
+
* Token for the ModuleLoader service
|
|
72
|
+
*/
|
|
73
|
+
export declare const MODULE_LOADER_TOKEN: Token<ModuleLoader>;
|
|
74
|
+
/**
|
|
75
|
+
* Options for loading lazy modules
|
|
76
|
+
*/
|
|
77
|
+
export interface LoadModuleOptions {
|
|
78
|
+
/**
|
|
79
|
+
* Skip lifecycle hooks when loading
|
|
80
|
+
*/
|
|
81
|
+
skipLifecycle?: boolean;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Module loader service for programmatically loading lazy modules
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* @Controller('admin')
|
|
89
|
+
* class AdminController {
|
|
90
|
+
* constructor(private moduleLoader: ModuleLoader) {}
|
|
91
|
+
*
|
|
92
|
+
* @Post('load-users-module')
|
|
93
|
+
* async loadUsersModule() {
|
|
94
|
+
* await this.moduleLoader.load(LazyUsersModule);
|
|
95
|
+
* return { message: 'Users module loaded' };
|
|
96
|
+
* }
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare class ModuleLoader {
|
|
101
|
+
private container;
|
|
102
|
+
private loadedModules;
|
|
103
|
+
private moduleLoaders;
|
|
104
|
+
private onModuleLoadCallback?;
|
|
105
|
+
constructor(container: Container);
|
|
106
|
+
/**
|
|
107
|
+
* Set callback to be called when a module is loaded
|
|
108
|
+
* Used by Application to register controllers and providers
|
|
109
|
+
*/
|
|
110
|
+
setOnModuleLoadCallback(callback: (moduleClass: Constructor) => Promise<void>): void;
|
|
111
|
+
/**
|
|
112
|
+
* Load a lazy module by its token/class
|
|
113
|
+
*
|
|
114
|
+
* @param moduleToken - The module class or token to load
|
|
115
|
+
* @param options - Options for loading
|
|
116
|
+
*/
|
|
117
|
+
load(moduleToken: Token | Constructor, options?: LoadModuleOptions): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Check if a module is loaded
|
|
120
|
+
*
|
|
121
|
+
* @param moduleToken - The module class or token to check
|
|
122
|
+
*/
|
|
123
|
+
isLoaded(moduleToken: Token | Constructor): boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Get all loaded module classes
|
|
126
|
+
*/
|
|
127
|
+
getLoadedModules(): Constructor[];
|
|
128
|
+
/**
|
|
129
|
+
* Preload multiple lazy modules
|
|
130
|
+
*
|
|
131
|
+
* @param moduleTokens - Array of module tokens to preload
|
|
132
|
+
*/
|
|
133
|
+
preload(moduleTokens: Array<Token | Constructor>): Promise<void>;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Registry for tracking lazy modules across the application
|
|
137
|
+
*/
|
|
138
|
+
export declare class LazyModuleRegistry {
|
|
139
|
+
private static instance;
|
|
140
|
+
private lazyModules;
|
|
141
|
+
private constructor();
|
|
142
|
+
static getInstance(): LazyModuleRegistry;
|
|
143
|
+
/**
|
|
144
|
+
* Register a lazy module
|
|
145
|
+
*/
|
|
146
|
+
register(token: Token, metadata: LazyModuleMetadata): void;
|
|
147
|
+
/**
|
|
148
|
+
* Get lazy module metadata
|
|
149
|
+
*/
|
|
150
|
+
get(token: Token): LazyModuleMetadata | undefined;
|
|
151
|
+
/**
|
|
152
|
+
* Check if a token is a registered lazy module
|
|
153
|
+
*/
|
|
154
|
+
has(token: Token): boolean;
|
|
155
|
+
/**
|
|
156
|
+
* Get all registered lazy module tokens
|
|
157
|
+
*/
|
|
158
|
+
getAllTokens(): Token[];
|
|
159
|
+
/**
|
|
160
|
+
* Clear the registry
|
|
161
|
+
*/
|
|
162
|
+
clear(): void;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Create a lazy module loader for dynamic imports
|
|
166
|
+
*
|
|
167
|
+
* @param importFn - Dynamic import function
|
|
168
|
+
* @param exportName - Name of the exported module class (default: 'default')
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* const loadUsersModule = createLazyLoader(
|
|
173
|
+
* () => import('./users.module'),
|
|
174
|
+
* 'UsersModule'
|
|
175
|
+
* );
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
export declare function createLazyLoader(importFn: () => Promise<Record<string, unknown>>, exportName?: string): ModuleLoaderFn;
|
|
179
|
+
/**
|
|
180
|
+
* Check if all lazy modules in a list are loaded
|
|
181
|
+
*/
|
|
182
|
+
export declare function areAllLazyModulesLoaded(modules: Constructor[]): boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Get list of unloaded lazy modules
|
|
185
|
+
*/
|
|
186
|
+
export declare function getUnloadedLazyModules(modules: Constructor[]): Constructor[];
|
|
187
|
+
//# sourceMappingURL=lazy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/modules/lazy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lazy Loading System
|
|
3
|
+
*
|
|
4
|
+
* Provides on-demand module loading for improved startup time
|
|
5
|
+
* and reduced memory usage for large applications.
|
|
6
|
+
*/
|
|
7
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
8
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
10
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
11
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
12
|
+
};
|
|
13
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
14
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
15
|
+
};
|
|
16
|
+
import { Injectable } from "./metadata";
|
|
17
|
+
// ============= Metadata Storage =============
|
|
18
|
+
/**
|
|
19
|
+
* WeakMap storage for lazy module metadata
|
|
20
|
+
*/
|
|
21
|
+
const lazyModuleMetadata = new WeakMap();
|
|
22
|
+
/**
|
|
23
|
+
* Set lazy module metadata
|
|
24
|
+
*/
|
|
25
|
+
function setLazyMetadata(target, metadata) {
|
|
26
|
+
lazyModuleMetadata.set(target, metadata);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get lazy module metadata
|
|
30
|
+
*/
|
|
31
|
+
export function getLazyMetadata(target) {
|
|
32
|
+
return lazyModuleMetadata.get(target);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if a module is a lazy module
|
|
36
|
+
*/
|
|
37
|
+
export function isLazyModule(target) {
|
|
38
|
+
return lazyModuleMetadata.has(target);
|
|
39
|
+
}
|
|
40
|
+
// ============= Lazy Module Loader Implementation =============
|
|
41
|
+
/**
|
|
42
|
+
* Implementation of LazyModuleLoader
|
|
43
|
+
*/
|
|
44
|
+
export class LazyModuleLoaderImpl {
|
|
45
|
+
loaded = false;
|
|
46
|
+
loadingPromise = null;
|
|
47
|
+
loader;
|
|
48
|
+
onModuleLoaded;
|
|
49
|
+
constructor(loader, onModuleLoaded) {
|
|
50
|
+
this.loader = loader;
|
|
51
|
+
this.onModuleLoaded = onModuleLoaded;
|
|
52
|
+
}
|
|
53
|
+
async load() {
|
|
54
|
+
// Return existing promise if already loading
|
|
55
|
+
if (this.loadingPromise) {
|
|
56
|
+
return this.loadingPromise;
|
|
57
|
+
}
|
|
58
|
+
// Already loaded
|
|
59
|
+
if (this.loaded) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
// Start loading
|
|
63
|
+
this.loadingPromise = this.doLoad();
|
|
64
|
+
await this.loadingPromise;
|
|
65
|
+
this.loadingPromise = null;
|
|
66
|
+
}
|
|
67
|
+
async doLoad() {
|
|
68
|
+
try {
|
|
69
|
+
const moduleClass = await this.loader();
|
|
70
|
+
this.loaded = true;
|
|
71
|
+
// Notify callback if provided
|
|
72
|
+
if (this.onModuleLoaded) {
|
|
73
|
+
await this.onModuleLoaded(moduleClass);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
this.loadingPromise = null;
|
|
78
|
+
throw new Error(`Failed to load lazy module: ${error instanceof Error ? error.message : String(error)}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
isLoaded() {
|
|
82
|
+
return this.loaded;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// ============= Lazy Module Decorator =============
|
|
86
|
+
/**
|
|
87
|
+
* Decorator to mark a module as lazy-loaded
|
|
88
|
+
*
|
|
89
|
+
* @param loader - Function that returns a Promise resolving to the module class
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* @LazyModule(() => import('./users.module').then(m => m.UsersModule))
|
|
94
|
+
* export class LazyUsersModule {}
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export function LazyModule(loader) {
|
|
98
|
+
return (target) => {
|
|
99
|
+
// Store metadata about the lazy module
|
|
100
|
+
setLazyMetadata(target, {
|
|
101
|
+
loader,
|
|
102
|
+
loaded: false,
|
|
103
|
+
});
|
|
104
|
+
return target;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
// ============= Module Loader Service =============
|
|
108
|
+
/**
|
|
109
|
+
* Token for the ModuleLoader service
|
|
110
|
+
*/
|
|
111
|
+
export const MODULE_LOADER_TOKEN = Symbol.for("ModuleLoader");
|
|
112
|
+
/**
|
|
113
|
+
* Module loader service for programmatically loading lazy modules
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* @Controller('admin')
|
|
118
|
+
* class AdminController {
|
|
119
|
+
* constructor(private moduleLoader: ModuleLoader) {}
|
|
120
|
+
*
|
|
121
|
+
* @Post('load-users-module')
|
|
122
|
+
* async loadUsersModule() {
|
|
123
|
+
* await this.moduleLoader.load(LazyUsersModule);
|
|
124
|
+
* return { message: 'Users module loaded' };
|
|
125
|
+
* }
|
|
126
|
+
* }
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
let ModuleLoader = class ModuleLoader {
|
|
130
|
+
container;
|
|
131
|
+
loadedModules = new Set();
|
|
132
|
+
moduleLoaders = new Map();
|
|
133
|
+
onModuleLoadCallback;
|
|
134
|
+
constructor(container) {
|
|
135
|
+
this.container = container;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Set callback to be called when a module is loaded
|
|
139
|
+
* Used by Application to register controllers and providers
|
|
140
|
+
*/
|
|
141
|
+
setOnModuleLoadCallback(callback) {
|
|
142
|
+
this.onModuleLoadCallback = callback;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Load a lazy module by its token/class
|
|
146
|
+
*
|
|
147
|
+
* @param moduleToken - The module class or token to load
|
|
148
|
+
* @param options - Options for loading
|
|
149
|
+
*/
|
|
150
|
+
async load(moduleToken, options = {}) {
|
|
151
|
+
// Normalize to Constructor if it's a token
|
|
152
|
+
const moduleClass = typeof moduleToken === "function" ? moduleToken : null;
|
|
153
|
+
if (!moduleClass) {
|
|
154
|
+
throw new Error("Module token must be a class constructor");
|
|
155
|
+
}
|
|
156
|
+
// Check if already loaded
|
|
157
|
+
if (this.isLoaded(moduleClass)) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
// Check if it's a lazy module
|
|
161
|
+
const metadata = getLazyMetadata(moduleClass);
|
|
162
|
+
if (!metadata) {
|
|
163
|
+
throw new Error(`Module ${moduleClass.name} is not a lazy module. Use @LazyModule decorator.`);
|
|
164
|
+
}
|
|
165
|
+
// Get or create loader
|
|
166
|
+
let loader = this.moduleLoaders.get(moduleClass);
|
|
167
|
+
if (!loader) {
|
|
168
|
+
loader = new LazyModuleLoaderImpl(metadata.loader, async (loadedModule) => {
|
|
169
|
+
// Update metadata
|
|
170
|
+
metadata.loaded = true;
|
|
171
|
+
metadata.loadedModule = loadedModule;
|
|
172
|
+
// Call the callback if set
|
|
173
|
+
if (this.onModuleLoadCallback && !options.skipLifecycle) {
|
|
174
|
+
await this.onModuleLoadCallback(loadedModule);
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
this.moduleLoaders.set(moduleClass, loader);
|
|
178
|
+
}
|
|
179
|
+
await loader.load();
|
|
180
|
+
this.loadedModules.add(moduleClass);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Check if a module is loaded
|
|
184
|
+
*
|
|
185
|
+
* @param moduleToken - The module class or token to check
|
|
186
|
+
*/
|
|
187
|
+
isLoaded(moduleToken) {
|
|
188
|
+
if (typeof moduleToken === "function") {
|
|
189
|
+
const metadata = getLazyMetadata(moduleToken);
|
|
190
|
+
if (metadata) {
|
|
191
|
+
return metadata.loaded;
|
|
192
|
+
}
|
|
193
|
+
return this.loadedModules.has(moduleToken);
|
|
194
|
+
}
|
|
195
|
+
return this.loadedModules.has(moduleToken);
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Get all loaded module classes
|
|
199
|
+
*/
|
|
200
|
+
getLoadedModules() {
|
|
201
|
+
return Array.from(this.loadedModules);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Preload multiple lazy modules
|
|
205
|
+
*
|
|
206
|
+
* @param moduleTokens - Array of module tokens to preload
|
|
207
|
+
*/
|
|
208
|
+
async preload(moduleTokens) {
|
|
209
|
+
await Promise.all(moduleTokens.map((token) => this.load(token)));
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
ModuleLoader = __decorate([
|
|
213
|
+
Injectable(),
|
|
214
|
+
__metadata("design:paramtypes", [Function])
|
|
215
|
+
], ModuleLoader);
|
|
216
|
+
export { ModuleLoader };
|
|
217
|
+
// ============= Lazy Module Registry =============
|
|
218
|
+
/**
|
|
219
|
+
* Registry for tracking lazy modules across the application
|
|
220
|
+
*/
|
|
221
|
+
export class LazyModuleRegistry {
|
|
222
|
+
static instance;
|
|
223
|
+
lazyModules = new Map();
|
|
224
|
+
constructor() { }
|
|
225
|
+
static getInstance() {
|
|
226
|
+
if (!LazyModuleRegistry.instance) {
|
|
227
|
+
LazyModuleRegistry.instance = new LazyModuleRegistry();
|
|
228
|
+
}
|
|
229
|
+
return LazyModuleRegistry.instance;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Register a lazy module
|
|
233
|
+
*/
|
|
234
|
+
register(token, metadata) {
|
|
235
|
+
this.lazyModules.set(token, metadata);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get lazy module metadata
|
|
239
|
+
*/
|
|
240
|
+
get(token) {
|
|
241
|
+
return this.lazyModules.get(token);
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Check if a token is a registered lazy module
|
|
245
|
+
*/
|
|
246
|
+
has(token) {
|
|
247
|
+
return this.lazyModules.has(token);
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Get all registered lazy module tokens
|
|
251
|
+
*/
|
|
252
|
+
getAllTokens() {
|
|
253
|
+
return Array.from(this.lazyModules.keys());
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Clear the registry
|
|
257
|
+
*/
|
|
258
|
+
clear() {
|
|
259
|
+
this.lazyModules.clear();
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
// ============= Helper Functions =============
|
|
263
|
+
/**
|
|
264
|
+
* Create a lazy module loader for dynamic imports
|
|
265
|
+
*
|
|
266
|
+
* @param importFn - Dynamic import function
|
|
267
|
+
* @param exportName - Name of the exported module class (default: 'default')
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* ```typescript
|
|
271
|
+
* const loadUsersModule = createLazyLoader(
|
|
272
|
+
* () => import('./users.module'),
|
|
273
|
+
* 'UsersModule'
|
|
274
|
+
* );
|
|
275
|
+
* ```
|
|
276
|
+
*/
|
|
277
|
+
export function createLazyLoader(importFn, exportName = "default") {
|
|
278
|
+
return async () => {
|
|
279
|
+
const module = await importFn();
|
|
280
|
+
const moduleClass = module[exportName];
|
|
281
|
+
if (!moduleClass) {
|
|
282
|
+
throw new Error(`Export "${exportName}" not found in lazy loaded module`);
|
|
283
|
+
}
|
|
284
|
+
return moduleClass;
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Check if all lazy modules in a list are loaded
|
|
289
|
+
*/
|
|
290
|
+
export function areAllLazyModulesLoaded(modules) {
|
|
291
|
+
return modules.every((module) => {
|
|
292
|
+
const metadata = getLazyMetadata(module);
|
|
293
|
+
return !metadata || metadata.loaded;
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Get list of unloaded lazy modules
|
|
298
|
+
*/
|
|
299
|
+
export function getUnloadedLazyModules(modules) {
|
|
300
|
+
return modules.filter((module) => {
|
|
301
|
+
const metadata = getLazyMetadata(module);
|
|
302
|
+
return metadata && !metadata.loaded;
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=lazy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/modules/lazy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;;;;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAsCxC,+CAA+C;AAE/C;;GAEG;AACH,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAmC,CAAC;AAE1E;;GAEG;AACH,SAAS,eAAe,CACvB,MAAmB,EACnB,QAA4B;IAE5B,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC9B,MAAmB;IAEnB,OAAO,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC/C,OAAO,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,gEAAgE;AAEhE;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACxB,MAAM,GAAG,KAAK,CAAC;IACf,cAAc,GAAyB,IAAI,CAAC;IAC5C,MAAM,CAAiB;IACvB,cAAc,CAA+C;IAErE,YACC,MAAsB,EACtB,cAA4D;QAE5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,IAAI;QACT,6CAA6C;QAC7C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC5B,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,MAAM;QACnB,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YAEnB,8BAA8B;YAC9B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,MAAM,IAAI,KAAK,CACd,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACvF,CAAC;QACH,CAAC;IACF,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACD;AAED,oDAAoD;AAEpD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CAAC,MAAsB;IAChD,OAAO,CAA6B,MAAiB,EAAa,EAAE;QACnE,uCAAuC;QACvC,eAAe,CAAC,MAAgC,EAAE;YACjD,MAAM;YACN,MAAM,EAAE,KAAK;SACb,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IACf,CAAC,CAAC;AACH,CAAC;AAED,oDAAoD;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAC5C,cAAc,CACS,CAAC;AAYzB;;;;;;;;;;;;;;;;GAgBG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAY;IAChB,SAAS,CAAY;IACrB,aAAa,GAAG,IAAI,GAAG,EAAe,CAAC;IACvC,aAAa,GAAG,IAAI,GAAG,EAAqC,CAAC;IAC7D,oBAAoB,CAA+C;IAE3E,YAAY,SAAoB;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,uBAAuB,CACtB,QAAqD;QAErD,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CACT,WAAgC,EAChC,UAA6B,EAAE;QAE/B,2CAA2C;QAC3C,MAAM,WAAW,GAChB,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAE,WAA2B,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzE,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC7D,CAAC;QAED,0BAA0B;QAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO;QACR,CAAC;QAED,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACd,UAAU,WAAW,CAAC,IAAI,mDAAmD,CAC7E,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,GAAG,IAAI,oBAAoB,CAChC,QAAQ,CAAC,MAAM,EACf,KAAK,EAAE,YAAY,EAAE,EAAE;gBACtB,kBAAkB;gBAClB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;gBACvB,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;gBAErC,2BAA2B;gBAC3B,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;oBACzD,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;gBAC/C,CAAC;YACF,CAAC,CACD,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,WAAgC;QACxC,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,eAAe,CAAC,WAA0B,CAAC,CAAC;YAC7D,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO,QAAQ,CAAC,MAAM,CAAC;YACxB,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAqC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAqC,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,gBAAgB;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,YAAwC;QACrD,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;CACD,CAAA;AAzGY,YAAY;IADxB,UAAU,EAAE;;GACA,YAAY,CAyGxB;;AAED,mDAAmD;AAEnD;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACtB,MAAM,CAAC,QAAQ,CAAqB;IACpC,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IAE3D,gBAAuB,CAAC;IAExB,MAAM,CAAC,WAAW;QACjB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YAClC,kBAAkB,CAAC,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACxD,CAAC;QACD,OAAO,kBAAkB,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAY,EAAE,QAA4B;QAClD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,KAAY;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,KAAY;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,YAAY;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACD;AAED,+CAA+C;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAC/B,QAAgD,EAChD,UAAU,GAAG,SAAS;IAEtB,OAAO,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAgB,CAAC;QACtD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,mCAAmC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,WAAW,CAAC;IACpB,CAAC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAsB;IAC7D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC;IACrC,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAsB;IAC5D,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAChC,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACrC,CAAC,CAAC,CAAC;AACJ,CAAC"}
|