nesoi 3.3.11 → 3.3.12
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/LICENSE +21 -0
- package/build/README.md +41 -0
- package/{lib → build/lib}/bundler/browser/browser.bundler.js +4 -7
- package/{lib → build/lib}/bundler/browser/stages/8_replace_nesoi_for_browser_stage.js +1 -0
- package/{lib → build/lib}/bundler/distributed/distributed.bundler.js +6 -4
- package/{lib → build/lib}/bundler/distributed/stages/1_mkdir_stage.js +2 -0
- package/{lib → build/lib}/bundler/distributed/stages/2_build_typescript_stage.js +3 -1
- package/{lib → build/lib}/bundler/distributed/stages/3_copy_types_stage.js +2 -0
- package/{lib → build/lib}/bundler/distributed/stages/4_dump_modules_stage.js +2 -0
- package/{lib → build/lib}/bundler/monolyth/monolyth.bundler.js +7 -5
- package/{lib → build/lib}/bundler/monolyth/stages/1_mkdir_stage.js +2 -0
- package/{lib → build/lib}/bundler/monolyth/stages/2_build_typescript_stage.js +3 -1
- package/{lib → build/lib}/bundler/monolyth/stages/3_copy_types_stage.js +2 -0
- package/{lib → build/lib}/bundler/monolyth/stages/4_dump_modules_stage.js +2 -0
- package/{lib → build/lib}/bundler/monolyth/stages/5_copy_static_stage.js +2 -0
- package/{lib → build/lib}/bundler/monolyth/stages/6_dump_cli_stage.js +2 -0
- package/{lib → build/lib}/bundler/monolyth/stages/7_dump_package_json_stage.js +2 -0
- package/{lib → build/lib}/compiler/compiler.js +7 -2
- package/{lib → build/lib}/compiler/elements/bucket.element.js +3 -5
- package/{lib → build/lib}/compiler/elements/constants.element.js +2 -2
- package/{lib → build/lib}/compiler/elements/controller.element.js +1 -1
- package/{lib → build/lib}/compiler/elements/element.js +15 -2
- package/{lib → build/lib}/compiler/elements/externals.element.js +12 -4
- package/{lib → build/lib}/compiler/elements/message.element.js +7 -0
- package/{lib → build/lib}/compiler/module.js +6 -1
- package/{lib → build/lib}/compiler/stages/1_scan_stage.js +1 -0
- package/{lib → build/lib}/compiler/stages/2_treeshake_stage.js +1 -0
- package/{lib → build/lib}/compiler/stages/3_extract_ts_stage.js +1 -0
- package/{lib → build/lib}/compiler/stages/4_build_schemas_stage.js +3 -3
- package/{lib → build/lib}/compiler/stages/5_inject_ts_stage.js +1 -0
- package/{lib → build/lib}/compiler/stages/6_build_elements_stage.js +1 -0
- package/{lib → build/lib}/compiler/stages/7_dump_stage.js +5 -3
- package/{lib → build/lib}/compiler/stages/8_diagnose_stage.js +1 -0
- package/{lib → build/lib}/compiler/typescript/bridge/inject.js +1 -1
- package/{lib → build/lib}/compiler/typescript/bridge/organize.js +25 -32
- package/{lib → build/lib}/compiler/typescript/parser.js +10 -0
- package/{lib → build/lib}/compiler/typescript/source.js +6 -4
- package/{lib → build/lib}/compiler/typescript/typescript_compiler.js +8 -3
- package/{lib → build/lib}/elements/blocks/block.builder.js +16 -14
- package/{lib → build/lib}/elements/blocks/block.js +3 -0
- package/{lib → build/lib}/elements/blocks/block.schema.js +10 -1
- package/{lib → build/lib}/elements/blocks/job/internal/machine_job.builder.js +10 -3
- package/{lib → build/lib}/elements/blocks/job/internal/machine_job.schema.js +2 -0
- package/{lib → build/lib}/elements/blocks/job/internal/resource_job.builder.js +16 -4
- package/{lib → build/lib}/elements/blocks/job/internal/resource_job.schema.js +7 -0
- package/{lib → build/lib}/elements/blocks/job/job.builder.js +5 -3
- package/{lib → build/lib}/elements/blocks/job/job.js +2 -0
- package/{lib → build/lib}/elements/blocks/job/job.schema.js +11 -1
- package/{lib → build/lib}/elements/blocks/machine/machine.builder.js +6 -3
- package/{lib → build/lib}/elements/blocks/machine/machine.js +7 -0
- package/{lib → build/lib}/elements/blocks/machine/machine.schema.js +38 -3
- package/{lib → build/lib}/elements/blocks/machine/machine_state.builder.js +6 -4
- package/{lib → build/lib}/elements/blocks/machine/machine_transition.builder.js +8 -1
- package/{lib → build/lib}/elements/blocks/queue/adapters/bucket.queue_adapter.js +1 -0
- package/{lib → build/lib}/elements/blocks/queue/queue.builder.js +1 -1
- package/{lib → build/lib}/elements/blocks/queue/queue.js +2 -0
- package/{lib → build/lib}/elements/blocks/queue/queue.schema.js +7 -2
- package/{lib → build/lib}/elements/blocks/resource/resource.builder.js +4 -3
- package/{lib → build/lib}/elements/blocks/resource/resource.js +2 -0
- package/{lib → build/lib}/elements/blocks/resource/resource.schema.js +13 -1
- package/{lib → build/lib}/elements/blocks/topic/topic.builder.js +1 -1
- package/{lib → build/lib}/elements/blocks/topic/topic.js +3 -1
- package/{lib → build/lib}/elements/blocks/topic/topic.schema.js +8 -2
- package/{lib → build/lib}/elements/edge/controller/adapters/cli.controller_adapter.js +2 -5
- package/{lib → build/lib}/elements/edge/controller/adapters/controller_adapter.js +3 -0
- package/{lib → build/lib}/elements/edge/controller/controller.builder.js +32 -17
- package/{lib → build/lib}/elements/edge/controller/controller.js +10 -0
- package/{lib → build/lib}/elements/edge/controller/controller.schema.js +38 -5
- package/{lib → build/lib}/elements/edge/externals/externals.builder.js +9 -8
- package/{lib → build/lib}/elements/edge/externals/externals.schema.js +9 -1
- package/{lib → build/lib}/elements/entities/bucket/adapters/browserdb.bucket_adapter.js +7 -6
- package/{lib → build/lib}/elements/entities/bucket/adapters/browserdb.service.d.ts +1 -1
- package/{lib → build/lib}/elements/entities/bucket/adapters/browserdb.service.js +9 -10
- package/{lib → build/lib}/elements/entities/bucket/adapters/bucket_adapter.js +3 -0
- package/{lib → build/lib}/elements/entities/bucket/adapters/json.bucket_adapter.js +4 -2
- package/{lib → build/lib}/elements/entities/bucket/adapters/memory.bucket_adapter.js +3 -0
- package/{lib → build/lib}/elements/entities/bucket/adapters/memory.nql.js +1 -0
- package/{lib → build/lib}/elements/entities/bucket/bucket.builder.js +9 -3
- package/{lib → build/lib}/elements/entities/bucket/bucket.js +15 -8
- package/{lib → build/lib}/elements/entities/bucket/bucket.schema.js +14 -1
- package/{lib → build/lib}/elements/entities/bucket/cache/bucket_cache.js +10 -0
- package/{lib → build/lib}/elements/entities/bucket/graph/bucket_graph.builder.js +1 -3
- package/{lib → build/lib}/elements/entities/bucket/graph/bucket_graph.js +3 -0
- package/{lib → build/lib}/elements/entities/bucket/graph/bucket_graph.schema.js +13 -2
- package/{lib → build/lib}/elements/entities/bucket/graph/bucket_graph_link.builder.js +11 -2
- package/{lib → build/lib}/elements/entities/bucket/model/bucket_model.builder.js +2 -1
- package/{lib → build/lib}/elements/entities/bucket/model/bucket_model.convert.js +2 -1
- package/{lib → build/lib}/elements/entities/bucket/model/bucket_model.js +3 -0
- package/{lib → build/lib}/elements/entities/bucket/model/bucket_model.schema.js +15 -2
- package/{lib → build/lib}/elements/entities/bucket/model/bucket_model_field.builder.js +17 -4
- package/{lib → build/lib}/elements/entities/bucket/query/nql_compiler.js +28 -21
- package/{lib → build/lib}/elements/entities/bucket/query/nql_engine.js +2 -1
- package/{lib → build/lib}/elements/entities/bucket/view/bucket_view.builder.js +2 -1
- package/{lib → build/lib}/elements/entities/bucket/view/bucket_view.js +4 -3
- package/{lib → build/lib}/elements/entities/bucket/view/bucket_view.schema.js +13 -2
- package/{lib → build/lib}/elements/entities/bucket/view/bucket_view_field.builder.js +8 -1
- package/{lib → build/lib}/elements/entities/constants/constants.builder.js +12 -5
- package/{lib → build/lib}/elements/entities/constants/constants.js +1 -0
- package/{lib → build/lib}/elements/entities/constants/constants.schema.js +19 -3
- package/{lib → build/lib}/elements/entities/drive/drive_adapter.js +1 -0
- package/{lib → build/lib}/elements/entities/drive/local.drive_adapter.d.ts +1 -1
- package/{lib → build/lib}/elements/entities/drive/local.drive_adapter.js +1 -0
- package/{lib → build/lib}/elements/entities/message/message.builder.js +5 -2
- package/{lib → build/lib}/elements/entities/message/message.js +2 -0
- package/{lib → build/lib}/elements/entities/message/message.schema.js +7 -1
- package/{lib → build/lib}/elements/entities/message/message_parser.js +1 -0
- package/{lib → build/lib}/elements/entities/message/template/message_template.builder.js +2 -3
- package/{lib → build/lib}/elements/entities/message/template/message_template.schema.js +16 -2
- package/{lib → build/lib}/elements/entities/message/template/message_template_field.builder.js +14 -4
- package/{lib → build/lib}/engine/app/app.config.js +3 -2
- package/{lib → build/lib}/engine/app/app.js +21 -14
- package/{lib → build/lib}/engine/app/inc/inc.client.d.ts +1 -1
- package/{lib → build/lib}/engine/app/inc/inc.client.js +2 -0
- package/{lib → build/lib}/engine/app/inc/inc.server.d.ts +1 -1
- package/{lib → build/lib}/engine/app/inc/inc.server.js +3 -1
- package/{lib → build/lib}/engine/app/inline.app.js +4 -1
- package/{lib → build/lib}/engine/app/native/browser.app.js +2 -1
- package/{lib → build/lib}/engine/app/native/distributed.app.config.js +1 -0
- package/{lib → build/lib}/engine/app/native/distributed.app.js +2 -2
- package/{lib → build/lib}/engine/app/native/distributed_node.app.js +6 -1
- package/{lib → build/lib}/engine/app/native/monolyth.app.js +2 -0
- package/{lib → build/lib}/engine/app/service.js +8 -0
- package/{lib → build/lib}/engine/auth/zero.authn_provider.js +1 -4
- package/{lib → build/lib}/engine/cli/cli.js +6 -2
- package/{lib → build/lib}/engine/cli/cli_adapter.js +9 -1
- package/{lib → build/lib}/engine/cli/cli_input.js +6 -4
- package/{lib → build/lib}/engine/cli/script.js +8 -6
- package/{lib → build/lib}/engine/daemon.js +14 -0
- package/{lib → build/lib}/engine/data/date.js +3 -0
- package/{lib → build/lib}/engine/data/datetime.js +34 -26
- package/{lib → build/lib}/engine/data/decimal.js +6 -1
- package/{lib → build/lib}/engine/data/duration.js +28 -26
- package/{lib → build/lib}/engine/data/error.js +3 -0
- package/{lib → build/lib}/engine/data/file.js +21 -6
- package/{lib → build/lib}/engine/data/tree.js +3 -1
- package/{lib → build/lib}/engine/dependency.js +17 -0
- package/{lib → build/lib}/engine/module.js +35 -12
- package/{lib → build/lib}/engine/space.js +3 -2
- package/{lib → build/lib}/engine/transaction/nodes/bucket.trx_node.d.ts +1 -1
- package/{lib → build/lib}/engine/transaction/nodes/bucket.trx_node.js +10 -1
- package/{lib → build/lib}/engine/transaction/nodes/bucket_query.trx_node.js +9 -2
- package/{lib → build/lib}/engine/transaction/nodes/external.trx_node.js +3 -0
- package/{lib → build/lib}/engine/transaction/nodes/job.trx_node.js +5 -0
- package/{lib → build/lib}/engine/transaction/nodes/machine.trx_node.js +4 -0
- package/{lib → build/lib}/engine/transaction/nodes/queue.trx_node.js +4 -0
- package/{lib → build/lib}/engine/transaction/nodes/resource.trx_node.js +4 -0
- package/{lib → build/lib}/engine/transaction/nodes/topic.trx_node.js +4 -0
- package/{lib → build/lib}/engine/transaction/trx.js +18 -3
- package/{lib → build/lib}/engine/transaction/trx_engine.js +12 -1
- package/{lib → build/lib}/engine/transaction/trx_node.js +23 -11
- package/{lib → build/lib}/engine/tree.js +6 -5
- package/{lib → build/lib}/engine/util/crypto.js +17 -17
- package/{lib → build/lib}/engine/util/log.js +9 -9
- package/{lib → build/lib}/engine/util/path.js +1 -1
- package/{lib → build/lib}/engine/util/random.d.ts +1 -1
- package/build/lib/engine/util/regex.d.ts +3 -0
- package/build/lib/engine/util/regex.js +82 -0
- package/build/package.json +21 -0
- package/{tools → build/tools}/joaquin/mock.js +10 -0
- package/build/tsconfig.build.tsbuildinfo +1 -0
- package/index.d.ts +6 -0
- package/package.json +61 -23
- package/scripts/bundle.ts +65 -0
- package/scripts/bundle_browser.ts +106 -0
- package/scripts/util/file.ts +13 -0
- package/tsconfig.build.tsbuildinfo +0 -1
- package/{lib → build/lib}/bundler/browser/browser.bundler.d.ts +0 -0
- package/{lib → build/lib}/bundler/browser/stages/8_replace_nesoi_for_browser_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/distributed/distributed.bundler.d.ts +0 -0
- package/{lib → build/lib}/bundler/distributed/stages/1_mkdir_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/distributed/stages/2_build_typescript_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/distributed/stages/3_copy_types_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/distributed/stages/4_dump_modules_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/distributed/stages/5_copy_static_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/distributed/stages/5_copy_static_stage.js +0 -0
- package/{lib → build/lib}/bundler/distributed/stages/6_dump_cli_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/distributed/stages/6_dump_cli_stage.js +0 -0
- package/{lib → build/lib}/bundler/distributed/stages/7_dump_package_json_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/distributed/stages/7_dump_package_json_stage.js +0 -0
- package/{lib → build/lib}/bundler/monolyth/monolyth.bundler.d.ts +0 -0
- package/{lib → build/lib}/bundler/monolyth/stages/1_mkdir_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/monolyth/stages/2_build_typescript_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/monolyth/stages/3_copy_types_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/monolyth/stages/4_dump_modules_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/monolyth/stages/5_copy_static_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/monolyth/stages/6_dump_cli_stage.d.ts +0 -0
- package/{lib → build/lib}/bundler/monolyth/stages/7_dump_package_json_stage.d.ts +0 -0
- package/{lib → build/lib}/compiler/compiler.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/bucket.element.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/cached.element.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/cached.element.js +0 -0
- package/{lib → build/lib}/compiler/elements/constants.element.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/controller.element.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/element.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/externals.element.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/job.element.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/job.element.js +0 -0
- package/{lib → build/lib}/compiler/elements/machine.element.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/machine.element.js +0 -0
- package/{lib → build/lib}/compiler/elements/message.element.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/queue.element.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/queue.element.js +1 -1
- package/{lib → build/lib}/compiler/elements/resource.element.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/resource.element.js +0 -0
- package/{lib → build/lib}/compiler/elements/topic.element.d.ts +0 -0
- package/{lib → build/lib}/compiler/elements/topic.element.js +1 -1
- /package/{lib → build/lib}/compiler/error.d.ts +0 -0
- /package/{lib → build/lib}/compiler/error.js +0 -0
- /package/{lib → build/lib}/compiler/helpers/dump_helpers.d.ts +0 -0
- /package/{lib → build/lib}/compiler/helpers/dump_helpers.js +0 -0
- /package/{lib → build/lib}/compiler/index.d.ts +0 -0
- /package/{lib → build/lib}/compiler/index.js +0 -0
- /package/{lib → build/lib}/compiler/module.d.ts +0 -0
- /package/{lib → build/lib}/compiler/progressive.d.ts +0 -0
- /package/{lib → build/lib}/compiler/progressive.js +0 -0
- /package/{lib → build/lib}/compiler/stages/1_scan_stage.d.ts +0 -0
- /package/{lib → build/lib}/compiler/stages/2_treeshake_stage.d.ts +0 -0
- /package/{lib → build/lib}/compiler/stages/3_extract_ts_stage.d.ts +0 -0
- /package/{lib → build/lib}/compiler/stages/4_build_schemas_stage.d.ts +0 -0
- /package/{lib → build/lib}/compiler/stages/5_inject_ts_stage.d.ts +0 -0
- /package/{lib → build/lib}/compiler/stages/6_build_elements_stage.d.ts +0 -0
- /package/{lib → build/lib}/compiler/stages/7_dump_stage.d.ts +0 -0
- /package/{lib → build/lib}/compiler/stages/8_diagnose_stage.d.ts +0 -0
- /package/{lib → build/lib}/compiler/typescript/bridge/extract.d.ts +0 -0
- /package/{lib → build/lib}/compiler/typescript/bridge/extract.js +0 -0
- /package/{lib → build/lib}/compiler/typescript/bridge/inject.d.ts +0 -0
- /package/{lib → build/lib}/compiler/typescript/bridge/organize.d.ts +0 -0
- /package/{lib → build/lib}/compiler/typescript/error.d.ts +0 -0
- /package/{lib → build/lib}/compiler/typescript/error.js +0 -0
- /package/{lib → build/lib}/compiler/typescript/parser.d.ts +0 -0
- /package/{lib → build/lib}/compiler/typescript/source.d.ts +0 -0
- /package/{lib → build/lib}/compiler/typescript/transformers/app_inject.transformer.d.ts +0 -0
- /package/{lib → build/lib}/compiler/typescript/transformers/app_inject.transformer.js +0 -0
- /package/{lib → build/lib}/compiler/typescript/transformers/replace_import.transformer.d.ts +0 -0
- /package/{lib → build/lib}/compiler/typescript/transformers/replace_import.transformer.js +0 -0
- /package/{lib → build/lib}/compiler/typescript/typescript_compiler.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/block.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/block.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/block.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/job/internal/machine_job.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/job/internal/machine_job.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/job/internal/resource_job.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/job/internal/resource_job.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/job/internal/resource_job.js +0 -0
- /package/{lib → build/lib}/elements/blocks/job/internal/resource_job.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/job/job.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/job/job.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/job/job.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/job/job.types.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/job/job.types.js +0 -0
- /package/{lib → build/lib}/elements/blocks/machine/machine.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/machine/machine.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/machine/machine.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/machine/machine_state.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/machine/machine_transition.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/queue/adapters/bucket.queue_adapter.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/queue/adapters/queue_adapter.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/queue/adapters/queue_adapter.js +0 -0
- /package/{lib → build/lib}/elements/blocks/queue/queue.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/queue/queue.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/queue/queue.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/resource/resource.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/resource/resource.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/resource/resource.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/resource/resource.types.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/resource/resource.types.js +0 -0
- /package/{lib → build/lib}/elements/blocks/topic/topic.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/topic/topic.d.ts +0 -0
- /package/{lib → build/lib}/elements/blocks/topic/topic.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/edge/controller/adapters/cli.controller_adapter.d.ts +0 -0
- /package/{lib → build/lib}/elements/edge/controller/adapters/controller_adapter.d.ts +0 -0
- /package/{lib → build/lib}/elements/edge/controller/controller.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/edge/controller/controller.config.d.ts +0 -0
- /package/{lib → build/lib}/elements/edge/controller/controller.config.js +0 -0
- /package/{lib → build/lib}/elements/edge/controller/controller.d.ts +0 -0
- /package/{lib → build/lib}/elements/edge/controller/controller.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/edge/externals/externals.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/edge/externals/externals.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/adapters/browserdb.bucket_adapter.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/adapters/bucket_adapter.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/adapters/json.bucket_adapter.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/adapters/memory.bucket_adapter.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/adapters/memory.nql.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/bucket.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/bucket.config.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/bucket.config.js +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/bucket.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/bucket.infer.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/bucket.infer.js +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/bucket.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/bucket.types.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/bucket.types.js +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/cache/bucket_cache.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/graph/bucket_graph.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/graph/bucket_graph.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/graph/bucket_graph.infer.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/graph/bucket_graph.infer.js +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/graph/bucket_graph.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/graph/bucket_graph_link.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/model/bucket_model.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/model/bucket_model.convert.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/model/bucket_model.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/model/bucket_model.infer.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/model/bucket_model.infer.js +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/model/bucket_model.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/model/bucket_model_field.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/query/nql.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/query/nql.schema.js +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/query/nql_compiler.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/query/nql_engine.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/view/bucket_view.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/view/bucket_view.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/view/bucket_view.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/bucket/view/bucket_view_field.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/constants/constants.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/constants/constants.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/constants/constants.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/drive/drive_adapter.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/message/message.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/message/message.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/message/message.infer.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/message/message.infer.js +0 -0
- /package/{lib → build/lib}/elements/entities/message/message.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/message/message_parser.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/message/template/message_template.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/message/template/message_template.schema.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/message/template/message_template_field.builder.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/message/template/message_template_parser.d.ts +0 -0
- /package/{lib → build/lib}/elements/entities/message/template/message_template_parser.js +0 -0
- /package/{lib → build/lib}/elements/index.d.ts +0 -0
- /package/{lib → build/lib}/elements/index.js +0 -0
- /package/{lib → build/lib}/engine/app/app.config.d.ts +0 -0
- /package/{lib → build/lib}/engine/app/app.d.ts +0 -0
- /package/{lib → build/lib}/engine/app/inc/sandbox.d.ts +0 -0
- /package/{lib → build/lib}/engine/app/inc/sandbox.js +0 -0
- /package/{lib → build/lib}/engine/app/inline.app.d.ts +0 -0
- /package/{lib → build/lib}/engine/app/native/browser.app.d.ts +0 -0
- /package/{lib → build/lib}/engine/app/native/distributed.app.config.d.ts +0 -0
- /package/{lib → build/lib}/engine/app/native/distributed.app.d.ts +0 -0
- /package/{lib → build/lib}/engine/app/native/distributed_node.app.d.ts +0 -0
- /package/{lib → build/lib}/engine/app/native/monolyth.app.config.d.ts +0 -0
- /package/{lib → build/lib}/engine/app/native/monolyth.app.config.js +0 -0
- /package/{lib → build/lib}/engine/app/native/monolyth.app.d.ts +0 -0
- /package/{lib → build/lib}/engine/app/service.d.ts +0 -0
- /package/{lib → build/lib}/engine/auth/authn.d.ts +0 -0
- /package/{lib → build/lib}/engine/auth/authn.js +0 -0
- /package/{lib → build/lib}/engine/auth/zero.authn_provider.d.ts +0 -0
- /package/{lib → build/lib}/engine/builder.d.ts +0 -0
- /package/{lib → build/lib}/engine/builder.js +0 -0
- /package/{lib → build/lib}/engine/cli/cli.d.ts +0 -0
- /package/{lib → build/lib}/engine/cli/cli_adapter.d.ts +0 -0
- /package/{lib → build/lib}/engine/cli/cli_input.d.ts +0 -0
- /package/{lib → build/lib}/engine/cli/script.d.ts +0 -0
- /package/{lib → build/lib}/engine/cli/ui.d.ts +0 -0
- /package/{lib → build/lib}/engine/cli/ui.js +0 -0
- /package/{lib → build/lib}/engine/daemon.d.ts +0 -0
- /package/{lib → build/lib}/engine/data/date.d.ts +0 -0
- /package/{lib → build/lib}/engine/data/datetime.d.ts +0 -0
- /package/{lib → build/lib}/engine/data/decimal.d.ts +0 -0
- /package/{lib → build/lib}/engine/data/duration.d.ts +0 -0
- /package/{lib → build/lib}/engine/data/error.d.ts +0 -0
- /package/{lib → build/lib}/engine/data/file.d.ts +0 -0
- /package/{lib → build/lib}/engine/data/json.d.ts +0 -0
- /package/{lib → build/lib}/engine/data/json.js +0 -0
- /package/{lib → build/lib}/engine/data/obj.d.ts +0 -0
- /package/{lib → build/lib}/engine/data/obj.js +0 -0
- /package/{lib → build/lib}/engine/data/trash.d.ts +0 -0
- /package/{lib → build/lib}/engine/data/trash.js +0 -0
- /package/{lib → build/lib}/engine/data/tree.d.ts +0 -0
- /package/{lib → build/lib}/engine/dependency.d.ts +0 -0
- /package/{lib → build/lib}/engine/module.d.ts +0 -0
- /package/{lib → build/lib}/engine/space.d.ts +0 -0
- /package/{lib → build/lib}/engine/transaction/nodes/bucket_query.trx_node.d.ts +0 -0
- /package/{lib → build/lib}/engine/transaction/nodes/external.trx_node.d.ts +0 -0
- /package/{lib → build/lib}/engine/transaction/nodes/job.trx_node.d.ts +0 -0
- /package/{lib → build/lib}/engine/transaction/nodes/machine.trx_node.d.ts +0 -0
- /package/{lib → build/lib}/engine/transaction/nodes/queue.trx_node.d.ts +0 -0
- /package/{lib → build/lib}/engine/transaction/nodes/resource.trx_node.d.ts +0 -0
- /package/{lib → build/lib}/engine/transaction/nodes/topic.trx_node.d.ts +0 -0
- /package/{lib → build/lib}/engine/transaction/trx.d.ts +0 -0
- /package/{lib → build/lib}/engine/transaction/trx_engine.config.d.ts +0 -0
- /package/{lib → build/lib}/engine/transaction/trx_engine.config.js +0 -0
- /package/{lib → build/lib}/engine/transaction/trx_engine.d.ts +0 -0
- /package/{lib → build/lib}/engine/transaction/trx_node.d.ts +0 -0
- /package/{lib → build/lib}/engine/tree.d.ts +0 -0
- /package/{lib → build/lib}/engine/treeshake.d.ts +0 -0
- /package/{lib → build/lib}/engine/treeshake.js +0 -0
- /package/{lib → build/lib}/engine/util/console.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/console.js +0 -0
- /package/{lib → build/lib}/engine/util/crypto.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/deep.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/deep.js +0 -0
- /package/{lib → build/lib}/engine/util/dotenv.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/dotenv.js +0 -0
- /package/{lib → build/lib}/engine/util/hash.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/hash.js +0 -0
- /package/{lib → build/lib}/engine/util/i18n.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/i18n.js +0 -0
- /package/{lib → build/lib}/engine/util/log.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/mime.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/mime.js +0 -0
- /package/{lib → build/lib}/engine/util/name_helpers.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/name_helpers.js +0 -0
- /package/{lib → build/lib}/engine/util/parse.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/parse.js +0 -0
- /package/{lib → build/lib}/engine/util/path.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/promise.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/promise.js +0 -0
- /package/{lib → build/lib}/engine/util/random.js +0 -0
- /package/{lib → build/lib}/engine/util/rules.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/rules.js +0 -0
- /package/{lib → build/lib}/engine/util/shell.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/shell.js +0 -0
- /package/{lib → build/lib}/engine/util/string.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/string.js +0 -0
- /package/{lib → build/lib}/engine/util/type.d.ts +0 -0
- /package/{lib → build/lib}/engine/util/type.js +0 -0
- /package/{lib → build/lib}/schema.d.ts +0 -0
- /package/{lib → build/lib}/schema.js +0 -0
- /package/{tools → build/tools}/compile.d.ts +0 -0
- /package/{tools → build/tools}/compile.js +0 -0
- /package/{tools → build/tools}/joaquin/bucket.d.ts +0 -0
- /package/{tools → build/tools}/joaquin/bucket.js +0 -0
- /package/{tools → build/tools}/joaquin/job.d.ts +0 -0
- /package/{tools → build/tools}/joaquin/job.js +0 -0
- /package/{tools → build/tools}/joaquin/message.d.ts +0 -0
- /package/{tools → build/tools}/joaquin/message.js +0 -0
- /package/{tools → build/tools}/joaquin/mock.d.ts +0 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 nesoi-org
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/build/README.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Nesoi
|
|
2
|
+
Zero-dependency Typescript framework for data-driven applications.
|
|
3
|
+
|
|
4
|
+

