oak-domain 2.4.0 → 2.4.2
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/actions/action.d.ts +16 -16
- package/lib/actions/action.js +17 -17
- package/lib/actions/relation.d.ts +5 -5
- package/lib/actions/relation.js +38 -38
- package/lib/base-app-domain/ActionDefDict.d.ts +5 -5
- package/lib/base-app-domain/ActionDefDict.js +7 -7
- package/lib/base-app-domain/EntityDict.d.ts +12 -12
- package/lib/base-app-domain/EntityDict.js +2 -2
- package/lib/base-app-domain/Modi/Action.d.ts +10 -10
- package/lib/base-app-domain/Modi/Action.js +14 -14
- package/lib/base-app-domain/Modi/Schema.d.ts +146 -146
- package/lib/base-app-domain/Modi/Schema.js +2 -2
- package/lib/base-app-domain/Modi/Storage.d.ts +3 -3
- package/lib/base-app-domain/Modi/Storage.js +60 -60
- package/lib/base-app-domain/ModiEntity/Schema.d.ts +162 -162
- package/lib/base-app-domain/ModiEntity/Schema.js +2 -2
- package/lib/base-app-domain/ModiEntity/Storage.d.ts +3 -3
- package/lib/base-app-domain/ModiEntity/Storage.js +26 -26
- package/lib/base-app-domain/Oper/Schema.d.ts +144 -144
- package/lib/base-app-domain/Oper/Schema.js +2 -2
- package/lib/base-app-domain/Oper/Storage.d.ts +3 -3
- package/lib/base-app-domain/Oper/Storage.js +29 -29
- package/lib/base-app-domain/OperEntity/Schema.d.ts +178 -178
- package/lib/base-app-domain/OperEntity/Schema.js +2 -2
- package/lib/base-app-domain/OperEntity/Storage.d.ts +3 -3
- package/lib/base-app-domain/OperEntity/Storage.js +26 -26
- package/lib/base-app-domain/Storage.d.ts +3 -3
- package/lib/base-app-domain/Storage.js +15 -15
- package/lib/base-app-domain/User/Schema.d.ts +128 -128
- package/lib/base-app-domain/User/Schema.js +2 -2
- package/lib/base-app-domain/User/Storage.d.ts +3 -3
- package/lib/base-app-domain/User/Storage.js +25 -25
- package/lib/base-app-domain/_SubQuery.d.ts +36 -36
- package/lib/base-app-domain/_SubQuery.js +2 -2
- package/lib/base-app-domain/index.d.ts +3 -3
- package/lib/base-app-domain/index.js +6 -6
- package/lib/checkers/index.d.ts +5 -5
- package/lib/checkers/index.js +15 -15
- package/lib/compiler/env.d.ts +11 -11
- package/lib/compiler/env.js +39 -39
- package/lib/compiler/schemalBuilder.d.ts +2 -2
- package/lib/compiler/schemalBuilder.js +3303 -3301
- package/lib/compiler/uiBuilder.d.ts +1 -1
- package/lib/compiler/uiBuilder.js +3 -3
- package/lib/entities/Modi.d.ts +11 -11
- package/lib/entities/Modi.js +46 -46
- package/lib/entities/ModiEntity.d.ts +8 -8
- package/lib/entities/ModiEntity.js +15 -15
- package/lib/entities/Oper.d.ts +10 -10
- package/lib/entities/Oper.js +17 -17
- package/lib/entities/OperEntity.d.ts +8 -8
- package/lib/entities/OperEntity.js +15 -15
- package/lib/entities/User.d.ts +7 -7
- package/lib/entities/User.js +12 -12
- package/lib/store/AsyncRowStore.d.ts +48 -48
- package/lib/store/AsyncRowStore.js +183 -183
- package/lib/store/CascadeStore.d.ts +91 -91
- package/lib/store/CascadeStore.js +1590 -1594
- package/lib/store/SyncRowStore.d.ts +29 -29
- package/lib/store/SyncRowStore.js +48 -48
- package/lib/store/TriggerExecutor.d.ts +32 -32
- package/lib/store/TriggerExecutor.js +527 -527
- package/lib/store/actionDef.d.ts +9 -9
- package/lib/store/actionDef.js +333 -135
- package/lib/store/checker.d.ts +13 -13
- package/lib/store/checker.js +498 -498
- package/lib/store/filter.d.ts +109 -109
- package/lib/store/filter.js +893 -893
- package/lib/store/modi.d.ts +13 -13
- package/lib/store/modi.js +198 -198
- package/lib/store/relation.d.ts +13 -13
- package/lib/store/relation.js +66 -66
- package/lib/store/selection.d.ts +7 -7
- package/lib/store/selection.js +235 -235
- package/lib/triggers/index.d.ts +6 -6
- package/lib/triggers/index.js +11 -11
- package/lib/triggers/modi.d.ts +5 -5
- package/lib/triggers/modi.js +72 -72
- package/lib/types/Action.d.ts +18 -18
- package/lib/types/Action.js +2 -2
- package/lib/types/AppLoader.d.ts +11 -11
- package/lib/types/AppLoader.js +10 -10
- package/lib/types/Aspect.d.ts +12 -12
- package/lib/types/Aspect.js +4 -4
- package/lib/types/Auth.d.ts +66 -66
- package/lib/types/Auth.js +2 -2
- package/lib/types/Connector.d.ts +26 -26
- package/lib/types/Connector.js +9 -9
- package/lib/types/Context.d.ts +7 -7
- package/lib/types/Context.js +3 -3
- package/lib/types/DataType.d.ts +18 -18
- package/lib/types/DataType.js +5 -5
- package/lib/types/Demand.d.ts +77 -77
- package/lib/types/Demand.js +9 -9
- package/lib/types/Endpoint.d.ts +11 -10
- package/lib/types/Endpoint.js +3 -3
- package/lib/types/Entity.d.ts +183 -176
- package/lib/types/Entity.js +14 -14
- package/lib/types/Exception.d.ts +98 -88
- package/lib/types/Exception.js +283 -267
- package/lib/types/Expression.d.ts +163 -163
- package/lib/types/Expression.js +427 -427
- package/lib/types/Geo.d.ts +18 -18
- package/lib/types/Geo.js +2 -2
- package/lib/types/Locale.d.ts +24 -24
- package/lib/types/Locale.js +2 -2
- package/lib/types/Logger.d.ts +5 -5
- package/lib/types/Logger.js +3 -3
- package/lib/types/Polyfill.d.ts +23 -23
- package/lib/types/Polyfill.js +2 -2
- package/lib/types/Port.d.ts +17 -17
- package/lib/types/Port.js +2 -2
- package/lib/types/RowStore.d.ts +12 -12
- package/lib/types/RowStore.js +34 -34
- package/lib/types/Storage.d.ts +56 -56
- package/lib/types/Storage.js +2 -2
- package/lib/types/Timer.d.ts +13 -13
- package/lib/types/Timer.js +2 -2
- package/lib/types/Trigger.d.ts +100 -100
- package/lib/types/Trigger.js +39 -39
- package/lib/types/Txn.d.ts +2 -2
- package/lib/types/Txn.js +3 -3
- package/lib/types/Watcher.d.ts +19 -19
- package/lib/types/Watcher.js +4 -4
- package/lib/types/index.d.ts +21 -21
- package/lib/types/index.js +24 -24
- package/lib/types/schema/DataTypes.d.ts +32 -32
- package/lib/types/schema/DataTypes.js +3 -3
- package/lib/utils/SimpleConnector.d.ts +30 -30
- package/lib/utils/SimpleConnector.js +117 -117
- package/lib/utils/assert.d.ts +5 -5
- package/lib/utils/assert.js +9 -9
- package/lib/utils/concurrent.d.ts +15 -15
- package/lib/utils/concurrent.js +89 -89
- package/lib/utils/cron.d.ts +1 -1
- package/lib/utils/cron.js +18 -18
- package/lib/utils/date.d.ts +1 -1
- package/lib/utils/date.js +18 -18
- package/lib/utils/geo.d.ts +4 -4
- package/lib/utils/geo.js +24 -24
- package/lib/utils/lodash.d.ts +20 -20
- package/lib/utils/lodash.js +55 -55
- package/lib/utils/random/random.d.ts +1 -1
- package/lib/utils/random/random.js +24 -24
- package/lib/utils/random/random.mp.d.ts +1 -1
- package/lib/utils/random/random.mp.js +25 -25
- package/lib/utils/random/random.web.d.ts +1 -1
- package/lib/utils/random/random.web.js +17 -17
- package/lib/utils/string.d.ts +22 -22
- package/lib/utils/string.js +70 -70
- package/lib/utils/uuid.d.ts +12 -12
- package/lib/utils/uuid.js +194 -194
- package/lib/utils/validator.d.ts +23 -23
- package/lib/utils/validator.js +123 -123
- package/package.json +48 -48
- package/src/entities/Modi.ts +68 -68
- package/src/entities/ModiEntity.ts +24 -24
- package/src/entities/Oper.ts +28 -28
- package/src/entities/OperEntity.ts +24 -24
- package/src/entities/User.ts +19 -19
package/lib/types/Demand.d.ts
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
import { RefOrExpression } from "./Expression";
|
|
2
|
-
import { OneOf } from "./Polyfill";
|
|
3
|
-
export declare const EXPRESSION_PREFIX = "$expr";
|
|
4
|
-
export declare type NodeId = `node-${number}`;
|
|
5
|
-
export declare type ExpressionKey = '$expr' | '$expr1' | '$expr2' | '$expr3' | '$expr4' | '$expr5' | '$expr6' | '$expr7' | '$expr8' | '$expr9' | '$expr10' | '$expr11' | '$expr12' | '$expr13' | '$expr14' | '$expr15' | '$expr16' | '$expr17' | '$expr18' | '$expr19' | '$expr20';
|
|
6
|
-
export declare type ExprOp<A> = {
|
|
7
|
-
[K in ExpressionKey]: RefOrExpression<A>;
|
|
8
|
-
};
|
|
9
|
-
export declare type Q_NumberComparisonValue = number | OneOf<{
|
|
10
|
-
$gt: number;
|
|
11
|
-
$lt: number;
|
|
12
|
-
$gte: number;
|
|
13
|
-
$lte: number;
|
|
14
|
-
$eq: number;
|
|
15
|
-
$ne: number;
|
|
16
|
-
$in: number[];
|
|
17
|
-
$nin: number[];
|
|
18
|
-
$between: [number, number];
|
|
19
|
-
}>;
|
|
20
|
-
export declare type Q_StringComparisonValue = string | OneOf<{
|
|
21
|
-
$gt: string;
|
|
22
|
-
$lt: string;
|
|
23
|
-
$gte: string;
|
|
24
|
-
$lte: string;
|
|
25
|
-
$eq: string;
|
|
26
|
-
$ne: string;
|
|
27
|
-
$startsWith: string;
|
|
28
|
-
$endsWith: string;
|
|
29
|
-
$includes: string;
|
|
30
|
-
$in: string[];
|
|
31
|
-
$nin: string[];
|
|
32
|
-
}>;
|
|
33
|
-
export declare type Q_BooleanComparisonValue = boolean;
|
|
34
|
-
export declare type Q_DateComparisonValue = Q_NumberComparisonValue;
|
|
35
|
-
export declare type Q_EnumComparisonValue<E> = E | OneOf<{
|
|
36
|
-
$in: E[];
|
|
37
|
-
$nin: E[];
|
|
38
|
-
}>;
|
|
39
|
-
export declare type Q_ExistsValue = {
|
|
40
|
-
$exists: boolean;
|
|
41
|
-
};
|
|
42
|
-
export declare type Q_NumberValue = Q_NumberComparisonValue | Q_ExistsValue;
|
|
43
|
-
export declare type Q_StringValue = Q_StringComparisonValue | Q_ExistsValue;
|
|
44
|
-
export declare type Q_BooleanValue = Q_BooleanComparisonValue | Q_ExistsValue;
|
|
45
|
-
export declare type Q_DateValue = Q_DateComparisonValue | Q_ExistsValue;
|
|
46
|
-
export declare type Q_EnumValue<E> = Q_EnumComparisonValue<E> | Q_ExistsValue;
|
|
47
|
-
export declare type Q_State<S> = S | {
|
|
48
|
-
$in: S[];
|
|
49
|
-
} | {
|
|
50
|
-
$nin: S[];
|
|
51
|
-
} | Q_ExistsValue;
|
|
52
|
-
export declare type Q_FullTextValue = {
|
|
53
|
-
$search: string;
|
|
54
|
-
$language?: 'zh_CN' | 'en_US';
|
|
55
|
-
};
|
|
56
|
-
export declare type Q_FullTextKey = '$text';
|
|
57
|
-
export declare type FulltextFilter = {
|
|
58
|
-
[F in Q_FullTextKey]?: Q_FullTextValue;
|
|
59
|
-
};
|
|
60
|
-
declare type Q_LogicKey = '$and' | '$or';
|
|
61
|
-
declare type Q_LinearLogicKey = '$not';
|
|
62
|
-
export declare type MakeFilterWrapper<F extends Object> = {
|
|
63
|
-
[Q in Q_LogicKey]?: Array<MakeFilterWrapper<F>>;
|
|
64
|
-
} & {
|
|
65
|
-
[Q in Q_LinearLogicKey]?: MakeFilterWrapper<F>;
|
|
66
|
-
} & Partial<F>;
|
|
67
|
-
export declare type MakeFilter<F extends Object> = {
|
|
68
|
-
'#id'?: NodeId;
|
|
69
|
-
} & MakeFilterWrapper<F>;
|
|
70
|
-
export declare type RefAttr<A> = {
|
|
71
|
-
'#attr': A;
|
|
72
|
-
} | {
|
|
73
|
-
'#refId': NodeId;
|
|
74
|
-
'#refAttr': string;
|
|
75
|
-
};
|
|
76
|
-
export declare function isRefAttrNode<A>(node: any): node is RefAttr<A>;
|
|
77
|
-
export {};
|
|
1
|
+
import { RefOrExpression } from "./Expression";
|
|
2
|
+
import { OneOf } from "./Polyfill";
|
|
3
|
+
export declare const EXPRESSION_PREFIX = "$expr";
|
|
4
|
+
export declare type NodeId = `node-${number}`;
|
|
5
|
+
export declare type ExpressionKey = '$expr' | '$expr1' | '$expr2' | '$expr3' | '$expr4' | '$expr5' | '$expr6' | '$expr7' | '$expr8' | '$expr9' | '$expr10' | '$expr11' | '$expr12' | '$expr13' | '$expr14' | '$expr15' | '$expr16' | '$expr17' | '$expr18' | '$expr19' | '$expr20';
|
|
6
|
+
export declare type ExprOp<A> = {
|
|
7
|
+
[K in ExpressionKey]: RefOrExpression<A>;
|
|
8
|
+
};
|
|
9
|
+
export declare type Q_NumberComparisonValue = number | OneOf<{
|
|
10
|
+
$gt: number;
|
|
11
|
+
$lt: number;
|
|
12
|
+
$gte: number;
|
|
13
|
+
$lte: number;
|
|
14
|
+
$eq: number;
|
|
15
|
+
$ne: number;
|
|
16
|
+
$in: number[];
|
|
17
|
+
$nin: number[];
|
|
18
|
+
$between: [number, number];
|
|
19
|
+
}>;
|
|
20
|
+
export declare type Q_StringComparisonValue = string | OneOf<{
|
|
21
|
+
$gt: string;
|
|
22
|
+
$lt: string;
|
|
23
|
+
$gte: string;
|
|
24
|
+
$lte: string;
|
|
25
|
+
$eq: string;
|
|
26
|
+
$ne: string;
|
|
27
|
+
$startsWith: string;
|
|
28
|
+
$endsWith: string;
|
|
29
|
+
$includes: string;
|
|
30
|
+
$in: string[];
|
|
31
|
+
$nin: string[];
|
|
32
|
+
}>;
|
|
33
|
+
export declare type Q_BooleanComparisonValue = boolean;
|
|
34
|
+
export declare type Q_DateComparisonValue = Q_NumberComparisonValue;
|
|
35
|
+
export declare type Q_EnumComparisonValue<E> = E | OneOf<{
|
|
36
|
+
$in: E[];
|
|
37
|
+
$nin: E[];
|
|
38
|
+
}>;
|
|
39
|
+
export declare type Q_ExistsValue = {
|
|
40
|
+
$exists: boolean;
|
|
41
|
+
};
|
|
42
|
+
export declare type Q_NumberValue = Q_NumberComparisonValue | Q_ExistsValue;
|
|
43
|
+
export declare type Q_StringValue = Q_StringComparisonValue | Q_ExistsValue;
|
|
44
|
+
export declare type Q_BooleanValue = Q_BooleanComparisonValue | Q_ExistsValue;
|
|
45
|
+
export declare type Q_DateValue = Q_DateComparisonValue | Q_ExistsValue;
|
|
46
|
+
export declare type Q_EnumValue<E> = Q_EnumComparisonValue<E> | Q_ExistsValue;
|
|
47
|
+
export declare type Q_State<S> = S | {
|
|
48
|
+
$in: S[];
|
|
49
|
+
} | {
|
|
50
|
+
$nin: S[];
|
|
51
|
+
} | Q_ExistsValue;
|
|
52
|
+
export declare type Q_FullTextValue = {
|
|
53
|
+
$search: string;
|
|
54
|
+
$language?: 'zh_CN' | 'en_US';
|
|
55
|
+
};
|
|
56
|
+
export declare type Q_FullTextKey = '$text';
|
|
57
|
+
export declare type FulltextFilter = {
|
|
58
|
+
[F in Q_FullTextKey]?: Q_FullTextValue;
|
|
59
|
+
};
|
|
60
|
+
declare type Q_LogicKey = '$and' | '$or';
|
|
61
|
+
declare type Q_LinearLogicKey = '$not';
|
|
62
|
+
export declare type MakeFilterWrapper<F extends Object> = {
|
|
63
|
+
[Q in Q_LogicKey]?: Array<MakeFilterWrapper<F>>;
|
|
64
|
+
} & {
|
|
65
|
+
[Q in Q_LinearLogicKey]?: MakeFilterWrapper<F>;
|
|
66
|
+
} & Partial<F>;
|
|
67
|
+
export declare type MakeFilter<F extends Object> = {
|
|
68
|
+
'#id'?: NodeId;
|
|
69
|
+
} & MakeFilterWrapper<F>;
|
|
70
|
+
export declare type RefAttr<A> = {
|
|
71
|
+
'#attr': A;
|
|
72
|
+
} | {
|
|
73
|
+
'#refId': NodeId;
|
|
74
|
+
'#refAttr': string;
|
|
75
|
+
};
|
|
76
|
+
export declare function isRefAttrNode<A>(node: any): node is RefAttr<A>;
|
|
77
|
+
export {};
|
package/lib/types/Demand.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isRefAttrNode = exports.EXPRESSION_PREFIX = void 0;
|
|
4
|
-
exports.EXPRESSION_PREFIX = '$expr';
|
|
5
|
-
function isRefAttrNode(node) {
|
|
6
|
-
return node.hasOwnProperty('#attr') || (node.hasOwnProperty('#refId') && node.hasOwnProperty('#refAttr'));
|
|
7
|
-
}
|
|
8
|
-
exports.isRefAttrNode = isRefAttrNode;
|
|
9
|
-
;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRefAttrNode = exports.EXPRESSION_PREFIX = void 0;
|
|
4
|
+
exports.EXPRESSION_PREFIX = '$expr';
|
|
5
|
+
function isRefAttrNode(node) {
|
|
6
|
+
return node.hasOwnProperty('#attr') || (node.hasOwnProperty('#refId') && node.hasOwnProperty('#refAttr'));
|
|
7
|
+
}
|
|
8
|
+
exports.isRefAttrNode = isRefAttrNode;
|
|
9
|
+
;
|
package/lib/types/Endpoint.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { IncomingHttpHeaders, IncomingMessage } from "http";
|
|
3
|
-
import { AsyncContext } from "../store/AsyncRowStore";
|
|
4
|
-
import { EntityDict } from "./Entity";
|
|
5
|
-
export interface
|
|
6
|
-
name: string;
|
|
7
|
-
params?: string[];
|
|
8
|
-
method: 'get' | 'post' | 'put' | 'delete';
|
|
9
|
-
fn: (context: BackCxt, params: Record<string, string>, headers: IncomingHttpHeaders, req: IncomingMessage, body?: any) => Promise<any>;
|
|
10
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { IncomingHttpHeaders, IncomingMessage } from "http";
|
|
3
|
+
import { AsyncContext } from "../store/AsyncRowStore";
|
|
4
|
+
import { EntityDict } from "./Entity";
|
|
5
|
+
export interface EndpointItem<ED extends EntityDict, BackCxt extends AsyncContext<ED>> {
|
|
6
|
+
name: string;
|
|
7
|
+
params?: string[];
|
|
8
|
+
method: 'get' | 'post' | 'put' | 'delete';
|
|
9
|
+
fn: (context: BackCxt, params: Record<string, string>, headers: IncomingHttpHeaders, req: IncomingMessage, body?: any) => Promise<any>;
|
|
10
|
+
}
|
|
11
|
+
export declare type Endpoint<ED extends EntityDict, BackCxt extends AsyncContext<ED>> = EndpointItem<ED, BackCxt> | EndpointItem<ED, BackCxt>[];
|
package/lib/types/Endpoint.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
;
|
package/lib/types/Entity.d.ts
CHANGED
|
@@ -1,176 +1,183 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
declare type
|
|
4
|
-
declare type
|
|
5
|
-
declare type
|
|
6
|
-
declare type
|
|
7
|
-
declare type
|
|
8
|
-
declare type
|
|
9
|
-
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const
|
|
14
|
-
export declare const
|
|
15
|
-
export declare const
|
|
16
|
-
export declare
|
|
17
|
-
export declare
|
|
18
|
-
declare
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
interface
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
export
|
|
87
|
-
[
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
};
|
|
106
|
-
declare type
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
declare type
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
declare type
|
|
121
|
-
declare type
|
|
122
|
-
id
|
|
123
|
-
[
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
declare type
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
};
|
|
136
|
-
export declare type
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
};
|
|
154
|
-
export declare type
|
|
155
|
-
[K in R]?:
|
|
156
|
-
};
|
|
157
|
-
export declare type
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
};
|
|
171
|
-
|
|
172
|
-
export declare type
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
1
|
+
import { ReadOnlyAction } from '../actions/action';
|
|
2
|
+
import { PrimaryKey, Sequence } from './DataType';
|
|
3
|
+
declare type TriggerDataAttributeType = '$$triggerData$$';
|
|
4
|
+
declare type TriggerTimestampAttributeType = '$$triggerTimestamp$$';
|
|
5
|
+
declare type PrimaryKeyAttributeType = 'id';
|
|
6
|
+
declare type CreateAtAttributeType = '$$createAt$$';
|
|
7
|
+
declare type UpdateAtAttributeType = '$$updateAt$$';
|
|
8
|
+
declare type DeleteAtAttributeType = '$$deleteAt$$';
|
|
9
|
+
declare type SeqAttributeType = '$$seq$$';
|
|
10
|
+
export declare const TriggerDataAttribute = "$$triggerData$$";
|
|
11
|
+
export declare const TriggerTimestampAttribute = "$$triggerTimestamp$$";
|
|
12
|
+
export declare const PrimaryKeyAttribute = "id";
|
|
13
|
+
export declare const CreateAtAttribute = "$$createAt$$";
|
|
14
|
+
export declare const UpdateAtAttribute = "$$updateAt$$";
|
|
15
|
+
export declare const DeleteAtAttribute = "$$deleteAt$$";
|
|
16
|
+
export declare const SeqAttribute = "$$seq$$";
|
|
17
|
+
export declare type InstinctiveAttributes = PrimaryKeyAttributeType | CreateAtAttributeType | UpdateAtAttributeType | DeleteAtAttributeType | TriggerDataAttributeType | TriggerTimestampAttributeType | SeqAttributeType;
|
|
18
|
+
export declare const initinctiveAttributes: string[];
|
|
19
|
+
declare type FilterPart<A extends string, F extends Object | undefined> = {
|
|
20
|
+
filter?: A extends 'create' ? undefined : F;
|
|
21
|
+
indexFrom?: A extends 'create' ? undefined : number;
|
|
22
|
+
count?: A extends 'create' ? undefined : number;
|
|
23
|
+
};
|
|
24
|
+
export declare type SelectOption = {
|
|
25
|
+
dontCollect?: boolean;
|
|
26
|
+
blockTrigger?: true;
|
|
27
|
+
obscure?: boolean;
|
|
28
|
+
forUpdate?: true;
|
|
29
|
+
includedDeleted?: true;
|
|
30
|
+
dummy?: 1;
|
|
31
|
+
};
|
|
32
|
+
export declare type OperateOption = {
|
|
33
|
+
blockTrigger?: true;
|
|
34
|
+
dontCollect?: boolean;
|
|
35
|
+
dontCreateOper?: boolean;
|
|
36
|
+
dontCreateModi?: boolean;
|
|
37
|
+
allowExists?: boolean;
|
|
38
|
+
modiParentId?: string;
|
|
39
|
+
modiParentEntity?: string;
|
|
40
|
+
dummy?: 1;
|
|
41
|
+
};
|
|
42
|
+
export declare type FormUpdateData<SH extends GeneralEntityShape> = Partial<{
|
|
43
|
+
[K in keyof Omit<SH, InstinctiveAttributes>]: SH[K] | null;
|
|
44
|
+
}>;
|
|
45
|
+
export declare type FormCreateData<SH extends GeneralEntityShape> = Partial<Omit<SH, InstinctiveAttributes>> & {
|
|
46
|
+
id: string;
|
|
47
|
+
};
|
|
48
|
+
export declare type Operation<A extends string, D extends Projection, F extends Filter | undefined = undefined, S extends Sorter | undefined = undefined> = {
|
|
49
|
+
id: string;
|
|
50
|
+
action: A;
|
|
51
|
+
data: D;
|
|
52
|
+
sorter?: S;
|
|
53
|
+
} & FilterPart<A, F>;
|
|
54
|
+
export declare type Selection<A extends ReadOnlyAction, D extends Projection, F extends Filter | undefined = undefined, S extends Sorter | undefined = undefined> = {
|
|
55
|
+
id?: string;
|
|
56
|
+
action: A;
|
|
57
|
+
data: D;
|
|
58
|
+
sorter?: S;
|
|
59
|
+
} & FilterPart<A, F>;
|
|
60
|
+
export interface EntityShape {
|
|
61
|
+
id: PrimaryKey;
|
|
62
|
+
$$seq$$: Sequence;
|
|
63
|
+
$$createAt$$: number | Date;
|
|
64
|
+
$$updateAt$$: number | Date;
|
|
65
|
+
$$deleteAt$$?: number | Date | null;
|
|
66
|
+
}
|
|
67
|
+
interface GeneralEntityShape extends EntityShape {
|
|
68
|
+
[K: string]: any;
|
|
69
|
+
}
|
|
70
|
+
export declare type MakeAction<A extends string> = A;
|
|
71
|
+
export interface EntityDef {
|
|
72
|
+
Schema: GeneralEntityShape;
|
|
73
|
+
OpSchema: GeneralEntityShape;
|
|
74
|
+
Action: string;
|
|
75
|
+
ParticularAction?: string;
|
|
76
|
+
Selection: Omit<Selection<'select', Projection, Filter, Sorter>, 'action'>;
|
|
77
|
+
Aggregation: DeduceAggregation<Projection, Filter, Sorter>;
|
|
78
|
+
Operation: CUDOperation;
|
|
79
|
+
Create: CreateOperation;
|
|
80
|
+
CreateSingle: CreateSingleOperation;
|
|
81
|
+
CreateMulti: CreateMultipleOperation;
|
|
82
|
+
Update: UpdateOperation;
|
|
83
|
+
Remove: RemoveOperation;
|
|
84
|
+
Relation?: string;
|
|
85
|
+
}
|
|
86
|
+
export interface EntityDict {
|
|
87
|
+
[E: string]: EntityDef;
|
|
88
|
+
}
|
|
89
|
+
export interface OtmSubProjection extends Omit<Operation<'select', any, any, any>, 'action'> {
|
|
90
|
+
$entity: string;
|
|
91
|
+
}
|
|
92
|
+
export declare type AggregationOp = `#max-${number}` | `#min-${number}` | `#avg-${number}` | `#count-${number}` | `#sum-${number}`;
|
|
93
|
+
export declare type DeduceAggregationData<P extends Projection> = {
|
|
94
|
+
[A in AggregationOp]?: P;
|
|
95
|
+
} & {
|
|
96
|
+
'#aggr'?: P;
|
|
97
|
+
};
|
|
98
|
+
export declare type AggregationResult<SH extends GeneralEntityShape> = Array<{
|
|
99
|
+
[A in AggregationOp]?: number | string;
|
|
100
|
+
} & {
|
|
101
|
+
'#data'?: Partial<SH>;
|
|
102
|
+
}>;
|
|
103
|
+
export declare type AttrFilter<SH extends GeneralEntityShape> = {
|
|
104
|
+
[K in keyof SH]?: any;
|
|
105
|
+
};
|
|
106
|
+
declare type SortAttr = {
|
|
107
|
+
[K: string]: any;
|
|
108
|
+
};
|
|
109
|
+
declare type SorterItem = {
|
|
110
|
+
$attr: SortAttr;
|
|
111
|
+
$direction?: "asc" | "desc";
|
|
112
|
+
};
|
|
113
|
+
declare type Sorter = Array<SorterItem>;
|
|
114
|
+
declare type Filter = {
|
|
115
|
+
[K: string]: any;
|
|
116
|
+
};
|
|
117
|
+
declare type Projection = {
|
|
118
|
+
[K: string]: any;
|
|
119
|
+
};
|
|
120
|
+
export declare type DeduceAggregation<P extends Projection, F extends Filter, S extends Sorter> = Omit<Selection<'aggregate', DeduceAggregationData<P>, F, S>, 'action'>;
|
|
121
|
+
declare type CreateOperationData = {
|
|
122
|
+
id: string;
|
|
123
|
+
[K: string]: any;
|
|
124
|
+
};
|
|
125
|
+
declare type CreateSingleOperation = Operation<'create', CreateOperationData, undefined, undefined>;
|
|
126
|
+
declare type CreateMultipleOperation = Operation<'create', Array<CreateOperationData>, undefined, undefined>;
|
|
127
|
+
declare type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
|
|
128
|
+
declare type UpdateOperationData = {
|
|
129
|
+
id?: never;
|
|
130
|
+
[k: string]: any;
|
|
131
|
+
};
|
|
132
|
+
export declare type UpdateOperation = Operation<string, UpdateOperationData, Filter, Sorter>;
|
|
133
|
+
declare type RemoveOperationData = {
|
|
134
|
+
[k: string]: any;
|
|
135
|
+
};
|
|
136
|
+
export declare type RemoveOperation = Operation<'remove', RemoveOperationData, Filter, Sorter>;
|
|
137
|
+
export declare type CUDOperation = CreateOperation | UpdateOperation | RemoveOperation;
|
|
138
|
+
export declare type CreateOpResult<ED extends EntityDict, T extends keyof ED> = {
|
|
139
|
+
a: 'c';
|
|
140
|
+
e: T;
|
|
141
|
+
d: ED[T]['OpSchema'] | ED[T]['OpSchema'][];
|
|
142
|
+
};
|
|
143
|
+
export declare type UpdateOpResult<ED extends EntityDict, T extends keyof ED> = {
|
|
144
|
+
a: 'u';
|
|
145
|
+
e: T;
|
|
146
|
+
d: UpdateOperationData;
|
|
147
|
+
f?: Filter;
|
|
148
|
+
};
|
|
149
|
+
export declare type RemoveOpResult<ED extends EntityDict, T extends keyof ED> = {
|
|
150
|
+
a: 'r';
|
|
151
|
+
e: T;
|
|
152
|
+
f?: Filter;
|
|
153
|
+
};
|
|
154
|
+
export declare type RelationHierarchy<R extends string> = {
|
|
155
|
+
[K in R]?: R[];
|
|
156
|
+
};
|
|
157
|
+
export declare type CascadeRelationItem = {
|
|
158
|
+
cascadePath: string;
|
|
159
|
+
relations?: string[];
|
|
160
|
+
};
|
|
161
|
+
export declare type CascadeRelationAuth<R extends string> = {
|
|
162
|
+
[K in R]?: CascadeRelationItem | (CascadeRelationItem | CascadeRelationItem[])[];
|
|
163
|
+
};
|
|
164
|
+
export declare type SelectOpResult<ED extends EntityDict> = {
|
|
165
|
+
a: 's';
|
|
166
|
+
d: {
|
|
167
|
+
[T in keyof ED]?: {
|
|
168
|
+
[ID: string]: ED[T]['OpSchema'];
|
|
169
|
+
};
|
|
170
|
+
};
|
|
171
|
+
};
|
|
172
|
+
export declare type OpRecord<ED extends EntityDict> = CreateOpResult<ED, keyof ED> | UpdateOpResult<ED, keyof ED> | RemoveOpResult<ED, keyof ED> | SelectOpResult<ED>;
|
|
173
|
+
export declare type OperationResult<ED extends EntityDict> = {
|
|
174
|
+
[K in keyof ED]?: {
|
|
175
|
+
[A in ED[K]['Action']]?: number;
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
export declare type ActionType = 'readOnly' | 'appendOnly' | 'excludeUpdate' | 'excludeRemove' | 'crud';
|
|
179
|
+
export declare type Configuration = {
|
|
180
|
+
actionType?: ActionType;
|
|
181
|
+
static?: boolean;
|
|
182
|
+
};
|
|
183
|
+
export {};
|
package/lib/types/Entity.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initinctiveAttributes = exports.SeqAttribute = exports.DeleteAtAttribute = exports.UpdateAtAttribute = exports.CreateAtAttribute = exports.PrimaryKeyAttribute = exports.TriggerTimestampAttribute = exports.TriggerDataAttribute = void 0;
|
|
4
|
-
exports.TriggerDataAttribute = '$$triggerData$$';
|
|
5
|
-
exports.TriggerTimestampAttribute = '$$triggerTimestamp$$';
|
|
6
|
-
exports.PrimaryKeyAttribute = 'id';
|
|
7
|
-
exports.CreateAtAttribute = '$$createAt$$';
|
|
8
|
-
exports.UpdateAtAttribute = '$$updateAt$$';
|
|
9
|
-
exports.DeleteAtAttribute = '$$deleteAt$$';
|
|
10
|
-
exports.SeqAttribute = '$$seq$$';
|
|
11
|
-
exports.initinctiveAttributes = [exports.PrimaryKeyAttribute, exports.TriggerDataAttribute, exports.TriggerTimestampAttribute, exports.CreateAtAttribute, exports.UpdateAtAttribute, exports.DeleteAtAttribute, exports.SeqAttribute];
|
|
12
|
-
;
|
|
13
|
-
;
|
|
14
|
-
;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initinctiveAttributes = exports.SeqAttribute = exports.DeleteAtAttribute = exports.UpdateAtAttribute = exports.CreateAtAttribute = exports.PrimaryKeyAttribute = exports.TriggerTimestampAttribute = exports.TriggerDataAttribute = void 0;
|
|
4
|
+
exports.TriggerDataAttribute = '$$triggerData$$';
|
|
5
|
+
exports.TriggerTimestampAttribute = '$$triggerTimestamp$$';
|
|
6
|
+
exports.PrimaryKeyAttribute = 'id';
|
|
7
|
+
exports.CreateAtAttribute = '$$createAt$$';
|
|
8
|
+
exports.UpdateAtAttribute = '$$updateAt$$';
|
|
9
|
+
exports.DeleteAtAttribute = '$$deleteAt$$';
|
|
10
|
+
exports.SeqAttribute = '$$seq$$';
|
|
11
|
+
exports.initinctiveAttributes = [exports.PrimaryKeyAttribute, exports.TriggerDataAttribute, exports.TriggerTimestampAttribute, exports.CreateAtAttribute, exports.UpdateAtAttribute, exports.DeleteAtAttribute, exports.SeqAttribute];
|
|
12
|
+
;
|
|
13
|
+
;
|
|
14
|
+
;
|