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,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Element = void 0;
|
|
4
|
+
const name_helpers_1 = require("../helpers/name_helpers");
|
|
5
|
+
const dump_helpers_1 = require("../helpers/dump_helpers");
|
|
6
|
+
class Element {
|
|
7
|
+
constructor(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge) {
|
|
8
|
+
this.compiler = compiler;
|
|
9
|
+
this.module = module;
|
|
10
|
+
this.$t = $t;
|
|
11
|
+
this.files = files;
|
|
12
|
+
this.schema = schema;
|
|
13
|
+
this.dependencies = dependencies;
|
|
14
|
+
this.inlineRoot = inlineRoot;
|
|
15
|
+
this.bridge = bridge;
|
|
16
|
+
const names = name_helpers_1.NameHelpers.names(schema);
|
|
17
|
+
this.lowName = names.low;
|
|
18
|
+
this.highName = names.high;
|
|
19
|
+
this.typeName = names.type;
|
|
20
|
+
}
|
|
21
|
+
prepare() {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
filepath() {
|
|
25
|
+
return `${this.$t}__${this.lowName}.ts`;
|
|
26
|
+
}
|
|
27
|
+
bridgeImports() {
|
|
28
|
+
let imports = '';
|
|
29
|
+
for (const imp of this.bridge?.imports || []) {
|
|
30
|
+
imports += imp + '\n';
|
|
31
|
+
}
|
|
32
|
+
return imports;
|
|
33
|
+
}
|
|
34
|
+
customImports(nesoiPath) {
|
|
35
|
+
return '';
|
|
36
|
+
}
|
|
37
|
+
dumpFileSchema(nesoiPath) {
|
|
38
|
+
this.prepare();
|
|
39
|
+
return `import { ${this.typeName} } from '../${this.module}.module'\n`
|
|
40
|
+
+ this.bridgeImports()
|
|
41
|
+
+ this.customImports(nesoiPath)
|
|
42
|
+
+ '\n'
|
|
43
|
+
+ `const ${this.typeName}: ${this.typeName} = ${dump_helpers_1.DumpHelpers.dumpSchema(this.schema)}\n`
|
|
44
|
+
+ `export default ${this.typeName}`;
|
|
45
|
+
}
|
|
46
|
+
dumpTypeSchema() {
|
|
47
|
+
this.type = this.buildType();
|
|
48
|
+
const typeschema = {
|
|
49
|
+
'constants': '$Constants',
|
|
50
|
+
'externals': '$Externals',
|
|
51
|
+
'message': '$Message',
|
|
52
|
+
'bucket': '$Bucket',
|
|
53
|
+
'job': '$Job',
|
|
54
|
+
'resource': '$Resource',
|
|
55
|
+
'machine': '$Machine',
|
|
56
|
+
'controller': '$Controller',
|
|
57
|
+
'queue': '$Queue',
|
|
58
|
+
}[this.$t];
|
|
59
|
+
return `export interface ${this.typeName} extends ${typeschema} ${dump_helpers_1.DumpHelpers.dumpType(this.type)};\n`;
|
|
60
|
+
}
|
|
61
|
+
static makeAuthnType(authn) {
|
|
62
|
+
if (authn.length === 0) {
|
|
63
|
+
return '{}';
|
|
64
|
+
}
|
|
65
|
+
const type = {};
|
|
66
|
+
authn.forEach(provider => {
|
|
67
|
+
type[provider] = `AuthnUsers['${provider}']`;
|
|
68
|
+
});
|
|
69
|
+
return type;
|
|
70
|
+
}
|
|
71
|
+
static makeIOType(compiler, schema) {
|
|
72
|
+
const input = schema.input.map(msg => {
|
|
73
|
+
const schema = compiler.tree.getSchema(msg);
|
|
74
|
+
const msgName = name_helpers_1.NameHelpers.names(schema);
|
|
75
|
+
return msgName.type;
|
|
76
|
+
});
|
|
77
|
+
const output = schema['#output'] || this.makeOutputType(compiler, schema);
|
|
78
|
+
return {
|
|
79
|
+
input: input.length ? input.join(' | ') : 'never',
|
|
80
|
+
output
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
static makeOutputType(compiler, schema) {
|
|
84
|
+
const raw = schema.output?.raw ? dump_helpers_1.DumpHelpers.dumpType(schema.output.raw) : undefined;
|
|
85
|
+
const msgs = schema.output?.msg?.map(msg => {
|
|
86
|
+
const schema = compiler.tree.getSchema(msg);
|
|
87
|
+
const msgName = name_helpers_1.NameHelpers.names(schema);
|
|
88
|
+
return msgName.type;
|
|
89
|
+
});
|
|
90
|
+
const objs = schema.output?.obj?.map(bucket => {
|
|
91
|
+
const schema = compiler.tree.getSchema(bucket);
|
|
92
|
+
const bucketName = name_helpers_1.NameHelpers.names(schema);
|
|
93
|
+
return bucketName.high;
|
|
94
|
+
});
|
|
95
|
+
const type = [
|
|
96
|
+
raw,
|
|
97
|
+
...msgs || [],
|
|
98
|
+
...objs || []
|
|
99
|
+
].join(' | ');
|
|
100
|
+
return type || 'unknown';
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.Element = Element;
|
|
104
|
+
Element.Any = Symbol('undefined as any');
|
|
105
|
+
Element.Never = Symbol('undefined as never');
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { $Externals } from "../../elements/blocks/externals/externals.schema";
|
|
2
|
+
import { Element } from './element';
|
|
3
|
+
import { Compiler } from '../compiler';
|
|
4
|
+
import { ResolvedBuilderNode } from "../../engine/dependency";
|
|
5
|
+
export declare class ExternalsElement extends Element<$Externals> {
|
|
6
|
+
protected compiler: Compiler;
|
|
7
|
+
protected module: string;
|
|
8
|
+
$t: string;
|
|
9
|
+
files: string[];
|
|
10
|
+
schema: $Externals;
|
|
11
|
+
dependencies: ResolvedBuilderNode[];
|
|
12
|
+
inlineRoot?: ResolvedBuilderNode | undefined;
|
|
13
|
+
bridge?: ResolvedBuilderNode['bridge'];
|
|
14
|
+
private elements;
|
|
15
|
+
constructor(compiler: Compiler, module: string, $t: string, files: string[], schema: $Externals, dependencies: ResolvedBuilderNode[], inlineRoot?: ResolvedBuilderNode | undefined, bridge?: ResolvedBuilderNode['bridge']);
|
|
16
|
+
protected buildType(): {};
|
|
17
|
+
dumpFileSchema(): string;
|
|
18
|
+
dumpTypeSchema(): string;
|
|
19
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExternalsElement = void 0;
|
|
4
|
+
const element_1 = require("./element");
|
|
5
|
+
const name_helpers_1 = require("../helpers/name_helpers");
|
|
6
|
+
const dump_helpers_1 = require("../helpers/dump_helpers");
|
|
7
|
+
class ExternalsElement extends element_1.Element {
|
|
8
|
+
constructor(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge) {
|
|
9
|
+
super(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge);
|
|
10
|
+
this.compiler = compiler;
|
|
11
|
+
this.module = module;
|
|
12
|
+
this.$t = $t;
|
|
13
|
+
this.files = files;
|
|
14
|
+
this.schema = schema;
|
|
15
|
+
this.dependencies = dependencies;
|
|
16
|
+
this.inlineRoot = inlineRoot;
|
|
17
|
+
this.bridge = bridge;
|
|
18
|
+
this.elements = {
|
|
19
|
+
bucket: {},
|
|
20
|
+
job: {}
|
|
21
|
+
};
|
|
22
|
+
// Object.entries(schema.buckets).forEach(([key, ref]) => {
|
|
23
|
+
// const element = compiler.modules[ref.module].elements
|
|
24
|
+
// .find(el => el.lowName === ref.name && el.$t === 'bucket')
|
|
25
|
+
// if (!element) {
|
|
26
|
+
// throw new Error(`External bucket ${ref.name} not found`)
|
|
27
|
+
// }
|
|
28
|
+
// this.elements.bucket[key] = element as BucketElement;
|
|
29
|
+
// })
|
|
30
|
+
// Object.entries(schema.jobs).forEach(([key, ref]) => {
|
|
31
|
+
// const element = compiler.modules[ref.module].elements
|
|
32
|
+
// .find(el => el.lowName === ref.name && el.$t === 'job')
|
|
33
|
+
// if (!element) {
|
|
34
|
+
// throw new Error(`External job ${ref.name} not found`)
|
|
35
|
+
// }
|
|
36
|
+
// this.elements.job[key] = element as JobElement;
|
|
37
|
+
// })
|
|
38
|
+
// this.type = this.buildType();
|
|
39
|
+
}
|
|
40
|
+
buildType() {
|
|
41
|
+
return {};
|
|
42
|
+
// if (!this.elements) {
|
|
43
|
+
// return {};
|
|
44
|
+
// }
|
|
45
|
+
// const type = {
|
|
46
|
+
// models: {},
|
|
47
|
+
// buckets: {},
|
|
48
|
+
// jobs: {}
|
|
49
|
+
// } as ObjTypeAsObj;
|
|
50
|
+
// Object.entries(this.elements.bucket).map(([tag, el]) => {
|
|
51
|
+
// type.models[tag] = (el.type as ObjTypeAsObj).model;
|
|
52
|
+
// type.buckets[tag] = (el.type as ObjTypeAsObj).bucket;
|
|
53
|
+
// })
|
|
54
|
+
// return type;
|
|
55
|
+
}
|
|
56
|
+
dumpFileSchema() {
|
|
57
|
+
return `const ${this.typeName} = ${dump_helpers_1.DumpHelpers.dumpSchema(this.schema)}\n`
|
|
58
|
+
+ `export default ${this.typeName}`;
|
|
59
|
+
}
|
|
60
|
+
dumpTypeSchema() {
|
|
61
|
+
this.type = this.buildType();
|
|
62
|
+
this.prepare();
|
|
63
|
+
const externalModules = new Set();
|
|
64
|
+
Object.values(this.schema.buckets).forEach(ref => {
|
|
65
|
+
externalModules.add(ref.module);
|
|
66
|
+
});
|
|
67
|
+
Object.values(this.schema.jobs).forEach(ref => {
|
|
68
|
+
externalModules.add(ref.module);
|
|
69
|
+
});
|
|
70
|
+
// Add imports for external elements
|
|
71
|
+
this.compiler.modules[this.module].elements.forEach(el => {
|
|
72
|
+
el.dependencies.forEach(dep => {
|
|
73
|
+
if (dep.module !== this.module) {
|
|
74
|
+
externalModules.add(dep.module);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
return Array.from(externalModules)
|
|
79
|
+
.map(module => `import ${name_helpers_1.NameHelpers.nameLowToHigh(module)}Module from './${module}.module'`)
|
|
80
|
+
.join('\n');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.ExternalsElement = ExternalsElement;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Element } from './element';
|
|
2
|
+
import { $Job } from "../../elements/blocks/job/job.schema";
|
|
3
|
+
export declare class JobElement extends Element<$Job> {
|
|
4
|
+
protected prepare(): void;
|
|
5
|
+
protected customImports(nesoiPath: string): string;
|
|
6
|
+
protected buildType(): import("./element").TypeAsObj;
|
|
7
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JobElement = void 0;
|
|
4
|
+
const element_1 = require("./element");
|
|
5
|
+
const dump_helpers_1 = require("../helpers/dump_helpers");
|
|
6
|
+
const resource_job_1 = require("../../elements/blocks/job/internal/resource_job");
|
|
7
|
+
class JobElement extends element_1.Element {
|
|
8
|
+
prepare() {
|
|
9
|
+
this.schema['#authn'] = element_1.Element.Any;
|
|
10
|
+
this.schema['#input'] = this.schema.input.length ? element_1.Element.Any : element_1.Element.Never;
|
|
11
|
+
this.schema['#output'] = element_1.Element.Any;
|
|
12
|
+
this.schema['#extra'] = element_1.Element.Any;
|
|
13
|
+
// ResourceJob
|
|
14
|
+
if (this.schema.scope && 'resource' in this.schema.scope) {
|
|
15
|
+
this.schema.method = {
|
|
16
|
+
__fn: 'ResourceJob.method as (...args: any[]) => any',
|
|
17
|
+
__fn_type: 'any' // TODO: evaluate
|
|
18
|
+
};
|
|
19
|
+
if (this.schema.scope.prepareMethod == resource_job_1.ResourceJob.prepareMsgData) {
|
|
20
|
+
this.schema.scope.prepareMethod = {
|
|
21
|
+
__fn: '($ => $.msg.getData()) as (...args: any[]) => any',
|
|
22
|
+
__fn_type: 'any' // TODO: evaluate
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
else if (this.schema.scope.prepareMethod == resource_job_1.ResourceJob.prepareTrue) {
|
|
26
|
+
this.schema.scope.prepareMethod = {
|
|
27
|
+
__fn: '($ => true) as (...args: any[]) => any',
|
|
28
|
+
__fn_type: 'boolean' // TODO: evaluate
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
this.schema.scope.execMethod = {
|
|
32
|
+
__fn: `Resource.${this.schema.scope.method} as (...args: any[]) => any`,
|
|
33
|
+
__fn_type: 'any' // TODO: evaluate
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
customImports(nesoiPath) {
|
|
38
|
+
let imports = '';
|
|
39
|
+
if (this.schema.scope && 'resource' in this.schema.scope) {
|
|
40
|
+
imports += `import { Resource } from '${nesoiPath}/lib/elements/blocks/resource/resource';\n`;
|
|
41
|
+
imports += `import { ResourceJob } from '${nesoiPath}/lib/elements/blocks/job/internal/resource_job';\n`;
|
|
42
|
+
}
|
|
43
|
+
return imports;
|
|
44
|
+
}
|
|
45
|
+
buildType() {
|
|
46
|
+
const { input, output } = element_1.Element.makeIOType(this.compiler, this.schema);
|
|
47
|
+
const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema, {
|
|
48
|
+
extrasAndAsserts: () => 'any',
|
|
49
|
+
method: () => 'any',
|
|
50
|
+
output: () => 'any'
|
|
51
|
+
});
|
|
52
|
+
Object.assign(type, {
|
|
53
|
+
'input': 'any',
|
|
54
|
+
'#authn': element_1.Element.makeAuthnType(this.schema.authn),
|
|
55
|
+
'#input': input,
|
|
56
|
+
'#output': output,
|
|
57
|
+
'#extra': 'any // TODO: Typescript API'
|
|
58
|
+
});
|
|
59
|
+
return type;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.JobElement = JobElement;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Element } from './element';
|
|
2
|
+
import { $Machine } from "../../elements/blocks/machine/machine.schema";
|
|
3
|
+
export declare class MachineElement extends Element<$Machine> {
|
|
4
|
+
protected prepare(): void;
|
|
5
|
+
private prepareStates;
|
|
6
|
+
private prepareTransitions;
|
|
7
|
+
protected buildType(): import("./element").TypeAsObj;
|
|
8
|
+
private buildStatesType;
|
|
9
|
+
private buildTransitionsType;
|
|
10
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MachineElement = void 0;
|
|
4
|
+
const element_1 = require("./element");
|
|
5
|
+
const dependency_1 = require("../../engine/dependency");
|
|
6
|
+
const dump_helpers_1 = require("../helpers/dump_helpers");
|
|
7
|
+
class MachineElement extends element_1.Element {
|
|
8
|
+
prepare() {
|
|
9
|
+
this.schema['#authn'] = element_1.Element.Any;
|
|
10
|
+
this.schema['#input'] = this.schema.input.length ? element_1.Element.Any : element_1.Element.Never;
|
|
11
|
+
this.schema['#output'] = element_1.Element.Never;
|
|
12
|
+
this.schema['#data'] = element_1.Element.Any;
|
|
13
|
+
this.prepareStates(this.schema.states);
|
|
14
|
+
this.prepareTransitions(this.schema.transitions.from);
|
|
15
|
+
this.prepareTransitions(this.schema.transitions.to);
|
|
16
|
+
}
|
|
17
|
+
prepareStates(fields) {
|
|
18
|
+
Object.values(fields).forEach(field => {
|
|
19
|
+
field['#authn'] = element_1.Element.Any;
|
|
20
|
+
field['#input'] = field.input.length ? element_1.Element.Any : element_1.Element.Never;
|
|
21
|
+
field['#input.enter'] = field.inputEnter.length ? element_1.Element.Any : element_1.Element.Never;
|
|
22
|
+
field['#input.leave'] = field.inputLeave.length ? element_1.Element.Any : element_1.Element.Never;
|
|
23
|
+
field['#output'] = element_1.Element.Never;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
prepareTransitions(ofStates) {
|
|
27
|
+
Object.values(ofStates).forEach(ofMsgs => {
|
|
28
|
+
Object.values(ofMsgs).forEach(transitions => {
|
|
29
|
+
Object.values(transitions).forEach(transition => {
|
|
30
|
+
transition['#authn'] = element_1.Element.Any;
|
|
31
|
+
transition['#input'] = transition.input.length ? element_1.Element.Any : element_1.Element.Never;
|
|
32
|
+
transition['#output'] = element_1.Element.Never;
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
buildType() {
|
|
38
|
+
const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema, {
|
|
39
|
+
states: v => this.buildStatesType(v),
|
|
40
|
+
transitions: {
|
|
41
|
+
from: v => this.buildTransitionsType(v),
|
|
42
|
+
to: v => this.buildTransitionsType(v)
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
const data = this.schema.buckets.map(bucket => {
|
|
46
|
+
const schema = this.compiler.tree.getSchema(bucket);
|
|
47
|
+
return dependency_1.$Dependency.typeName(bucket, this.module) + '[\'#data\']';
|
|
48
|
+
});
|
|
49
|
+
Object.assign(type, {
|
|
50
|
+
'#authn': element_1.Element.makeAuthnType(this.schema.authn),
|
|
51
|
+
'#input': element_1.Element.makeIOType(this.compiler, this.schema).input,
|
|
52
|
+
'#output': 'never',
|
|
53
|
+
'#data': data,
|
|
54
|
+
});
|
|
55
|
+
return type;
|
|
56
|
+
}
|
|
57
|
+
buildStatesType(states) {
|
|
58
|
+
const type = {};
|
|
59
|
+
Object.entries(states).forEach(([key, state]) => {
|
|
60
|
+
type[key] = dump_helpers_1.DumpHelpers.dumpValueToType(state);
|
|
61
|
+
Object.assign(type[key], {
|
|
62
|
+
jobs: {
|
|
63
|
+
beforeEnter: type[key].jobs.beforeEnter ?? 'undefined',
|
|
64
|
+
afterEnter: type[key].jobs.afterEnter ?? 'undefined',
|
|
65
|
+
beforeLeave: type[key].jobs.beforeLeave ?? 'undefined',
|
|
66
|
+
afterLeave: type[key].jobs.afterLeave ?? 'undefined'
|
|
67
|
+
},
|
|
68
|
+
'#authn': element_1.Element.makeAuthnType(state.authn),
|
|
69
|
+
'#input': element_1.Element.makeIOType(this.compiler, state).input,
|
|
70
|
+
'#input.enter': element_1.Element.makeIOType(this.compiler, { input: state.inputEnter, output: 'never' }).input,
|
|
71
|
+
'#input.leave': element_1.Element.makeIOType(this.compiler, { input: state.inputLeave, output: 'never' }).input,
|
|
72
|
+
'#output': 'never',
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
return type;
|
|
76
|
+
}
|
|
77
|
+
buildTransitionsType(transitions) {
|
|
78
|
+
const type = {};
|
|
79
|
+
Object.entries(transitions).forEach(([state, stateTransitions]) => {
|
|
80
|
+
type[state] = {};
|
|
81
|
+
Object.entries(stateTransitions).forEach(([msg, msgTransitions]) => {
|
|
82
|
+
type[state][msg] = [];
|
|
83
|
+
Object.values(msgTransitions).forEach(transition => {
|
|
84
|
+
const t = dump_helpers_1.DumpHelpers.dumpValueToType(transition, undefined, 4);
|
|
85
|
+
Object.assign(t, {
|
|
86
|
+
'#authn': element_1.Element.makeAuthnType(transition.authn),
|
|
87
|
+
'#input': element_1.Element.makeIOType(this.compiler, transition).input,
|
|
88
|
+
'#output': 'never',
|
|
89
|
+
});
|
|
90
|
+
type[state][msg].push(t);
|
|
91
|
+
});
|
|
92
|
+
type[state][msg] = '[' + type[state][msg].map((v) => dump_helpers_1.DumpHelpers.dumpType(v, 4)).join(', ') + ']';
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
return type;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.MachineElement = MachineElement;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { $Message } from "../../elements/entities/message/message.schema";
|
|
2
|
+
import { Element } from './element';
|
|
3
|
+
export declare class MessageElement extends Element<$Message> {
|
|
4
|
+
protected prepare(): void;
|
|
5
|
+
private prepareFields;
|
|
6
|
+
protected customImports(nesoiPath: string): string;
|
|
7
|
+
protected buildType(): import("./element").TypeAsObj;
|
|
8
|
+
private buildIO;
|
|
9
|
+
}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageElement = void 0;
|
|
4
|
+
const element_1 = require("./element");
|
|
5
|
+
const name_helpers_1 = require("../helpers/name_helpers");
|
|
6
|
+
const dependency_1 = require("../../engine/dependency");
|
|
7
|
+
const dump_helpers_1 = require("../helpers/dump_helpers");
|
|
8
|
+
class MessageElement extends element_1.Element {
|
|
9
|
+
prepare() {
|
|
10
|
+
this.schema['#raw'] = element_1.Element.Any;
|
|
11
|
+
this.schema['#parsed'] = element_1.Element.Any;
|
|
12
|
+
this.prepareFields(this.schema.template.fields);
|
|
13
|
+
}
|
|
14
|
+
prepareFields(fields) {
|
|
15
|
+
Object.values(fields).forEach(field => {
|
|
16
|
+
field['#raw'] = element_1.Element.Any;
|
|
17
|
+
field['#parsed'] = element_1.Element.Any;
|
|
18
|
+
if (field.children) {
|
|
19
|
+
this.prepareFields(field.children);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
customImports(nesoiPath) {
|
|
24
|
+
// TODO: only include this import if there are computed fields
|
|
25
|
+
return `import { $MessageTemplateRule } from '${nesoiPath}/lib/elements/entities/message/template/message_template.schema'`;
|
|
26
|
+
}
|
|
27
|
+
buildType() {
|
|
28
|
+
const { input, output } = this.buildIO();
|
|
29
|
+
const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema, {
|
|
30
|
+
template: v => 'any'
|
|
31
|
+
});
|
|
32
|
+
Object.assign(type, {
|
|
33
|
+
'#raw': {
|
|
34
|
+
$: dump_helpers_1.DumpHelpers.dumpValueToType(this.lowName),
|
|
35
|
+
...input
|
|
36
|
+
},
|
|
37
|
+
'#parsed': {
|
|
38
|
+
$: dump_helpers_1.DumpHelpers.dumpValueToType(this.lowName),
|
|
39
|
+
...output
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return type;
|
|
43
|
+
}
|
|
44
|
+
buildIO(fields = this.schema.template.fields) {
|
|
45
|
+
const input = {};
|
|
46
|
+
const output = {};
|
|
47
|
+
Object.entries(fields).forEach(([key, field]) => {
|
|
48
|
+
if (field.type === 'boolean') {
|
|
49
|
+
input[key] = 'boolean';
|
|
50
|
+
output[key] = 'boolean';
|
|
51
|
+
}
|
|
52
|
+
else if (field.type === 'date') {
|
|
53
|
+
input[key] = 'string';
|
|
54
|
+
output[key] = 'NesoiDate';
|
|
55
|
+
}
|
|
56
|
+
else if (field.type === 'datetime') {
|
|
57
|
+
input[key] = 'string';
|
|
58
|
+
output[key] = 'NesoiDatetime';
|
|
59
|
+
}
|
|
60
|
+
else if (field.type === 'enum') {
|
|
61
|
+
const options = field.meta.enum.options;
|
|
62
|
+
if (typeof options === 'string') {
|
|
63
|
+
const constants = this.compiler.tree.getSchema(field.meta.enum.dep);
|
|
64
|
+
const constName = name_helpers_1.NameHelpers.names(constants);
|
|
65
|
+
const tag = dependency_1.$Tag.parseOrFail(options);
|
|
66
|
+
const moduleName = constName.high + 'Module';
|
|
67
|
+
let enumkeys;
|
|
68
|
+
if (tag.module || constants.module !== this.module) {
|
|
69
|
+
const key = tag.name || options;
|
|
70
|
+
const enumpath = key.match(/(.*)\.\{(.*)\}$/);
|
|
71
|
+
enumkeys = enumpath
|
|
72
|
+
? `keyof ${moduleName}['constants']['enums']['${enumpath[1]}']['options']`
|
|
73
|
+
: `keyof ${moduleName}['constants']['enums']['${key}']['options']`;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
const enumpath = options.match(/(.*)\.\{(.*)\}$/);
|
|
77
|
+
enumkeys = enumpath
|
|
78
|
+
? `keyof ${constName.type}['enums']['${enumpath[1]}']['options']`
|
|
79
|
+
: `keyof ${constName.type}['enums']['${options}']['options']`;
|
|
80
|
+
}
|
|
81
|
+
input[key] = enumkeys;
|
|
82
|
+
output[key] = enumkeys;
|
|
83
|
+
}
|
|
84
|
+
else if (Array.isArray(options)) {
|
|
85
|
+
input[key] = options.map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v));
|
|
86
|
+
output[key] = options.map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v));
|
|
87
|
+
}
|
|
88
|
+
else if (typeof options === 'object') {
|
|
89
|
+
input[key] = Object.keys(options || []).map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v));
|
|
90
|
+
output[key] = Object.values(options || []).map(v => dump_helpers_1.DumpHelpers.dumpValueToType(v));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else if (field.type === 'file') {
|
|
94
|
+
input[key] = 'File';
|
|
95
|
+
output[key] = 'File';
|
|
96
|
+
}
|
|
97
|
+
else if (field.type === 'float') {
|
|
98
|
+
input[key] = 'number';
|
|
99
|
+
output[key] = 'number';
|
|
100
|
+
}
|
|
101
|
+
else if (field.type === 'id') {
|
|
102
|
+
const ref = field.meta.id.bucket;
|
|
103
|
+
const modelName = dependency_1.$Dependency.typeName(ref, this.module);
|
|
104
|
+
input[key + '_id'] = `${modelName}['#data']['id']`;
|
|
105
|
+
output[key] = `${modelName}['#data']`;
|
|
106
|
+
}
|
|
107
|
+
else if (field.type === 'int') {
|
|
108
|
+
input[key] = 'number';
|
|
109
|
+
output[key] = 'number';
|
|
110
|
+
}
|
|
111
|
+
else if (field.type === 'string') {
|
|
112
|
+
input[key] = 'string';
|
|
113
|
+
output[key] = 'string';
|
|
114
|
+
}
|
|
115
|
+
else if (field.type === 'string_or_number') {
|
|
116
|
+
input[key] = '(string | number)';
|
|
117
|
+
output[key] = '(string | number)';
|
|
118
|
+
}
|
|
119
|
+
else if (field.type === 'obj') {
|
|
120
|
+
const child = this.buildIO(field.children);
|
|
121
|
+
input[key] = child.input;
|
|
122
|
+
output[key] = child.output;
|
|
123
|
+
}
|
|
124
|
+
else if (field.type === 'dict') {
|
|
125
|
+
const child = this.buildIO(field.children);
|
|
126
|
+
input[key] = {
|
|
127
|
+
'[x: string]': child.input.__dict
|
|
128
|
+
};
|
|
129
|
+
output[key] = {
|
|
130
|
+
'[x: string]': child.output.__dict
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
else if (field.type === 'msg') {
|
|
134
|
+
input[key] = 'any';
|
|
135
|
+
output[key] = 'any';
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
input[key] = 'unknown';
|
|
139
|
+
output[key] = 'unknown';
|
|
140
|
+
}
|
|
141
|
+
if (!field.required) {
|
|
142
|
+
if (typeof input[key] === 'object') {
|
|
143
|
+
input[key].__optional = true;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
input[key] += ' | undefined';
|
|
147
|
+
}
|
|
148
|
+
if (field.defaultValue === undefined) {
|
|
149
|
+
if (typeof output[key] === 'object') {
|
|
150
|
+
output[key].__optional = true;
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
output[key] += ' | undefined';
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (field.array) {
|
|
158
|
+
if (typeof input[key] === 'object') {
|
|
159
|
+
input[key].__array = true;
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
input[key] += '[]';
|
|
163
|
+
}
|
|
164
|
+
if (typeof output[key] === 'object') {
|
|
165
|
+
output[key].__array = true;
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
output[key] += '[]';
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
return { input, output };
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
exports.MessageElement = MessageElement;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueueElement = void 0;
|
|
4
|
+
const element_1 = require("./element");
|
|
5
|
+
const dump_helpers_1 = require("../helpers/dump_helpers");
|
|
6
|
+
class QueueElement extends element_1.Element {
|
|
7
|
+
prepare() {
|
|
8
|
+
this.schema['#authn'] = element_1.Element.Any;
|
|
9
|
+
this.schema['#input'] = element_1.Element.Any;
|
|
10
|
+
this.schema['#output'] = element_1.Element.Any;
|
|
11
|
+
}
|
|
12
|
+
buildType() {
|
|
13
|
+
const { input, output } = element_1.Element.makeIOType(this.compiler, this.schema);
|
|
14
|
+
const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema);
|
|
15
|
+
delete type['output'];
|
|
16
|
+
return {
|
|
17
|
+
'#authn': element_1.Element.makeAuthnType(this.schema.authn),
|
|
18
|
+
'#input': input,
|
|
19
|
+
'#output': output,
|
|
20
|
+
...type,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.QueueElement = QueueElement;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Element } from './element';
|
|
2
|
+
import { $Resource } from "../../elements/blocks/resource/resource.schema";
|
|
3
|
+
export declare class ResourceElement extends Element<$Resource> {
|
|
4
|
+
protected prepare(): void;
|
|
5
|
+
protected buildType(): import("./element").TypeAsObj;
|
|
6
|
+
protected buildCreate(): void;
|
|
7
|
+
}
|