nesoi 3.3.11 → 3.3.13
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/bundler/browser/browser.bundler.js +4 -7
- package/lib/bundler/browser/stages/8_replace_nesoi_for_browser_stage.js +1 -0
- package/lib/bundler/distributed/distributed.bundler.js +6 -4
- package/lib/bundler/distributed/stages/1_mkdir_stage.js +2 -0
- package/lib/bundler/distributed/stages/2_build_typescript_stage.js +3 -1
- package/lib/bundler/distributed/stages/3_copy_types_stage.js +2 -0
- package/lib/bundler/distributed/stages/4_dump_modules_stage.js +2 -0
- package/lib/bundler/monolyth/monolyth.bundler.js +7 -5
- package/lib/bundler/monolyth/stages/1_mkdir_stage.js +2 -0
- package/lib/bundler/monolyth/stages/2_build_typescript_stage.js +3 -1
- package/lib/bundler/monolyth/stages/3_copy_types_stage.js +2 -0
- package/lib/bundler/monolyth/stages/4_dump_modules_stage.js +2 -0
- package/lib/bundler/monolyth/stages/5_copy_static_stage.js +2 -0
- package/lib/bundler/monolyth/stages/6_dump_cli_stage.js +2 -0
- package/lib/bundler/monolyth/stages/7_dump_package_json_stage.js +2 -0
- package/lib/compiler/compiler.js +7 -2
- package/lib/compiler/elements/bucket.element.js +3 -5
- package/lib/compiler/elements/constants.element.js +2 -2
- package/lib/compiler/elements/controller.element.js +1 -1
- package/lib/compiler/elements/element.js +15 -2
- package/lib/compiler/elements/externals.element.js +12 -4
- package/lib/compiler/elements/message.element.js +7 -0
- package/lib/compiler/elements/queue.element.js +1 -1
- package/lib/compiler/elements/topic.element.js +1 -1
- package/lib/compiler/module.js +6 -1
- package/lib/compiler/stages/1_scan_stage.js +1 -0
- package/lib/compiler/stages/2_treeshake_stage.js +1 -0
- package/lib/compiler/stages/3_extract_ts_stage.js +1 -0
- package/lib/compiler/stages/4_build_schemas_stage.js +3 -3
- package/lib/compiler/stages/5_inject_ts_stage.js +1 -0
- package/lib/compiler/stages/6_build_elements_stage.js +1 -0
- package/lib/compiler/stages/7_dump_stage.js +5 -3
- package/lib/compiler/stages/8_diagnose_stage.js +1 -0
- package/lib/compiler/typescript/bridge/inject.js +1 -1
- package/lib/compiler/typescript/bridge/organize.js +25 -32
- package/lib/compiler/typescript/parser.js +10 -0
- package/lib/compiler/typescript/source.js +6 -4
- package/lib/compiler/typescript/typescript_compiler.js +8 -3
- package/lib/elements/blocks/block.builder.js +16 -14
- package/lib/elements/blocks/block.js +3 -0
- package/lib/elements/blocks/block.schema.js +10 -1
- package/lib/elements/blocks/job/internal/machine_job.builder.js +10 -3
- package/lib/elements/blocks/job/internal/machine_job.schema.js +2 -0
- package/lib/elements/blocks/job/internal/resource_job.builder.js +16 -4
- package/lib/elements/blocks/job/internal/resource_job.schema.js +7 -0
- package/lib/elements/blocks/job/job.builder.js +5 -3
- package/lib/elements/blocks/job/job.js +2 -0
- package/lib/elements/blocks/job/job.schema.js +11 -1
- package/lib/elements/blocks/machine/machine.builder.js +6 -3
- package/lib/elements/blocks/machine/machine.js +7 -0
- package/lib/elements/blocks/machine/machine.schema.js +38 -3
- package/lib/elements/blocks/machine/machine_state.builder.js +6 -4
- package/lib/elements/blocks/machine/machine_transition.builder.js +8 -1
- package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.js +1 -0
- package/lib/elements/blocks/queue/queue.builder.js +1 -1
- package/lib/elements/blocks/queue/queue.js +2 -0
- package/lib/elements/blocks/queue/queue.schema.js +7 -2
- package/lib/elements/blocks/resource/resource.builder.js +4 -3
- package/lib/elements/blocks/resource/resource.js +2 -0
- package/lib/elements/blocks/resource/resource.schema.js +13 -1
- package/lib/elements/blocks/topic/topic.builder.js +1 -1
- package/lib/elements/blocks/topic/topic.js +3 -1
- package/lib/elements/blocks/topic/topic.schema.js +8 -2
- package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +2 -5
- package/lib/elements/edge/controller/adapters/controller_adapter.js +3 -0
- package/lib/elements/edge/controller/controller.builder.js +32 -17
- package/lib/elements/edge/controller/controller.js +10 -0
- package/lib/elements/edge/controller/controller.schema.js +38 -5
- package/lib/elements/edge/externals/externals.builder.js +9 -8
- package/lib/elements/edge/externals/externals.schema.js +9 -1
- package/lib/elements/entities/bucket/adapters/browserdb.bucket_adapter.js +7 -6
- package/lib/elements/entities/bucket/adapters/browserdb.service.d.ts +1 -1
- package/lib/elements/entities/bucket/adapters/browserdb.service.js +9 -10
- package/lib/elements/entities/bucket/adapters/bucket_adapter.js +3 -0
- package/lib/elements/entities/bucket/adapters/json.bucket_adapter.js +4 -2
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +3 -0
- package/lib/elements/entities/bucket/adapters/memory.nql.js +1 -0
- package/lib/elements/entities/bucket/bucket.builder.js +9 -3
- package/lib/elements/entities/bucket/bucket.js +15 -8
- package/lib/elements/entities/bucket/bucket.schema.js +14 -1
- package/lib/elements/entities/bucket/cache/bucket_cache.js +10 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.builder.js +1 -3
- package/lib/elements/entities/bucket/graph/bucket_graph.js +3 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.schema.js +13 -2
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +11 -2
- package/lib/elements/entities/bucket/model/bucket_model.builder.js +2 -1
- package/lib/elements/entities/bucket/model/bucket_model.convert.js +2 -1
- package/lib/elements/entities/bucket/model/bucket_model.js +3 -0
- package/lib/elements/entities/bucket/model/bucket_model.schema.js +15 -2
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +17 -4
- package/lib/elements/entities/bucket/query/nql_compiler.js +28 -21
- package/lib/elements/entities/bucket/query/nql_engine.js +2 -1
- package/lib/elements/entities/bucket/view/bucket_view.builder.js +2 -1
- package/lib/elements/entities/bucket/view/bucket_view.js +4 -3
- package/lib/elements/entities/bucket/view/bucket_view.schema.js +13 -2
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +8 -1
- package/lib/elements/entities/constants/constants.builder.js +12 -5
- package/lib/elements/entities/constants/constants.js +1 -0
- package/lib/elements/entities/constants/constants.schema.js +19 -3
- package/lib/elements/entities/drive/drive_adapter.js +1 -0
- package/lib/elements/entities/drive/local.drive_adapter.d.ts +1 -1
- package/lib/elements/entities/drive/local.drive_adapter.js +1 -0
- package/lib/elements/entities/message/message.builder.js +5 -2
- package/lib/elements/entities/message/message.js +2 -0
- package/lib/elements/entities/message/message.schema.js +7 -1
- package/lib/elements/entities/message/message_parser.js +1 -0
- package/lib/elements/entities/message/template/message_template.builder.js +2 -3
- package/lib/elements/entities/message/template/message_template.schema.js +16 -2
- package/lib/elements/entities/message/template/message_template_field.builder.js +14 -4
- package/lib/engine/app/app.config.js +3 -2
- package/lib/engine/app/app.js +21 -14
- package/lib/engine/app/inc/inc.client.d.ts +1 -1
- package/lib/engine/app/inc/inc.client.js +2 -0
- package/lib/engine/app/inc/inc.server.d.ts +1 -1
- package/lib/engine/app/inc/inc.server.js +3 -1
- package/lib/engine/app/inline.app.js +4 -1
- package/lib/engine/app/native/browser.app.js +2 -1
- package/lib/engine/app/native/distributed.app.config.js +1 -0
- package/lib/engine/app/native/distributed.app.js +2 -2
- package/lib/engine/app/native/distributed_node.app.js +6 -1
- package/lib/engine/app/native/monolyth.app.js +2 -0
- package/lib/engine/app/service.js +8 -0
- package/lib/engine/auth/zero.authn_provider.js +1 -4
- package/lib/engine/cli/cli.js +6 -2
- package/lib/engine/cli/cli_adapter.js +9 -1
- package/lib/engine/cli/cli_input.js +6 -4
- package/lib/engine/cli/script.js +8 -6
- package/lib/engine/daemon.js +14 -0
- package/lib/engine/data/date.js +3 -0
- package/lib/engine/data/datetime.js +34 -26
- package/lib/engine/data/decimal.js +6 -1
- package/lib/engine/data/duration.js +28 -26
- package/lib/engine/data/error.js +3 -0
- package/lib/engine/data/file.js +21 -6
- package/lib/engine/data/tree.js +3 -1
- package/lib/engine/dependency.js +17 -0
- package/lib/engine/module.js +35 -12
- package/lib/engine/space.js +3 -2
- package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +1 -1
- package/lib/engine/transaction/nodes/bucket.trx_node.js +10 -1
- package/lib/engine/transaction/nodes/bucket_query.trx_node.js +9 -2
- package/lib/engine/transaction/nodes/external.trx_node.js +3 -0
- package/lib/engine/transaction/nodes/job.trx_node.js +5 -0
- package/lib/engine/transaction/nodes/machine.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/queue.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/resource.trx_node.js +4 -0
- package/lib/engine/transaction/nodes/topic.trx_node.js +4 -0
- package/lib/engine/transaction/trx.js +18 -3
- package/lib/engine/transaction/trx_engine.js +12 -1
- package/lib/engine/transaction/trx_node.js +23 -11
- package/lib/engine/tree.js +6 -5
- package/lib/engine/util/crypto.js +17 -17
- package/lib/engine/util/log.js +9 -9
- package/lib/engine/util/path.js +1 -1
- package/lib/engine/util/random.d.ts +1 -1
- package/lib/engine/util/regex.d.ts +3 -0
- package/lib/engine/util/regex.js +82 -0
- package/package.json +1 -4
- package/tools/joaquin/mock.js +10 -0
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -9,9 +9,9 @@ const message_builder_1 = require("../../entities/message/message.builder");
|
|
|
9
9
|
* @subcategory Block
|
|
10
10
|
*/
|
|
11
11
|
class QueueBuilder extends block_builder_1.BlockBuilder {
|
|
12
|
+
$b = 'queue';
|
|
12
13
|
constructor(module, name) {
|
|
13
14
|
super(module, 'queue', name);
|
|
14
|
-
this.$b = 'queue';
|
|
15
15
|
}
|
|
16
16
|
/* [Block] */
|
|
17
17
|
auth(provider, resolver) {
|
|
@@ -7,6 +7,13 @@ const block_schema_1 = require("../block.schema");
|
|
|
7
7
|
* @subcategory Block
|
|
8
8
|
*/
|
|
9
9
|
class $Queue extends block_schema_1.$Block {
|
|
10
|
+
module;
|
|
11
|
+
name;
|
|
12
|
+
alias;
|
|
13
|
+
auth;
|
|
14
|
+
msgs;
|
|
15
|
+
$t = 'queue';
|
|
16
|
+
dependencies = [];
|
|
10
17
|
constructor(module, name, alias, auth, msgs) {
|
|
11
18
|
super(module, name, alias, auth, msgs, {});
|
|
12
19
|
this.module = module;
|
|
@@ -14,8 +21,6 @@ class $Queue extends block_schema_1.$Block {
|
|
|
14
21
|
this.alias = alias;
|
|
15
22
|
this.auth = auth;
|
|
16
23
|
this.msgs = msgs;
|
|
17
|
-
this.$t = 'queue';
|
|
18
|
-
this.dependencies = [];
|
|
19
24
|
}
|
|
20
25
|
}
|
|
21
26
|
exports.$Queue = $Queue;
|
|
@@ -17,10 +17,11 @@ const resource_job_1 = require("../job/internal/resource_job");
|
|
|
17
17
|
* @subcategory Block
|
|
18
18
|
*/
|
|
19
19
|
class ResourceBuilder extends block_builder_1.BlockBuilder {
|
|
20
|
+
$b = 'resource';
|
|
21
|
+
_jobs = {};
|
|
22
|
+
_bucket;
|
|
20
23
|
constructor(module, name) {
|
|
21
24
|
super(module, 'resource', name);
|
|
22
|
-
this.$b = 'resource';
|
|
23
|
-
this._jobs = {};
|
|
24
25
|
}
|
|
25
26
|
/* [Block] */
|
|
26
27
|
auth(provider, resolver) {
|
|
@@ -42,7 +43,7 @@ class ResourceBuilder extends block_builder_1.BlockBuilder {
|
|
|
42
43
|
id: $.string_or_number.optional,
|
|
43
44
|
perPage: $.int.default(10),
|
|
44
45
|
page: $.int.default(0),
|
|
45
|
-
sort: $.list($.literal(
|
|
46
|
+
sort: $.list($.literal(/.+@(asc|desc)/)).optional
|
|
46
47
|
}))
|
|
47
48
|
.prepare(resource_job_1.ResourceJob.prepareMsgData);
|
|
48
49
|
this._inlineNodes.push(new dependency_1.BuilderNode({
|
|
@@ -8,6 +8,19 @@ const dependency_1 = require("../../../engine/dependency");
|
|
|
8
8
|
* @subcategory Block
|
|
9
9
|
*/
|
|
10
10
|
class $Resource extends block_schema_1.$Block {
|
|
11
|
+
module;
|
|
12
|
+
name;
|
|
13
|
+
alias;
|
|
14
|
+
auth;
|
|
15
|
+
bucket;
|
|
16
|
+
jobs;
|
|
17
|
+
$t = 'resource';
|
|
18
|
+
'#bucket';
|
|
19
|
+
'#input.view';
|
|
20
|
+
'#input.query';
|
|
21
|
+
'#input.create';
|
|
22
|
+
'#input.update';
|
|
23
|
+
'#input.delete';
|
|
11
24
|
constructor(module, name, alias, auth, bucket, jobs) {
|
|
12
25
|
const input = [];
|
|
13
26
|
if (jobs.view)
|
|
@@ -28,7 +41,6 @@ class $Resource extends block_schema_1.$Block {
|
|
|
28
41
|
this.auth = auth;
|
|
29
42
|
this.bucket = bucket;
|
|
30
43
|
this.jobs = jobs;
|
|
31
|
-
this.$t = 'resource';
|
|
32
44
|
}
|
|
33
45
|
}
|
|
34
46
|
exports.$Resource = $Resource;
|
|
@@ -9,9 +9,9 @@ const message_builder_1 = require("../../entities/message/message.builder");
|
|
|
9
9
|
* @subcategory Block
|
|
10
10
|
*/
|
|
11
11
|
class TopicBuilder extends block_builder_1.BlockBuilder {
|
|
12
|
+
$b = 'topic';
|
|
12
13
|
constructor(module, name) {
|
|
13
14
|
super(module, 'topic', name);
|
|
14
|
-
this.$b = 'topic';
|
|
15
15
|
}
|
|
16
16
|
/* [Block] */
|
|
17
17
|
auth(provider, resolver) {
|
|
@@ -6,11 +6,13 @@ const block_1 = require("../block");
|
|
|
6
6
|
const log_1 = require("../../../engine/util/log");
|
|
7
7
|
const random_1 = require("../../../engine/util/random");
|
|
8
8
|
class Topic extends block_1.Block {
|
|
9
|
+
module;
|
|
10
|
+
schema;
|
|
11
|
+
subscriptions = {};
|
|
9
12
|
constructor(module, schema) {
|
|
10
13
|
super('topic', module, schema);
|
|
11
14
|
this.module = module;
|
|
12
15
|
this.schema = schema;
|
|
13
|
-
this.subscriptions = {};
|
|
14
16
|
}
|
|
15
17
|
// Publish
|
|
16
18
|
async run(trx, msg, _ctx = {}) {
|
|
@@ -7,6 +7,14 @@ const block_schema_1 = require("../block.schema");
|
|
|
7
7
|
* @subcategory Block
|
|
8
8
|
*/
|
|
9
9
|
class $Topic extends block_schema_1.$Block {
|
|
10
|
+
module;
|
|
11
|
+
name;
|
|
12
|
+
alias;
|
|
13
|
+
auth;
|
|
14
|
+
input;
|
|
15
|
+
output;
|
|
16
|
+
$t = 'topic';
|
|
17
|
+
dependencies = [];
|
|
10
18
|
constructor(module, name, alias, auth, input, output) {
|
|
11
19
|
super(module, name, alias, auth, input, output);
|
|
12
20
|
this.module = module;
|
|
@@ -15,8 +23,6 @@ class $Topic extends block_schema_1.$Block {
|
|
|
15
23
|
this.auth = auth;
|
|
16
24
|
this.input = input;
|
|
17
25
|
this.output = output;
|
|
18
|
-
this.$t = 'topic';
|
|
19
|
-
this.dependencies = [];
|
|
20
26
|
}
|
|
21
27
|
}
|
|
22
28
|
exports.$Topic = $Topic;
|
|
@@ -9,11 +9,8 @@ const log_1 = require("../../../../engine/util/log");
|
|
|
9
9
|
* @subcategory Edge
|
|
10
10
|
*/
|
|
11
11
|
class CLIControllerAdapter extends controller_adapter_1.ControllerAdapter {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.endpoints = {};
|
|
15
|
-
this.topics = {};
|
|
16
|
-
}
|
|
12
|
+
endpoints = {};
|
|
13
|
+
topics = {};
|
|
17
14
|
makeEndpoint(path, schema) {
|
|
18
15
|
this.endpoints[path] = new controller_1.ControllerEndpoint(schema, this, path);
|
|
19
16
|
log_1.Log.debug('controller', this.schema.name, `Bound endpoint '${path}' to '${schema.target}'`);
|
|
@@ -8,18 +8,25 @@ const dependency_1 = require("../../../engine/dependency");
|
|
|
8
8
|
* @subcategory Edge
|
|
9
9
|
*/
|
|
10
10
|
class ControllerEndpointBuilder {
|
|
11
|
+
module;
|
|
12
|
+
name;
|
|
13
|
+
_auth;
|
|
14
|
+
_alias;
|
|
15
|
+
_tags = [];
|
|
16
|
+
_msg;
|
|
17
|
+
_target;
|
|
18
|
+
_implicit;
|
|
11
19
|
constructor(module, name, _auth = []) {
|
|
12
20
|
this.module = module;
|
|
13
21
|
this.name = name;
|
|
14
22
|
this._auth = _auth;
|
|
15
|
-
this._tags = [];
|
|
16
23
|
}
|
|
17
24
|
as(alias) {
|
|
18
25
|
this._alias = alias;
|
|
19
26
|
return this;
|
|
20
27
|
}
|
|
21
28
|
auth(provider, resolver) {
|
|
22
|
-
this._auth
|
|
29
|
+
this._auth ??= [];
|
|
23
30
|
this._auth.push({
|
|
24
31
|
provider: provider,
|
|
25
32
|
resolver: resolver
|
|
@@ -67,19 +74,23 @@ exports.ControllerEndpointBuilder = ControllerEndpointBuilder;
|
|
|
67
74
|
* @subcategory Edge
|
|
68
75
|
*/
|
|
69
76
|
class ControllerTopicBuilder {
|
|
77
|
+
module;
|
|
78
|
+
topic;
|
|
79
|
+
_auth;
|
|
80
|
+
_alias;
|
|
81
|
+
_tags = [];
|
|
82
|
+
_msgs = [];
|
|
70
83
|
constructor(module, topic, _auth = []) {
|
|
71
84
|
this.module = module;
|
|
72
85
|
this.topic = topic;
|
|
73
86
|
this._auth = _auth;
|
|
74
|
-
this._tags = [];
|
|
75
|
-
this._msgs = [];
|
|
76
87
|
}
|
|
77
88
|
as(alias) {
|
|
78
89
|
this._alias = alias;
|
|
79
90
|
return this;
|
|
80
91
|
}
|
|
81
92
|
auth(provider, resolver) {
|
|
82
|
-
this._auth
|
|
93
|
+
this._auth ??= [];
|
|
83
94
|
this._auth.push({
|
|
84
95
|
provider: provider,
|
|
85
96
|
resolver: resolver
|
|
@@ -101,19 +112,23 @@ exports.ControllerTopicBuilder = ControllerTopicBuilder;
|
|
|
101
112
|
* @subcategory Edge
|
|
102
113
|
*/
|
|
103
114
|
class ControllerGroupBuilder {
|
|
115
|
+
module;
|
|
116
|
+
name;
|
|
117
|
+
_auth;
|
|
118
|
+
_alias;
|
|
119
|
+
groups = {};
|
|
120
|
+
endpoints = {};
|
|
104
121
|
constructor(module, name, _auth = []) {
|
|
105
122
|
this.module = module;
|
|
106
123
|
this.name = name;
|
|
107
124
|
this._auth = _auth;
|
|
108
|
-
this.groups = {};
|
|
109
|
-
this.endpoints = {};
|
|
110
125
|
}
|
|
111
126
|
as(alias) {
|
|
112
127
|
this._alias = alias;
|
|
113
128
|
return this;
|
|
114
129
|
}
|
|
115
130
|
auth(provider, resolver) {
|
|
116
|
-
this._auth
|
|
131
|
+
this._auth ??= [];
|
|
117
132
|
this._auth.push({
|
|
118
133
|
provider: provider,
|
|
119
134
|
resolver: resolver
|
|
@@ -160,10 +175,7 @@ exports.ControllerGroupBuilder = ControllerGroupBuilder;
|
|
|
160
175
|
* @subcategory Edge
|
|
161
176
|
*/
|
|
162
177
|
class ControllerDomainBuilder extends ControllerGroupBuilder {
|
|
163
|
-
|
|
164
|
-
super(...arguments);
|
|
165
|
-
this._version = 'v1';
|
|
166
|
-
}
|
|
178
|
+
_version = 'v1';
|
|
167
179
|
version(version) {
|
|
168
180
|
this._version = version;
|
|
169
181
|
return this;
|
|
@@ -179,20 +191,23 @@ exports.ControllerDomainBuilder = ControllerDomainBuilder;
|
|
|
179
191
|
* @subcategory Edge
|
|
180
192
|
*/
|
|
181
193
|
class ControllerBuilder {
|
|
194
|
+
module;
|
|
195
|
+
name;
|
|
196
|
+
$b = 'controller';
|
|
197
|
+
_alias;
|
|
198
|
+
_auth = [];
|
|
199
|
+
domains = {};
|
|
200
|
+
topics = {};
|
|
182
201
|
constructor(module, name) {
|
|
183
202
|
this.module = module;
|
|
184
203
|
this.name = name;
|
|
185
|
-
this.$b = 'controller';
|
|
186
|
-
this._auth = [];
|
|
187
|
-
this.domains = {};
|
|
188
|
-
this.topics = {};
|
|
189
204
|
}
|
|
190
205
|
as(alias) {
|
|
191
206
|
this._alias = alias;
|
|
192
207
|
return this;
|
|
193
208
|
}
|
|
194
209
|
auth(provider, resolver) {
|
|
195
|
-
this._auth
|
|
210
|
+
this._auth ??= [];
|
|
196
211
|
this._auth.push({
|
|
197
212
|
provider: provider,
|
|
198
213
|
resolver: resolver
|
|
@@ -9,6 +9,9 @@ const error_1 = require("../../../engine/data/error");
|
|
|
9
9
|
* @subcategory Edge
|
|
10
10
|
*/
|
|
11
11
|
class ControllerEndpoint {
|
|
12
|
+
schema;
|
|
13
|
+
adapter;
|
|
14
|
+
path;
|
|
12
15
|
constructor(schema, adapter, path) {
|
|
13
16
|
this.schema = schema;
|
|
14
17
|
this.adapter = adapter;
|
|
@@ -42,6 +45,9 @@ exports.ControllerEndpoint = ControllerEndpoint;
|
|
|
42
45
|
* @subcategory Edge
|
|
43
46
|
*/
|
|
44
47
|
class ControllerTopic {
|
|
48
|
+
schema;
|
|
49
|
+
adapter;
|
|
50
|
+
path;
|
|
45
51
|
constructor(schema, adapter, path) {
|
|
46
52
|
this.schema = schema;
|
|
47
53
|
this.adapter = adapter;
|
|
@@ -70,6 +76,10 @@ class ControllerTopic {
|
|
|
70
76
|
}
|
|
71
77
|
exports.ControllerTopic = ControllerTopic;
|
|
72
78
|
class Controller {
|
|
79
|
+
schema;
|
|
80
|
+
config;
|
|
81
|
+
services;
|
|
82
|
+
adapter;
|
|
73
83
|
constructor(module, schema, config, services = {}) {
|
|
74
84
|
this.schema = schema;
|
|
75
85
|
this.config = config;
|
|
@@ -6,6 +6,14 @@ exports.$Controller = exports.$ControllerDomain = exports.$ControllerGroup = exp
|
|
|
6
6
|
* @subcategory Edge
|
|
7
7
|
*/
|
|
8
8
|
class $ControllerEndpoint {
|
|
9
|
+
name;
|
|
10
|
+
alias;
|
|
11
|
+
auth;
|
|
12
|
+
tags;
|
|
13
|
+
msg;
|
|
14
|
+
target;
|
|
15
|
+
implicit;
|
|
16
|
+
$t = 'controller.endpoint';
|
|
9
17
|
constructor(name, alias, auth, tags, msg, target, implicit) {
|
|
10
18
|
this.name = name;
|
|
11
19
|
this.alias = alias;
|
|
@@ -14,7 +22,6 @@ class $ControllerEndpoint {
|
|
|
14
22
|
this.msg = msg;
|
|
15
23
|
this.target = target;
|
|
16
24
|
this.implicit = implicit;
|
|
17
|
-
this.$t = 'controller.endpoint';
|
|
18
25
|
}
|
|
19
26
|
}
|
|
20
27
|
exports.$ControllerEndpoint = $ControllerEndpoint;
|
|
@@ -23,6 +30,13 @@ exports.$ControllerEndpoint = $ControllerEndpoint;
|
|
|
23
30
|
* @subcategory Edge
|
|
24
31
|
*/
|
|
25
32
|
class $ControllerTopic {
|
|
33
|
+
name;
|
|
34
|
+
alias;
|
|
35
|
+
auth;
|
|
36
|
+
tags;
|
|
37
|
+
msgs;
|
|
38
|
+
topic;
|
|
39
|
+
$t = 'controller.topic';
|
|
26
40
|
constructor(name, alias, auth, tags, msgs, topic) {
|
|
27
41
|
this.name = name;
|
|
28
42
|
this.alias = alias;
|
|
@@ -30,7 +44,6 @@ class $ControllerTopic {
|
|
|
30
44
|
this.tags = tags;
|
|
31
45
|
this.msgs = msgs;
|
|
32
46
|
this.topic = topic;
|
|
33
|
-
this.$t = 'controller.topic';
|
|
34
47
|
}
|
|
35
48
|
}
|
|
36
49
|
exports.$ControllerTopic = $ControllerTopic;
|
|
@@ -39,13 +52,18 @@ exports.$ControllerTopic = $ControllerTopic;
|
|
|
39
52
|
* @subcategory Edge
|
|
40
53
|
*/
|
|
41
54
|
class $ControllerGroup {
|
|
55
|
+
name;
|
|
56
|
+
alias;
|
|
57
|
+
auth;
|
|
58
|
+
groups;
|
|
59
|
+
endpoints;
|
|
60
|
+
$t = 'controller.group';
|
|
42
61
|
constructor(name, alias, auth, groups = {}, endpoints = {}) {
|
|
43
62
|
this.name = name;
|
|
44
63
|
this.alias = alias;
|
|
45
64
|
this.auth = auth;
|
|
46
65
|
this.groups = groups;
|
|
47
66
|
this.endpoints = endpoints;
|
|
48
|
-
this.$t = 'controller.group';
|
|
49
67
|
}
|
|
50
68
|
}
|
|
51
69
|
exports.$ControllerGroup = $ControllerGroup;
|
|
@@ -54,6 +72,13 @@ exports.$ControllerGroup = $ControllerGroup;
|
|
|
54
72
|
* @subcategory Edge
|
|
55
73
|
*/
|
|
56
74
|
class $ControllerDomain extends $ControllerGroup {
|
|
75
|
+
name;
|
|
76
|
+
alias;
|
|
77
|
+
auth;
|
|
78
|
+
version;
|
|
79
|
+
groups;
|
|
80
|
+
endpoints;
|
|
81
|
+
$t = 'controller.domain';
|
|
57
82
|
constructor(name, alias, auth, version, groups = {}, endpoints = {}) {
|
|
58
83
|
super(name, alias, auth, groups, endpoints);
|
|
59
84
|
this.name = name;
|
|
@@ -62,7 +87,6 @@ class $ControllerDomain extends $ControllerGroup {
|
|
|
62
87
|
this.version = version;
|
|
63
88
|
this.groups = groups;
|
|
64
89
|
this.endpoints = endpoints;
|
|
65
|
-
this.$t = 'controller.domain';
|
|
66
90
|
}
|
|
67
91
|
}
|
|
68
92
|
exports.$ControllerDomain = $ControllerDomain;
|
|
@@ -71,6 +95,16 @@ exports.$ControllerDomain = $ControllerDomain;
|
|
|
71
95
|
* @subcategory Edge
|
|
72
96
|
*/
|
|
73
97
|
class $Controller {
|
|
98
|
+
module;
|
|
99
|
+
name;
|
|
100
|
+
alias;
|
|
101
|
+
auth;
|
|
102
|
+
input;
|
|
103
|
+
domains;
|
|
104
|
+
topics;
|
|
105
|
+
$t = 'controller';
|
|
106
|
+
'#authn';
|
|
107
|
+
'#input';
|
|
74
108
|
constructor(module, name, alias, auth, input, domains = {}, topics = {}) {
|
|
75
109
|
this.module = module;
|
|
76
110
|
this.name = name;
|
|
@@ -79,7 +113,6 @@ class $Controller {
|
|
|
79
113
|
this.input = input;
|
|
80
114
|
this.domains = domains;
|
|
81
115
|
this.topics = topics;
|
|
82
|
-
this.$t = 'controller';
|
|
83
116
|
}
|
|
84
117
|
}
|
|
85
118
|
exports.$Controller = $Controller;
|
|
@@ -8,16 +8,17 @@ const dependency_1 = require("../../../engine/dependency");
|
|
|
8
8
|
* @subcategory Edge
|
|
9
9
|
*/
|
|
10
10
|
class ExternalsBuilder {
|
|
11
|
+
module;
|
|
12
|
+
$b = 'externals';
|
|
13
|
+
name = '*';
|
|
14
|
+
values = {};
|
|
15
|
+
enums = {};
|
|
16
|
+
buckets = {};
|
|
17
|
+
messages = {};
|
|
18
|
+
jobs = {};
|
|
19
|
+
machines = {};
|
|
11
20
|
constructor(module) {
|
|
12
21
|
this.module = module;
|
|
13
|
-
this.$b = 'externals';
|
|
14
|
-
this.name = '*';
|
|
15
|
-
this.values = {};
|
|
16
|
-
this.enums = {};
|
|
17
|
-
this.buckets = {};
|
|
18
|
-
this.messages = {};
|
|
19
|
-
this.jobs = {};
|
|
20
|
-
this.machines = {};
|
|
21
22
|
}
|
|
22
23
|
value(ref) {
|
|
23
24
|
const tag = dependency_1.Tag.fromShort('constants.value', ref);
|
|
@@ -6,6 +6,15 @@ exports.$Externals = void 0;
|
|
|
6
6
|
* @subcategory Edge
|
|
7
7
|
*/
|
|
8
8
|
class $Externals {
|
|
9
|
+
name;
|
|
10
|
+
values;
|
|
11
|
+
enums;
|
|
12
|
+
buckets;
|
|
13
|
+
messages;
|
|
14
|
+
jobs;
|
|
15
|
+
machines;
|
|
16
|
+
$t = 'externals';
|
|
17
|
+
module;
|
|
9
18
|
constructor(name, values = {}, enums = {}, buckets = {}, messages = {}, jobs = {}, machines = {}) {
|
|
10
19
|
this.name = name;
|
|
11
20
|
this.values = values;
|
|
@@ -14,7 +23,6 @@ class $Externals {
|
|
|
14
23
|
this.messages = messages;
|
|
15
24
|
this.jobs = jobs;
|
|
16
25
|
this.machines = machines;
|
|
17
|
-
this.$t = 'externals';
|
|
18
26
|
this.module = this.name;
|
|
19
27
|
}
|
|
20
28
|
static merge(to, from) {
|
|
@@ -10,6 +10,9 @@ const trx_1 = require("../../../../engine/transaction/trx");
|
|
|
10
10
|
* @subcategory Entity
|
|
11
11
|
* */
|
|
12
12
|
class BrowserDBBucketAdapter extends memory_bucket_adapter_1.MemoryBucketAdapter {
|
|
13
|
+
schema;
|
|
14
|
+
service;
|
|
15
|
+
refName;
|
|
13
16
|
constructor(schema, service) {
|
|
14
17
|
super(schema, undefined, service.config);
|
|
15
18
|
this.schema = schema;
|
|
@@ -27,11 +30,10 @@ class BrowserDBBucketAdapter extends memory_bucket_adapter_1.MemoryBucketAdapter
|
|
|
27
30
|
return trx_1.Trx.get(trx, this.service.name + '.trxData');
|
|
28
31
|
}
|
|
29
32
|
async stage(trx, objs) {
|
|
30
|
-
var _a;
|
|
31
33
|
const trxData = trx_1.Trx.get(trx, this.service.name + '.trxData');
|
|
32
34
|
if (trxData) {
|
|
33
35
|
for (const obj of objs) {
|
|
34
|
-
trxData[
|
|
36
|
+
trxData[this.refName] ??= {};
|
|
35
37
|
trxData[this.refName][obj.id] = obj;
|
|
36
38
|
}
|
|
37
39
|
}
|
|
@@ -47,11 +49,10 @@ class BrowserDBBucketAdapter extends memory_bucket_adapter_1.MemoryBucketAdapter
|
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
51
|
async flagDelete(trx, ids) {
|
|
50
|
-
var _a;
|
|
51
52
|
const trxData = trx_1.Trx.get(trx, this.service.name + '.trxData');
|
|
52
53
|
if (trxData) {
|
|
53
54
|
for (const id of ids) {
|
|
54
|
-
trxData[
|
|
55
|
+
trxData[this.refName] ??= {};
|
|
55
56
|
trxData[this.refName][id] = { __delete: true };
|
|
56
57
|
}
|
|
57
58
|
}
|
|
@@ -78,7 +79,7 @@ class BrowserDBBucketAdapter extends memory_bucket_adapter_1.MemoryBucketAdapter
|
|
|
78
79
|
const objs = await new Promise((resolve, reject) => {
|
|
79
80
|
const req = store.getAll();
|
|
80
81
|
req.onsuccess = () => resolve(req.result);
|
|
81
|
-
req.onerror = e => reject(e);
|
|
82
|
+
req.onerror = (e) => reject(e);
|
|
82
83
|
});
|
|
83
84
|
this.data = {};
|
|
84
85
|
for (const obj of objs) {
|
|
@@ -96,7 +97,7 @@ class BrowserDBBucketAdapter extends memory_bucket_adapter_1.MemoryBucketAdapter
|
|
|
96
97
|
const obj = await new Promise((resolve, reject) => {
|
|
97
98
|
const req = store.get(id);
|
|
98
99
|
req.onsuccess = () => resolve(req.result);
|
|
99
|
-
req.onerror = e => reject(e);
|
|
100
|
+
req.onerror = (e) => reject(e);
|
|
100
101
|
});
|
|
101
102
|
this.data[obj.id] = obj;
|
|
102
103
|
return obj;
|
|
@@ -25,6 +25,6 @@ export declare class BrowserDBService<Name extends string = 'idb'> extends Servi
|
|
|
25
25
|
up(): Promise<void>;
|
|
26
26
|
down(): Promise<void>;
|
|
27
27
|
private connect;
|
|
28
|
-
static db(service: BrowserDBService, module: Module<any, $Module>): Promise<
|
|
28
|
+
static db(service: BrowserDBService, module: Module<any, $Module>): Promise<any>;
|
|
29
29
|
static wrap(service: string): (trx: AnyTrx, fn: TrxEngineWrapFn<any, any>, services: Record<string, any>) => Promise<any>;
|
|
30
30
|
}
|
|
@@ -11,12 +11,12 @@ const daemon_1 = require("../../../../engine/daemon");
|
|
|
11
11
|
const window = {};
|
|
12
12
|
/* @nesoi:browser ignore-end */
|
|
13
13
|
class BrowserDBService extends service_1.Service {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
static defaultName = 'idb';
|
|
15
|
+
// This works on all devices/browsers, and uses IndexedDBShim as a final fallback
|
|
16
|
+
indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB || window.shimIndexedDB;
|
|
17
|
+
connected = false;
|
|
18
|
+
db;
|
|
19
|
+
nql;
|
|
20
20
|
async up() {
|
|
21
21
|
this.nql = new memory_nql_1.MemoryNQLRunner();
|
|
22
22
|
}
|
|
@@ -27,7 +27,7 @@ class BrowserDBService extends service_1.Service {
|
|
|
27
27
|
connect(buckets) {
|
|
28
28
|
return new Promise((resolve, reject) => {
|
|
29
29
|
const request = this.indexedDB.open(this.config.dbName, this.config.dbVersion);
|
|
30
|
-
request.onupgradeneeded = e => {
|
|
30
|
+
request.onupgradeneeded = (e) => {
|
|
31
31
|
this.db = e.currentTarget?.result;
|
|
32
32
|
for (const bucket of buckets) {
|
|
33
33
|
const refName = `${bucket.module}::${bucket.name}`;
|
|
@@ -41,11 +41,11 @@ class BrowserDBService extends service_1.Service {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
-
request.onsuccess = e => {
|
|
44
|
+
request.onsuccess = (e) => {
|
|
45
45
|
const db = e.target?.result;
|
|
46
46
|
resolve(db);
|
|
47
47
|
};
|
|
48
|
-
request.onerror = e => {
|
|
48
|
+
request.onerror = (e) => {
|
|
49
49
|
log_1.Log.error('bucket', 'browserDB', e.toString());
|
|
50
50
|
reject(e);
|
|
51
51
|
};
|
|
@@ -94,4 +94,3 @@ class BrowserDBService extends service_1.Service {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
exports.BrowserDBService = BrowserDBService;
|
|
97
|
-
BrowserDBService.defaultName = 'idb';
|
|
@@ -42,6 +42,9 @@ const memory_bucket_adapter_1 = require("./memory.bucket_adapter");
|
|
|
42
42
|
* @subcategory Entity
|
|
43
43
|
* */
|
|
44
44
|
class JSONBucketAdapter extends memory_bucket_adapter_1.MemoryBucketAdapter {
|
|
45
|
+
schema;
|
|
46
|
+
file;
|
|
47
|
+
refName;
|
|
45
48
|
constructor(schema, file, config) {
|
|
46
49
|
super(schema, undefined, config);
|
|
47
50
|
this.schema = schema;
|
|
@@ -67,7 +70,6 @@ class JSONBucketAdapter extends memory_bucket_adapter_1.MemoryBucketAdapter {
|
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
72
|
dump() {
|
|
70
|
-
var _a;
|
|
71
73
|
let data = {
|
|
72
74
|
[this.refName]: {}
|
|
73
75
|
};
|
|
@@ -75,7 +77,7 @@ class JSONBucketAdapter extends memory_bucket_adapter_1.MemoryBucketAdapter {
|
|
|
75
77
|
const file = fs.readFileSync(this.file);
|
|
76
78
|
data = JSON.parse(file.toString());
|
|
77
79
|
}
|
|
78
|
-
data[
|
|
80
|
+
data[this.refName] ??= {};
|
|
79
81
|
for (const id in this.data) {
|
|
80
82
|
data[this.refName][id] = this.model.copy(this.data[id], 'dump');
|
|
81
83
|
}
|
|
@@ -17,6 +17,9 @@ const bucket_model_1 = require("../model/bucket_model");
|
|
|
17
17
|
* > object externally.
|
|
18
18
|
* */
|
|
19
19
|
class MemoryBucketAdapter extends bucket_adapter_1.BucketAdapter {
|
|
20
|
+
schema;
|
|
21
|
+
data;
|
|
22
|
+
model;
|
|
20
23
|
constructor(schema, data = {}, config) {
|
|
21
24
|
const nql = new memory_nql_1.MemoryNQLRunner();
|
|
22
25
|
super(schema, nql, config);
|