nesoi 3.0.0 → 3.0.3
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/README.md +10 -0
- package/lib/adapters/postgres/src/migrator/bucket.d.ts +20 -0
- package/lib/adapters/postgres/src/migrator/bucket.js +184 -0
- package/lib/adapters/postgres/src/migrator/csv.d.ts +7 -0
- package/lib/adapters/postgres/src/migrator/csv.js +72 -0
- package/lib/adapters/postgres/src/migrator/migration.d.ts +2 -18
- package/lib/adapters/postgres/src/migrator/migration.js +10 -158
- package/lib/adapters/postgres/src/migrator/migrator.js +8 -5
- package/lib/adapters/postgres/src/migrator/runner.d.ts +16 -6
- package/lib/adapters/postgres/src/migrator/runner.js +103 -34
- package/lib/adapters/postgres/src/postgres.bucket_adapter.d.ts +19 -22
- package/lib/adapters/postgres/src/postgres.bucket_adapter.js +116 -100
- package/lib/adapters/postgres/src/postgres.cli.d.ts +23 -3
- package/lib/adapters/postgres/src/postgres.cli.js +70 -10
- package/lib/adapters/postgres/src/postgres.config.d.ts +5 -0
- package/lib/adapters/postgres/src/postgres.config.js +2 -0
- package/lib/adapters/postgres/src/postgres.nql.d.ts +7 -3
- package/lib/adapters/postgres/src/postgres.nql.js +86 -32
- package/lib/adapters/postgres/src/postgres.provider.d.ts +18 -0
- package/lib/adapters/postgres/src/postgres.provider.js +77 -0
- package/lib/adapters/postgres/test/postgres.bucket_adapter.test.js +76 -39
- package/lib/compiler/apps/monolyth/monolyth_compiler.d.ts +3 -0
- package/lib/compiler/apps/monolyth/monolyth_compiler.js +24 -0
- package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.js +2 -1
- package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.js +1 -1
- package/lib/compiler/elements/bucket.element.js +26 -11
- package/lib/compiler/elements/constants.element.js +1 -1
- package/lib/compiler/elements/element.d.ts +2 -0
- package/lib/compiler/elements/message.element.js +4 -4
- package/lib/compiler/helpers/dump_helpers.js +5 -2
- package/lib/compiler/stages/7_dump_stage.js +2 -0
- package/lib/compiler/treeshake.js +9 -37
- package/lib/compiler/typescript/bridge/extract.js +12 -0
- package/lib/compiler/typescript/bridge/inject.js +3 -0
- package/lib/compiler/typescript/bridge/organize.js +3 -3
- package/lib/elements/blocks/block.builder.js +4 -2
- package/lib/elements/blocks/job/internal/resource_job.builder.d.ts +22 -20
- package/lib/elements/blocks/job/internal/resource_job.d.ts +2 -1
- package/lib/elements/blocks/job/internal/resource_job.js +17 -4
- package/lib/elements/blocks/job/job.js +3 -0
- package/lib/elements/blocks/job/job.types.d.ts +7 -0
- package/lib/elements/blocks/job/job.types.js +2 -0
- package/lib/elements/blocks/machine/machine.js +3 -2
- package/lib/elements/blocks/resource/resource.builder.js +2 -4
- package/lib/elements/blocks/resource/resource.d.ts +5 -3
- package/lib/elements/blocks/resource/resource.js +26 -17
- package/lib/elements/edge/controller/adapters/controller_adapter.d.ts +2 -1
- package/lib/elements/edge/controller/adapters/controller_adapter.js +11 -2
- package/lib/elements/edge/controller/controller.builder.d.ts +4 -5
- package/lib/elements/edge/controller/controller.builder.js +7 -7
- package/lib/elements/edge/controller/controller.d.ts +2 -1
- package/lib/elements/edge/controller/controller.js +8 -6
- package/lib/elements/entities/bucket/adapters/bucket_adapter.d.ts +61 -23
- package/lib/elements/entities/bucket/adapters/bucket_adapter.js +22 -13
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.d.ts +21 -22
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +68 -2
- package/lib/elements/entities/bucket/adapters/memory.nql.d.ts +10 -6
- package/lib/elements/entities/bucket/adapters/memory.nql.js +38 -3
- package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.d.ts +0 -20
- package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.js +46 -30
- package/lib/elements/entities/bucket/bucket.builder.d.ts +8 -2
- package/lib/elements/entities/bucket/bucket.builder.js +13 -19
- package/lib/elements/entities/bucket/bucket.config.d.ts +5 -1
- package/lib/elements/entities/bucket/bucket.d.ts +180 -19
- package/lib/elements/entities/bucket/bucket.js +658 -48
- package/lib/elements/entities/bucket/bucket.schema.d.ts +7 -1
- package/lib/elements/entities/bucket/bucket.schema.js +2 -1
- package/lib/elements/entities/bucket/bucket.types.d.ts +2 -7
- package/lib/elements/entities/bucket/cache/bucket_cache.d.ts +6 -2
- package/lib/elements/entities/bucket/cache/bucket_cache.js +12 -12
- package/lib/elements/entities/bucket/graph/bucket_graph.d.ts +32 -5
- package/lib/elements/entities/bucket/graph/bucket_graph.js +80 -111
- package/lib/elements/entities/bucket/graph/bucket_graph.schema.d.ts +3 -6
- package/lib/elements/entities/bucket/graph/bucket_graph.schema.js +1 -4
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.d.ts +3 -7
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +6 -2
- package/lib/elements/entities/bucket/model/bucket_model.builder.js +1 -1
- package/lib/elements/entities/bucket/model/bucket_model.convert.js +3 -3
- package/lib/elements/entities/bucket/model/bucket_model.schema.d.ts +37 -8
- package/lib/elements/entities/bucket/model/bucket_model.schema.js +25 -4
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.d.ts +33 -14
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +56 -13
- package/lib/elements/entities/bucket/query/nql.schema.d.ts +1 -0
- package/lib/elements/entities/bucket/query/nql_compiler.js +13 -2
- package/lib/elements/entities/bucket/query/nql_engine.d.ts +11 -4
- package/lib/elements/entities/bucket/query/nql_engine.js +20 -11
- package/lib/elements/entities/bucket/view/bucket_view.js +63 -35
- package/lib/elements/entities/bucket/view/bucket_view.schema.d.ts +5 -2
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.d.ts +6 -2
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +21 -15
- package/lib/elements/entities/constants/constants.schema.d.ts +1 -1
- package/lib/elements/entities/drive/drive_adapter.d.ts +36 -0
- package/lib/elements/entities/drive/drive_adapter.js +10 -0
- package/lib/elements/entities/drive/local.drive_adapter.d.ts +8 -0
- package/lib/elements/entities/drive/local.drive_adapter.js +28 -0
- package/lib/elements/entities/message/message.schema.d.ts +1 -0
- package/lib/elements/entities/message/message.schema.js +33 -0
- package/lib/elements/entities/message/message_parser.d.ts +5 -1
- package/lib/elements/entities/message/message_parser.js +56 -35
- package/lib/elements/entities/message/template/message_template.schema.d.ts +10 -8
- package/lib/elements/entities/message/template/message_template_field.builder.d.ts +16 -6
- package/lib/elements/entities/message/template/message_template_field.builder.js +25 -0
- package/lib/elements/entities/message/template/message_template_parser.js +2 -1
- package/lib/engine/apps/app.config.d.ts +32 -11
- package/lib/engine/apps/app.config.js +12 -0
- package/lib/engine/apps/app.d.ts +2 -0
- package/lib/engine/apps/app.js +3 -0
- package/lib/engine/apps/inline.app.d.ts +5 -3
- package/lib/engine/apps/inline.app.js +27 -12
- package/lib/engine/apps/monolyth/monolyth.app.d.ts +4 -2
- package/lib/engine/apps/monolyth/monolyth.app.js +22 -10
- package/lib/engine/auth/authn.d.ts +5 -1
- package/lib/engine/auth/zero.authn_provider.d.ts +4 -2
- package/lib/engine/auth/zero.authn_provider.js +2 -2
- package/lib/engine/cli/cli.d.ts +3 -1
- package/lib/engine/cli/cli.js +22 -3
- package/lib/engine/cli/cli_adapter.d.ts +2 -1
- package/lib/engine/cli/cli_adapter.js +2 -1
- package/lib/engine/cli/cli_input.d.ts +19 -0
- package/lib/engine/cli/cli_input.js +207 -0
- package/lib/engine/cli/ui.d.ts +1 -1
- package/lib/engine/cli/ui.js +2 -2
- package/lib/engine/daemon.d.ts +3 -2
- package/lib/engine/daemon.js +14 -2
- package/lib/engine/data/date.js +2 -2
- package/lib/engine/data/datetime.d.ts +40 -4
- package/lib/engine/data/datetime.js +70 -11
- package/lib/engine/data/decimal.d.ts +1 -1
- package/lib/engine/data/decimal.js +3 -3
- package/lib/engine/data/error.d.ts +21 -4
- package/lib/engine/data/error.js +23 -7
- package/lib/engine/data/file.d.ts +23 -0
- package/lib/engine/data/file.js +53 -0
- package/lib/engine/data/json.d.ts +6 -0
- package/lib/engine/data/json.js +26 -0
- package/lib/engine/data/obj.d.ts +1 -1
- package/lib/engine/data/trash.d.ts +14 -0
- package/lib/engine/data/trash.js +2 -0
- package/lib/engine/data/tree.d.ts +7 -12
- package/lib/engine/data/tree.js +101 -49
- package/lib/engine/module.d.ts +2 -1
- package/lib/engine/module.js +2 -5
- package/lib/engine/space.d.ts +1 -0
- package/lib/engine/space.js +6 -0
- package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +156 -24
- package/lib/engine/transaction/nodes/bucket.trx_node.js +297 -467
- package/lib/engine/transaction/nodes/bucket_query.trx_node.d.ts +4 -2
- package/lib/engine/transaction/nodes/bucket_query.trx_node.js +27 -15
- package/lib/engine/transaction/nodes/job.trx_node.d.ts +2 -1
- package/lib/engine/transaction/nodes/job.trx_node.js +6 -0
- package/lib/engine/transaction/trx.d.ts +5 -2
- package/lib/engine/transaction/trx.js +2 -2
- package/lib/engine/transaction/trx_engine.config.d.ts +1 -3
- package/lib/engine/transaction/trx_engine.d.ts +2 -2
- package/lib/engine/transaction/trx_engine.js +14 -11
- package/lib/engine/transaction/trx_node.d.ts +14 -4
- package/lib/engine/transaction/trx_node.js +50 -8
- package/lib/engine/tree.d.ts +1 -1
- package/lib/engine/util/crypto.d.ts +50 -0
- package/lib/engine/util/crypto.js +89 -0
- package/lib/engine/util/deep.d.ts +5 -0
- package/lib/engine/util/deep.js +46 -0
- package/lib/engine/util/dotenv.d.ts +2 -8
- package/lib/engine/util/dotenv.js +14 -36
- package/lib/engine/util/hash.d.ts +3 -0
- package/lib/engine/util/hash.js +23 -0
- package/lib/engine/util/log.js +1 -1
- package/lib/engine/util/mime.d.ts +10 -0
- package/lib/engine/util/mime.js +389 -0
- package/lib/engine/util/parse.d.ts +6 -5
- package/lib/engine/util/parse.js +16 -15
- package/lib/engine/util/path.d.ts +3 -0
- package/lib/engine/util/path.js +92 -0
- package/lib/engine/util/rules.d.ts +4 -0
- package/lib/engine/util/rules.js +12 -0
- package/package.json +1 -1
- package/tools/compile.js +2 -2
- package/tools/dotenv.d.ts +1 -0
- package/tools/dotenv.js +4 -0
- package/tools/joaquin/job.d.ts +5 -5
- package/tools/joaquin/mock.d.ts +23 -2
- package/tools/joaquin/mock.js +127 -21
- package/tsconfig.build.tsbuildinfo +1 -1
- package/lib/adapters/postgres/test/postgres.bucket_query.test.d.ts +0 -0
- package/lib/adapters/postgres/test/postgres.bucket_query.test.js +0 -136
|
@@ -0,0 +1,92 @@
|
|
|
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.Path = void 0;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
class Path {
|
|
40
|
+
static expandWildcard(str) {
|
|
41
|
+
const abs = path.isAbsolute(str);
|
|
42
|
+
const nodes = str.split(path.sep);
|
|
43
|
+
if (nodes.length === 1) {
|
|
44
|
+
return [
|
|
45
|
+
path.resolve(str)
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
const step = {
|
|
49
|
+
root: abs ? nodes[0] + path.sep : nodes[0],
|
|
50
|
+
next: nodes.slice(1)
|
|
51
|
+
};
|
|
52
|
+
const paths = [];
|
|
53
|
+
let steps = [step];
|
|
54
|
+
while (steps.length) {
|
|
55
|
+
const nextSteps = [];
|
|
56
|
+
for (const step of steps) {
|
|
57
|
+
if (step.next.length === 0 || step.next[0].length === 0) {
|
|
58
|
+
paths.push(step.root);
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
const nextNext = step.next.slice(1);
|
|
62
|
+
if (step.next[0] === '*') {
|
|
63
|
+
if (fs.lstatSync(step.root).isDirectory()) {
|
|
64
|
+
fs.readdirSync(step.root, { withFileTypes: true })
|
|
65
|
+
.forEach(node => {
|
|
66
|
+
const nextRoot = path.resolve(step.root, node.name);
|
|
67
|
+
nextSteps.push({
|
|
68
|
+
root: nextRoot,
|
|
69
|
+
next: nextNext
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
const nextRoot = path.resolve(step.root, step.next[0]);
|
|
79
|
+
if (fs.existsSync(nextRoot)) {
|
|
80
|
+
nextSteps.push({
|
|
81
|
+
root: nextRoot,
|
|
82
|
+
next: nextNext
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
steps = nextSteps;
|
|
88
|
+
}
|
|
89
|
+
return paths;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.Path = Path;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.requiredIf = void 0;
|
|
4
|
+
const requiredIf = (key, val, error) => {
|
|
5
|
+
return ($) => {
|
|
6
|
+
if ($.value)
|
|
7
|
+
return true;
|
|
8
|
+
return $.raw[key] !== val
|
|
9
|
+
|| error;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
exports.requiredIf = requiredIf;
|
package/package.json
CHANGED
package/tools/compile.js
CHANGED
|
@@ -40,8 +40,8 @@ const path = __importStar(require("path"));
|
|
|
40
40
|
const fs = __importStar(require("fs"));
|
|
41
41
|
const node_util_1 = require("node:util");
|
|
42
42
|
const compiler_1 = require("../lib/compiler/compiler");
|
|
43
|
-
const log_1 = require("../
|
|
44
|
-
const console_1 = __importDefault(require("../
|
|
43
|
+
const log_1 = require("../lib/engine/util/log");
|
|
44
|
+
const console_1 = __importDefault(require("../lib/engine/util/console"));
|
|
45
45
|
log_1.Log.level = 'info';
|
|
46
46
|
/**
|
|
47
47
|
* [ compile ]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/tools/dotenv.js
ADDED
package/tools/joaquin/job.d.ts
CHANGED
|
@@ -3,19 +3,19 @@ import { AnyMessage } from "../../src/elements/entities/message/message";
|
|
|
3
3
|
import { NesoiError } from "../../src/engine/data/error";
|
|
4
4
|
export declare function expectJob(def: ($: AnyJobBuilder) => any): {
|
|
5
5
|
onRaw(_raw: {
|
|
6
|
-
|
|
6
|
+
$?: string;
|
|
7
7
|
[x: string]: any;
|
|
8
8
|
}): {
|
|
9
9
|
toResolve(value: ($: {
|
|
10
10
|
raw?: {
|
|
11
|
-
|
|
11
|
+
$?: string;
|
|
12
12
|
[x: string]: any;
|
|
13
13
|
};
|
|
14
14
|
msg?: AnyMessage;
|
|
15
15
|
}) => any): Promise<void>;
|
|
16
16
|
toReject(error: ($: {
|
|
17
17
|
raw?: {
|
|
18
|
-
|
|
18
|
+
$?: string;
|
|
19
19
|
[x: string]: any;
|
|
20
20
|
};
|
|
21
21
|
msg?: AnyMessage;
|
|
@@ -24,14 +24,14 @@ export declare function expectJob(def: ($: AnyJobBuilder) => any): {
|
|
|
24
24
|
onMessage(_msg: AnyMessage): {
|
|
25
25
|
toResolve(value: ($: {
|
|
26
26
|
raw?: {
|
|
27
|
-
|
|
27
|
+
$?: string;
|
|
28
28
|
[x: string]: any;
|
|
29
29
|
};
|
|
30
30
|
msg?: AnyMessage;
|
|
31
31
|
}) => any): Promise<void>;
|
|
32
32
|
toReject(error: ($: {
|
|
33
33
|
raw?: {
|
|
34
|
-
|
|
34
|
+
$?: string;
|
|
35
35
|
[x: string]: any;
|
|
36
36
|
};
|
|
37
37
|
msg?: AnyMessage;
|
package/tools/joaquin/mock.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { $Bucket, $Module, $Space } from "../../src/elements";
|
|
1
|
+
import { $Bucket, $Message, $Module, $Space } from "../../src/elements";
|
|
2
2
|
import { Daemon } from "../../src/engine/daemon";
|
|
3
|
+
import { NesoiDate } from "../../src/engine/data/date";
|
|
4
|
+
import { NesoiDatetime } from "../../src/engine/data/datetime";
|
|
5
|
+
import { NesoiDecimal } from "../../src/engine/data/decimal";
|
|
3
6
|
import { DeepPartial } from "../../src/engine/util/deep";
|
|
4
7
|
export declare class BucketMockObj<$ extends $Bucket, T> {
|
|
5
8
|
private module;
|
|
@@ -14,7 +17,6 @@ export declare class BucketMockObj<$ extends $Bucket, T> {
|
|
|
14
17
|
private makeObj;
|
|
15
18
|
private makeList;
|
|
16
19
|
private makeField;
|
|
17
|
-
private makeString;
|
|
18
20
|
}
|
|
19
21
|
declare class BucketMock<M extends $Module, $ extends $Bucket> {
|
|
20
22
|
private module;
|
|
@@ -22,7 +24,26 @@ declare class BucketMock<M extends $Module, $ extends $Bucket> {
|
|
|
22
24
|
constructor(module: M['name'], bucket: keyof M['buckets']);
|
|
23
25
|
obj<O extends DeepPartial<$['#data']> | undefined>(overrides?: O): BucketMockObj<$, undefined extends O ? $["#data"] : Omit<$["#data"], keyof O> & O>;
|
|
24
26
|
}
|
|
27
|
+
declare class MessageMock<M extends $Module, $ extends $Message> {
|
|
28
|
+
private module;
|
|
29
|
+
private messageName;
|
|
30
|
+
private message?;
|
|
31
|
+
constructor(module: M['name'], messageName: keyof M['messages']);
|
|
32
|
+
raw<O extends DeepPartial<$['#raw']> | undefined>(daemon: Daemon<any, any>, overrides?: O): any;
|
|
33
|
+
private bindMessage;
|
|
34
|
+
private makeObj;
|
|
35
|
+
private makeList;
|
|
36
|
+
private makeField;
|
|
37
|
+
}
|
|
25
38
|
export declare class Mock<Space extends $Space = $Space> {
|
|
26
39
|
bucket<ModuleName extends keyof Space['modules'], BucketName extends keyof Space['modules'][ModuleName]['buckets'], Module extends Space['modules'][ModuleName], Bucket extends Space['modules'][ModuleName]['buckets'][BucketName]>(module: ModuleName, bucket: BucketName): BucketMock<Module, Bucket>;
|
|
40
|
+
message<ModuleName extends keyof Space['modules'], MessageName extends keyof Space['modules'][ModuleName]['messages'], Module extends Space['modules'][ModuleName], Message extends Space['modules'][ModuleName]['messages'][MessageName]>(module: ModuleName, message: MessageName): MessageMock<Module, Message>;
|
|
41
|
+
static boolean(): boolean;
|
|
42
|
+
static date(): NesoiDate;
|
|
43
|
+
static datetime(): NesoiDatetime;
|
|
44
|
+
static decimal(): NesoiDecimal;
|
|
45
|
+
static float(): number;
|
|
46
|
+
static int(): number;
|
|
47
|
+
static string(): string;
|
|
27
48
|
}
|
|
28
49
|
export {};
|
package/tools/joaquin/mock.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Mock = exports.BucketMockObj = void 0;
|
|
4
|
-
const daemon_1 = require("../../
|
|
5
|
-
const date_1 = require("../../
|
|
6
|
-
const datetime_1 = require("../../
|
|
7
|
-
const decimal_1 = require("../../
|
|
4
|
+
const daemon_1 = require("../../lib/engine/daemon");
|
|
5
|
+
const date_1 = require("../../lib/engine/data/date");
|
|
6
|
+
const datetime_1 = require("../../lib/engine/data/datetime");
|
|
7
|
+
const decimal_1 = require("../../lib/engine/data/decimal");
|
|
8
8
|
class BucketMockObj {
|
|
9
9
|
constructor(module, bucketName, overrides) {
|
|
10
10
|
this.module = module;
|
|
@@ -53,7 +53,7 @@ class BucketMockObj {
|
|
|
53
53
|
makeList(field, overrides) {
|
|
54
54
|
const list = [];
|
|
55
55
|
for (let i = 0; i < 3; i++) {
|
|
56
|
-
list.
|
|
56
|
+
list.push(this.makeField(field, overrides));
|
|
57
57
|
}
|
|
58
58
|
return list;
|
|
59
59
|
}
|
|
@@ -62,53 +62,45 @@ class BucketMockObj {
|
|
|
62
62
|
return [true, false][Math.floor(Math.random() * 2)];
|
|
63
63
|
}
|
|
64
64
|
else if (field.type === 'date') {
|
|
65
|
-
return
|
|
65
|
+
return Mock.date();
|
|
66
66
|
}
|
|
67
67
|
else if (field.type === 'datetime') {
|
|
68
|
-
return
|
|
68
|
+
return Mock.datetime();
|
|
69
69
|
}
|
|
70
70
|
else if (field.type === 'decimal') {
|
|
71
|
-
return
|
|
71
|
+
return Mock.decimal();
|
|
72
72
|
}
|
|
73
73
|
else if (field.type === 'dict') {
|
|
74
74
|
const dict = {};
|
|
75
75
|
for (let i = 0; i < 3; i++) {
|
|
76
|
-
dict[
|
|
76
|
+
dict[Mock.string()] = this.makeField(field.children.__dict);
|
|
77
77
|
}
|
|
78
78
|
return dict;
|
|
79
79
|
}
|
|
80
80
|
else if (field.type === 'enum') {
|
|
81
|
-
return field.
|
|
81
|
+
return field.meta.enum.options[Math.floor(Math.random() * field.meta.enum.options.length)];
|
|
82
82
|
}
|
|
83
83
|
else if (field.type === 'file') {
|
|
84
84
|
// TODO
|
|
85
85
|
return undefined;
|
|
86
86
|
}
|
|
87
87
|
else if (field.type === 'float') {
|
|
88
|
-
return
|
|
88
|
+
return Mock.float();
|
|
89
89
|
}
|
|
90
90
|
else if (field.type === 'int') {
|
|
91
|
-
return
|
|
91
|
+
return Mock.int();
|
|
92
92
|
}
|
|
93
93
|
else if (field.type === 'obj') {
|
|
94
94
|
return this.makeObj(field.children, overrides);
|
|
95
95
|
}
|
|
96
96
|
else if (field.type === 'string') {
|
|
97
|
-
return
|
|
97
|
+
return Mock.string();
|
|
98
98
|
}
|
|
99
99
|
else if (field.type === 'unknown') {
|
|
100
100
|
// TODO
|
|
101
101
|
return undefined;
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
makeString() {
|
|
105
|
-
const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
|
106
|
-
let str = 'TEST_';
|
|
107
|
-
for (let i = 0; i < 8; i++) {
|
|
108
|
-
str += charset[Math.floor(Math.random() * charset.length)];
|
|
109
|
-
}
|
|
110
|
-
return str;
|
|
111
|
-
}
|
|
112
104
|
}
|
|
113
105
|
exports.BucketMockObj = BucketMockObj;
|
|
114
106
|
class BucketMock {
|
|
@@ -120,9 +112,123 @@ class BucketMock {
|
|
|
120
112
|
return new BucketMockObj(this.module, this.bucket, overrides);
|
|
121
113
|
}
|
|
122
114
|
}
|
|
115
|
+
class MessageMock {
|
|
116
|
+
constructor(module, messageName) {
|
|
117
|
+
this.module = module;
|
|
118
|
+
this.messageName = messageName;
|
|
119
|
+
}
|
|
120
|
+
raw(daemon, overrides) {
|
|
121
|
+
if (!this.message)
|
|
122
|
+
this.bindMessage(daemon);
|
|
123
|
+
return this.makeObj(this.message?.schema.template.fields || {}, overrides);
|
|
124
|
+
}
|
|
125
|
+
bindMessage(daemon) {
|
|
126
|
+
this.message = daemon_1.Daemon.getModule(daemon, this.module)
|
|
127
|
+
.messages[this.messageName];
|
|
128
|
+
}
|
|
129
|
+
makeObj(fields, overrides) {
|
|
130
|
+
const obj = {};
|
|
131
|
+
for (const f in fields) {
|
|
132
|
+
if (overrides && f in overrides) {
|
|
133
|
+
obj[f] = overrides[f];
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
const field = fields[f];
|
|
137
|
+
if (field.array) {
|
|
138
|
+
obj[f] = this.makeList(field, overrides?.[f]);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
obj[f] = this.makeField(field, overrides?.[f]);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return obj;
|
|
146
|
+
}
|
|
147
|
+
makeList(field, overrides) {
|
|
148
|
+
const list = [];
|
|
149
|
+
for (let i = 0; i < 3; i++) {
|
|
150
|
+
list.push(this.makeField(field, overrides));
|
|
151
|
+
}
|
|
152
|
+
return list;
|
|
153
|
+
}
|
|
154
|
+
makeField(field, overrides) {
|
|
155
|
+
if (field.type === 'boolean') {
|
|
156
|
+
return [true, false][Math.floor(Math.random() * 2)];
|
|
157
|
+
}
|
|
158
|
+
else if (field.type === 'date') {
|
|
159
|
+
return Mock.date();
|
|
160
|
+
}
|
|
161
|
+
else if (field.type === 'datetime') {
|
|
162
|
+
return Mock.datetime();
|
|
163
|
+
}
|
|
164
|
+
else if (field.type === 'decimal') {
|
|
165
|
+
return Mock.decimal();
|
|
166
|
+
}
|
|
167
|
+
else if (field.type === 'dict') {
|
|
168
|
+
const dict = {};
|
|
169
|
+
for (let i = 0; i < 3; i++) {
|
|
170
|
+
dict[Mock.string()] = this.makeField(field.children.__dict);
|
|
171
|
+
}
|
|
172
|
+
return dict;
|
|
173
|
+
}
|
|
174
|
+
else if (field.type === 'enum') {
|
|
175
|
+
// TODO
|
|
176
|
+
return 'TODO';
|
|
177
|
+
}
|
|
178
|
+
else if (field.type === 'file') {
|
|
179
|
+
// TODO
|
|
180
|
+
return undefined;
|
|
181
|
+
}
|
|
182
|
+
else if (field.type === 'float') {
|
|
183
|
+
return Mock.float();
|
|
184
|
+
}
|
|
185
|
+
else if (field.type === 'int') {
|
|
186
|
+
return Mock.int();
|
|
187
|
+
}
|
|
188
|
+
else if (field.type === 'obj') {
|
|
189
|
+
return this.makeObj(field.children, overrides);
|
|
190
|
+
}
|
|
191
|
+
else if (field.type === 'string') {
|
|
192
|
+
return Mock.string();
|
|
193
|
+
}
|
|
194
|
+
else if (field.type === 'unknown') {
|
|
195
|
+
// TODO
|
|
196
|
+
return undefined;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
123
200
|
class Mock {
|
|
124
201
|
bucket(module, bucket) {
|
|
125
202
|
return new BucketMock(module, bucket);
|
|
126
203
|
}
|
|
204
|
+
message(module, message) {
|
|
205
|
+
return new MessageMock(module, message);
|
|
206
|
+
}
|
|
207
|
+
static boolean() {
|
|
208
|
+
return [true, false][Math.floor(Math.random() * 2)];
|
|
209
|
+
}
|
|
210
|
+
static date() {
|
|
211
|
+
return date_1.NesoiDate.now();
|
|
212
|
+
}
|
|
213
|
+
static datetime() {
|
|
214
|
+
return datetime_1.NesoiDatetime.now();
|
|
215
|
+
}
|
|
216
|
+
static decimal() {
|
|
217
|
+
return new decimal_1.NesoiDecimal(`${Math.floor(Math.random() * 999)}.${Math.floor(Math.random() * 999)}`);
|
|
218
|
+
}
|
|
219
|
+
static float() {
|
|
220
|
+
return Math.random();
|
|
221
|
+
}
|
|
222
|
+
static int() {
|
|
223
|
+
return Math.floor(Math.random() * 999);
|
|
224
|
+
}
|
|
225
|
+
static string() {
|
|
226
|
+
const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
|
227
|
+
let str = 'TEST_';
|
|
228
|
+
for (let i = 0; i < 8; i++) {
|
|
229
|
+
str += charset[Math.floor(Math.random() * charset.length)];
|
|
230
|
+
}
|
|
231
|
+
return str;
|
|
232
|
+
}
|
|
127
233
|
}
|
|
128
234
|
exports.Mock = Mock;
|