nesoi 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/adapters/postgres/src/migrator/database.d.ts +37 -0
- package/lib/adapters/postgres/src/migrator/database.js +88 -0
- package/lib/adapters/postgres/src/migrator/index.d.ts +1 -0
- package/lib/adapters/postgres/src/migrator/index.js +5 -0
- package/lib/adapters/postgres/src/migrator/migration.d.ts +73 -0
- package/lib/adapters/postgres/src/migrator/migration.js +351 -0
- package/lib/adapters/postgres/src/migrator/migrator.d.ts +21 -0
- package/lib/adapters/postgres/src/migrator/migrator.js +73 -0
- package/lib/adapters/postgres/src/migrator/runner.d.ts +61 -0
- package/lib/adapters/postgres/src/migrator/runner.js +202 -0
- package/lib/adapters/postgres/src/postgres.bucket_adapter.d.ts +45 -0
- package/lib/adapters/postgres/src/postgres.bucket_adapter.js +278 -0
- package/lib/adapters/postgres/src/postgres.cli.d.ts +46 -0
- package/lib/adapters/postgres/src/postgres.cli.js +124 -0
- package/lib/adapters/postgres/src/postgres.nql.d.ts +12 -0
- package/lib/adapters/postgres/src/postgres.nql.js +69 -0
- package/lib/adapters/postgres/test/postgres.bucket_adapter.test.d.ts +1 -0
- package/lib/adapters/postgres/test/postgres.bucket_adapter.test.js +173 -0
- package/lib/adapters/postgres/test/postgres.bucket_query.test.d.ts +0 -0
- package/lib/adapters/postgres/test/postgres.bucket_query.test.js +136 -0
- package/lib/compiler/apps/monolyth/monolyth_compiler.d.ts +21 -0
- package/lib/compiler/apps/monolyth/monolyth_compiler.js +95 -0
- package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.d.ts +12 -0
- package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.js +80 -0
- package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.d.ts +12 -0
- package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.js +128 -0
- package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.d.ts +12 -0
- package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.js +75 -0
- package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.d.ts +13 -0
- package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.js +130 -0
- package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.d.ts +12 -0
- package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.js +65 -0
- package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.d.ts +12 -0
- package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.js +74 -0
- package/lib/compiler/compiler.d.ts +19 -0
- package/lib/compiler/compiler.js +83 -0
- package/lib/compiler/elements/bucket.element.d.ts +23 -0
- package/lib/compiler/elements/bucket.element.js +304 -0
- package/lib/compiler/elements/constants.element.d.ts +9 -0
- package/lib/compiler/elements/constants.element.js +88 -0
- package/lib/compiler/elements/controller.element.d.ts +6 -0
- package/lib/compiler/elements/controller.element.js +22 -0
- package/lib/compiler/elements/element.d.ts +49 -0
- package/lib/compiler/elements/element.js +105 -0
- package/lib/compiler/elements/externals.element.d.ts +19 -0
- package/lib/compiler/elements/externals.element.js +83 -0
- package/lib/compiler/elements/job.element.d.ts +7 -0
- package/lib/compiler/elements/job.element.js +62 -0
- package/lib/compiler/elements/machine.element.d.ts +10 -0
- package/lib/compiler/elements/machine.element.js +98 -0
- package/lib/compiler/elements/message.element.d.ts +9 -0
- package/lib/compiler/elements/message.element.js +175 -0
- package/lib/compiler/elements/queue.element.d.ts +6 -0
- package/lib/compiler/elements/queue.element.js +24 -0
- package/lib/compiler/elements/resource.element.d.ts +7 -0
- package/lib/compiler/elements/resource.element.js +64 -0
- package/lib/compiler/error.d.ts +21 -0
- package/lib/compiler/error.js +57 -0
- package/lib/compiler/helpers/dump_helpers.d.ts +11 -0
- package/lib/compiler/helpers/dump_helpers.js +157 -0
- package/lib/compiler/helpers/name_helpers.d.ts +20 -0
- package/lib/compiler/helpers/name_helpers.js +44 -0
- package/lib/compiler/index.d.ts +2 -0
- package/lib/compiler/index.js +7 -0
- package/lib/compiler/module.d.ts +24 -0
- package/lib/compiler/module.js +122 -0
- package/lib/compiler/stages/1_scan_stage.d.ts +10 -0
- package/lib/compiler/stages/1_scan_stage.js +23 -0
- package/lib/compiler/stages/2_treeshake_stage.d.ts +11 -0
- package/lib/compiler/stages/2_treeshake_stage.js +24 -0
- package/lib/compiler/stages/3_extract_ts_stage.d.ts +10 -0
- package/lib/compiler/stages/3_extract_ts_stage.js +71 -0
- package/lib/compiler/stages/4_build_schemas_stage.d.ts +10 -0
- package/lib/compiler/stages/4_build_schemas_stage.js +25 -0
- package/lib/compiler/stages/5_inject_ts_stage.d.ts +10 -0
- package/lib/compiler/stages/5_inject_ts_stage.js +22 -0
- package/lib/compiler/stages/6_build_elements_stage.d.ts +11 -0
- package/lib/compiler/stages/6_build_elements_stage.js +22 -0
- package/lib/compiler/stages/7_dump_stage.d.ts +14 -0
- package/lib/compiler/stages/7_dump_stage.js +208 -0
- package/lib/compiler/stages/8_diagnose_stage.d.ts +16 -0
- package/lib/compiler/stages/8_diagnose_stage.js +43 -0
- package/lib/compiler/treeshake.d.ts +58 -0
- package/lib/compiler/treeshake.js +424 -0
- package/lib/compiler/typescript/bridge/extract.d.ts +11 -0
- package/lib/compiler/typescript/bridge/extract.js +270 -0
- package/lib/compiler/typescript/bridge/inject.d.ts +10 -0
- package/lib/compiler/typescript/bridge/inject.js +140 -0
- package/lib/compiler/typescript/bridge/organize.d.ts +61 -0
- package/lib/compiler/typescript/bridge/organize.js +258 -0
- package/lib/compiler/typescript/error.d.ts +88 -0
- package/lib/compiler/typescript/error.js +265 -0
- package/lib/compiler/typescript/parser.d.ts +48 -0
- package/lib/compiler/typescript/parser.js +581 -0
- package/lib/compiler/typescript/source.d.ts +12 -0
- package/lib/compiler/typescript/source.js +87 -0
- package/lib/compiler/typescript/transformers/app_inject.transformer.d.ts +2 -0
- package/lib/compiler/typescript/transformers/app_inject.transformer.js +89 -0
- package/lib/compiler/typescript/transformers/replace_import.transformer.d.ts +4 -0
- package/lib/compiler/typescript/transformers/replace_import.transformer.js +102 -0
- package/lib/compiler/typescript/typescript_compiler.d.ts +63 -0
- package/lib/compiler/typescript/typescript_compiler.js +602 -0
- package/lib/elements/blocks/block.builder.d.ts +29 -0
- package/lib/elements/blocks/block.builder.js +87 -0
- package/lib/elements/blocks/block.d.ts +15 -0
- package/lib/elements/blocks/block.js +37 -0
- package/lib/elements/blocks/block.schema.d.ts +23 -0
- package/lib/elements/blocks/block.schema.js +15 -0
- package/lib/elements/blocks/externals/externals.builder.d.ts +30 -0
- package/lib/elements/blocks/externals/externals.builder.js +37 -0
- package/lib/elements/blocks/externals/externals.schema.d.ts +11 -0
- package/lib/elements/blocks/externals/externals.schema.js +19 -0
- package/lib/elements/blocks/job/internal/machine_job.builder.d.ts +52 -0
- package/lib/elements/blocks/job/internal/machine_job.builder.js +74 -0
- package/lib/elements/blocks/job/internal/machine_job.schema.d.ts +5 -0
- package/lib/elements/blocks/job/internal/machine_job.schema.js +10 -0
- package/lib/elements/blocks/job/internal/resource_job.builder.d.ts +109 -0
- package/lib/elements/blocks/job/internal/resource_job.builder.js +146 -0
- package/lib/elements/blocks/job/internal/resource_job.d.ts +14 -0
- package/lib/elements/blocks/job/internal/resource_job.js +30 -0
- package/lib/elements/blocks/job/internal/resource_job.schema.d.ts +11 -0
- package/lib/elements/blocks/job/internal/resource_job.schema.js +15 -0
- package/lib/elements/blocks/job/job.builder.d.ts +118 -0
- package/lib/elements/blocks/job/job.builder.js +137 -0
- package/lib/elements/blocks/job/job.d.ts +13 -0
- package/lib/elements/blocks/job/job.js +40 -0
- package/lib/elements/blocks/job/job.schema.d.ts +26 -0
- package/lib/elements/blocks/job/job.schema.js +20 -0
- package/lib/elements/blocks/machine/machine.builder.d.ts +58 -0
- package/lib/elements/blocks/machine/machine.builder.js +135 -0
- package/lib/elements/blocks/machine/machine.d.ts +86 -0
- package/lib/elements/blocks/machine/machine.js +228 -0
- package/lib/elements/blocks/machine/machine.schema.d.ts +85 -0
- package/lib/elements/blocks/machine/machine.schema.js +64 -0
- package/lib/elements/blocks/machine/machine_state.builder.d.ts +58 -0
- package/lib/elements/blocks/machine/machine_state.builder.js +186 -0
- package/lib/elements/blocks/machine/machine_transition.builder.d.ts +48 -0
- package/lib/elements/blocks/machine/machine_transition.builder.js +98 -0
- package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.d.ts +10 -0
- package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.js +17 -0
- package/lib/elements/blocks/queue/adapters/queue_adapter.d.ts +6 -0
- package/lib/elements/blocks/queue/adapters/queue_adapter.js +6 -0
- package/lib/elements/blocks/queue/queue.builder.d.ts +40 -0
- package/lib/elements/blocks/queue/queue.builder.js +31 -0
- package/lib/elements/blocks/queue/queue.d.ts +9 -0
- package/lib/elements/blocks/queue/queue.js +11 -0
- package/lib/elements/blocks/queue/queue.schema.d.ts +12 -0
- package/lib/elements/blocks/queue/queue.schema.js +17 -0
- package/lib/elements/blocks/resource/resource.builder.d.ts +60 -0
- package/lib/elements/blocks/resource/resource.builder.js +224 -0
- package/lib/elements/blocks/resource/resource.d.ts +48 -0
- package/lib/elements/blocks/resource/resource.js +125 -0
- package/lib/elements/blocks/resource/resource.schema.d.ts +32 -0
- package/lib/elements/blocks/resource/resource.schema.js +30 -0
- package/lib/elements/blocks/resource/resource.types.d.ts +38 -0
- package/lib/elements/blocks/resource/resource.types.js +3 -0
- package/lib/elements/edge/controller/adapters/cli.controller_adapter.d.ts +8 -0
- package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +17 -0
- package/lib/elements/edge/controller/adapters/controller_adapter.d.ts +14 -0
- package/lib/elements/edge/controller/adapters/controller_adapter.js +44 -0
- package/lib/elements/edge/controller/controller.builder.d.ts +78 -0
- package/lib/elements/edge/controller/controller.builder.js +178 -0
- package/lib/elements/edge/controller/controller.config.d.ts +6 -0
- package/lib/elements/edge/controller/controller.config.js +2 -0
- package/lib/elements/edge/controller/controller.d.ts +22 -0
- package/lib/elements/edge/controller/controller.js +41 -0
- package/lib/elements/edge/controller/controller.schema.d.ts +44 -0
- package/lib/elements/edge/controller/controller.schema.js +51 -0
- package/lib/elements/entities/bucket/adapters/bucket_adapter.d.ts +107 -0
- package/lib/elements/entities/bucket/adapters/bucket_adapter.js +41 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.d.ts +37 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +149 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.d.ts +0 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.js +218 -0
- package/lib/elements/entities/bucket/adapters/memory.nql.d.ts +19 -0
- package/lib/elements/entities/bucket/adapters/memory.nql.js +212 -0
- package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.d.ts +20 -0
- package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.js +31 -0
- package/lib/elements/entities/bucket/bucket.builder.d.ts +61 -0
- package/lib/elements/entities/bucket/bucket.builder.js +130 -0
- package/lib/elements/entities/bucket/bucket.config.d.ts +29 -0
- package/lib/elements/entities/bucket/bucket.config.js +2 -0
- package/lib/elements/entities/bucket/bucket.d.ts +36 -0
- package/lib/elements/entities/bucket/bucket.infer.d.ts +22 -0
- package/lib/elements/entities/bucket/bucket.infer.js +85 -0
- package/lib/elements/entities/bucket/bucket.js +125 -0
- package/lib/elements/entities/bucket/bucket.schema.d.ts +24 -0
- package/lib/elements/entities/bucket/bucket.schema.js +16 -0
- package/lib/elements/entities/bucket/bucket.types.d.ts +32 -0
- package/lib/elements/entities/bucket/bucket.types.js +2 -0
- package/lib/elements/entities/bucket/cache/bucket_cache.d.ts +35 -0
- package/lib/elements/entities/bucket/cache/bucket_cache.js +182 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.builder.d.ts +11 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.builder.js +27 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.d.ts +16 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.infer.d.ts +9 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.infer.js +2 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.js +136 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.schema.d.ts +28 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.schema.js +27 -0
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.d.ts +36 -0
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +56 -0
- package/lib/elements/entities/bucket/model/bucket_model.builder.d.ts +13 -0
- package/lib/elements/entities/bucket/model/bucket_model.builder.js +24 -0
- package/lib/elements/entities/bucket/model/bucket_model.convert.d.ts +5 -0
- package/lib/elements/entities/bucket/model/bucket_model.convert.js +51 -0
- package/lib/elements/entities/bucket/model/bucket_model.infer.d.ts +13 -0
- package/lib/elements/entities/bucket/model/bucket_model.infer.js +2 -0
- package/lib/elements/entities/bucket/model/bucket_model.schema.d.ts +35 -0
- package/lib/elements/entities/bucket/model/bucket_model.schema.js +47 -0
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.d.ts +119 -0
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +154 -0
- package/lib/elements/entities/bucket/query/nql.schema.d.ts +140 -0
- package/lib/elements/entities/bucket/query/nql.schema.js +2 -0
- package/lib/elements/entities/bucket/query/nql_compiler.d.ts +44 -0
- package/lib/elements/entities/bucket/query/nql_compiler.js +620 -0
- package/lib/elements/entities/bucket/query/nql_engine.d.ts +16 -0
- package/lib/elements/entities/bucket/query/nql_engine.js +42 -0
- package/lib/elements/entities/bucket/view/bucket_view.builder.d.ts +14 -0
- package/lib/elements/entities/bucket/view/bucket_view.builder.js +24 -0
- package/lib/elements/entities/bucket/view/bucket_view.d.ts +10 -0
- package/lib/elements/entities/bucket/view/bucket_view.js +102 -0
- package/lib/elements/entities/bucket/view/bucket_view.schema.d.ts +55 -0
- package/lib/elements/entities/bucket/view/bucket_view.schema.js +42 -0
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.d.ts +37 -0
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +138 -0
- package/lib/elements/entities/constants/constants.builder.d.ts +57 -0
- package/lib/elements/entities/constants/constants.builder.js +116 -0
- package/lib/elements/entities/constants/constants.d.ts +7 -0
- package/lib/elements/entities/constants/constants.js +15 -0
- package/lib/elements/entities/constants/constants.schema.d.ts +51 -0
- package/lib/elements/entities/constants/constants.schema.js +45 -0
- package/lib/elements/entities/message/message.builder.d.ts +33 -0
- package/lib/elements/entities/message/message.builder.js +41 -0
- package/lib/elements/entities/message/message.d.ts +11 -0
- package/lib/elements/entities/message/message.infer.d.ts +63 -0
- package/lib/elements/entities/message/message.infer.js +2 -0
- package/lib/elements/entities/message/message.js +52 -0
- package/lib/elements/entities/message/message.schema.d.ts +15 -0
- package/lib/elements/entities/message/message.schema.js +13 -0
- package/lib/elements/entities/message/message_parser.d.ts +12 -0
- package/lib/elements/entities/message/message_parser.js +112 -0
- package/lib/elements/entities/message/template/message_template.builder.d.ts +14 -0
- package/lib/elements/entities/message/template/message_template.builder.js +20 -0
- package/lib/elements/entities/message/template/message_template.schema.d.ts +57 -0
- package/lib/elements/entities/message/template/message_template.schema.js +28 -0
- package/lib/elements/entities/message/template/message_template_field.builder.d.ts +225 -0
- package/lib/elements/entities/message/template/message_template_field.builder.js +172 -0
- package/lib/elements/entities/message/template/message_template_parser.d.ts +3 -0
- package/lib/elements/entities/message/template/message_template_parser.js +83 -0
- package/lib/elements/index.d.ts +11 -0
- package/lib/elements/index.js +23 -0
- package/lib/engine/apps/app.config.d.ts +49 -0
- package/lib/engine/apps/app.config.js +38 -0
- package/lib/engine/apps/app.d.ts +70 -0
- package/lib/engine/apps/app.js +101 -0
- package/lib/engine/apps/inline.app.d.ts +48 -0
- package/lib/engine/apps/inline.app.js +144 -0
- package/lib/engine/apps/monolyth/monolyth.app.d.ts +20 -0
- package/lib/engine/apps/monolyth/monolyth.app.js +94 -0
- package/lib/engine/apps/monolyth/monolyth.cli.d.ts +45 -0
- package/lib/engine/apps/monolyth/monolyth.cli.js +362 -0
- package/lib/engine/auth/authn.d.ts +18 -0
- package/lib/engine/auth/authn.js +9 -0
- package/lib/engine/auth/zero.authn_provider.d.ts +13 -0
- package/lib/engine/auth/zero.authn_provider.js +13 -0
- package/lib/engine/cli/cli.d.ts +19 -0
- package/lib/engine/cli/cli.js +88 -0
- package/lib/engine/cli/cli_adapter.d.ts +18 -0
- package/lib/engine/cli/cli_adapter.js +61 -0
- package/lib/engine/cli/ui.d.ts +36 -0
- package/lib/engine/cli/ui.js +188 -0
- package/lib/engine/daemon.d.ts +35 -0
- package/lib/engine/daemon.js +66 -0
- package/lib/engine/data/date.d.ts +10 -0
- package/lib/engine/data/date.js +32 -0
- package/lib/engine/data/datetime.d.ts +12 -0
- package/lib/engine/data/datetime.js +31 -0
- package/lib/engine/data/decimal.d.ts +11 -0
- package/lib/engine/data/decimal.js +70 -0
- package/lib/engine/data/error.d.ts +213 -0
- package/lib/engine/data/error.js +386 -0
- package/lib/engine/data/obj.d.ts +16 -0
- package/lib/engine/data/obj.js +5 -0
- package/lib/engine/data/tree.d.ts +17 -0
- package/lib/engine/data/tree.js +111 -0
- package/lib/engine/dependency.d.ts +68 -0
- package/lib/engine/dependency.js +91 -0
- package/lib/engine/module.d.ts +97 -0
- package/lib/engine/module.js +335 -0
- package/lib/engine/space.d.ts +54 -0
- package/lib/engine/space.js +138 -0
- package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +53 -0
- package/lib/engine/transaction/nodes/bucket.trx_node.js +522 -0
- package/lib/engine/transaction/nodes/bucket_query.trx_node.d.ts +17 -0
- package/lib/engine/transaction/nodes/bucket_query.trx_node.js +82 -0
- package/lib/engine/transaction/nodes/job.trx_node.d.ts +13 -0
- package/lib/engine/transaction/nodes/job.trx_node.js +40 -0
- package/lib/engine/transaction/nodes/machine.trx_node.d.ts +12 -0
- package/lib/engine/transaction/nodes/machine.trx_node.js +39 -0
- package/lib/engine/transaction/nodes/queue.trx_node.d.ts +10 -0
- package/lib/engine/transaction/nodes/queue.trx_node.js +24 -0
- package/lib/engine/transaction/nodes/resource.trx_node.d.ts +24 -0
- package/lib/engine/transaction/nodes/resource.trx_node.js +77 -0
- package/lib/engine/transaction/trx.d.ts +50 -0
- package/lib/engine/transaction/trx.js +94 -0
- package/lib/engine/transaction/trx_engine.config.d.ts +15 -0
- package/lib/engine/transaction/trx_engine.config.js +2 -0
- package/lib/engine/transaction/trx_engine.d.ts +27 -0
- package/lib/engine/transaction/trx_engine.js +95 -0
- package/lib/engine/transaction/trx_node.d.ts +61 -0
- package/lib/engine/transaction/trx_node.js +175 -0
- package/lib/engine/tree.d.ts +34 -0
- package/lib/engine/tree.js +237 -0
- package/lib/engine/util/cache.d.ts +6 -0
- package/lib/engine/util/cache.js +20 -0
- package/lib/engine/util/console.d.ts +4 -0
- package/lib/engine/util/console.js +24 -0
- package/lib/engine/util/deep.d.ts +7 -0
- package/lib/engine/util/deep.js +2 -0
- package/lib/engine/util/dotenv.d.ts +15 -0
- package/lib/engine/util/dotenv.js +94 -0
- package/lib/engine/util/i18n.d.ts +5 -0
- package/lib/engine/util/i18n.js +19 -0
- package/lib/engine/util/log.d.ts +17 -0
- package/lib/engine/util/log.js +93 -0
- package/lib/engine/util/parse.d.ts +63 -0
- package/lib/engine/util/parse.js +229 -0
- package/lib/engine/util/promise.d.ts +3 -0
- package/lib/engine/util/promise.js +14 -0
- package/lib/engine/util/shell.d.ts +6 -0
- package/lib/engine/util/shell.js +44 -0
- package/lib/engine/util/string.d.ts +18 -0
- package/lib/engine/util/string.js +25 -0
- package/lib/engine/util/type.d.ts +7 -0
- package/lib/engine/util/type.js +3 -0
- package/lib/schema.d.ts +63 -0
- package/lib/schema.js +2 -0
- package/package.json +22 -0
- package/tools/compile.d.ts +1 -0
- package/tools/compile.js +68 -0
- package/tools/joaquin/job.d.ts +40 -0
- package/tools/joaquin/job.js +47 -0
- package/tools/joaquin/message.d.ts +12 -0
- package/tools/joaquin/message.js +47 -0
- package/tools/joaquin/mock.d.ts +28 -0
- package/tools/joaquin/mock.js +128 -0
- package/tsconfig.build.tsbuildinfo +1 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { $Module, $Space, BucketName, ViewName } from "../../../../schema";
|
|
2
|
+
import { $MessageTemplateField, $MessageTemplateFieldMeta, $MessageTemplateFieldType, $MessageTemplateFields, $MessageTemplateRule } from './message_template.schema';
|
|
3
|
+
import { $MessageInputInfer, $MessageOutputInfer, $MessageTemplateBuilderInfer } from '../message.infer';
|
|
4
|
+
import { NesoiDate } from "../../../../engine/data/date";
|
|
5
|
+
import { $Message } from '../message.schema';
|
|
6
|
+
import { ModuleTree } from "../../../../engine/tree";
|
|
7
|
+
import { NesoiObj } from "../../../../engine/data/obj";
|
|
8
|
+
import { MessageEnumpath } from '../../constants/constants.schema';
|
|
9
|
+
import { Decimal } from "../../../../engine/data/decimal";
|
|
10
|
+
import { NesoiDatetime } from "../../../../engine/data/datetime";
|
|
11
|
+
export declare class MessageTemplateFieldFactory<Space extends $Space, Module extends $Module, MsgName extends keyof Module['messages'], Message extends $Message = Module['messages'][MsgName]> {
|
|
12
|
+
private module;
|
|
13
|
+
private alias?;
|
|
14
|
+
constructor(module: string);
|
|
15
|
+
as(alias: string): Omit<typeof this, "as">;
|
|
16
|
+
get any(): MessageTemplateFieldBuilder<Module, Message, {
|
|
17
|
+
'': any;
|
|
18
|
+
}, {
|
|
19
|
+
'': any;
|
|
20
|
+
}, {}, [never, never], [never, never]>;
|
|
21
|
+
get boolean(): MessageTemplateFieldBuilder<Module, Message, {
|
|
22
|
+
'': boolean;
|
|
23
|
+
}, {
|
|
24
|
+
'': boolean;
|
|
25
|
+
}, {}, [never, never], [never, never]>;
|
|
26
|
+
get date(): MessageTemplateFieldBuilder<Module, Message, {
|
|
27
|
+
'': string;
|
|
28
|
+
}, {
|
|
29
|
+
'': NesoiDate;
|
|
30
|
+
}, {}, [never, never], [never, never]>;
|
|
31
|
+
get datetime(): MessageTemplateFieldBuilder<Module, Message, {
|
|
32
|
+
'': string;
|
|
33
|
+
}, {
|
|
34
|
+
'': NesoiDatetime;
|
|
35
|
+
}, {}, [never, never], [never, never]>;
|
|
36
|
+
decimal(config?: $MessageTemplateFieldMeta['decimal']): MessageTemplateFieldBuilder<Module, Message, {
|
|
37
|
+
'': string;
|
|
38
|
+
}, {
|
|
39
|
+
'': Decimal;
|
|
40
|
+
}, {}, [never, never], [never, never]>;
|
|
41
|
+
enum<Enumpaths extends MessageEnumpath<Module, Module['messages'][MsgName], Space['modules']>, Options extends (keyof Enumpaths & string) | readonly string[] | Record<string, any>>(options: Options): MessageTemplateFieldBuilder<Module, Message, {
|
|
42
|
+
'': (Options extends string ? keyof Enumpaths[Options & keyof Enumpaths]["options" & keyof Enumpaths[Options & keyof Enumpaths]] : Options extends (infer X)[] | readonly (infer X)[] ? X : keyof Options) & string;
|
|
43
|
+
}, {
|
|
44
|
+
'': (Options extends string ? keyof Enumpaths[Options & keyof Enumpaths]["options" & keyof Enumpaths[Options & keyof Enumpaths]] : Options extends (infer X)[] | readonly (infer X)[] ? X : keyof Options) & string;
|
|
45
|
+
}, {}, [never, never], [never, never]>;
|
|
46
|
+
file(config?: $MessageTemplateFieldMeta['file']): MessageTemplateFieldBuilder<Module, Message, {
|
|
47
|
+
'': File;
|
|
48
|
+
}, {
|
|
49
|
+
'': File;
|
|
50
|
+
}, {}, [never, never], [never, never]>;
|
|
51
|
+
get float(): MessageTemplateFieldBuilder<Module, Message, {
|
|
52
|
+
'': number;
|
|
53
|
+
}, {
|
|
54
|
+
'': number;
|
|
55
|
+
}, {}, [never, never], [never, never]>;
|
|
56
|
+
id<Name extends BucketName<Module>, View extends ViewName<Module['buckets'][Name]> | undefined>(bucket: Name, view?: View): MessageTemplateFieldBuilder<Module, Message, {
|
|
57
|
+
_id: (Module["buckets"][Name]["#data"] & NesoiObj)["id"];
|
|
58
|
+
}, {
|
|
59
|
+
'': undefined extends View ? Module["buckets"][Name]["#data"] : Module["buckets"][Name]["views"][NonNullable<View>]["#data"];
|
|
60
|
+
}, {}, [never, never], [never, never]>;
|
|
61
|
+
get int(): MessageTemplateFieldBuilder<Module, Message, {
|
|
62
|
+
'': number;
|
|
63
|
+
}, {
|
|
64
|
+
'': number;
|
|
65
|
+
}, {}, [never, never], [never, never]>;
|
|
66
|
+
get string(): MessageTemplateFieldBuilder<Module, Message, {
|
|
67
|
+
'': string;
|
|
68
|
+
}, {
|
|
69
|
+
'': string;
|
|
70
|
+
}, {}, [never, never], [never, never]>;
|
|
71
|
+
get string_or_number(): MessageTemplateFieldBuilder<Module, Message, {
|
|
72
|
+
'': string | number;
|
|
73
|
+
}, {
|
|
74
|
+
'': string | number;
|
|
75
|
+
}, {}, [never, never], [never, never]>;
|
|
76
|
+
obj<Builders extends MessageTemplateFieldBuilders>(children: Builders): MessageTemplateFieldBuilder<Module, Message, {
|
|
77
|
+
'': $MessageInputInfer<Builders>;
|
|
78
|
+
}, {
|
|
79
|
+
'': $MessageOutputInfer<Builders>;
|
|
80
|
+
}, Builders, [never, never], [never, never]>;
|
|
81
|
+
dict<Builder extends MessageTemplateFieldBuilder<Module, Message, any, any, any>>(item: Builder): MessageTemplateFieldBuilder<Module, Message, {
|
|
82
|
+
'': Record<string, Builder extends MessageTemplateFieldBuilder<any, any, infer X, any, any, [never, never], [never, never]> ? X[keyof X] : never>;
|
|
83
|
+
}, {
|
|
84
|
+
'': Record<string, Builder extends MessageTemplateFieldBuilder<any, any, any, infer X_1, any, [never, never], [never, never]> ? X_1[keyof X_1] : never>;
|
|
85
|
+
}, {
|
|
86
|
+
__dict: Builder;
|
|
87
|
+
}, [never, never], [never, never]>;
|
|
88
|
+
msg<MessageName extends keyof Module['messages'], Message extends Module['messages'][MessageName], Builders extends MessageTemplateFieldBuilders>(msg: MessageName, extra: Builders): MessageTemplateFieldBuilder<Module, Message, {
|
|
89
|
+
'': Omit<Message["#raw"], "$"> & {
|
|
90
|
+
$: any;
|
|
91
|
+
} & { [K_1 in keyof { [K in keyof Builders]: Builders[K] extends MessageTemplateFieldBuilder<any, any, infer I, any, any, infer Opt extends [undefined, undefined], infer Nul extends [null, null]> ? {
|
|
92
|
+
path: `${K & string}${keyof I & string}`;
|
|
93
|
+
data: I[keyof I];
|
|
94
|
+
opt: Opt[0];
|
|
95
|
+
nul: Nul[0];
|
|
96
|
+
} : never; } as { [K in keyof Builders]: Builders[K] extends MessageTemplateFieldBuilder<any, any, infer I, any, any, infer Opt extends [undefined, undefined], infer Nul extends [null, null]> ? {
|
|
97
|
+
path: `${K & string}${keyof I & string}`;
|
|
98
|
+
data: I[keyof I];
|
|
99
|
+
opt: Opt[0];
|
|
100
|
+
nul: Nul[0];
|
|
101
|
+
} : never; }[K_1]["opt"] extends never ? { [K in keyof Builders]: Builders[K] extends MessageTemplateFieldBuilder<any, any, infer I, any, any, infer Opt extends [undefined, undefined], infer Nul extends [null, null]> ? {
|
|
102
|
+
path: `${K & string}${keyof I & string}`;
|
|
103
|
+
data: I[keyof I];
|
|
104
|
+
opt: Opt[0];
|
|
105
|
+
nul: Nul[0];
|
|
106
|
+
} : never; }[K_1]["path"] : never]: { [K in keyof Builders]: Builders[K] extends MessageTemplateFieldBuilder<any, any, infer I, any, any, infer Opt extends [undefined, undefined], infer Nul extends [null, null]> ? {
|
|
107
|
+
path: `${K & string}${keyof I & string}`;
|
|
108
|
+
data: I[keyof I];
|
|
109
|
+
opt: Opt[0];
|
|
110
|
+
nul: Nul[0];
|
|
111
|
+
} : never; }[K_1]["data"] | { [K in keyof Builders]: Builders[K] extends MessageTemplateFieldBuilder<any, any, infer I, any, any, infer Opt extends [undefined, undefined], infer Nul extends [null, null]> ? {
|
|
112
|
+
path: `${K & string}${keyof I & string}`;
|
|
113
|
+
data: I[keyof I];
|
|
114
|
+
opt: Opt[0];
|
|
115
|
+
nul: Nul[0];
|
|
116
|
+
} : never; }[K_1]["nul"]; } & { [K_2 in keyof { [K in keyof Builders]: Builders[K] extends MessageTemplateFieldBuilder<any, any, infer I, any, any, infer Opt extends [undefined, undefined], infer Nul extends [null, null]> ? {
|
|
117
|
+
path: `${K & string}${keyof I & string}`;
|
|
118
|
+
data: I[keyof I];
|
|
119
|
+
opt: Opt[0];
|
|
120
|
+
nul: Nul[0];
|
|
121
|
+
} : never; } as { [K in keyof Builders]: Builders[K] extends MessageTemplateFieldBuilder<any, any, infer I, any, any, infer Opt extends [undefined, undefined], infer Nul extends [null, null]> ? {
|
|
122
|
+
path: `${K & string}${keyof I & string}`;
|
|
123
|
+
data: I[keyof I];
|
|
124
|
+
opt: Opt[0];
|
|
125
|
+
nul: Nul[0];
|
|
126
|
+
} : never; }[K_2]["opt"] extends never ? never : { [K in keyof Builders]: Builders[K] extends MessageTemplateFieldBuilder<any, any, infer I, any, any, infer Opt extends [undefined, undefined], infer Nul extends [null, null]> ? {
|
|
127
|
+
path: `${K & string}${keyof I & string}`;
|
|
128
|
+
data: I[keyof I];
|
|
129
|
+
opt: Opt[0];
|
|
130
|
+
nul: Nul[0];
|
|
131
|
+
} : never; }[K_2]["path"]]?: { [K in keyof Builders]: Builders[K] extends MessageTemplateFieldBuilder<any, any, infer I, any, any, infer Opt extends [undefined, undefined], infer Nul extends [null, null]> ? {
|
|
132
|
+
path: `${K & string}${keyof I & string}`;
|
|
133
|
+
data: I[keyof I];
|
|
134
|
+
opt: Opt[0];
|
|
135
|
+
nul: Nul[0];
|
|
136
|
+
} : never; }[K_2]["data"] | { [K in keyof Builders]: Builders[K] extends MessageTemplateFieldBuilder<any, any, infer I, any, any, infer Opt extends [undefined, undefined], infer Nul extends [null, null]> ? {
|
|
137
|
+
path: `${K & string}${keyof I & string}`;
|
|
138
|
+
data: I[keyof I];
|
|
139
|
+
opt: Opt[0];
|
|
140
|
+
nul: Nul[0];
|
|
141
|
+
} : never; }[K_2]["nul"] | undefined; };
|
|
142
|
+
}, {
|
|
143
|
+
'': Omit<Message["#parsed"], "$"> & {
|
|
144
|
+
$: any;
|
|
145
|
+
} & { [K_4 in keyof { [K_3 in keyof Builders]: Builders[K_3] extends MessageTemplateFieldBuilder<any, any, any, infer O, any, infer Opt_1 extends [undefined, undefined], infer Nul_1 extends [null, null]> ? {
|
|
146
|
+
path: `${K_3 & string}${keyof O & string}`;
|
|
147
|
+
data: O[keyof O];
|
|
148
|
+
opt: Opt_1[1];
|
|
149
|
+
nul: Nul_1[1];
|
|
150
|
+
} : never; } as { [K_3 in keyof Builders]: Builders[K_3] extends MessageTemplateFieldBuilder<any, any, any, infer O, any, infer Opt_1 extends [undefined, undefined], infer Nul_1 extends [null, null]> ? {
|
|
151
|
+
path: `${K_3 & string}${keyof O & string}`;
|
|
152
|
+
data: O[keyof O];
|
|
153
|
+
opt: Opt_1[1];
|
|
154
|
+
nul: Nul_1[1];
|
|
155
|
+
} : never; }[K_4]["opt"] extends never ? { [K_3 in keyof Builders]: Builders[K_3] extends MessageTemplateFieldBuilder<any, any, any, infer O, any, infer Opt_1 extends [undefined, undefined], infer Nul_1 extends [null, null]> ? {
|
|
156
|
+
path: `${K_3 & string}${keyof O & string}`;
|
|
157
|
+
data: O[keyof O];
|
|
158
|
+
opt: Opt_1[1];
|
|
159
|
+
nul: Nul_1[1];
|
|
160
|
+
} : never; }[K_4]["path"] : never]: { [K_3 in keyof Builders]: Builders[K_3] extends MessageTemplateFieldBuilder<any, any, any, infer O, any, infer Opt_1 extends [undefined, undefined], infer Nul_1 extends [null, null]> ? {
|
|
161
|
+
path: `${K_3 & string}${keyof O & string}`;
|
|
162
|
+
data: O[keyof O];
|
|
163
|
+
opt: Opt_1[1];
|
|
164
|
+
nul: Nul_1[1];
|
|
165
|
+
} : never; }[K_4]["data"] | { [K_3 in keyof Builders]: Builders[K_3] extends MessageTemplateFieldBuilder<any, any, any, infer O, any, infer Opt_1 extends [undefined, undefined], infer Nul_1 extends [null, null]> ? {
|
|
166
|
+
path: `${K_3 & string}${keyof O & string}`;
|
|
167
|
+
data: O[keyof O];
|
|
168
|
+
opt: Opt_1[1];
|
|
169
|
+
nul: Nul_1[1];
|
|
170
|
+
} : never; }[K_4]["nul"]; } & { [K_5 in keyof { [K_3 in keyof Builders]: Builders[K_3] extends MessageTemplateFieldBuilder<any, any, any, infer O, any, infer Opt_1 extends [undefined, undefined], infer Nul_1 extends [null, null]> ? {
|
|
171
|
+
path: `${K_3 & string}${keyof O & string}`;
|
|
172
|
+
data: O[keyof O];
|
|
173
|
+
opt: Opt_1[1];
|
|
174
|
+
nul: Nul_1[1];
|
|
175
|
+
} : never; } as { [K_3 in keyof Builders]: Builders[K_3] extends MessageTemplateFieldBuilder<any, any, any, infer O, any, infer Opt_1 extends [undefined, undefined], infer Nul_1 extends [null, null]> ? {
|
|
176
|
+
path: `${K_3 & string}${keyof O & string}`;
|
|
177
|
+
data: O[keyof O];
|
|
178
|
+
opt: Opt_1[1];
|
|
179
|
+
nul: Nul_1[1];
|
|
180
|
+
} : never; }[K_5]["opt"] extends never ? never : { [K_3 in keyof Builders]: Builders[K_3] extends MessageTemplateFieldBuilder<any, any, any, infer O, any, infer Opt_1 extends [undefined, undefined], infer Nul_1 extends [null, null]> ? {
|
|
181
|
+
path: `${K_3 & string}${keyof O & string}`;
|
|
182
|
+
data: O[keyof O];
|
|
183
|
+
opt: Opt_1[1];
|
|
184
|
+
nul: Nul_1[1];
|
|
185
|
+
} : never; }[K_5]["path"]]?: { [K_3 in keyof Builders]: Builders[K_3] extends MessageTemplateFieldBuilder<any, any, any, infer O, any, infer Opt_1 extends [undefined, undefined], infer Nul_1 extends [null, null]> ? {
|
|
186
|
+
path: `${K_3 & string}${keyof O & string}`;
|
|
187
|
+
data: O[keyof O];
|
|
188
|
+
opt: Opt_1[1];
|
|
189
|
+
nul: Nul_1[1];
|
|
190
|
+
} : never; }[K_5]["data"] | { [K_3 in keyof Builders]: Builders[K_3] extends MessageTemplateFieldBuilder<any, any, any, infer O, any, infer Opt_1 extends [undefined, undefined], infer Nul_1 extends [null, null]> ? {
|
|
191
|
+
path: `${K_3 & string}${keyof O & string}`;
|
|
192
|
+
data: O[keyof O];
|
|
193
|
+
opt: Opt_1[1];
|
|
194
|
+
nul: Nul_1[1];
|
|
195
|
+
} : never; }[K_5]["nul"] | undefined; };
|
|
196
|
+
}, {}, [never, never], [never, never]>;
|
|
197
|
+
extend<MsgName extends keyof Module['messages'], Builders extends MessageTemplateFieldBuilders>(name: MsgName, fields: Builders): $MessageTemplateBuilderInfer<Module, Module["messages"][MsgName], Module["messages"][MsgName]["#raw"], Module["messages"][MsgName]["#parsed"]> & Builders;
|
|
198
|
+
}
|
|
199
|
+
export declare class MessageTemplateFieldBuilder<Module extends $Module, Message extends $Message, DefinedInput, DefinedOutput, Children extends MessageTemplateFieldBuilders, Optional extends [undefined | never, undefined | never] = [never, never], // Used to infer the message type
|
|
200
|
+
Nullable extends [null | never, null | never] = [never, never]> {
|
|
201
|
+
private type;
|
|
202
|
+
private value;
|
|
203
|
+
private alias?;
|
|
204
|
+
private children?;
|
|
205
|
+
private _array;
|
|
206
|
+
private _required;
|
|
207
|
+
private _defaultValue?;
|
|
208
|
+
private _nullable;
|
|
209
|
+
private _rules;
|
|
210
|
+
private _or?;
|
|
211
|
+
constructor(type: $MessageTemplateFieldType, value: $MessageTemplateFieldMeta, alias?: string | undefined, children?: Children | undefined);
|
|
212
|
+
as(alias: string): this;
|
|
213
|
+
get optional(): MessageTemplateFieldBuilder<Module, Message, DefinedInput, DefinedOutput, Children, [undefined, undefined], Nullable>;
|
|
214
|
+
default(value: DefinedInput[keyof DefinedInput] | Nullable[0]): MessageTemplateFieldBuilder<Module, Message, DefinedInput, DefinedOutput, Children, [undefined, never], Nullable>;
|
|
215
|
+
get nullable(): MessageTemplateFieldBuilder<Module, Message, DefinedInput, DefinedOutput, Children, Optional, [null, null]>;
|
|
216
|
+
rule(rule: $MessageTemplateRule<DefinedInput[keyof DefinedInput], Message['#raw']>): this;
|
|
217
|
+
get array(): MessageTemplateFieldBuilder<Module, Message, { [K in keyof DefinedInput]: DefinedInput[K][]; }, { [K in keyof DefinedOutput]: DefinedOutput[K][]; }, Children, Optional, Nullable>;
|
|
218
|
+
or<Def extends AnyMessageTemplateFieldBuilder>(def: Def): MessageTemplateFieldBuilder<Module, Message, { [K in keyof DefinedInput]: DefinedInput[K] | (Def extends MessageTemplateFieldBuilder<any, any, infer X, any, any, [never, never], [never, never]> ? X : never)[keyof (Def extends MessageTemplateFieldBuilder<any, any, infer X, any, any, [never, never], [never, never]> ? X : never)]; }, { [K in keyof DefinedOutput]: DefinedOutput[K] | (Def extends MessageTemplateFieldBuilder<any, any, any, infer X, any, [never, never], [never, never]> ? X : never)[keyof (Def extends MessageTemplateFieldBuilder<any, any, any, infer X, any, [never, never], [never, never]> ? X : never)]; }, Children, Optional, Nullable>;
|
|
219
|
+
static build(builder: AnyMessageTemplateFieldBuilder, name: string, tree: ModuleTree, module: $Module, basePath: string): $MessageTemplateField;
|
|
220
|
+
static buildChildren(fields: MessageTemplateFieldBuilders, tree: ModuleTree, module: $Module, basePath?: string): $MessageTemplateFields;
|
|
221
|
+
}
|
|
222
|
+
export type MessageTemplateFieldBuilders = {
|
|
223
|
+
[x: string]: AnyMessageTemplateFieldBuilder;
|
|
224
|
+
};
|
|
225
|
+
export type AnyMessageTemplateFieldBuilder = MessageTemplateFieldBuilder<any, any, any, any, any>;
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageTemplateFieldBuilder = exports.MessageTemplateFieldFactory = void 0;
|
|
4
|
+
const message_template_schema_1 = require("./message_template.schema");
|
|
5
|
+
const error_1 = require("../../../../engine/data/error");
|
|
6
|
+
const dependency_1 = require("../../../../engine/dependency");
|
|
7
|
+
class MessageTemplateFieldFactory {
|
|
8
|
+
constructor(module) {
|
|
9
|
+
this.module = module;
|
|
10
|
+
}
|
|
11
|
+
as(alias) {
|
|
12
|
+
this.alias = alias;
|
|
13
|
+
return this;
|
|
14
|
+
}
|
|
15
|
+
get any() {
|
|
16
|
+
return new MessageTemplateFieldBuilder('unknown', {}, this.alias);
|
|
17
|
+
}
|
|
18
|
+
get boolean() {
|
|
19
|
+
return new MessageTemplateFieldBuilder('boolean', {}, this.alias);
|
|
20
|
+
}
|
|
21
|
+
get date() {
|
|
22
|
+
return new MessageTemplateFieldBuilder('date', {}, this.alias);
|
|
23
|
+
}
|
|
24
|
+
get datetime() {
|
|
25
|
+
return new MessageTemplateFieldBuilder('datetime', {}, this.alias);
|
|
26
|
+
}
|
|
27
|
+
decimal(config) {
|
|
28
|
+
return new MessageTemplateFieldBuilder('decimal', { decimal: config }, this.alias);
|
|
29
|
+
}
|
|
30
|
+
enum(options) {
|
|
31
|
+
let dep;
|
|
32
|
+
if (typeof options === 'string') {
|
|
33
|
+
const tag = dependency_1.$Tag.parseOrFail(options);
|
|
34
|
+
if (tag.module) {
|
|
35
|
+
dep = new dependency_1.$Dependency(this.module, 'constants', `${tag.module}::*`);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
dep = new dependency_1.$Dependency(this.module, 'constants', '*');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return new MessageTemplateFieldBuilder('enum', { enum: { options, dep } }, this.alias, undefined);
|
|
42
|
+
}
|
|
43
|
+
file(config) {
|
|
44
|
+
return new MessageTemplateFieldBuilder('file', { file: config }, this.alias);
|
|
45
|
+
}
|
|
46
|
+
get float() {
|
|
47
|
+
return new MessageTemplateFieldBuilder('float', {}, this.alias);
|
|
48
|
+
}
|
|
49
|
+
id(bucket, view) {
|
|
50
|
+
// Module and tag are updated on build
|
|
51
|
+
const ref = new dependency_1.$Dependency(this.module, 'bucket', bucket);
|
|
52
|
+
return new MessageTemplateFieldBuilder('id', { id: { bucket: ref, view: view } }, this.alias, undefined);
|
|
53
|
+
}
|
|
54
|
+
get int() {
|
|
55
|
+
return new MessageTemplateFieldBuilder('int', {}, this.alias);
|
|
56
|
+
}
|
|
57
|
+
get string() {
|
|
58
|
+
return new MessageTemplateFieldBuilder('string', {}, this.alias);
|
|
59
|
+
}
|
|
60
|
+
get string_or_number() {
|
|
61
|
+
return new MessageTemplateFieldBuilder('string_or_number', {}, this.alias);
|
|
62
|
+
}
|
|
63
|
+
obj(children) {
|
|
64
|
+
return new MessageTemplateFieldBuilder('obj', {}, this.alias, children);
|
|
65
|
+
}
|
|
66
|
+
dict(item) {
|
|
67
|
+
return new MessageTemplateFieldBuilder('dict', {}, this.alias, { __dict: item });
|
|
68
|
+
}
|
|
69
|
+
msg(msg, extra) {
|
|
70
|
+
// Module and tag are updated on build
|
|
71
|
+
const ref = new dependency_1.$Dependency(this.module, 'message', msg);
|
|
72
|
+
return new MessageTemplateFieldBuilder('msg', { msg: ref }, this.alias, extra);
|
|
73
|
+
}
|
|
74
|
+
extend(name, fields) {
|
|
75
|
+
const ref = new dependency_1.$Dependency(this.module, 'message', name);
|
|
76
|
+
return {
|
|
77
|
+
__ext: ref,
|
|
78
|
+
...fields
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.MessageTemplateFieldFactory = MessageTemplateFieldFactory;
|
|
83
|
+
class MessageTemplateFieldBuilder {
|
|
84
|
+
constructor(type, value, alias, children) {
|
|
85
|
+
this.type = type;
|
|
86
|
+
this.value = value;
|
|
87
|
+
this.alias = alias;
|
|
88
|
+
this.children = children;
|
|
89
|
+
this._array = false;
|
|
90
|
+
this._required = true;
|
|
91
|
+
this._defaultValue = undefined;
|
|
92
|
+
this._nullable = true;
|
|
93
|
+
this._rules = [];
|
|
94
|
+
}
|
|
95
|
+
as(alias) {
|
|
96
|
+
this.alias = alias;
|
|
97
|
+
return this;
|
|
98
|
+
}
|
|
99
|
+
get optional() {
|
|
100
|
+
this._required = false;
|
|
101
|
+
return this;
|
|
102
|
+
}
|
|
103
|
+
default(value) {
|
|
104
|
+
this._required = false;
|
|
105
|
+
this._defaultValue = value;
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
get nullable() {
|
|
109
|
+
this._nullable = true;
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
rule(rule) {
|
|
113
|
+
this._rules.push(rule);
|
|
114
|
+
return this;
|
|
115
|
+
}
|
|
116
|
+
get array() {
|
|
117
|
+
this._array = true;
|
|
118
|
+
return this;
|
|
119
|
+
}
|
|
120
|
+
or(def) {
|
|
121
|
+
this._or = def;
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
// Build
|
|
125
|
+
static build(builder, name, tree, module, basePath) {
|
|
126
|
+
const or = builder._or
|
|
127
|
+
? this.build(builder._or, name, tree, module, basePath)
|
|
128
|
+
: undefined;
|
|
129
|
+
const path = basePath + name + (builder.type === 'id' ? '_id' : '') + '.';
|
|
130
|
+
const childrenBasePath = builder.children
|
|
131
|
+
? path + (builder._array ? '*.' : '')
|
|
132
|
+
: undefined;
|
|
133
|
+
return new message_template_schema_1.$MessageTemplateField(builder.type, name, builder.alias || name, basePath + name, builder._array, builder._required, builder._defaultValue, builder._nullable, builder._rules, builder.value, builder.children ? MessageTemplateFieldBuilder.buildChildren(builder.children, tree, module, childrenBasePath) : undefined, or);
|
|
134
|
+
}
|
|
135
|
+
static buildChildren(fields, tree, module, basePath = '') {
|
|
136
|
+
const schema = {};
|
|
137
|
+
for (const c in fields) {
|
|
138
|
+
const child = fields[c];
|
|
139
|
+
// Extended fields inherit from other messages
|
|
140
|
+
if (child.__ext) {
|
|
141
|
+
const ext = tree.getSchema(child.__ext);
|
|
142
|
+
schema[c].children = Object.assign({}, ext.template.fields, schema[c].children || {});
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
const param = c;
|
|
146
|
+
// A .msg() parameter is an obj which takes fields from
|
|
147
|
+
// another message
|
|
148
|
+
if (child.type === 'msg') {
|
|
149
|
+
const name = child.value.msg.name;
|
|
150
|
+
const $msg = module.messages[name];
|
|
151
|
+
if (!$msg) {
|
|
152
|
+
throw error_1.NesoiError.Builder.Message.UnknownModuleMessage(name);
|
|
153
|
+
}
|
|
154
|
+
const builder = new MessageTemplateFieldFactory(module.name).obj({});
|
|
155
|
+
builder.alias = child.alias;
|
|
156
|
+
builder._required = child._required;
|
|
157
|
+
builder._defaultValue = child._defaultValue;
|
|
158
|
+
builder._nullable = child._nullable;
|
|
159
|
+
builder._rules = child._rules.slice(0, -1);
|
|
160
|
+
builder.children = child.children;
|
|
161
|
+
schema[param] = MessageTemplateFieldBuilder.build(builder, c, tree, module, basePath);
|
|
162
|
+
schema[param].children = schema[param].children || {};
|
|
163
|
+
Object.assign(schema[param].children, $msg.template.fields);
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
// All other parameters are built directly
|
|
167
|
+
schema[param] = MessageTemplateFieldBuilder.build(child, c, tree, module, basePath);
|
|
168
|
+
}
|
|
169
|
+
return schema;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.MessageTemplateFieldBuilder = MessageTemplateFieldBuilder;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { $MessageTemplateField, $MessageTemplateFields } from './message_template.schema';
|
|
2
|
+
import { AnyTrxNode } from "../../../../engine/transaction/trx_node";
|
|
3
|
+
export declare function MessageTemplateFieldParser(raw: Record<string, any>, trx: AnyTrxNode, field: $MessageTemplateField, value: any, parseFields: (trx: AnyTrxNode, fields: $MessageTemplateFields, obj: Record<string, any>) => any): Promise<Record<string, any>>;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageTemplateFieldParser = MessageTemplateFieldParser;
|
|
4
|
+
const parse_1 = require("../../../../engine/util/parse");
|
|
5
|
+
const error_1 = require("../../../../engine/data/error");
|
|
6
|
+
async function MessageTemplateFieldParser(raw, trx, field, value, parseFields) {
|
|
7
|
+
if (field.type === 'unknown') {
|
|
8
|
+
return {
|
|
9
|
+
'': value
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
if (field.type === 'boolean') {
|
|
13
|
+
return {
|
|
14
|
+
'': await (0, parse_1.parseBoolean)(field, value, field.array)
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
if (field.type === 'date') {
|
|
18
|
+
return {
|
|
19
|
+
'': await (0, parse_1.parseDate)(field, value, field.array)
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
if (field.type === 'datetime') {
|
|
23
|
+
return {
|
|
24
|
+
'': await (0, parse_1.parseDatetime)(field, value, field.array)
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if (field.type === 'decimal') {
|
|
28
|
+
return {
|
|
29
|
+
'': await (0, parse_1.parseDecimal)(field, value, field.array)
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
if (field.type === 'enum') {
|
|
33
|
+
const options = field.meta.enum.options;
|
|
34
|
+
return {
|
|
35
|
+
'': await (0, parse_1.parseEnum)(raw, field, value, field.array, options, trx)
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
if (field.type === 'file') {
|
|
39
|
+
const config = field.meta.file;
|
|
40
|
+
return {
|
|
41
|
+
'': await (0, parse_1.parseFile)(field, value, field.array, config)
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (field.type === 'float') {
|
|
45
|
+
return {
|
|
46
|
+
'': await (0, parse_1.parseFloat_)(field, value, field.array)
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (field.type === 'id') {
|
|
50
|
+
const bucket = field.meta.id.bucket;
|
|
51
|
+
const view = field.meta.id.view;
|
|
52
|
+
const parsed = await (0, parse_1.parseId)(field, value, field.array, trx, bucket.refName, view);
|
|
53
|
+
return {
|
|
54
|
+
'': parsed.obj
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
if (field.type === 'int') {
|
|
58
|
+
return {
|
|
59
|
+
'': await (0, parse_1.parseInt_)(field, value, field.array)
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
if (field.type === 'string') {
|
|
63
|
+
return {
|
|
64
|
+
'': await (0, parse_1.parseString)(field, value, field.array)
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
if (field.type === 'string_or_number') {
|
|
68
|
+
return {
|
|
69
|
+
'': await (0, parse_1.parseStringOrNumber)(field, value, field.array)
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
if (field.type === 'obj') {
|
|
73
|
+
return {
|
|
74
|
+
'': await (0, parse_1.parseObj)(field, value, field.array, trx, parseFields)
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (field.type === 'dict') {
|
|
78
|
+
return {
|
|
79
|
+
'': await (0, parse_1.parseDict)(field, value, field.array, trx, parseFields)
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
throw error_1.NesoiError.Builder.Message.UnknownTemplateFieldType(field.type);
|
|
83
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { MemoryBucketAdapter } from './entities/bucket/adapters/memory.bucket_adapter';
|
|
2
|
+
export { $Controller } from './edge/controller/controller.schema';
|
|
3
|
+
export { $Machine } from './blocks/machine/machine.schema';
|
|
4
|
+
export { $Constants } from './entities/constants/constants.schema';
|
|
5
|
+
export { $Message } from './entities/message/message.schema';
|
|
6
|
+
export { $Bucket } from './entities/bucket/bucket.schema';
|
|
7
|
+
export { $Job } from './blocks/job/job.schema';
|
|
8
|
+
export { $Resource } from './blocks/resource/resource.schema';
|
|
9
|
+
export { $Queue } from './blocks/queue/queue.schema';
|
|
10
|
+
export { $Externals } from './blocks/externals/externals.schema';
|
|
11
|
+
export { $Space, $Module } from '../schema';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.$Externals = exports.$Queue = exports.$Resource = exports.$Job = exports.$Bucket = exports.$Message = exports.$Constants = exports.$Machine = exports.$Controller = exports.MemoryBucketAdapter = void 0;
|
|
4
|
+
var memory_bucket_adapter_1 = require("./entities/bucket/adapters/memory.bucket_adapter");
|
|
5
|
+
Object.defineProperty(exports, "MemoryBucketAdapter", { enumerable: true, get: function () { return memory_bucket_adapter_1.MemoryBucketAdapter; } });
|
|
6
|
+
var controller_schema_1 = require("./edge/controller/controller.schema");
|
|
7
|
+
Object.defineProperty(exports, "$Controller", { enumerable: true, get: function () { return controller_schema_1.$Controller; } });
|
|
8
|
+
var machine_schema_1 = require("./blocks/machine/machine.schema");
|
|
9
|
+
Object.defineProperty(exports, "$Machine", { enumerable: true, get: function () { return machine_schema_1.$Machine; } });
|
|
10
|
+
var constants_schema_1 = require("./entities/constants/constants.schema");
|
|
11
|
+
Object.defineProperty(exports, "$Constants", { enumerable: true, get: function () { return constants_schema_1.$Constants; } });
|
|
12
|
+
var message_schema_1 = require("./entities/message/message.schema");
|
|
13
|
+
Object.defineProperty(exports, "$Message", { enumerable: true, get: function () { return message_schema_1.$Message; } });
|
|
14
|
+
var bucket_schema_1 = require("./entities/bucket/bucket.schema");
|
|
15
|
+
Object.defineProperty(exports, "$Bucket", { enumerable: true, get: function () { return bucket_schema_1.$Bucket; } });
|
|
16
|
+
var job_schema_1 = require("./blocks/job/job.schema");
|
|
17
|
+
Object.defineProperty(exports, "$Job", { enumerable: true, get: function () { return job_schema_1.$Job; } });
|
|
18
|
+
var resource_schema_1 = require("./blocks/resource/resource.schema");
|
|
19
|
+
Object.defineProperty(exports, "$Resource", { enumerable: true, get: function () { return resource_schema_1.$Resource; } });
|
|
20
|
+
var queue_schema_1 = require("./blocks/queue/queue.schema");
|
|
21
|
+
Object.defineProperty(exports, "$Queue", { enumerable: true, get: function () { return queue_schema_1.$Queue; } });
|
|
22
|
+
var externals_schema_1 = require("./blocks/externals/externals.schema");
|
|
23
|
+
Object.defineProperty(exports, "$Externals", { enumerable: true, get: function () { return externals_schema_1.$Externals; } });
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { $Space, ModuleName } from "../../schema";
|
|
2
|
+
import { BucketConfig } from "../../elements/entities/bucket/bucket.config";
|
|
3
|
+
import { AuthnProvider } from '../auth/authn';
|
|
4
|
+
import { ControllerConfig } from "../../elements/edge/controller/controller.config";
|
|
5
|
+
import { TrxEngineConfig } from '../transaction/trx_engine.config';
|
|
6
|
+
import { CompilerConfig } from "../../compiler/compiler";
|
|
7
|
+
import { App } from './app';
|
|
8
|
+
import { CLIConfig } from '../cli/cli';
|
|
9
|
+
export type AppConfig<S extends $Space, Modules extends ModuleName<S>> = {
|
|
10
|
+
i18n?: AppI18nConfig;
|
|
11
|
+
authn?: AppAuthnConfig<S>;
|
|
12
|
+
buckets?: AppBucketConfig<S, Modules, any>;
|
|
13
|
+
controllers?: AppControllerConfig<S, Modules, any>;
|
|
14
|
+
cli?: CLIConfig<any>;
|
|
15
|
+
compiler?: CompilerConfig;
|
|
16
|
+
trxEngine?: AppTrxEngineConfig<S, Modules, any>;
|
|
17
|
+
};
|
|
18
|
+
export type AnyAppConfig = AppConfig<any, any>;
|
|
19
|
+
export type AppI18nConfig = {
|
|
20
|
+
[x: string]: ($: Record<string, any>) => string;
|
|
21
|
+
};
|
|
22
|
+
export type AppAuthnConfig<S extends $Space> = {
|
|
23
|
+
[K in keyof S['authnUsers']]: AuthnProvider<S['authnUsers'][K]>;
|
|
24
|
+
};
|
|
25
|
+
export type AppBucketConfig<S extends $Space, Modules extends ModuleName<S>, Providers extends Record<string, any>> = Partial<{
|
|
26
|
+
[M in (Modules & keyof S['modules'])]: Partial<{
|
|
27
|
+
[K in keyof S['modules'][M]['buckets']]: BucketConfig<S['modules'][M]['buckets'][K], Providers>;
|
|
28
|
+
}>;
|
|
29
|
+
}>;
|
|
30
|
+
export type AppControllerConfig<S extends $Space, Modules extends ModuleName<S>, Providers extends Record<string, any>> = Partial<{
|
|
31
|
+
[M in (Modules & keyof S['modules'])]: Partial<{
|
|
32
|
+
[K in keyof S['modules'][M]['controllers']]: ControllerConfig<S['modules'][M]['controllers'][K], Providers>;
|
|
33
|
+
}>;
|
|
34
|
+
}>;
|
|
35
|
+
export type AppTrxEngineConfig<S extends $Space, Modules extends ModuleName<S>, Providers extends Record<string, any>> = Partial<{
|
|
36
|
+
[M in (Modules & keyof S['modules'])]: TrxEngineConfig<S, S['modules'][M], any, Providers>;
|
|
37
|
+
}>;
|
|
38
|
+
export declare class AppConfigFactory<S extends $Space, Modules extends string = ModuleName<S> & string, Providers extends Record<string, any> = Record<string, any>> {
|
|
39
|
+
private app;
|
|
40
|
+
private config;
|
|
41
|
+
constructor(app: App<S, Modules, Providers>);
|
|
42
|
+
i18n(config: AppI18nConfig): App<S, Modules, Providers>;
|
|
43
|
+
authn(config: AppAuthnConfig<S>): App<S, Modules, Providers>;
|
|
44
|
+
buckets(config: AppBucketConfig<S, Modules, Providers>): App<S, Modules, Providers>;
|
|
45
|
+
controllers(config: AppControllerConfig<S, Modules, Providers>): App<S, Modules, Providers>;
|
|
46
|
+
compiler(config: CompilerConfig): App<S, Modules, Providers>;
|
|
47
|
+
cli(config: CLIConfig<Providers>): App<S, Modules, Providers>;
|
|
48
|
+
trx(config: AppTrxEngineConfig<S, Modules, Providers>): App<S, Modules, Providers>;
|
|
49
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppConfigFactory = void 0;
|
|
4
|
+
class AppConfigFactory {
|
|
5
|
+
constructor(app) {
|
|
6
|
+
this.app = app;
|
|
7
|
+
this.config = app._config;
|
|
8
|
+
}
|
|
9
|
+
i18n(config) {
|
|
10
|
+
this.config.i18n = config;
|
|
11
|
+
return this.app;
|
|
12
|
+
}
|
|
13
|
+
authn(config) {
|
|
14
|
+
this.config.authn = config;
|
|
15
|
+
return this.app;
|
|
16
|
+
}
|
|
17
|
+
buckets(config) {
|
|
18
|
+
this.config.buckets = config;
|
|
19
|
+
return this.app;
|
|
20
|
+
}
|
|
21
|
+
controllers(config) {
|
|
22
|
+
this.config.controllers = config;
|
|
23
|
+
return this.app;
|
|
24
|
+
}
|
|
25
|
+
compiler(config) {
|
|
26
|
+
this.config.compiler = config;
|
|
27
|
+
return this.app;
|
|
28
|
+
}
|
|
29
|
+
cli(config) {
|
|
30
|
+
this.config.cli = config;
|
|
31
|
+
return this.app;
|
|
32
|
+
}
|
|
33
|
+
trx(config) {
|
|
34
|
+
this.config.trxEngine = config;
|
|
35
|
+
return this.app;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.AppConfigFactory = AppConfigFactory;
|