|
|
5
|
+
|
|
6
|
+
> :warning: This is a work-in-progress. Use it with caution.
|
|
7
|
+
|
|
8
|
+
## Introduction
|
|
9
|
+
|
|
10
|
+
**nesoi** is a framework which makes it easy to implement data operations (crud, query, hidrate), jobs (synchronous or asynchronous), statecharts, queues, topics and controllers.
|
|
11
|
+
|
|
12
|
+
It does so through a _"builder-schema-element"_ paradigm, where you use _builders_ to declare _schemas_. Such _schemas_ are used by the _engine_ to build _elements_, which are runtime objects that perform actions inside _transactions_.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
> `Builder` _-builds->_ `Schema` _-configures->_ `Element`
|
|
16
|
+
|
|
17
|
+
This paradigm allows declaring _modules_, which groups schemas into developer-chosen scopes. Such _modules_ are then used to declare _apps_, which are bundled ECMAScript (JS) applications.
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
modules/
|
|
21
|
+
module1/
|
|
22
|
+
...elements...
|
|
23
|
+
module2/
|
|
24
|
+
...elements...
|
|
25
|
+
apps/
|
|
26
|
+
app1
|
|
27
|
+
app2
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
When declaring an _app_, you plug _adapters_ into the _elements_, which allows them to interact with external aspects of your application, such as databases and topics. This means the schemas are agnostic and plural, allowing adapters to be changed without friction.
|
|
31
|
+
|
|
32
|
+
> A particular great feature of using _adapters_ for data sources - _buckets_ - is that queries can be performed accross different types of storage with a consistent syntax: NQL.
|
|
33
|
+
|
|
34
|
+
It offers a powerful engine for developing cloud or in-browser applications, and a robust plugin system for extending it's functionalities.
|
|
35
|
+
|
|
36
|
+
It also allows building and testing modules in isolation, then bundling them into different architectures.
|
|
37
|
+
|
|
38
|
+
## Getting Started
|
|
39
|
+
|
|
40
|
+
- [Hands-On Guide](/docs/HANDS-ON.md): A quick practical read with a lot of examples.
|
|
41
|
+
- [Project Template](https://github.com/nesoi-org/nesoi-meta/tree/main/template): A minimal template for building a project with _nesoi_.
|
|
@@ -10,13 +10,10 @@ const console_1 = __importDefault(require("../../engine/util/console"));
|
|
|
10
10
|
const log_1 = require("../../engine/util/log");
|
|
11
11
|
const _8_replace_nesoi_for_browser_stage_1 = require("./stages/8_replace_nesoi_for_browser_stage");
|
|
12
12
|
class BrowserBundler extends monolyth_bundler_1.MonolythBundler {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
moduleResolution: typescript_1.default.ModuleResolutionKind.Bundler,
|
|
18
|
-
};
|
|
19
|
-
}
|
|
13
|
+
tsconfig = {
|
|
14
|
+
module: typescript_1.default.ModuleKind.ESNext,
|
|
15
|
+
moduleResolution: typescript_1.default.ModuleResolutionKind.Bundler,
|
|
16
|
+
};
|
|
20
17
|
async run() {
|
|
21
18
|
await super.run();
|
|
22
19
|
console_1.default.header('Browser Bundler');
|
|
@@ -53,6 +53,10 @@ const app_1 = require("../../engine/app/app");
|
|
|
53
53
|
const distributed_app_1 = require("../../engine/app/native/distributed.app");
|
|
54
54
|
const path_1 = require("../../engine/util/path");
|
|
55
55
|
class DistributedBundler {
|
|
56
|
+
compiler;
|
|
57
|
+
appPath;
|
|
58
|
+
config;
|
|
59
|
+
dirs;
|
|
56
60
|
constructor(compiler, appPath, config = {}) {
|
|
57
61
|
this.compiler = compiler;
|
|
58
62
|
this.appPath = appPath;
|
|
@@ -82,20 +86,18 @@ class DistributedBundler {
|
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
88
|
mergeServicePaths(app) {
|
|
85
|
-
var _a;
|
|
86
89
|
const services = app_1.App.getServices(app);
|
|
87
90
|
for (const name in services) {
|
|
88
91
|
const service = services[name];
|
|
89
92
|
if (!service.libPaths)
|
|
90
93
|
continue;
|
|
91
|
-
|
|
94
|
+
this.config.libPaths ??= [];
|
|
92
95
|
this.config.libPaths.push(...service.libPaths);
|
|
93
96
|
}
|
|
94
97
|
}
|
|
95
98
|
expandLibPaths() {
|
|
96
|
-
var _a;
|
|
97
99
|
const expandedPaths = [];
|
|
98
|
-
|
|
100
|
+
this.config.libPaths ??= [];
|
|
99
101
|
for (const path of this.config.libPaths) {
|
|
100
102
|
const expanded = path_1.Path.expandWildcard(path);
|
|
101
103
|
expandedPaths.push(...expanded);
|
|
@@ -48,6 +48,8 @@ const app_1 = require("../../../engine/app/app");
|
|
|
48
48
|
* @subcategory Stages
|
|
49
49
|
*/
|
|
50
50
|
class BuildTypescriptStage {
|
|
51
|
+
bundler;
|
|
52
|
+
app;
|
|
51
53
|
constructor(bundler, app) {
|
|
52
54
|
this.bundler = bundler;
|
|
53
55
|
this.app = app;
|
|
@@ -149,7 +151,7 @@ class BuildTypescriptStage {
|
|
|
149
151
|
...binFiles,
|
|
150
152
|
...moduleFiles
|
|
151
153
|
], {
|
|
152
|
-
target: ts.ScriptTarget.
|
|
154
|
+
target: ts.ScriptTarget.ES2022,
|
|
153
155
|
module: ts.ModuleKind.CommonJS,
|
|
154
156
|
moduleResolution: ts.ModuleResolutionKind.Node10,
|
|
155
157
|
noEmitOnError: true,
|
|
@@ -53,11 +53,15 @@ const app_1 = require("../../engine/app/app");
|
|
|
53
53
|
const monolyth_app_1 = require("../../engine/app/native/monolyth.app");
|
|
54
54
|
const path_1 = require("../../engine/util/path");
|
|
55
55
|
class MonolythBundler {
|
|
56
|
+
compiler;
|
|
57
|
+
appPath;
|
|
58
|
+
config;
|
|
59
|
+
tsconfig = {};
|
|
60
|
+
dirs;
|
|
56
61
|
constructor(compiler, appPath, config = {}) {
|
|
57
62
|
this.compiler = compiler;
|
|
58
63
|
this.appPath = appPath;
|
|
59
64
|
this.config = config;
|
|
60
|
-
this.tsconfig = {};
|
|
61
65
|
this.dirs = {};
|
|
62
66
|
}
|
|
63
67
|
async run() {
|
|
@@ -83,20 +87,18 @@ class MonolythBundler {
|
|
|
83
87
|
}
|
|
84
88
|
}
|
|
85
89
|
mergeServicePaths(app) {
|
|
86
|
-
var _a;
|
|
87
90
|
const services = app_1.App.getServices(app);
|
|
88
91
|
for (const name in services) {
|
|
89
92
|
const service = services[name];
|
|
90
93
|
if (!service.libPaths)
|
|
91
94
|
continue;
|
|
92
|
-
|
|
95
|
+
this.config.libPaths ??= [];
|
|
93
96
|
this.config.libPaths.push(...service.libPaths);
|
|
94
97
|
}
|
|
95
98
|
}
|
|
96
99
|
expandLibPaths() {
|
|
97
|
-
var _a;
|
|
98
100
|
const expandedPaths = [];
|
|
99
|
-
|
|
101
|
+
this.config.libPaths ??= [];
|
|
100
102
|
for (const path of this.config.libPaths) {
|
|
101
103
|
const expanded = path_1.Path.expandWildcard(path);
|
|
102
104
|
expandedPaths.push(...expanded);
|
|
@@ -48,6 +48,8 @@ const app_1 = require("../../../engine/app/app");
|
|
|
48
48
|
* @subcategory Stages
|
|
49
49
|
*/
|
|
50
50
|
class BuildTypescriptStage {
|
|
51
|
+
bundler;
|
|
52
|
+
app;
|
|
51
53
|
constructor(bundler, app) {
|
|
52
54
|
this.bundler = bundler;
|
|
53
55
|
this.app = app;
|
|
@@ -146,7 +148,7 @@ class BuildTypescriptStage {
|
|
|
146
148
|
...binFiles,
|
|
147
149
|
...moduleFiles
|
|
148
150
|
], {
|
|
149
|
-
target: ts.ScriptTarget.
|
|
151
|
+
target: ts.ScriptTarget.ES2022,
|
|
150
152
|
module: ts.ModuleKind.CommonJS,
|
|
151
153
|
moduleResolution: ts.ModuleResolutionKind.Node10,
|
|
152
154
|
noEmitOnError: true,
|
|
@@ -19,13 +19,18 @@ const console_1 = __importDefault(require("../engine/util/console"));
|
|
|
19
19
|
const log_1 = require("../engine/util/log");
|
|
20
20
|
const fs_1 = __importDefault(require("fs"));
|
|
21
21
|
class Compiler {
|
|
22
|
+
space;
|
|
23
|
+
config;
|
|
24
|
+
modules = {};
|
|
25
|
+
tree;
|
|
26
|
+
tsCompiler;
|
|
27
|
+
logFn;
|
|
22
28
|
constructor(space, config) {
|
|
23
29
|
this.space = space;
|
|
24
30
|
this.config = config;
|
|
25
|
-
this.modules = {};
|
|
26
|
-
this.tree = new tree_1.ModuleTree({}, this.config);
|
|
27
31
|
console_1.default.header('Compiler');
|
|
28
32
|
log_1.Log.info('compiler', 'ts', 'Loading TypeScript...');
|
|
33
|
+
this.tree = new tree_1.ModuleTree({}, this.config);
|
|
29
34
|
this.tsCompiler = new typescript_compiler_1.TypeScriptCompiler(space, config?.nesoiPath);
|
|
30
35
|
}
|
|
31
36
|
async run() {
|
|
@@ -5,6 +5,7 @@ const bucket_model_schema_1 = require("../../elements/entities/bucket/model/buck
|
|
|
5
5
|
const element_1 = require("./element");
|
|
6
6
|
const dump_helpers_1 = require("../helpers/dump_helpers");
|
|
7
7
|
const name_helpers_1 = require("../../engine/util/name_helpers");
|
|
8
|
+
const regex_1 = require("../../engine/util/regex");
|
|
8
9
|
class BucketElement extends element_1.Element {
|
|
9
10
|
// Prepare
|
|
10
11
|
prepare() {
|
|
@@ -97,11 +98,8 @@ class BucketElement extends element_1.Element {
|
|
|
97
98
|
type = 'string';
|
|
98
99
|
}
|
|
99
100
|
else if (field.type === 'literal') {
|
|
100
|
-
const regex = field.meta.literal.template;
|
|
101
|
-
const rtype = regex
|
|
102
|
-
.replace(/[.][*+]/g, '${string}')
|
|
103
|
-
.replace(/\\d[*+]?/g, '${number}')
|
|
104
|
-
.replace(/\\(.)/g, '$1');
|
|
101
|
+
const regex = field.meta.literal.template.toString();
|
|
102
|
+
const rtype = regex_1.NesoiRegex.toTemplateString(regex);
|
|
105
103
|
type = `\`${rtype}\``;
|
|
106
104
|
}
|
|
107
105
|
else if (field.type === 'obj') {
|
|
@@ -54,10 +54,10 @@ class ConstantsElement extends element_1.Element {
|
|
|
54
54
|
let node = enumTree;
|
|
55
55
|
split.forEach((part, i) => {
|
|
56
56
|
key += key.length ? `.${part}` : part;
|
|
57
|
-
node[part]
|
|
57
|
+
node[part] ??= {
|
|
58
58
|
_enum: `${this.typeName}['enums']['${key}']`,
|
|
59
59
|
_subs: []
|
|
60
|
-
}
|
|
60
|
+
};
|
|
61
61
|
if (i < split.length - 1) {
|
|
62
62
|
if (!node[part]._subs.includes(split[i + 1])) {
|
|
63
63
|
node[part]._subs.push(split[i + 1]);
|
|
@@ -13,9 +13,9 @@ class ControllerElement extends element_1.Element {
|
|
|
13
13
|
const type = dump_helpers_1.DumpHelpers.dumpValueToType(this.schema);
|
|
14
14
|
const input = this.schema.input.map(tag => name_helpers_1.NameHelpers.tagType(tag, this.module)).join(' | ');
|
|
15
15
|
return {
|
|
16
|
+
...type,
|
|
16
17
|
'#authn': element_1.Element.makeAuthnType(this.schema.auth),
|
|
17
18
|
'#input': input,
|
|
18
|
-
...type
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -6,6 +6,21 @@ const name_helpers_1 = require("../../engine/util/name_helpers");
|
|
|
6
6
|
const dump_helpers_1 = require("../helpers/dump_helpers");
|
|
7
7
|
/* @nesoi:browser ignore-end */
|
|
8
8
|
class Element {
|
|
9
|
+
compiler;
|
|
10
|
+
module;
|
|
11
|
+
$t;
|
|
12
|
+
files;
|
|
13
|
+
schema;
|
|
14
|
+
dependencies;
|
|
15
|
+
inlineRoot;
|
|
16
|
+
bridge;
|
|
17
|
+
static Any = Symbol('undefined as any');
|
|
18
|
+
static Never = Symbol('undefined as never');
|
|
19
|
+
type;
|
|
20
|
+
tag;
|
|
21
|
+
lowName;
|
|
22
|
+
highName;
|
|
23
|
+
typeName;
|
|
9
24
|
constructor(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge) {
|
|
10
25
|
this.compiler = compiler;
|
|
11
26
|
this.module = module;
|
|
@@ -108,5 +123,3 @@ class Element {
|
|
|
108
123
|
}
|
|
109
124
|
}
|
|
110
125
|
exports.Element = Element;
|
|
111
|
-
Element.Any = Symbol('undefined as any');
|
|
112
|
-
Element.Never = Symbol('undefined as never');
|
|
@@ -4,6 +4,18 @@ exports.ExternalsElement = void 0;
|
|
|
4
4
|
const element_1 = require("./element");
|
|
5
5
|
const dump_helpers_1 = require("../helpers/dump_helpers");
|
|
6
6
|
class ExternalsElement extends element_1.Element {
|
|
7
|
+
compiler;
|
|
8
|
+
module;
|
|
9
|
+
$t;
|
|
10
|
+
files;
|
|
11
|
+
schema;
|
|
12
|
+
dependencies;
|
|
13
|
+
inlineRoot;
|
|
14
|
+
bridge;
|
|
15
|
+
elements = {
|
|
16
|
+
bucket: {},
|
|
17
|
+
job: {}
|
|
18
|
+
};
|
|
7
19
|
constructor(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge) {
|
|
8
20
|
super(compiler, module, $t, files, schema, dependencies, inlineRoot, bridge);
|
|
9
21
|
this.compiler = compiler;
|
|
@@ -14,10 +26,6 @@ class ExternalsElement extends element_1.Element {
|
|
|
14
26
|
this.dependencies = dependencies;
|
|
15
27
|
this.inlineRoot = inlineRoot;
|
|
16
28
|
this.bridge = bridge;
|
|
17
|
-
this.elements = {
|
|
18
|
-
bucket: {},
|
|
19
|
-
job: {}
|
|
20
|
-
};
|
|
21
29
|
}
|
|
22
30
|
buildType() {
|
|
23
31
|
return {};
|
|
@@ -4,6 +4,7 @@ exports.MessageElement = void 0;
|
|
|
4
4
|
const element_1 = require("./element");
|
|
5
5
|
const dump_helpers_1 = require("../helpers/dump_helpers");
|
|
6
6
|
const name_helpers_1 = require("../../engine/util/name_helpers");
|
|
7
|
+
const regex_1 = require("../../engine/util/regex");
|
|
7
8
|
class MessageElement extends element_1.Element {
|
|
8
9
|
prepare() {
|
|
9
10
|
this.schema['#raw'] = element_1.Element.Any;
|
|
@@ -152,6 +153,12 @@ class MessageElement extends element_1.Element {
|
|
|
152
153
|
input[key] = '(' + Object.values(child.input).map(t => dump_helpers_1.DumpHelpers.dumpType(t)).join(' | ') + ')';
|
|
153
154
|
output[key] = '(' + Object.values(child.output).map(t => dump_helpers_1.DumpHelpers.dumpType(t)).join(' | ') + ')';
|
|
154
155
|
}
|
|
156
|
+
else if (field.type === 'literal') {
|
|
157
|
+
const regex = field.meta.literal.template;
|
|
158
|
+
const rtype = regex_1.NesoiRegex.toTemplateString(regex);
|
|
159
|
+
input[key] = `\`${rtype}\``;
|
|
160
|
+
output[key] = `\`${rtype}\``;
|
|
161
|
+
}
|
|
155
162
|
else if (field.type === 'msg') {
|
|
156
163
|
input[key] = 'any';
|
|
157
164
|
output[key] = 'any';
|
|
@@ -51,9 +51,14 @@ const queue_element_1 = require("./elements/queue.element");
|
|
|
51
51
|
const cached_element_1 = require("./elements/cached.element");
|
|
52
52
|
const topic_element_1 = require("./elements/topic.element");
|
|
53
53
|
class CompilerModule {
|
|
54
|
+
compiler;
|
|
55
|
+
lowName;
|
|
56
|
+
highName;
|
|
57
|
+
typeName;
|
|
58
|
+
module;
|
|
59
|
+
elements = [];
|
|
54
60
|
constructor(compiler, name, path, subdir = []) {
|
|
55
61
|
this.compiler = compiler;
|
|
56
|
-
this.elements = [];
|
|
57
62
|
this.lowName = name;
|
|
58
63
|
this.highName = name_helpers_1.NameHelpers.nameLowToHigh(this.lowName);
|
|
59
64
|
this.typeName = this.highName + 'Module';
|
|
@@ -11,6 +11,7 @@ const builder_1 = require("../../engine/builder");
|
|
|
11
11
|
* @subcategory Stages
|
|
12
12
|
*/
|
|
13
13
|
class BuildSchemasStage {
|
|
14
|
+
compiler;
|
|
14
15
|
constructor(compiler) {
|
|
15
16
|
this.compiler = compiler;
|
|
16
17
|
}
|
|
@@ -18,7 +19,6 @@ class BuildSchemasStage {
|
|
|
18
19
|
log_1.Log.info('compiler', 'stage.build_schemas', 'Building schemas...');
|
|
19
20
|
const t0 = new Date().getTime();
|
|
20
21
|
await this.compiler.tree.traverse('Building schemas ', async (node) => {
|
|
21
|
-
var _a;
|
|
22
22
|
const module = this.compiler.modules[node.tag.module].module;
|
|
23
23
|
if (node.progressive) {
|
|
24
24
|
await module.inject({
|
|
@@ -28,8 +28,8 @@ class BuildSchemasStage {
|
|
|
28
28
|
}
|
|
29
29
|
// Accummulate imports from depencies
|
|
30
30
|
// (Given that dependencies are built in order)
|
|
31
|
-
node.bridge
|
|
32
|
-
|
|
31
|
+
node.bridge ??= { imports: [] };
|
|
32
|
+
node.bridge.imports ??= [];
|
|
33
33
|
for (const dep of node.dependencies) {
|
|
34
34
|
// If a dependency is inline and the node is it's root,
|
|
35
35
|
// they already share imports.
|
|
@@ -55,6 +55,9 @@ const progressive_1 = require("../progressive");
|
|
|
55
55
|
* @subcategory Stages
|
|
56
56
|
*/
|
|
57
57
|
class DumpStage {
|
|
58
|
+
compiler;
|
|
59
|
+
cache;
|
|
60
|
+
hash;
|
|
58
61
|
constructor(compiler) {
|
|
59
62
|
this.compiler = compiler;
|
|
60
63
|
}
|
|
@@ -156,7 +159,6 @@ class DumpStage {
|
|
|
156
159
|
});
|
|
157
160
|
}
|
|
158
161
|
dumpModuleType(module, spaceType, dumpDir) {
|
|
159
|
-
var _a, _b;
|
|
160
162
|
const nesoiPath = this.compiler.config?.nesoiPath ?? 'nesoi';
|
|
161
163
|
const moduleFile = [];
|
|
162
164
|
moduleFile.push(`import { $Module, $Constants, $Bucket, $Message, $Job, $Resource, $Machine, $Controller, $Queue, $Topic } from '${nesoiPath}/lib/elements';`);
|
|
@@ -186,11 +188,11 @@ class DumpStage {
|
|
|
186
188
|
// Dump external imports
|
|
187
189
|
moduleFile.push(...Array.from(moduleDependencies)
|
|
188
190
|
.map(module => `import ${name_helpers_1.NameHelpers.nameLowToHigh(module)}Module from './${module}.module'`));
|
|
189
|
-
|
|
191
|
+
this.cache.modules[module.lowName] ??= {
|
|
190
192
|
dependencies: {
|
|
191
193
|
modules: []
|
|
192
194
|
}
|
|
193
|
-
}
|
|
195
|
+
};
|
|
194
196
|
this.cache.modules[module.lowName].dependencies.modules = Array.from(moduleDependencies);
|
|
195
197
|
// Build module type (with all elements)
|
|
196
198
|
const type = this.makeModuleType(module);
|
|
@@ -158,7 +158,7 @@ class TSBridgeInject {
|
|
|
158
158
|
};
|
|
159
159
|
}
|
|
160
160
|
if (extract.outputRaw) {
|
|
161
|
-
schema.output
|
|
161
|
+
schema.output ??= {};
|
|
162
162
|
schema.output.raw = extract.outputRaw;
|
|
163
163
|
schema['#output'] = undefined; // Will be recalculated by element based on output
|
|
164
164
|
}
|