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,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MachineStateBuilder = void 0;
|
|
4
|
+
const machine_schema_1 = require("./machine.schema");
|
|
5
|
+
const machine_transition_builder_1 = require("./machine_transition.builder");
|
|
6
|
+
const dependency_1 = require("../../../engine/dependency");
|
|
7
|
+
const block_builder_1 = require("../block.builder");
|
|
8
|
+
const name_helpers_1 = require("../../../compiler/helpers/name_helpers");
|
|
9
|
+
const machine_job_builder_1 = require("../job/internal/machine_job.builder");
|
|
10
|
+
class MachineStateBuilder extends block_builder_1.BlockBuilder {
|
|
11
|
+
constructor(machine, module, name, _initial = false) {
|
|
12
|
+
super(module, 'machine', name);
|
|
13
|
+
this.machine = machine;
|
|
14
|
+
this._initial = _initial;
|
|
15
|
+
this._transitions = {};
|
|
16
|
+
this._states = {};
|
|
17
|
+
this._final = false;
|
|
18
|
+
this._jobs = {};
|
|
19
|
+
}
|
|
20
|
+
as(alias) {
|
|
21
|
+
this._alias = alias;
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
final() {
|
|
25
|
+
this._final = true;
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
beforeEnter(def) {
|
|
29
|
+
const machineName = this.machine.name;
|
|
30
|
+
const name = `${machineName}@${this.name}__before_enter`;
|
|
31
|
+
const builder = new machine_job_builder_1.MachineJobBuilder(this.module, name, `Before Enter ${this._alias || this.name}`, this._authn);
|
|
32
|
+
def(builder);
|
|
33
|
+
this._jobs.beforeEnter = new dependency_1.$Dependency(this.module, 'job', name);
|
|
34
|
+
// Inline nodes are registered on the machine builder,
|
|
35
|
+
// since a machine state is not a BuilderNode
|
|
36
|
+
const _inlineNodes = this.machine._inlineNodes;
|
|
37
|
+
_inlineNodes.push(new dependency_1.BuilderNode({
|
|
38
|
+
module: this.module,
|
|
39
|
+
type: 'job',
|
|
40
|
+
name: name,
|
|
41
|
+
builder: builder,
|
|
42
|
+
isInline: true,
|
|
43
|
+
filepath: [], // This is added later by Treeshake.blockInlineNodes()
|
|
44
|
+
dependencies: [] // This is added later by Treeshake.*()
|
|
45
|
+
}));
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
afterEnter(def) {
|
|
49
|
+
const machineName = this.machine.name;
|
|
50
|
+
const name = `${machineName}@${this.name}__after_enter`;
|
|
51
|
+
const builder = new machine_job_builder_1.MachineJobBuilder(this.module, name, `On Enter ${this._alias || this.name}`, this._authn);
|
|
52
|
+
def(builder);
|
|
53
|
+
this._jobs.afterEnter = new dependency_1.$Dependency(this.module, 'job', name);
|
|
54
|
+
// Inline nodes are registered on the machine builder,
|
|
55
|
+
// since a machine state is not a BuilderNode
|
|
56
|
+
const _inlineNodes = this.machine._inlineNodes;
|
|
57
|
+
_inlineNodes.push(new dependency_1.BuilderNode({
|
|
58
|
+
module: this.module,
|
|
59
|
+
type: 'job',
|
|
60
|
+
name: name,
|
|
61
|
+
builder: builder,
|
|
62
|
+
isInline: true,
|
|
63
|
+
filepath: [], // This is added later by Treeshake.blockInlineNodes()
|
|
64
|
+
dependencies: [] // This is added later by Treeshake.*()
|
|
65
|
+
}));
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
beforeLeave(def) {
|
|
69
|
+
const machineName = this.machine.name;
|
|
70
|
+
const name = `${machineName}@${this.name}__before_leave`;
|
|
71
|
+
const builder = new machine_job_builder_1.MachineJobBuilder(this.module, name, `Before leave ${this._alias || this.name}`, this._authn);
|
|
72
|
+
def(builder);
|
|
73
|
+
this._jobs.beforeLeave = new dependency_1.$Dependency(this.module, 'job', name);
|
|
74
|
+
// Inline nodes are registered on the machine builder,
|
|
75
|
+
// since a machine state is not a BuilderNode
|
|
76
|
+
const _inlineNodes = this.machine._inlineNodes;
|
|
77
|
+
_inlineNodes.push(new dependency_1.BuilderNode({
|
|
78
|
+
module: this.module,
|
|
79
|
+
type: 'job',
|
|
80
|
+
name: name,
|
|
81
|
+
builder: builder,
|
|
82
|
+
isInline: true,
|
|
83
|
+
filepath: [], // This is added later by Treeshake.blockInlineNodes()
|
|
84
|
+
dependencies: [] // This is added later by Treeshake.*()
|
|
85
|
+
}));
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
afterLeave(def) {
|
|
89
|
+
const machineName = this.machine.name;
|
|
90
|
+
const name = `${machineName}@${this.name}__after_leave`;
|
|
91
|
+
const builder = new machine_job_builder_1.MachineJobBuilder(this.module, name, `On leave ${this._alias || this.name}`, this._authn);
|
|
92
|
+
def(builder);
|
|
93
|
+
this._jobs.afterLeave = new dependency_1.$Dependency(this.module, 'job', name);
|
|
94
|
+
// Inline nodes are registered on the machine builder,
|
|
95
|
+
// since a machine state is not a BuilderNode
|
|
96
|
+
const _inlineNodes = this.machine._inlineNodes;
|
|
97
|
+
_inlineNodes.push(new dependency_1.BuilderNode({
|
|
98
|
+
module: this.module,
|
|
99
|
+
type: 'job',
|
|
100
|
+
name: name,
|
|
101
|
+
builder: builder,
|
|
102
|
+
isInline: true,
|
|
103
|
+
filepath: [], // This is added later by Treeshake.blockInlineNodes()
|
|
104
|
+
dependencies: [] // This is added later by Treeshake.*()
|
|
105
|
+
}));
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
transition(msg, $) {
|
|
109
|
+
const machineName = this.machine.name;
|
|
110
|
+
const msgName = name_helpers_1.NameHelpers.unabbrevName(msg, machineName);
|
|
111
|
+
const msgDep = new dependency_1.$Dependency(this.module, 'message', msgName);
|
|
112
|
+
const builder = new machine_transition_builder_1.MachineTransitionBuilder(this.machine, this.module, this.name, msgDep);
|
|
113
|
+
$(builder);
|
|
114
|
+
if (!(msgName in this._transitions)) {
|
|
115
|
+
this._transitions[msgName] = [];
|
|
116
|
+
}
|
|
117
|
+
this._transitions[msgName].push(builder);
|
|
118
|
+
return this;
|
|
119
|
+
}
|
|
120
|
+
state(name, $) {
|
|
121
|
+
const builder = new MachineStateBuilder(this.machine, this.module, `${this.name}.${name}`, Object.values(this._states).length === 0);
|
|
122
|
+
if ($) {
|
|
123
|
+
$(builder);
|
|
124
|
+
}
|
|
125
|
+
this._states[name] = builder;
|
|
126
|
+
return this;
|
|
127
|
+
}
|
|
128
|
+
/** Build */
|
|
129
|
+
static build(builder) {
|
|
130
|
+
const input = [];
|
|
131
|
+
// Build all transitions from this state
|
|
132
|
+
const transitions = {
|
|
133
|
+
from: {
|
|
134
|
+
[builder.name]: {}
|
|
135
|
+
},
|
|
136
|
+
to: {}
|
|
137
|
+
};
|
|
138
|
+
// For each state+message, there's a list of transitions
|
|
139
|
+
Object.entries(builder._transitions)
|
|
140
|
+
.forEach(([msgName, msgTransitions]) => {
|
|
141
|
+
// Here we build each transition of the list
|
|
142
|
+
const $transitions = msgTransitions
|
|
143
|
+
.map(trans => machine_transition_builder_1.MachineTransitionBuilder.build(trans))
|
|
144
|
+
.flat(1);
|
|
145
|
+
// This list represents all transitions from this state for a given message
|
|
146
|
+
transitions.from[builder.name][msgName] = $transitions;
|
|
147
|
+
// Now, for each transition, we find it's target and store the transition to it
|
|
148
|
+
$transitions.forEach($trans => {
|
|
149
|
+
if (!($trans.to in transitions.to)) {
|
|
150
|
+
transitions.to[$trans.to] = {};
|
|
151
|
+
}
|
|
152
|
+
if (!($trans.msg.refName in transitions.to[$trans.to])) {
|
|
153
|
+
transitions.to[$trans.to][$trans.msg.refName] = [];
|
|
154
|
+
}
|
|
155
|
+
transitions.to[$trans.to][$trans.msg.refName].push($trans);
|
|
156
|
+
// We also take note of unique transition input messages
|
|
157
|
+
if (!input.some(dep => dep.tag === $trans.msg.tag)) {
|
|
158
|
+
input.push($trans.msg);
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
// Build this state
|
|
163
|
+
const states = {};
|
|
164
|
+
states[builder.name] = new machine_schema_1.$MachineState(builder.module, builder.name, builder._alias || builder.name, builder._authn, builder._initial, builder._final, [], // This is filled by the machine (after all transitions are built)
|
|
165
|
+
[], // This is filled by the machine (after all transitions are built)
|
|
166
|
+
builder._jobs);
|
|
167
|
+
// Build substates
|
|
168
|
+
for (const key in builder._states) {
|
|
169
|
+
const childBuilder = builder._states[key];
|
|
170
|
+
const child = MachineStateBuilder.build(childBuilder);
|
|
171
|
+
// Merge states, transitions, input and inlineNodes
|
|
172
|
+
Object.assign(states, child.states);
|
|
173
|
+
machine_transition_builder_1.MachineTransitionBuilder.merge(transitions, child.transitions);
|
|
174
|
+
Object.values(child.states).forEach(state => {
|
|
175
|
+
state.input.forEach(msg => {
|
|
176
|
+
if (!input.some(dep => dep.tag === msg.tag)) {
|
|
177
|
+
input.push(msg);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
// (Inline nodes are registered on the Machine (a state is not a BuilderNode))
|
|
183
|
+
return { states, transitions };
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
exports.MachineStateBuilder = MachineStateBuilder;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { $Module, $Space } from "../../../schema";
|
|
2
|
+
import { $Machine, $MachineTransition, $MachineTransitions } from './machine.schema';
|
|
3
|
+
import { $Job, $JobAssert, $JobMethod } from "../job/job.schema";
|
|
4
|
+
import { TrxNode } from "../../../engine/transaction/trx_node";
|
|
5
|
+
import { $Dependency } from "../../../engine/dependency";
|
|
6
|
+
import { BlockBuilder } from '../block.builder';
|
|
7
|
+
import { $Message } from "../../entities/message/message.schema";
|
|
8
|
+
import { Overlay } from "../../../engine/util/type";
|
|
9
|
+
import { AnyMachineBuilder } from './machine.builder';
|
|
10
|
+
import { MachineJobDef } from '../job/internal/machine_job.builder';
|
|
11
|
+
type JobWithMatchingInput<M extends $Module, Input extends $Message> = {
|
|
12
|
+
[J in keyof M['jobs']]: Input extends M['jobs'][J]['#input'] ? J : never;
|
|
13
|
+
}[keyof M['jobs']];
|
|
14
|
+
export declare class MachineTransitionBuilder<S extends $Space, M extends $Module, $M extends $Machine, $ extends $MachineTransition = $MachineTransition> extends BlockBuilder<S, M, 'machine'> {
|
|
15
|
+
private machine;
|
|
16
|
+
private _from;
|
|
17
|
+
private _msg;
|
|
18
|
+
private index;
|
|
19
|
+
private _condition?;
|
|
20
|
+
private _else?;
|
|
21
|
+
private _to?;
|
|
22
|
+
private _jobs;
|
|
23
|
+
constructor(machine: AnyMachineBuilder, module: string, _from: string, _msg: $Dependency, index?: number);
|
|
24
|
+
as(alias: string): this;
|
|
25
|
+
if<Assert extends $JobAssert<TrxNode<S, M, $M['#authn']>, $['#input']['#parsed'], never, {
|
|
26
|
+
obj: $M['#data'];
|
|
27
|
+
}>, Condition extends $JobMethod<TrxNode<S, M, $M['#authn']>, $['#input']['#parsed'], boolean, never, {
|
|
28
|
+
obj: $M['#data'];
|
|
29
|
+
}>>(condition: Assert | Condition): this;
|
|
30
|
+
else<Def extends MachineTransitionDef<S, M, $M, $>>($: Def): this;
|
|
31
|
+
goTo<To extends keyof $M['states'] | '.'>(target: To): MachineTransitionBuilder<S, M, $M, Overlay<$, {
|
|
32
|
+
to: To & string;
|
|
33
|
+
}>>;
|
|
34
|
+
runJob<Def extends MachineJobDef<S, M, $['name'], Overlay<$Job, {
|
|
35
|
+
'#input': $['#input'];
|
|
36
|
+
}>, {
|
|
37
|
+
obj: $M['#data'];
|
|
38
|
+
from: $['from'];
|
|
39
|
+
to: $['to'];
|
|
40
|
+
}>, Name extends JobWithMatchingInput<M, $['#input']>>(def: Name | Def): this;
|
|
41
|
+
/** Util */
|
|
42
|
+
static merge(a: $MachineTransitions, b: $MachineTransitions): void;
|
|
43
|
+
/** Build */
|
|
44
|
+
static build(builder: AnyMachineTransitionBuilder): $MachineTransition[];
|
|
45
|
+
}
|
|
46
|
+
export type MachineTransitionDef<S extends $Space, M extends $Module, $M extends $Machine, $ extends $MachineTransition = $MachineTransition> = ($: MachineTransitionBuilder<S, M, $M, $>) => any;
|
|
47
|
+
export type AnyMachineTransitionBuilder = MachineTransitionBuilder<any, any, any, any>;
|
|
48
|
+
export {};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MachineTransitionBuilder = void 0;
|
|
4
|
+
const machine_schema_1 = require("./machine.schema");
|
|
5
|
+
const dependency_1 = require("../../../engine/dependency");
|
|
6
|
+
const block_builder_1 = require("../block.builder");
|
|
7
|
+
const machine_job_builder_1 = require("../job/internal/machine_job.builder");
|
|
8
|
+
class MachineTransitionBuilder extends block_builder_1.BlockBuilder {
|
|
9
|
+
constructor(machine, module, _from, _msg, index = 0) {
|
|
10
|
+
super(module, 'machine', `${_from}~${_msg.refName}`);
|
|
11
|
+
this.machine = machine;
|
|
12
|
+
this._from = _from;
|
|
13
|
+
this._msg = _msg;
|
|
14
|
+
this.index = index;
|
|
15
|
+
this._jobs = [];
|
|
16
|
+
}
|
|
17
|
+
as(alias) {
|
|
18
|
+
this._alias = alias;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
if(condition) {
|
|
22
|
+
this._condition = condition;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
else($) {
|
|
26
|
+
const builder = new MachineTransitionBuilder(this.machine, this.module, this._from, this._msg, this.index + 1);
|
|
27
|
+
$(builder);
|
|
28
|
+
this._else = builder;
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
goTo(target) {
|
|
32
|
+
this._to = target;
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
runJob(def) {
|
|
36
|
+
if (typeof def === 'string') {
|
|
37
|
+
this._jobs.push(new dependency_1.$Dependency(this.module, 'job', def));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
const machineName = this.machine.name;
|
|
41
|
+
const name = `${machineName}@${this.name}#${this.index}`;
|
|
42
|
+
const builder = new machine_job_builder_1.MachineJobBuilder(this.module, name, this._alias || name, this._authn, [this._msg]);
|
|
43
|
+
def(builder);
|
|
44
|
+
this._jobs.push(new dependency_1.$Dependency(this.module, 'job', name));
|
|
45
|
+
// Inline nodes are registered on the machine builder,
|
|
46
|
+
// since a machine transition is not a BuilderNode
|
|
47
|
+
const _inlineNodes = this.machine._inlineNodes;
|
|
48
|
+
_inlineNodes.push(new dependency_1.BuilderNode({
|
|
49
|
+
module: this.module,
|
|
50
|
+
type: 'job',
|
|
51
|
+
name: name,
|
|
52
|
+
builder: builder,
|
|
53
|
+
isInline: true,
|
|
54
|
+
filepath: [], // This is added later by Treeshake.blockInlineNodes()
|
|
55
|
+
dependencies: [] // This is added later by Treeshake.*()
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
/** Util */
|
|
61
|
+
static merge(a, b) {
|
|
62
|
+
Object.entries(b.from).forEach(([state, group]) => {
|
|
63
|
+
Object.entries(group).forEach(([msg, transx]) => {
|
|
64
|
+
if (!(state in a.from)) {
|
|
65
|
+
a.from[state] = {};
|
|
66
|
+
}
|
|
67
|
+
if (!(msg in a.from[state])) {
|
|
68
|
+
a.from[state][msg] = [];
|
|
69
|
+
}
|
|
70
|
+
a.from[state][msg].push(...transx);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
Object.entries(b.to).forEach(([state, group]) => {
|
|
74
|
+
Object.entries(group).forEach(([msg, transx]) => {
|
|
75
|
+
if (!(state in a.to)) {
|
|
76
|
+
a.to[state] = {};
|
|
77
|
+
}
|
|
78
|
+
if (!(msg in a.to[state])) {
|
|
79
|
+
a.to[state][msg] = [];
|
|
80
|
+
}
|
|
81
|
+
a.to[state][msg].push(...transx);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/** Build */
|
|
86
|
+
static build(builder) {
|
|
87
|
+
const transitions = [];
|
|
88
|
+
const self = new machine_schema_1.$MachineTransition(builder.module, builder.name, builder._alias || builder.name, builder._authn, builder._msg, builder._from, builder._to || builder._from, builder._condition, builder._jobs);
|
|
89
|
+
transitions.push(self);
|
|
90
|
+
if (builder._else) {
|
|
91
|
+
const others = MachineTransitionBuilder.build(builder._else);
|
|
92
|
+
transitions.push(...others);
|
|
93
|
+
}
|
|
94
|
+
// (Inline nodes are registered on the Machine (a transition is not a BuilderNode))
|
|
95
|
+
return transitions;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.MachineTransitionBuilder = MachineTransitionBuilder;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { $Module } from "../../../../schema";
|
|
2
|
+
import { QueueAdapter } from './queue_adapter';
|
|
3
|
+
import { AnyMessage } from "../../../entities/message/message";
|
|
4
|
+
import { AnyTrxNode } from "../../../../engine/transaction/trx_node";
|
|
5
|
+
export declare class BucketQueueAdapter<M extends $Module> extends QueueAdapter {
|
|
6
|
+
protected bucket: keyof M['buckets'];
|
|
7
|
+
constructor(bucket: keyof M['buckets']);
|
|
8
|
+
push(trx: AnyTrxNode, message: AnyMessage): Promise<void>;
|
|
9
|
+
pop(trx: AnyTrxNode): Promise<AnyMessage | undefined>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BucketQueueAdapter = void 0;
|
|
4
|
+
const queue_adapter_1 = require("./queue_adapter");
|
|
5
|
+
class BucketQueueAdapter extends queue_adapter_1.QueueAdapter {
|
|
6
|
+
constructor(bucket) {
|
|
7
|
+
super();
|
|
8
|
+
this.bucket = bucket;
|
|
9
|
+
}
|
|
10
|
+
async push(trx, message) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
async pop(trx) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.BucketQueueAdapter = BucketQueueAdapter;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AnyTrxNode } from "../../../../engine/transaction/trx_node";
|
|
2
|
+
import { AnyMessage } from "../../../entities/message/message";
|
|
3
|
+
export declare abstract class QueueAdapter {
|
|
4
|
+
abstract push(trx: AnyTrxNode, message: AnyMessage): Promise<void>;
|
|
5
|
+
abstract pop(trx: AnyTrxNode): Promise<AnyMessage | undefined>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { $Module, $Space, ScopedMessage, ScopedMessageName } from "../../../schema";
|
|
2
|
+
import { $Queue } from './queue.schema';
|
|
3
|
+
import { ResolvedBuilderNode } from "../../../engine/dependency";
|
|
4
|
+
import { BlockBuilder } from '../block.builder';
|
|
5
|
+
import { Overlay } from "../../../engine/util/type";
|
|
6
|
+
import { MultiMessageTemplateDef } from "../../entities/message/template/message_template.builder";
|
|
7
|
+
import { $MessageInfer } from "../../entities/message/message.infer";
|
|
8
|
+
import { ModuleTree } from "../../../engine/tree";
|
|
9
|
+
export declare class QueueBuilder<Space extends $Space, M extends $Module, $ extends $Queue> extends BlockBuilder<Space, M, 'queue'> {
|
|
10
|
+
$b: "queue";
|
|
11
|
+
constructor(module: string, name: string);
|
|
12
|
+
authn<U extends keyof Space['authnUsers']>(...providers: U[]): QueueBuilder<Space, M, $ & {
|
|
13
|
+
"#authn": U extends any[] ? U[number] : U;
|
|
14
|
+
}>;
|
|
15
|
+
messages<Def extends MultiMessageTemplateDef<Space, M>>(def: Def): QueueBuilder<Space, Overlay<M, {
|
|
16
|
+
messages: Overlay<M["messages"], { [K in keyof ReturnType<Def> as `${string}${K extends "" ? "" : "."}${K & string}`]: $MessageInfer<`${string}${K extends "" ? "" : "."}${K & string}`, ($: any) => ReturnType<Def>[K], ReturnType<Def>[K], import("../../entities/message/message.infer").$MessageInputInfer<ReturnType<Def>[K], ReturnType<Def>[K] extends infer T ? { [K_1 in keyof T]: ReturnType<Def>[K][K_1] extends import("../../entities/message/template/message_template_field.builder").MessageTemplateFieldBuilder<any, any, infer I, any, any, infer Opt extends [undefined, undefined], infer Nul extends [null, null]> ? {
|
|
17
|
+
path: `${K_1 & string}${keyof I & string}`;
|
|
18
|
+
data: I[keyof I];
|
|
19
|
+
opt: Opt[0];
|
|
20
|
+
nul: Nul[0];
|
|
21
|
+
} : never; } : never>, import("../../entities/message/message.infer").$MessageOutputInfer<ReturnType<Def>[K], ReturnType<Def>[K] extends infer T_1 ? { [K_2 in keyof T_1]: ReturnType<Def>[K][K_2] extends import("../../entities/message/template/message_template_field.builder").MessageTemplateFieldBuilder<any, any, any, infer O, any, infer Opt_1 extends [undefined, undefined], infer Nul_1 extends [null, null]> ? {
|
|
22
|
+
path: `${K_2 & string}${keyof O & string}`;
|
|
23
|
+
data: O[keyof O];
|
|
24
|
+
opt: Opt_1[1];
|
|
25
|
+
nul: Nul_1[1];
|
|
26
|
+
} : never; } : never>>; }>;
|
|
27
|
+
}>, $>;
|
|
28
|
+
input<MsgName extends ScopedMessageName<M, $['name']>, Msg extends ScopedMessage<M, $['name'], MsgName>>(...def: MsgName[]): QueueBuilder<Space, M, Overlay<$, {
|
|
29
|
+
"#input": Msg;
|
|
30
|
+
}>>;
|
|
31
|
+
static build(node: QueueBuilderNode, tree: ModuleTree, module: $Module): {
|
|
32
|
+
schema: $Queue;
|
|
33
|
+
inlineMessages: Record<string, import("../..").$Message>;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export type AnyQueueBuilder = QueueBuilder<any, any, any>;
|
|
37
|
+
export type QueueBuilderNode = Omit<ResolvedBuilderNode, 'builder'> & {
|
|
38
|
+
builder: AnyQueueBuilder;
|
|
39
|
+
schema?: $Queue;
|
|
40
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueueBuilder = void 0;
|
|
4
|
+
const queue_schema_1 = require("./queue.schema");
|
|
5
|
+
const block_builder_1 = require("../block.builder");
|
|
6
|
+
const message_builder_1 = require("../../entities/message/message.builder");
|
|
7
|
+
class QueueBuilder extends block_builder_1.BlockBuilder {
|
|
8
|
+
constructor(module, name) {
|
|
9
|
+
super(module, 'queue', name);
|
|
10
|
+
this.$b = 'queue';
|
|
11
|
+
}
|
|
12
|
+
/* [Block] */
|
|
13
|
+
authn(...providers) {
|
|
14
|
+
return super.authn(...providers);
|
|
15
|
+
}
|
|
16
|
+
messages(def) {
|
|
17
|
+
return super.messages(def);
|
|
18
|
+
}
|
|
19
|
+
input(...def) {
|
|
20
|
+
return super._input(...def);
|
|
21
|
+
}
|
|
22
|
+
// Build
|
|
23
|
+
static build(node, tree, module) {
|
|
24
|
+
node.schema = new queue_schema_1.$Queue(node.builder.module, node.builder.name, node.builder._alias || node.builder.name, node.builder._authn, node.builder._inputMsgs);
|
|
25
|
+
return {
|
|
26
|
+
schema: node.schema,
|
|
27
|
+
inlineMessages: message_builder_1.MessageBuilder.buildInlines(node, tree, module)
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.QueueBuilder = QueueBuilder;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { $Module } from "../../../schema";
|
|
2
|
+
import { $Queue } from './queue.schema';
|
|
3
|
+
import { Module } from "../../../engine/module";
|
|
4
|
+
export declare class Queue<M extends $Module, $ extends $Queue> {
|
|
5
|
+
module: Module<any, M>;
|
|
6
|
+
schema: $;
|
|
7
|
+
constructor(module: Module<any, M>, schema: $);
|
|
8
|
+
}
|
|
9
|
+
export type AnyQueue = Queue<any, any>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Queue = void 0;
|
|
4
|
+
class Queue {
|
|
5
|
+
// private adapter: QueueAdapter
|
|
6
|
+
constructor(module, schema) {
|
|
7
|
+
this.module = module;
|
|
8
|
+
this.schema = schema;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.Queue = Queue;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { $Dependency } from "../../../engine/dependency";
|
|
2
|
+
import { $Block } from '../block.schema';
|
|
3
|
+
export declare class $Queue extends $Block {
|
|
4
|
+
module: string;
|
|
5
|
+
name: string;
|
|
6
|
+
alias: string;
|
|
7
|
+
authn: string[];
|
|
8
|
+
msgs: $Dependency[];
|
|
9
|
+
$t: "queue";
|
|
10
|
+
dependencies: $Dependency[];
|
|
11
|
+
constructor(module: string, name: string, alias: string, authn: string[], msgs: $Dependency[]);
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.$Queue = void 0;
|
|
4
|
+
const block_schema_1 = require("../block.schema");
|
|
5
|
+
class $Queue extends block_schema_1.$Block {
|
|
6
|
+
constructor(module, name, alias, authn, msgs) {
|
|
7
|
+
super(module, name, alias, authn, msgs, {});
|
|
8
|
+
this.module = module;
|
|
9
|
+
this.name = name;
|
|
10
|
+
this.alias = alias;
|
|
11
|
+
this.authn = authn;
|
|
12
|
+
this.msgs = msgs;
|
|
13
|
+
this.$t = 'queue';
|
|
14
|
+
this.dependencies = [];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.$Queue = $Queue;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { $Module, $Space } from "../../../schema";
|
|
2
|
+
import { $Resource } from './resource.schema';
|
|
3
|
+
import { ResourceJobDef } from '../job/internal/resource_job.builder';
|
|
4
|
+
import { NesoiObj } from "../../../engine/data/obj";
|
|
5
|
+
import { $Message } from "../../entities/message/message.schema";
|
|
6
|
+
import { BlockBuilder } from '../block.builder';
|
|
7
|
+
import { ModuleTree } from "../../../engine/tree";
|
|
8
|
+
import { $Job } from '../job/job.schema';
|
|
9
|
+
import { ResolvedBuilderNode } from "../../../engine/dependency";
|
|
10
|
+
import { $Bucket } from "../../entities/bucket/bucket.schema";
|
|
11
|
+
import { CreateObj, PatchResourceObj } from "../../entities/bucket/bucket.types";
|
|
12
|
+
import { Overlay } from "../../../engine/util/type";
|
|
13
|
+
import { $MessageInferFromData } from "../../entities/message/message.infer";
|
|
14
|
+
export declare class ResourceBuilder<Space extends $Space, Module extends $Module, Resource extends $Resource> extends BlockBuilder<Space, Module, 'resource'> {
|
|
15
|
+
$b: "resource";
|
|
16
|
+
private _jobs;
|
|
17
|
+
private _bucket;
|
|
18
|
+
constructor(module: string, name: Resource['name']);
|
|
19
|
+
authn<U extends keyof Space['authnUsers']>(...providers: U[]): ResourceBuilder<Space, Module, Overlay<Resource, {
|
|
20
|
+
"#authn": { [K in U]: Space["authnUsers"][U]; };
|
|
21
|
+
}>>;
|
|
22
|
+
bucket<B extends keyof Module['buckets']>(name: B): ResourceBuilder<Space, Module, Overlay<Resource, {
|
|
23
|
+
"#bucket": Module["buckets"][B];
|
|
24
|
+
}>>;
|
|
25
|
+
view<ViewName extends keyof Resource['#bucket']['views'] & string>(...views: ViewName[]): this;
|
|
26
|
+
query<ViewName extends keyof Resource['#bucket']['views'] & string>(...views: ViewName[]): this;
|
|
27
|
+
create<MsgName extends string = `${Resource['name']}.create`, Bucket extends $Bucket = Resource['#bucket'], DefaultTrigger extends $Message = $MessageInferFromData<MsgName, Omit<Bucket['#data'], 'id'>>, Prepared = CreateObj<Bucket>>($: ResourceJobDef<Space, Module, `${Resource['name']}.create`, Prepared, Resource['#authn'], Bucket, DefaultTrigger, {}, {}, {
|
|
28
|
+
obj: Bucket['#data'];
|
|
29
|
+
}>): this;
|
|
30
|
+
update<MsgName extends string = `${Resource['name']}.update`, Bucket extends $Bucket = Resource['#bucket'], DefaultTrigger extends $Message = $MessageInferFromData<MsgName, Bucket['#data']>, Prepared extends Record<string, any> = Omit<PatchResourceObj<Bucket>, 'id'>>($: ResourceJobDef<Space, Module, MsgName, Prepared, Resource['#authn'], Bucket, DefaultTrigger, {
|
|
31
|
+
id: Bucket['#data']['id'];
|
|
32
|
+
}, {
|
|
33
|
+
obj: Bucket['#data'];
|
|
34
|
+
}, {
|
|
35
|
+
obj: Bucket['#data'];
|
|
36
|
+
}>): this;
|
|
37
|
+
delete<MsgName extends string = `${Resource['name']}.delete`, Data extends NesoiObj = Resource['#bucket']['#data'], DefaultTrigger extends $Message = $MessageInferFromData<MsgName, {
|
|
38
|
+
id: Data['id'];
|
|
39
|
+
}>>($: ResourceJobDef<Space, Module, `${Resource['name']}.delete`, boolean, Resource['#authn'], Resource['#bucket'], DefaultTrigger, {
|
|
40
|
+
id: Data['id'];
|
|
41
|
+
}, {
|
|
42
|
+
obj: Data;
|
|
43
|
+
}, {
|
|
44
|
+
obj: Data;
|
|
45
|
+
}>): this;
|
|
46
|
+
static build(node: ResourceBuilderNode, tree: ModuleTree, module: $Module): {
|
|
47
|
+
schema: $Resource;
|
|
48
|
+
inlineMessages: {
|
|
49
|
+
[x: string]: $Message;
|
|
50
|
+
};
|
|
51
|
+
inlineJobs: {
|
|
52
|
+
[x: string]: $Job;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export type AnyResourceBuilder = ResourceBuilder<any, any, any>;
|
|
57
|
+
export type ResourceBuilderNode = Omit<ResolvedBuilderNode, 'builder'> & {
|
|
58
|
+
builder: AnyResourceBuilder;
|
|
59
|
+
schema?: $Resource;
|
|
60
|
+
};
|