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,70 @@
|
|
|
1
|
+
import { $Space, ModuleName } from "../../schema";
|
|
2
|
+
import { AnyBuilder, AnyModule } from '../module';
|
|
3
|
+
import { Space } from '../space';
|
|
4
|
+
import { Daemon } from '../daemon';
|
|
5
|
+
import { AnyAppConfig, AppConfigFactory } from './app.config';
|
|
6
|
+
/**
|
|
7
|
+
* Provider
|
|
8
|
+
*/
|
|
9
|
+
export type AppProvider<out Name, T> = {
|
|
10
|
+
name: Name;
|
|
11
|
+
up: ($: {
|
|
12
|
+
modules: Record<string, AnyModule>;
|
|
13
|
+
}) => T;
|
|
14
|
+
down: (provider: NoInfer<T>) => any;
|
|
15
|
+
};
|
|
16
|
+
export type AnyAppProvider = AppProvider<any, any>;
|
|
17
|
+
export declare abstract class App<S extends $Space, Modules extends string = ModuleName<S> & string, Providers extends Record<string, any> = Record<string, any>> {
|
|
18
|
+
name: string;
|
|
19
|
+
protected _config: AnyAppConfig;
|
|
20
|
+
protected _spaceModuleNames: ModuleName<S>[];
|
|
21
|
+
protected _injectedModules: AnyModule[];
|
|
22
|
+
protected _providers: Record<string, AnyAppProvider>;
|
|
23
|
+
protected space?: Space<S>;
|
|
24
|
+
protected builders?: AnyBuilder[];
|
|
25
|
+
constructor(name: string, boot?: {
|
|
26
|
+
space: Space<S>;
|
|
27
|
+
} | {
|
|
28
|
+
builders: AnyBuilder[];
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* Scan the space for modules and their elements,
|
|
32
|
+
* then build all schemas.
|
|
33
|
+
* This can be run without await before the daemon,
|
|
34
|
+
* to preload the module in background.
|
|
35
|
+
*/
|
|
36
|
+
abstract boot(): App<S, Modules, Providers>;
|
|
37
|
+
/**
|
|
38
|
+
* Spawn a daemon for this app.
|
|
39
|
+
*/
|
|
40
|
+
abstract daemon(): Promise<Daemon<S, Modules>>;
|
|
41
|
+
/**
|
|
42
|
+
* Specifies which `Space` modules to include on this App.
|
|
43
|
+
*
|
|
44
|
+
* ⚠ This has no effect on apps without a `Space`, such as `InlineApp`.
|
|
45
|
+
* @param modules A list of names of modules from the current `Space`.
|
|
46
|
+
*/
|
|
47
|
+
modules<M extends ModuleName<S>>(modules: M[]): App<S, M & Modules, Providers>;
|
|
48
|
+
/**
|
|
49
|
+
* Injects pre-built modules into this App.
|
|
50
|
+
* These will be included on the Daemon once it starts.
|
|
51
|
+
*
|
|
52
|
+
* @param modules A list of pre-built modules.
|
|
53
|
+
*/
|
|
54
|
+
inject(modules: AnyModule[]): this;
|
|
55
|
+
/**
|
|
56
|
+
* Declares a `Provider` with a given name.
|
|
57
|
+
*
|
|
58
|
+
* Providers are started and ended along with the daemon, and can be used on the App
|
|
59
|
+
* config to share globals between adapters and other methods.
|
|
60
|
+
* @param $ `AppProvider` with an `up` and `down` method to create/destroy the provider.
|
|
61
|
+
*/
|
|
62
|
+
provider<Name extends string, T>($: AppProvider<Name, T>): App<S, Modules, Providers & { [K in Name]: T; }>;
|
|
63
|
+
get config(): AppConfigFactory<S, Modules, Providers>;
|
|
64
|
+
protected makeModules(): Record<string, AnyModule>;
|
|
65
|
+
static getInfo(app: AnyApp): {
|
|
66
|
+
spaceModules: (string | number | symbol)[];
|
|
67
|
+
config: AnyAppConfig;
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export type AnyApp = App<any, any>;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.App = void 0;
|
|
4
|
+
const module_1 = require("../module");
|
|
5
|
+
const space_1 = require("../space");
|
|
6
|
+
const app_config_1 = require("./app.config");
|
|
7
|
+
/*
|
|
8
|
+
App
|
|
9
|
+
*/
|
|
10
|
+
class App {
|
|
11
|
+
constructor(name, boot) {
|
|
12
|
+
this.name = name;
|
|
13
|
+
this._config = {};
|
|
14
|
+
// This is a list of names to be read from the space.
|
|
15
|
+
// If the app is not booted with a space, this does nothing.
|
|
16
|
+
this._spaceModuleNames = [];
|
|
17
|
+
// A list of modules injected into the application prior to
|
|
18
|
+
// running the daemon. These will be included on the daemon
|
|
19
|
+
// once it's run.
|
|
20
|
+
this._injectedModules = [];
|
|
21
|
+
// A list of providers, which are created and destroyed
|
|
22
|
+
// along with the daemon. These are internally available for
|
|
23
|
+
// blocks - usually used by adapters.
|
|
24
|
+
this._providers = {};
|
|
25
|
+
if (boot) {
|
|
26
|
+
if ('space' in boot) {
|
|
27
|
+
this.space = boot.space;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.builders = boot.builders;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//
|
|
35
|
+
/**
|
|
36
|
+
* Specifies which `Space` modules to include on this App.
|
|
37
|
+
*
|
|
38
|
+
* ⚠ This has no effect on apps without a `Space`, such as `InlineApp`.
|
|
39
|
+
* @param modules A list of names of modules from the current `Space`.
|
|
40
|
+
*/
|
|
41
|
+
modules(modules) {
|
|
42
|
+
this._spaceModuleNames = modules;
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Injects pre-built modules into this App.
|
|
47
|
+
* These will be included on the Daemon once it starts.
|
|
48
|
+
*
|
|
49
|
+
* @param modules A list of pre-built modules.
|
|
50
|
+
*/
|
|
51
|
+
inject(modules) {
|
|
52
|
+
this._injectedModules = modules;
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Declares a `Provider` with a given name.
|
|
57
|
+
*
|
|
58
|
+
* Providers are started and ended along with the daemon, and can be used on the App
|
|
59
|
+
* config to share globals between adapters and other methods.
|
|
60
|
+
* @param $ `AppProvider` with an `up` and `down` method to create/destroy the provider.
|
|
61
|
+
*/
|
|
62
|
+
provider($) {
|
|
63
|
+
this._providers[$.name] = $;
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
//
|
|
67
|
+
get config() {
|
|
68
|
+
return new app_config_1.AppConfigFactory(this);
|
|
69
|
+
}
|
|
70
|
+
//
|
|
71
|
+
makeModules() {
|
|
72
|
+
const modules = {};
|
|
73
|
+
if (this.space) {
|
|
74
|
+
space_1.Space.scan(this.space, (name, path) => {
|
|
75
|
+
if (this._spaceModuleNames.includes(name)) {
|
|
76
|
+
modules[name] = new module_1.Module(name, { path });
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const buildersByModule = {};
|
|
82
|
+
(this.builders || []).forEach(builder => {
|
|
83
|
+
const module = builder.module;
|
|
84
|
+
buildersByModule[module] || (buildersByModule[module] = []);
|
|
85
|
+
buildersByModule[module].push(builder);
|
|
86
|
+
});
|
|
87
|
+
Object.entries(buildersByModule).forEach(([name, builders]) => {
|
|
88
|
+
modules[name] = new module_1.Module(name, { builders });
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return modules;
|
|
92
|
+
}
|
|
93
|
+
//
|
|
94
|
+
static getInfo(app) {
|
|
95
|
+
return {
|
|
96
|
+
spaceModules: app._spaceModuleNames,
|
|
97
|
+
config: app._config
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.App = App;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { $Module, $Space, ModuleName } from "../../schema";
|
|
2
|
+
import { App, AppProvider } from './app';
|
|
3
|
+
import { AnyTrxEngine } from '../transaction/trx_engine';
|
|
4
|
+
import { AnyBuilder, AnyModule, Module } from '../module';
|
|
5
|
+
import { AnyDaemon, Daemon } from '../daemon';
|
|
6
|
+
export declare class InlineApp<S extends $Space, ModuleNames extends string = ModuleName<S> & string, Providers extends Record<string, any> = Record<string, any>> extends App<S, ModuleNames, Providers> {
|
|
7
|
+
protected _daemon?: Daemon<S, ModuleNames>;
|
|
8
|
+
protected _modules: Record<string, AnyModule>;
|
|
9
|
+
private packageJson?;
|
|
10
|
+
private bootPromise?;
|
|
11
|
+
constructor(name: string, builders: AnyBuilder[]);
|
|
12
|
+
modules<M extends ModuleName<S>>(modules: M[]): InlineApp<S, M & ModuleNames>;
|
|
13
|
+
provider<Name extends string, T>($: AppProvider<Name, T>): InlineApp<S, ModuleNames, Providers & { [K in Name]: T; }>;
|
|
14
|
+
boot(): InlineApp<S, ModuleNames, Providers>;
|
|
15
|
+
/**
|
|
16
|
+
* Treeshake and build modules declared for this application.
|
|
17
|
+
*/
|
|
18
|
+
protected build(): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Build the application, start providers and trx engines.
|
|
21
|
+
* Returns references to start a daemon.
|
|
22
|
+
*/
|
|
23
|
+
protected make(): Promise<{
|
|
24
|
+
modules: Record<string, AnyModule>;
|
|
25
|
+
providers: Record<string, any>;
|
|
26
|
+
trxEngines: Record<ModuleNames, AnyTrxEngine>;
|
|
27
|
+
}>;
|
|
28
|
+
daemon(): Promise<Daemon<S, ModuleNames>>;
|
|
29
|
+
protected makeDaemon(trxEngines: Record<ModuleNames, AnyTrxEngine>, providers: Record<string, any>): AnyDaemon;
|
|
30
|
+
package(_package: Record<string, any>): this;
|
|
31
|
+
/**
|
|
32
|
+
* This method injects elements flagged as externals by referencing them
|
|
33
|
+
* from the other module directly, given this is a single-threaded App.
|
|
34
|
+
*
|
|
35
|
+
* TODO: allow overriding this behavior with adapters
|
|
36
|
+
*/
|
|
37
|
+
protected linkExternals(modules: Record<string, Module<S, $Module>>): void;
|
|
38
|
+
static package(app: InlineApp<any, any>, scripts: Record<string, string>, dependencies: Record<string, string>): {
|
|
39
|
+
name: string;
|
|
40
|
+
version: string;
|
|
41
|
+
description: string;
|
|
42
|
+
main: string;
|
|
43
|
+
scripts: Record<string, string>;
|
|
44
|
+
dependencies: Record<string, string>;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export declare class InlineDaemon<S extends $Space, Modules extends ModuleName<S>> extends Daemon<S, Modules> {
|
|
48
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InlineDaemon = exports.InlineApp = void 0;
|
|
4
|
+
const app_1 = require("./app");
|
|
5
|
+
const log_1 = require("../util/log");
|
|
6
|
+
const trx_engine_1 = require("../transaction/trx_engine");
|
|
7
|
+
const tree_1 = require("../tree");
|
|
8
|
+
const daemon_1 = require("../daemon");
|
|
9
|
+
class InlineApp extends app_1.App {
|
|
10
|
+
constructor(name, builders) {
|
|
11
|
+
super(name, { builders });
|
|
12
|
+
this._modules = {};
|
|
13
|
+
}
|
|
14
|
+
// Type Builder Overrides
|
|
15
|
+
modules(modules) {
|
|
16
|
+
super.modules(modules);
|
|
17
|
+
return this;
|
|
18
|
+
}
|
|
19
|
+
provider($) {
|
|
20
|
+
super.provider($);
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
// App abstract methods
|
|
24
|
+
boot() {
|
|
25
|
+
if (!this.bootPromise) {
|
|
26
|
+
this.bootPromise = this.build();
|
|
27
|
+
}
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
// Inline
|
|
31
|
+
/**
|
|
32
|
+
* Treeshake and build modules declared for this application.
|
|
33
|
+
*/
|
|
34
|
+
async build() {
|
|
35
|
+
log_1.Log.info('app', this.name, 'Booting');
|
|
36
|
+
this._modules = await this.makeModules();
|
|
37
|
+
log_1.Log.debug('app', this.name, 'Building');
|
|
38
|
+
const tree = new tree_1.ModuleTree(this._modules, {
|
|
39
|
+
exclude: ['*.test.ts']
|
|
40
|
+
});
|
|
41
|
+
await tree.resolve();
|
|
42
|
+
await tree.traverse('Building', async (node) => {
|
|
43
|
+
// Inline nodes are built by their root builder
|
|
44
|
+
if (node.isInline) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const module = this._modules[node.module];
|
|
48
|
+
await module.buildNode(node, tree);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Build the application, start providers and trx engines.
|
|
53
|
+
* Returns references to start a daemon.
|
|
54
|
+
*/
|
|
55
|
+
async make() {
|
|
56
|
+
if (this.space || this.builders) {
|
|
57
|
+
await this.boot().bootPromise;
|
|
58
|
+
}
|
|
59
|
+
const modules = this._modules;
|
|
60
|
+
for (const key in this._injectedModules) {
|
|
61
|
+
modules[key] = this._injectedModules[key];
|
|
62
|
+
}
|
|
63
|
+
const providers = {};
|
|
64
|
+
for (const key in this._providers) {
|
|
65
|
+
providers[key] = this._providers[key].up({
|
|
66
|
+
modules
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
log_1.Log.debug('app', this.name, 'Starting transaction engines');
|
|
70
|
+
const trxEngines = {};
|
|
71
|
+
for (const m in modules) {
|
|
72
|
+
const module = modules[m];
|
|
73
|
+
module.start(this, providers);
|
|
74
|
+
const trxConfig = this._config.trxEngine?.[m];
|
|
75
|
+
trxEngines[m] = new trx_engine_1.TrxEngine(`app:${this.name}`, module, this._config.authn, trxConfig, providers);
|
|
76
|
+
}
|
|
77
|
+
log_1.Log.debug('app', this.name, 'Linking externals');
|
|
78
|
+
this.linkExternals(modules);
|
|
79
|
+
return {
|
|
80
|
+
modules,
|
|
81
|
+
providers,
|
|
82
|
+
trxEngines
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
async daemon() {
|
|
86
|
+
if (this._daemon) {
|
|
87
|
+
return this._daemon;
|
|
88
|
+
}
|
|
89
|
+
const app = await this.make();
|
|
90
|
+
log_1.Log.debug('app', this.name, 'Spawning daemon');
|
|
91
|
+
this._daemon = this.makeDaemon(app.trxEngines, app.providers);
|
|
92
|
+
// Link daemon to modules
|
|
93
|
+
for (const m in app.modules) {
|
|
94
|
+
const module = app.modules[m];
|
|
95
|
+
module.daemon = this._daemon;
|
|
96
|
+
}
|
|
97
|
+
return this._daemon;
|
|
98
|
+
}
|
|
99
|
+
makeDaemon(trxEngines, providers) {
|
|
100
|
+
return new InlineDaemon(this.name, trxEngines, providers, this._config);
|
|
101
|
+
}
|
|
102
|
+
package(_package) {
|
|
103
|
+
this.packageJson = _package;
|
|
104
|
+
return this;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* This method injects elements flagged as externals by referencing them
|
|
108
|
+
* from the other module directly, given this is a single-threaded App.
|
|
109
|
+
*
|
|
110
|
+
* TODO: allow overriding this behavior with adapters
|
|
111
|
+
*/
|
|
112
|
+
linkExternals(modules) {
|
|
113
|
+
Object.values(modules).forEach(module => {
|
|
114
|
+
const buckets = module.schema.externals.buckets;
|
|
115
|
+
Object.values(buckets).forEach(bucket => {
|
|
116
|
+
module.buckets[bucket.refName] = modules[bucket.module].buckets[bucket.name];
|
|
117
|
+
});
|
|
118
|
+
const jobs = module.schema.externals.jobs;
|
|
119
|
+
Object.values(jobs).forEach(job => {
|
|
120
|
+
module.jobs[job.refName] = modules[job.module].jobs[job.name];
|
|
121
|
+
});
|
|
122
|
+
const machines = module.schema.externals.machines;
|
|
123
|
+
Object.values(machines).forEach(machine => {
|
|
124
|
+
module.machines[machine.refName] = modules[machine.module].machines[machine.name];
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
//
|
|
129
|
+
static package(app, scripts, dependencies) {
|
|
130
|
+
return {
|
|
131
|
+
'name': app.name,
|
|
132
|
+
'version': '1.0.0',
|
|
133
|
+
'description': '',
|
|
134
|
+
'main': 'index.js',
|
|
135
|
+
scripts,
|
|
136
|
+
dependencies,
|
|
137
|
+
...(app.packageJson || {})
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
exports.InlineApp = InlineApp;
|
|
142
|
+
class InlineDaemon extends daemon_1.Daemon {
|
|
143
|
+
}
|
|
144
|
+
exports.InlineDaemon = InlineDaemon;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { $Space, ModuleName } from "../../../schema";
|
|
2
|
+
import { AppProvider } from '../app';
|
|
3
|
+
import { InlineApp } from './../inline.app';
|
|
4
|
+
import { AnyTrxEngine } from '../../transaction/trx_engine';
|
|
5
|
+
import { Space } from '../../space';
|
|
6
|
+
import { Daemon } from "../../daemon";
|
|
7
|
+
export declare class MonolythApp<S extends $Space, ModuleNames extends string = ModuleName<S> & string, Providers extends Record<string, any> = Record<string, any>> extends InlineApp<S, ModuleNames, Providers> {
|
|
8
|
+
private watcher?;
|
|
9
|
+
constructor(name: string, space?: Space<S>);
|
|
10
|
+
protected _packageJson?: Record<string, any>;
|
|
11
|
+
modules<M extends ModuleName<S>>(modules: M[]): MonolythApp<S, M & ModuleNames>;
|
|
12
|
+
provider<Name extends string, T>($: AppProvider<Name, T>): MonolythApp<S, ModuleNames, Providers & { [K in Name]: T; }>;
|
|
13
|
+
daemon($?: {
|
|
14
|
+
watch?: boolean;
|
|
15
|
+
}): Promise<Daemon<S, ModuleNames>>;
|
|
16
|
+
protected makeDaemon(trxEngines: Record<ModuleNames, AnyTrxEngine>, providers: Record<string, any>): MonolythDaemon<$Space, ModuleNames>;
|
|
17
|
+
remake(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export declare class MonolythDaemon<S extends $Space, Modules extends ModuleName<S>> extends Daemon<S, Modules> {
|
|
20
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.MonolythDaemon = exports.MonolythApp = void 0;
|
|
37
|
+
const inline_app_1 = require("./../inline.app");
|
|
38
|
+
const space_1 = require("../../space");
|
|
39
|
+
const daemon_1 = require("../../daemon");
|
|
40
|
+
const log_1 = require("../../util/log");
|
|
41
|
+
class MonolythApp extends inline_app_1.InlineApp {
|
|
42
|
+
constructor(name, space) {
|
|
43
|
+
super(name, []);
|
|
44
|
+
this.builders = undefined;
|
|
45
|
+
this.space = space;
|
|
46
|
+
}
|
|
47
|
+
// Type Builder Overrides
|
|
48
|
+
modules(modules) {
|
|
49
|
+
super.modules(modules);
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
provider($) {
|
|
53
|
+
super.provider($);
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
// Override InlineApp abstract methods
|
|
57
|
+
async daemon($) {
|
|
58
|
+
/**
|
|
59
|
+
* When running from development environment (with Space)
|
|
60
|
+
* this flag watches file changes on the space path and
|
|
61
|
+
* reboots the modules.
|
|
62
|
+
*
|
|
63
|
+
* Dynamic imports are used here so `chokidar` can be declared
|
|
64
|
+
* as a "devDependency" instead of a "dependency".
|
|
65
|
+
*/
|
|
66
|
+
if (this.space && $?.watch) {
|
|
67
|
+
Promise.resolve().then(() => __importStar(require('chokidar'))).then(({ default: chokidar }) => {
|
|
68
|
+
this.watcher = chokidar.watch(space_1.Space.path(this.space, '..', '..')); // TODO: change to .
|
|
69
|
+
this.watcher
|
|
70
|
+
.on('change', () => {
|
|
71
|
+
this.remake();
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return super.daemon();
|
|
76
|
+
}
|
|
77
|
+
makeDaemon(trxEngines, providers) {
|
|
78
|
+
return new MonolythDaemon(this.name, trxEngines, providers, this._config);
|
|
79
|
+
}
|
|
80
|
+
// Reboot (from Watcher)
|
|
81
|
+
async remake() {
|
|
82
|
+
log_1.Log.warn('app', 'monolyth', `File changes detected. Remaking app '${this.name}'`);
|
|
83
|
+
if (!this._daemon) {
|
|
84
|
+
log_1.Log.error('app', 'monolyth', `Attempt to remake app ${this.name} failed: Daemon not running.`);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const app = await this.make();
|
|
88
|
+
await daemon_1.Daemon.reload(this._daemon, app.trxEngines, app.providers);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.MonolythApp = MonolythApp;
|
|
92
|
+
class MonolythDaemon extends daemon_1.Daemon {
|
|
93
|
+
}
|
|
94
|
+
exports.MonolythDaemon = MonolythDaemon;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { AnyTrxEngine } from '../../transaction/trx_engine';
|
|
2
|
+
import { $Module } from "../../../schema";
|
|
3
|
+
export type CLIData<M extends $Module, Msg extends keyof M['messages']> = Omit<M['messages'][Msg]['#raw'], '$'>;
|
|
4
|
+
export declare class MonolythCLI {
|
|
5
|
+
private trxEngines;
|
|
6
|
+
private module?;
|
|
7
|
+
constructor(trxEngines: Record<string, AnyTrxEngine>);
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
private runCmd;
|
|
10
|
+
private cmdHelp;
|
|
11
|
+
private cmdClear;
|
|
12
|
+
private cmdListModules;
|
|
13
|
+
private cmdInvokeInteractive;
|
|
14
|
+
private cmdPickModule;
|
|
15
|
+
private cmdInvoke;
|
|
16
|
+
}
|
|
17
|
+
export declare enum Color {
|
|
18
|
+
black = "0;30",
|
|
19
|
+
red = "0;31",
|
|
20
|
+
green = "0;32",
|
|
21
|
+
brown = "0;33",
|
|
22
|
+
blue = "0;34",
|
|
23
|
+
purple = "0;35",
|
|
24
|
+
cyan = "0;36",
|
|
25
|
+
lightgray = "0;37",
|
|
26
|
+
darkgray = "1;30",
|
|
27
|
+
lightred = "1;31",
|
|
28
|
+
lightgreen = "1;32",
|
|
29
|
+
yellow = "1;33",
|
|
30
|
+
lightblue = "1;34",
|
|
31
|
+
lightpurple = "1;35",
|
|
32
|
+
lightcyan = "1;36"
|
|
33
|
+
}
|
|
34
|
+
export default class Console {
|
|
35
|
+
static colored(msg: string, color: keyof typeof Color): string;
|
|
36
|
+
static select(title: string, options: string[], defaul?: number): Promise<string>;
|
|
37
|
+
static question(text: string, defaul?: string, prefix?: string): Promise<string>;
|
|
38
|
+
static waitForAnyKey(title?: string): Promise<void>;
|
|
39
|
+
static yesOrNo(text: string, defaul?: 'y' | 'n'): Promise<boolean>;
|
|
40
|
+
static step(msg: string): void;
|
|
41
|
+
static info(msg: string): void;
|
|
42
|
+
static cmd(msg: string): void;
|
|
43
|
+
static error(msg: string): void;
|
|
44
|
+
static header(module: string): void;
|
|
45
|
+
}
|