@toa.io/core 1.0.0-alpha.319 → 1.0.0-alpha.320
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/package.json +2 -2
- package/transpiled/contract/request.js +6 -2
- package/transpiled/contract/request.js.map +1 -1
- package/transpiled/contract/schemas.js +2 -1
- package/transpiled/contract/schemas.js.map +1 -1
- package/transpiled/query/criteria.js +105 -2
- package/transpiled/query/criteria.js.map +1 -1
- package/transpiled/types/request.d.ts +1 -0
- package/transpiled/types/storages.d.ts +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toa.io/core",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.320",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Toa Core",
|
|
6
6
|
"author": "temich <tema.gurtovoy@gmail.com>",
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"openspan": "1.0.0-alpha.305",
|
|
46
46
|
"uuid": "14.0.2"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "5ef92ab939a596e4ac820965c59c015820eba7b2"
|
|
49
49
|
}
|
|
@@ -81,12 +81,14 @@ export class Request extends Contract {
|
|
|
81
81
|
else
|
|
82
82
|
delete query.properties.projection;
|
|
83
83
|
if (definition.scope === 'stream') {
|
|
84
|
-
// a
|
|
84
|
+
// a window of a stream is read after the one before it, and ordered by what never moves
|
|
85
85
|
delete query.properties.omit;
|
|
86
|
-
query.
|
|
86
|
+
query.if = { anyOf: [{ required: ['limit'] }, { required: ['token'] }] };
|
|
87
|
+
query.then = { properties: { sort: { items: { pattern: UNMOVING } } } };
|
|
87
88
|
}
|
|
88
89
|
else {
|
|
89
90
|
delete query.properties.token;
|
|
91
|
+
delete query.properties.stop;
|
|
90
92
|
if (definition.type !== 'observation' || definition.scope !== 'entries') {
|
|
91
93
|
delete query.properties.omit;
|
|
92
94
|
delete query.properties.limit;
|
|
@@ -145,4 +147,6 @@ const ENTITY = new Set(['transition', 'observation', 'assignment']);
|
|
|
145
147
|
function empty(schema) {
|
|
146
148
|
return schema === undefined || schema === null || Object.keys(schema).length === 0;
|
|
147
149
|
}
|
|
150
|
+
/** What a window of a stream may be ordered by: what an entry never changes. */
|
|
151
|
+
const UNMOVING = '^(?:id|CREATED)(?::(?:asc|desc))?$';
|
|
148
152
|
//# sourceMappingURL=request.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../source/contract/request.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../source/contract/request.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,8 @@ export const query = {
|
|
|
22
22
|
items: { type: 'string', not: { const: 'id' } }
|
|
23
23
|
},
|
|
24
24
|
deleted: { type: 'boolean' },
|
|
25
|
-
token: { type: 'string', minLength: 1 }
|
|
25
|
+
token: { type: 'string', minLength: 1 },
|
|
26
|
+
stop: { type: 'boolean' }
|
|
26
27
|
},
|
|
27
28
|
additionalProperties: false
|
|
28
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../source/contract/schemas.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,KAAK,GAAe;IAC/B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtB,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACjF,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;QACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;QACrC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;QACtC,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,+BAA+B,EAAE;SACpE;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;SAChD;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../source/contract/schemas.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,KAAK,GAAe;IAC/B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtB,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACjF,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;QACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;QACrC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;QACtC,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,+BAA+B,EAAE;SACpE;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;SAChD;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;QACvC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KAC1B;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAe;IAC/B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;QAC1D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC5B;IACD,QAAQ,EAAE,CAAC,MAAM,CAAC;CACnB,CAAA"}
|
|
@@ -8,10 +8,110 @@ export function criteria(expression, properties) {
|
|
|
8
8
|
catch (e) {
|
|
9
9
|
throw new QuerySyntaxException(e.message);
|
|
10
10
|
}
|
|
11
|
+
// what spells neither word holds neither, and pays nothing for this
|
|
12
|
+
if (expression.includes('null') || expression.includes('undefined'))
|
|
13
|
+
nothing(ast, expression);
|
|
11
14
|
if (properties !== undefined)
|
|
12
15
|
read(ast, properties);
|
|
13
16
|
return ast;
|
|
14
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* An unquoted `null` or `undefined` is no value, and a quoted one is text. The parser answers
|
|
20
|
+
* both as the text, so which of them was quoted is read from the expression: a value is what
|
|
21
|
+
* follows a comparison operator, or the list in parentheses that does, and the tree holds the
|
|
22
|
+
* values in the order the expression writes them.
|
|
23
|
+
*/
|
|
24
|
+
function nothing(ast, expression) {
|
|
25
|
+
const quoted = values(expression);
|
|
26
|
+
let index = 0;
|
|
27
|
+
function resolve(value) {
|
|
28
|
+
return !quoted[index++] && (value === 'null' || value === 'undefined') ? null : value;
|
|
29
|
+
}
|
|
30
|
+
comparisons(ast, (node) => {
|
|
31
|
+
const right = node.right;
|
|
32
|
+
right.value = Array.isArray(right.value) ? right.value.map(resolve) : resolve(right.value);
|
|
33
|
+
const none = Array.isArray(right.value) ? right.value.includes(null) : right.value === null;
|
|
34
|
+
// no value is neither greater nor less than anything, and a storage asked to order by it
|
|
35
|
+
// finds nothing and says nothing
|
|
36
|
+
if (none && !EQUALITY.includes(node.operator))
|
|
37
|
+
throw new QuerySyntaxException(`Criteria selector '${node.left.selector}' compares no value with '${node.operator}'`);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
const EQUALITY = ['==', '!=', '=in=', '=out='];
|
|
41
|
+
function comparisons(node, visit) {
|
|
42
|
+
if (node.type === 'COMPARISON')
|
|
43
|
+
visit(node);
|
|
44
|
+
else if (node.type === 'LOGIC') {
|
|
45
|
+
comparisons(node.left, visit);
|
|
46
|
+
comparisons(node.right, visit);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Whether each value of an expression the parser has accepted is quoted, in the order they are
|
|
51
|
+
* written. Tokens are told apart as the parser's lexer tells them.
|
|
52
|
+
*/
|
|
53
|
+
function values(expression) {
|
|
54
|
+
const quoted = [];
|
|
55
|
+
let position = 0;
|
|
56
|
+
let value = false;
|
|
57
|
+
let list = false;
|
|
58
|
+
while (position < expression.length) {
|
|
59
|
+
const char = expression[position];
|
|
60
|
+
if (WHITESPACE.includes(char)) {
|
|
61
|
+
position++;
|
|
62
|
+
}
|
|
63
|
+
else if (char === '"' || char === "'") {
|
|
64
|
+
position = closing(expression, position) + 1;
|
|
65
|
+
if (value)
|
|
66
|
+
quoted.push(true);
|
|
67
|
+
value = list;
|
|
68
|
+
}
|
|
69
|
+
else if (char === '(') {
|
|
70
|
+
position++;
|
|
71
|
+
list = value;
|
|
72
|
+
}
|
|
73
|
+
else if (char === ')') {
|
|
74
|
+
position++;
|
|
75
|
+
list = value = false;
|
|
76
|
+
}
|
|
77
|
+
else if (char === ',' || char === ';') {
|
|
78
|
+
position++;
|
|
79
|
+
}
|
|
80
|
+
else if (OPERATOR_START.includes(char)) {
|
|
81
|
+
OPERATOR.lastIndex = position;
|
|
82
|
+
position = OPERATOR.test(expression) ? OPERATOR.lastIndex : position + 1;
|
|
83
|
+
value = true;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
position++;
|
|
87
|
+
while (position < expression.length && !RESERVED.includes(expression[position]))
|
|
88
|
+
position++;
|
|
89
|
+
if (value)
|
|
90
|
+
quoted.push(false);
|
|
91
|
+
value = list;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return quoted;
|
|
95
|
+
}
|
|
96
|
+
/** The quote that closes the one at `position`: the first one not escaped by a backslash. */
|
|
97
|
+
function closing(expression, position) {
|
|
98
|
+
const quote = expression[position];
|
|
99
|
+
let end = position;
|
|
100
|
+
for (;;) {
|
|
101
|
+
end = expression.indexOf(quote, end + 1);
|
|
102
|
+
if (end === -1)
|
|
103
|
+
return expression.length;
|
|
104
|
+
let escaped = false;
|
|
105
|
+
for (let back = end - 1; expression[back] === '\\' && back > position; back--)
|
|
106
|
+
escaped = !escaped;
|
|
107
|
+
if (!escaped)
|
|
108
|
+
return end;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
const WHITESPACE = ' \n\t\r';
|
|
112
|
+
const RESERVED = `"'();,=!~<> \n\t\r`;
|
|
113
|
+
const OPERATOR_START = '=!<>';
|
|
114
|
+
const OPERATOR = /=[a-z]*=|[!<>]=?/y;
|
|
15
115
|
function read(node, properties) {
|
|
16
116
|
if (node.type === 'COMPARISON' &&
|
|
17
117
|
node.left?.type === 'SELECTOR' &&
|
|
@@ -24,10 +124,13 @@ function read(node, properties) {
|
|
|
24
124
|
const cast = CAST[property.type];
|
|
25
125
|
// `=in=` and `=out=` carry a list, and casting that as one value gives whatever
|
|
26
126
|
// a comma-separated string reads as
|
|
127
|
+
// no value is no property's to read
|
|
27
128
|
if (cast !== undefined)
|
|
28
129
|
node.right.value = Array.isArray(node.right.value)
|
|
29
|
-
? node.right.value.map((value) => cast(value, selector))
|
|
30
|
-
:
|
|
130
|
+
? node.right.value.map((value) => value === null ? null : cast(value, selector))
|
|
131
|
+
: node.right.value === null
|
|
132
|
+
? null
|
|
133
|
+
: cast(node.right.value, selector);
|
|
31
134
|
}
|
|
32
135
|
else {
|
|
33
136
|
if (node.left !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../source/query/criteria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAMvD,MAAM,UAAU,QAAQ,CAAC,UAAkB,EAAE,UAAuB;IAClE,IAAI,GAAS,CAAA;IAEb,IAAI,CAAC;QACH,GAAG,GAAG,KAAK,CAAC,UAAU,CAAoB,CAAA;IAC5C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,oBAAoB,CAAE,CAAW,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,UAAU,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAEnD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,IAAI,CAAC,IAAU,EAAE,UAAsB;IAC9C,IACE,IAAI,CAAC,IAAI,KAAK,YAAY;QAC1B,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU;QAC9B,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,EAC5B,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAkB,CAAA;QAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;QAErC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,oBAAoB,CAAC,sBAAsB,QAAQ,kBAAkB,CAAC,CAAA;QAClF,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEhC,gFAAgF;QAChF,oCAAoC;QACpC,IAAI,IAAI,KAAK,SAAS;YACpB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../source/query/criteria.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,8 @@ export interface Options {
|
|
|
37
37
|
deleted?: boolean;
|
|
38
38
|
/** where a stream continues from: the token the one before it ended with */
|
|
39
39
|
token?: string;
|
|
40
|
+
/** a stream read in windows ends its first window with where changes continue from, not deeper */
|
|
41
|
+
stop?: boolean;
|
|
40
42
|
}
|
|
41
43
|
/** What core hands a storage, written by `Query.parse`. */
|
|
42
44
|
export interface Query {
|