oak-domain 3.0.1 → 3.0.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/ActionAuth/Schema.d.ts +160 -160
- package/lib/base-app-domain/ActionAuth/Schema.js +2 -2
- package/lib/base-app-domain/ActionAuth/Storage.d.ts +3 -3
- package/lib/base-app-domain/ActionAuth/Storage.js +42 -42
- package/lib/base-app-domain/ActionDefDict.d.ts +9 -9
- package/lib/base-app-domain/ActionDefDict.js +11 -11
- package/lib/base-app-domain/EntityDict.d.ts +24 -24
- package/lib/base-app-domain/EntityDict.js +2 -2
- package/lib/base-app-domain/I18n/Schema.d.ts +129 -129
- package/lib/base-app-domain/I18n/Schema.js +2 -2
- package/lib/base-app-domain/I18n/Storage.d.ts +3 -3
- package/lib/base-app-domain/I18n/Storage.js +59 -59
- 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 +136 -136
- 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 +63 -63
- package/lib/base-app-domain/ModiEntity/Schema.d.ts +311 -311
- 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 +30 -30
- package/lib/base-app-domain/Oper/Schema.d.ts +152 -152
- 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 +38 -38
- package/lib/base-app-domain/OperEntity/Schema.d.ts +300 -300
- 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 +30 -30
- package/lib/base-app-domain/Relation/Schema.d.ts +188 -188
- package/lib/base-app-domain/Relation/Schema.js +2 -2
- package/lib/base-app-domain/Relation/Storage.d.ts +3 -3
- package/lib/base-app-domain/Relation/Storage.js +54 -54
- package/lib/base-app-domain/Relation.d.ts +10 -10
- package/lib/base-app-domain/Relation.js +10 -10
- package/lib/base-app-domain/RelationAuth/Schema.d.ts +180 -180
- package/lib/base-app-domain/RelationAuth/Schema.js +2 -2
- package/lib/base-app-domain/RelationAuth/Storage.d.ts +3 -3
- package/lib/base-app-domain/RelationAuth/Storage.js +46 -46
- package/lib/base-app-domain/Storage.d.ts +3 -3
- package/lib/base-app-domain/Storage.js +27 -27
- package/lib/base-app-domain/User/Action.d.ts +10 -10
- package/lib/base-app-domain/User/Action.js +12 -12
- package/lib/base-app-domain/User/Schema.d.ts +197 -197
- 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 +33 -33
- package/lib/base-app-domain/UserEntityGrant/Action.d.ts +5 -5
- package/lib/base-app-domain/UserEntityGrant/Action.js +5 -5
- package/lib/base-app-domain/UserEntityGrant/Schema.d.ts +157 -157
- package/lib/base-app-domain/UserEntityGrant/Schema.js +2 -2
- package/lib/base-app-domain/UserEntityGrant/Storage.d.ts +3 -3
- package/lib/base-app-domain/UserEntityGrant/Storage.js +29 -29
- package/lib/base-app-domain/UserRelation/Schema.d.ts +194 -194
- package/lib/base-app-domain/UserRelation/Schema.js +2 -2
- package/lib/base-app-domain/UserRelation/Storage.d.ts +3 -3
- package/lib/base-app-domain/UserRelation/Storage.js +56 -56
- package/lib/base-app-domain/_SubQuery.d.ts +112 -112
- package/lib/base-app-domain/_SubQuery.js +2 -2
- package/lib/base-app-domain/index.d.ts +4 -4
- package/lib/base-app-domain/index.js +7 -7
- package/lib/checkers/index.d.ts +5 -5
- package/lib/checkers/index.js +14 -14
- package/lib/compiler/env.d.ts +14 -14
- package/lib/compiler/env.js +50 -50
- package/lib/compiler/localeBuilder.d.ts +22 -22
- package/lib/compiler/localeBuilder.js +169 -169
- package/lib/compiler/schemalBuilder.d.ts +11 -11
- package/lib/compiler/schemalBuilder.js +3787 -3787
- package/lib/compiler/uiBuilder.d.ts +1 -1
- package/lib/compiler/uiBuilder.js +3 -3
- package/lib/entities/ActionAuth.d.ts +12 -12
- package/lib/entities/ActionAuth.js +29 -29
- package/lib/entities/I18n.d.ts +9 -9
- package/lib/entities/I18n.js +37 -37
- package/lib/entities/Modi.d.ts +11 -11
- package/lib/entities/Modi.js +49 -49
- package/lib/entities/ModiEntity.d.ts +8 -8
- package/lib/entities/ModiEntity.js +18 -18
- package/lib/entities/Oper.d.ts +11 -11
- package/lib/entities/Oper.js +21 -21
- package/lib/entities/OperEntity.d.ts +8 -8
- package/lib/entities/OperEntity.js +18 -18
- package/lib/entities/Relation.d.ts +8 -8
- package/lib/entities/Relation.js +35 -35
- package/lib/entities/RelationAuth.d.ts +8 -8
- package/lib/entities/RelationAuth.js +34 -34
- package/lib/entities/User.d.ts +8 -8
- package/lib/entities/User.js +31 -31
- package/lib/entities/UserEntityGrant.d.ts +8 -8
- package/lib/entities/UserEntityGrant.js +18 -18
- package/lib/entities/UserRelation.d.ts +10 -10
- package/lib/entities/UserRelation.js +38 -38
- package/lib/store/AsyncRowStore.d.ts +58 -58
- package/lib/store/AsyncRowStore.js +190 -190
- package/lib/store/CascadeStore.d.ts +103 -103
- package/lib/store/CascadeStore.js +2035 -2035
- package/lib/store/RelationAuth.d.ts +103 -103
- package/lib/store/RelationAuth.js +1492 -1492
- package/lib/store/SyncRowStore.d.ts +29 -29
- package/lib/store/SyncRowStore.js +49 -48
- package/lib/store/TriggerExecutor.d.ts +31 -31
- package/lib/store/TriggerExecutor.js +532 -532
- package/lib/store/actionAuth.d.ts +4 -4
- package/lib/store/actionAuth.js +40 -40
- package/lib/store/actionDef.d.ts +10 -10
- package/lib/store/actionDef.js +351 -351
- package/lib/store/checker.d.ts +26 -26
- package/lib/store/checker.js +623 -623
- package/lib/store/filter.d.ts +123 -123
- package/lib/store/filter.js +1761 -1761
- package/lib/store/modi.d.ts +13 -13
- package/lib/store/modi.js +315 -315
- package/lib/store/relation.d.ts +12 -12
- package/lib/store/relation.js +67 -67
- package/lib/timers/oper.d.ts +18 -18
- package/lib/timers/oper.js +60 -60
- package/lib/timers/vaccum.d.ts +20 -20
- package/lib/timers/vaccum.js +176 -176
- package/lib/triggers/index.d.ts +5 -5
- package/lib/triggers/index.js +8 -8
- package/lib/types/Action.d.ts +20 -20
- 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 +13 -13
- package/lib/types/Aspect.js +4 -4
- package/lib/types/Auth.d.ts +74 -74
- package/lib/types/Auth.js +2 -2
- package/lib/types/Connector.d.ts +33 -33
- 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 +24 -24
- package/lib/types/DataType.js +6 -6
- package/lib/types/Demand.d.ts +88 -88
- package/lib/types/Demand.js +10 -10
- package/lib/types/Endpoint.d.ts +11 -11
- package/lib/types/Endpoint.js +3 -3
- package/lib/types/Entity.d.ts +193 -193
- package/lib/types/Entity.js +14 -14
- package/lib/types/EntityDesc.d.ts +8 -8
- package/lib/types/EntityDesc.js +2 -2
- package/lib/types/Environment.d.ts +57 -57
- package/lib/types/Environment.js +2 -2
- package/lib/types/Exception.d.ts +115 -115
- package/lib/types/Exception.js +389 -389
- 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 +25 -25
- package/lib/types/Locale.js +2 -2
- package/lib/types/Logger.d.ts +6 -6
- package/lib/types/Logger.js +3 -3
- package/lib/types/Polyfill.d.ts +24 -24
- package/lib/types/Polyfill.js +2 -2
- package/lib/types/Port.d.ts +18 -18
- package/lib/types/Port.js +2 -2
- package/lib/types/RowStore.d.ts +18 -18
- package/lib/types/RowStore.js +34 -34
- package/lib/types/Storage.d.ts +57 -57
- package/lib/types/Storage.js +2 -2
- package/lib/types/Style.d.ts +11 -11
- package/lib/types/Style.js +2 -2
- package/lib/types/Timer.d.ts +14 -14
- package/lib/types/Timer.js +2 -2
- package/lib/types/Trigger.d.ts +108 -108
- package/lib/types/Trigger.js +54 -54
- 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 +24 -24
- package/lib/types/index.js +27 -27
- package/lib/types/schema/DataTypes.d.ts +34 -34
- package/lib/types/schema/DataTypes.js +3 -3
- package/lib/utils/SimpleConnector.d.ts +48 -48
- package/lib/utils/SimpleConnector.js +180 -180
- 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/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/mask.d.ts +5 -5
- package/lib/utils/mask.js +35 -35
- package/lib/utils/money.d.ts +6 -6
- package/lib/utils/money.js +40 -40
- 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 +28 -28
- package/lib/utils/string.js +82 -82
- package/lib/utils/url.d.ts +1 -1
- package/lib/utils/url.js +12 -12
- package/lib/utils/uuid.d.ts +17 -17
- package/lib/utils/uuid.js +257 -257
- package/lib/utils/validator.d.ts +25 -25
- package/lib/utils/validator.js +128 -128
- package/lib/utils/version.d.ts +7 -7
- package/lib/utils/version.js +21 -21
- package/package.json +49 -49
- package/src/entities/ActionAuth.ts +41 -41
- package/src/entities/I18n.ts +46 -46
- package/src/entities/Modi.ts +69 -69
- package/src/entities/ModiEntity.ts +26 -26
- package/src/entities/Oper.ts +32 -32
- package/src/entities/OperEntity.ts +27 -27
- package/src/entities/Relation.ts +43 -43
- package/src/entities/RelationAuth.ts +43 -43
- package/src/entities/User.ts +48 -48
- package/src/entities/UserEntityGrant.ts +27 -27
- package/src/entities/UserRelation.ts +50 -50
package/lib/types/Auth.d.ts
CHANGED
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
import { CascadeActionAuth, CascadeRelationAuth, ActionOnRemove, SyncOrAsync } from ".";
|
|
2
|
-
import { AsyncContext } from "../store/AsyncRowStore";
|
|
3
|
-
import { SyncContext } from "../store/SyncRowStore";
|
|
4
|
-
import { EntityDict, OperateOption, SelectOption } from "../types/Entity";
|
|
5
|
-
export declare type CheckerType = 'relation' | 'row' | 'data' | 'logical' | 'logicalRelation';
|
|
6
|
-
/**
|
|
7
|
-
* conditionalFilter是指该action发生时,operation所操作的行中有满足conditionalFilter的行
|
|
8
|
-
* 被转化成trigger的filter条件,详细可看trigger中的说明
|
|
9
|
-
*/
|
|
10
|
-
export declare type DataChecker<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED> | SyncContext<ED>> = {
|
|
11
|
-
priority?: number;
|
|
12
|
-
type: 'data';
|
|
13
|
-
entity: T;
|
|
14
|
-
action: Omit<ED[T]['Action'], 'remove'> | Array<Omit<ED[T]['Action'], 'remove'>>;
|
|
15
|
-
checker: (data: ED[T]['Create']['data'] | ED[T]['Update']['data'], context: Cxt) => SyncOrAsync<any>;
|
|
16
|
-
conditionalFilter?: ED[T]['Update']['filter'] | ((operation: ED[T]['Operation'], context: Cxt, option: OperateOption) => SyncOrAsync<ED[T]['Selection']['filter']>);
|
|
17
|
-
};
|
|
18
|
-
export declare type RowChecker<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED> | SyncContext<ED>> = {
|
|
19
|
-
priority?: number;
|
|
20
|
-
type: 'row';
|
|
21
|
-
entity: T;
|
|
22
|
-
action: Omit<ED[T]['Action'], 'create'> | Array<Omit<ED[T]['Action'], 'create'>>;
|
|
23
|
-
filter: ED[T]['Selection']['filter'] | ((operation: ED[T]['Operation'] | ED[T]['Selection'], context: Cxt, option: OperateOption | SelectOption) => SyncOrAsync<ED[T]['Selection']['filter']>);
|
|
24
|
-
errMsg?: string;
|
|
25
|
-
inconsistentRows?: {
|
|
26
|
-
entity: keyof ED;
|
|
27
|
-
selection: (filter?: ED[T]['Selection']['filter']) => ED[keyof ED]['Selection'];
|
|
28
|
-
};
|
|
29
|
-
conditionalFilter?: ED[T]['Update']['filter'] | ((operation: ED[T]['Operation'], context: Cxt, option: OperateOption) => SyncOrAsync<ED[T]['Update']['filter']>);
|
|
30
|
-
};
|
|
31
|
-
export declare type RelationChecker<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED> | SyncContext<ED>> = {
|
|
32
|
-
priority?: number;
|
|
33
|
-
type: 'relation';
|
|
34
|
-
entity: T;
|
|
35
|
-
when?: 'after';
|
|
36
|
-
action: ED[T]['Action'] | Array<ED[T]['Action']>;
|
|
37
|
-
relationFilter: (operation: ED[T]['Operation'] | ED[T]['Selection'], context: Cxt, option: OperateOption | SelectOption) => SyncOrAsync<ED[T]['Selection']['filter']>;
|
|
38
|
-
errMsg: string | ((operation: ED[T]['Operation'] | ED[T]['Selection'], context: Cxt, option?: OperateOption | SelectOption) => string);
|
|
39
|
-
conditionalFilter?: ED[T]['Update']['filter'] | ((operation: ED[T]['Operation'], context: Cxt, option: OperateOption) => SyncOrAsync<ED[T]['Selection']['filter']>);
|
|
40
|
-
};
|
|
41
|
-
export declare type LogicalChecker<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED> | SyncContext<ED>> = {
|
|
42
|
-
priority?: number;
|
|
43
|
-
type: 'logical';
|
|
44
|
-
when?: 'after';
|
|
45
|
-
entity: T;
|
|
46
|
-
action: ED[T]['Action'] | Array<ED[T]['Action']>;
|
|
47
|
-
checker: (operation: ED[T]['Operation'] | ED[T]['Selection'], context: Cxt, option: OperateOption | SelectOption) => SyncOrAsync<any>;
|
|
48
|
-
conditionalFilter?: ED[T]['Update']['filter'] | ((operation: ED[T]['Operation'], context: Cxt, option: OperateOption) => SyncOrAsync<ED[T]['Update']['filter']>);
|
|
49
|
-
};
|
|
50
|
-
export declare type LogicalRelationChecker<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED> | SyncContext<ED>> = {
|
|
51
|
-
priority?: number;
|
|
52
|
-
type: 'logicalRelation';
|
|
53
|
-
when?: 'after';
|
|
54
|
-
entity: T;
|
|
55
|
-
action: ED[T]['Action'] | Array<ED[T]['Action']>;
|
|
56
|
-
checker: (operation: ED[T]['Operation'] | ED[T]['Selection'], context: Cxt, option: OperateOption | SelectOption) => any | Promise<any>;
|
|
57
|
-
conditionalFilter?: ED[T]['Update']['filter'] | ((operation: ED[T]['Operation'], context: Cxt, option: OperateOption) => SyncOrAsync<ED[T]['Update']['filter']>);
|
|
58
|
-
};
|
|
59
|
-
export declare type Checker<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED> | SyncContext<ED>> = DataChecker<ED, T, Cxt> | RowChecker<ED, T, Cxt> | RelationChecker<ED, T, Cxt> | LogicalChecker<ED, T, Cxt> | LogicalRelationChecker<ED, T, Cxt>;
|
|
60
|
-
export declare type AuthDef<ED extends EntityDict, T extends keyof ED> = {
|
|
61
|
-
relationAuth?: CascadeRelationAuth<NonNullable<ED[T]['Relation']>>;
|
|
62
|
-
actionAuth?: CascadeActionAuth<ED[T]['Action']>;
|
|
63
|
-
cascadeRemove?: {
|
|
64
|
-
[E in (keyof ED | keyof ED[T]['Schema'] | '@entity')]?: ActionOnRemove;
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
export declare type CascadeRemoveDefDict<ED extends EntityDict> = {
|
|
68
|
-
[T in keyof ED]?: {
|
|
69
|
-
[E in (keyof ED | keyof ED[T]['Schema'] | '@entity')]?: ActionOnRemove;
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
export declare type AuthDefDict<ED extends EntityDict> = {
|
|
73
|
-
[K in keyof ED]?: AuthDef<ED, K>;
|
|
74
|
-
};
|
|
1
|
+
import { CascadeActionAuth, CascadeRelationAuth, ActionOnRemove, SyncOrAsync } from ".";
|
|
2
|
+
import { AsyncContext } from "../store/AsyncRowStore";
|
|
3
|
+
import { SyncContext } from "../store/SyncRowStore";
|
|
4
|
+
import { EntityDict, OperateOption, SelectOption } from "../types/Entity";
|
|
5
|
+
export declare type CheckerType = 'relation' | 'row' | 'data' | 'logical' | 'logicalRelation';
|
|
6
|
+
/**
|
|
7
|
+
* conditionalFilter是指该action发生时,operation所操作的行中有满足conditionalFilter的行
|
|
8
|
+
* 被转化成trigger的filter条件,详细可看trigger中的说明
|
|
9
|
+
*/
|
|
10
|
+
export declare type DataChecker<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED> | SyncContext<ED>> = {
|
|
11
|
+
priority?: number;
|
|
12
|
+
type: 'data';
|
|
13
|
+
entity: T;
|
|
14
|
+
action: Omit<ED[T]['Action'], 'remove'> | Array<Omit<ED[T]['Action'], 'remove'>>;
|
|
15
|
+
checker: (data: ED[T]['Create']['data'] | ED[T]['Update']['data'], context: Cxt) => SyncOrAsync<any>;
|
|
16
|
+
conditionalFilter?: ED[T]['Update']['filter'] | ((operation: ED[T]['Operation'], context: Cxt, option: OperateOption) => SyncOrAsync<ED[T]['Selection']['filter']>);
|
|
17
|
+
};
|
|
18
|
+
export declare type RowChecker<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED> | SyncContext<ED>> = {
|
|
19
|
+
priority?: number;
|
|
20
|
+
type: 'row';
|
|
21
|
+
entity: T;
|
|
22
|
+
action: Omit<ED[T]['Action'], 'create'> | Array<Omit<ED[T]['Action'], 'create'>>;
|
|
23
|
+
filter: ED[T]['Selection']['filter'] | ((operation: ED[T]['Operation'] | ED[T]['Selection'], context: Cxt, option: OperateOption | SelectOption) => SyncOrAsync<ED[T]['Selection']['filter']>);
|
|
24
|
+
errMsg?: string;
|
|
25
|
+
inconsistentRows?: {
|
|
26
|
+
entity: keyof ED;
|
|
27
|
+
selection: (filter?: ED[T]['Selection']['filter']) => ED[keyof ED]['Selection'];
|
|
28
|
+
};
|
|
29
|
+
conditionalFilter?: ED[T]['Update']['filter'] | ((operation: ED[T]['Operation'], context: Cxt, option: OperateOption) => SyncOrAsync<ED[T]['Update']['filter']>);
|
|
30
|
+
};
|
|
31
|
+
export declare type RelationChecker<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED> | SyncContext<ED>> = {
|
|
32
|
+
priority?: number;
|
|
33
|
+
type: 'relation';
|
|
34
|
+
entity: T;
|
|
35
|
+
when?: 'after';
|
|
36
|
+
action: ED[T]['Action'] | Array<ED[T]['Action']>;
|
|
37
|
+
relationFilter: (operation: ED[T]['Operation'] | ED[T]['Selection'], context: Cxt, option: OperateOption | SelectOption) => SyncOrAsync<ED[T]['Selection']['filter']>;
|
|
38
|
+
errMsg: string | ((operation: ED[T]['Operation'] | ED[T]['Selection'], context: Cxt, option?: OperateOption | SelectOption) => string);
|
|
39
|
+
conditionalFilter?: ED[T]['Update']['filter'] | ((operation: ED[T]['Operation'], context: Cxt, option: OperateOption) => SyncOrAsync<ED[T]['Selection']['filter']>);
|
|
40
|
+
};
|
|
41
|
+
export declare type LogicalChecker<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED> | SyncContext<ED>> = {
|
|
42
|
+
priority?: number;
|
|
43
|
+
type: 'logical';
|
|
44
|
+
when?: 'after';
|
|
45
|
+
entity: T;
|
|
46
|
+
action: ED[T]['Action'] | Array<ED[T]['Action']>;
|
|
47
|
+
checker: (operation: ED[T]['Operation'] | ED[T]['Selection'], context: Cxt, option: OperateOption | SelectOption) => SyncOrAsync<any>;
|
|
48
|
+
conditionalFilter?: ED[T]['Update']['filter'] | ((operation: ED[T]['Operation'], context: Cxt, option: OperateOption) => SyncOrAsync<ED[T]['Update']['filter']>);
|
|
49
|
+
};
|
|
50
|
+
export declare type LogicalRelationChecker<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED> | SyncContext<ED>> = {
|
|
51
|
+
priority?: number;
|
|
52
|
+
type: 'logicalRelation';
|
|
53
|
+
when?: 'after';
|
|
54
|
+
entity: T;
|
|
55
|
+
action: ED[T]['Action'] | Array<ED[T]['Action']>;
|
|
56
|
+
checker: (operation: ED[T]['Operation'] | ED[T]['Selection'], context: Cxt, option: OperateOption | SelectOption) => any | Promise<any>;
|
|
57
|
+
conditionalFilter?: ED[T]['Update']['filter'] | ((operation: ED[T]['Operation'], context: Cxt, option: OperateOption) => SyncOrAsync<ED[T]['Update']['filter']>);
|
|
58
|
+
};
|
|
59
|
+
export declare type Checker<ED extends EntityDict, T extends keyof ED, Cxt extends AsyncContext<ED> | SyncContext<ED>> = DataChecker<ED, T, Cxt> | RowChecker<ED, T, Cxt> | RelationChecker<ED, T, Cxt> | LogicalChecker<ED, T, Cxt> | LogicalRelationChecker<ED, T, Cxt>;
|
|
60
|
+
export declare type AuthDef<ED extends EntityDict, T extends keyof ED> = {
|
|
61
|
+
relationAuth?: CascadeRelationAuth<NonNullable<ED[T]['Relation']>>;
|
|
62
|
+
actionAuth?: CascadeActionAuth<ED[T]['Action']>;
|
|
63
|
+
cascadeRemove?: {
|
|
64
|
+
[E in (keyof ED | keyof ED[T]['Schema'] | '@entity')]?: ActionOnRemove;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
export declare type CascadeRemoveDefDict<ED extends EntityDict> = {
|
|
68
|
+
[T in keyof ED]?: {
|
|
69
|
+
[E in (keyof ED | keyof ED[T]['Schema'] | '@entity')]?: ActionOnRemove;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
export declare type AuthDefDict<ED extends EntityDict> = {
|
|
73
|
+
[K in keyof ED]?: AuthDef<ED, K>;
|
|
74
|
+
};
|
package/lib/types/Auth.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
package/lib/types/Connector.d.ts
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { IncomingHttpHeaders } from "http";
|
|
3
|
-
import { AsyncContext, AsyncRowStore } from "../store/AsyncRowStore";
|
|
4
|
-
import { SyncContext } from "../store/SyncRowStore";
|
|
5
|
-
import { EntityDict, OpRecord } from "./Entity";
|
|
6
|
-
import { OakException } from "./Exception";
|
|
7
|
-
export declare abstract class Connector<ED extends EntityDict, BackCxt extends AsyncContext<ED>, FrontCxt extends SyncContext<ED>> {
|
|
8
|
-
abstract callAspect(name: string, params: any, context: FrontCxt): Promise<{
|
|
9
|
-
result: any;
|
|
10
|
-
opRecords?: OpRecord<ED>[];
|
|
11
|
-
message?: string | null;
|
|
12
|
-
}>;
|
|
13
|
-
abstract getRouter(): string;
|
|
14
|
-
abstract parseRequest(headers: IncomingHttpHeaders, body: any, store: AsyncRowStore<ED, BackCxt>): Promise<{
|
|
15
|
-
name: string;
|
|
16
|
-
params: any;
|
|
17
|
-
context: BackCxt;
|
|
18
|
-
}>;
|
|
19
|
-
abstract serializeResult(result: any, context: BackCxt, headers: IncomingHttpHeaders, body: any): Promise<{
|
|
20
|
-
body: any;
|
|
21
|
-
headers?: Record<string, any>;
|
|
22
|
-
}>;
|
|
23
|
-
abstract serializeException(exception: OakException<ED>, headers: IncomingHttpHeaders, body: any): {
|
|
24
|
-
body: any;
|
|
25
|
-
headers?: Record<string, any>;
|
|
26
|
-
};
|
|
27
|
-
abstract getBridgeRouter(): string;
|
|
28
|
-
abstract makeBridgeUrl(url: string, headers?: Record<string, string>): string;
|
|
29
|
-
abstract parseBridgeRequestQuery(urlParams: string): {
|
|
30
|
-
url: string;
|
|
31
|
-
headers?: Record<string, string>;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { IncomingHttpHeaders } from "http";
|
|
3
|
+
import { AsyncContext, AsyncRowStore } from "../store/AsyncRowStore";
|
|
4
|
+
import { SyncContext } from "../store/SyncRowStore";
|
|
5
|
+
import { EntityDict, OpRecord } from "./Entity";
|
|
6
|
+
import { OakException } from "./Exception";
|
|
7
|
+
export declare abstract class Connector<ED extends EntityDict, BackCxt extends AsyncContext<ED>, FrontCxt extends SyncContext<ED>> {
|
|
8
|
+
abstract callAspect(name: string, params: any, context: FrontCxt): Promise<{
|
|
9
|
+
result: any;
|
|
10
|
+
opRecords?: OpRecord<ED>[];
|
|
11
|
+
message?: string | null;
|
|
12
|
+
}>;
|
|
13
|
+
abstract getRouter(): string;
|
|
14
|
+
abstract parseRequest(headers: IncomingHttpHeaders, body: any, store: AsyncRowStore<ED, BackCxt>): Promise<{
|
|
15
|
+
name: string;
|
|
16
|
+
params: any;
|
|
17
|
+
context: BackCxt;
|
|
18
|
+
}>;
|
|
19
|
+
abstract serializeResult(result: any, context: BackCxt, headers: IncomingHttpHeaders, body: any): Promise<{
|
|
20
|
+
body: any;
|
|
21
|
+
headers?: Record<string, any>;
|
|
22
|
+
}>;
|
|
23
|
+
abstract serializeException(exception: OakException<ED>, headers: IncomingHttpHeaders, body: any): {
|
|
24
|
+
body: any;
|
|
25
|
+
headers?: Record<string, any>;
|
|
26
|
+
};
|
|
27
|
+
abstract getBridgeRouter(): string;
|
|
28
|
+
abstract makeBridgeUrl(url: string, headers?: Record<string, string>): string;
|
|
29
|
+
abstract parseBridgeRequestQuery(urlParams: string): {
|
|
30
|
+
url: string;
|
|
31
|
+
headers?: Record<string, string>;
|
|
32
|
+
};
|
|
33
|
+
}
|
package/lib/types/Connector.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Connector = void 0;
|
|
4
|
-
var Connector = /** @class */ (function () {
|
|
5
|
-
function Connector() {
|
|
6
|
-
}
|
|
7
|
-
return Connector;
|
|
8
|
-
}());
|
|
9
|
-
exports.Connector = Connector;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Connector = void 0;
|
|
4
|
+
var Connector = /** @class */ (function () {
|
|
5
|
+
function Connector() {
|
|
6
|
+
}
|
|
7
|
+
return Connector;
|
|
8
|
+
}());
|
|
9
|
+
exports.Connector = Connector;
|
package/lib/types/Context.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export interface Context {
|
|
2
|
-
getCurrentTxnId(): string | undefined;
|
|
3
|
-
getCurrentUserId(allowUnloggedIn?: boolean): string | undefined;
|
|
4
|
-
isRoot(): boolean;
|
|
5
|
-
allowUserUpdate(): boolean;
|
|
6
|
-
toString(): string;
|
|
7
|
-
}
|
|
1
|
+
export interface Context {
|
|
2
|
+
getCurrentTxnId(): string | undefined;
|
|
3
|
+
getCurrentUserId(allowUnloggedIn?: boolean): string | undefined;
|
|
4
|
+
isRoot(): boolean;
|
|
5
|
+
allowUserUpdate(): boolean;
|
|
6
|
+
toString(): string;
|
|
7
|
+
}
|
package/lib/types/Context.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/DataType.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { Geo, SingleGeo } from "./Geo";
|
|
2
|
-
export declare type Int<L extends 1 | 2 | 4 | 8> = number;
|
|
3
|
-
export declare type Uint<L extends 1 | 2 | 4 | 8> = number;
|
|
4
|
-
export declare type Double<P extends number, S extends number> = number;
|
|
5
|
-
export declare type Float<P extends number, S extends number> = number;
|
|
6
|
-
export declare type String<L extends number> = string;
|
|
7
|
-
export declare type Text = string;
|
|
8
|
-
export declare type Image = string;
|
|
9
|
-
export declare type File = string;
|
|
10
|
-
export declare type Datetime = number | Date;
|
|
11
|
-
export declare type Day = number | Date;
|
|
12
|
-
export declare type Time = number | Date;
|
|
13
|
-
export declare type Boolean = boolean;
|
|
14
|
-
export declare type Price = number;
|
|
15
|
-
export declare type PrimaryKey = string;
|
|
16
|
-
export declare type ForeignKey<E extends string> = string;
|
|
17
|
-
export declare type Sequence = string;
|
|
18
|
-
export { Geo, SingleGeo } from './Geo';
|
|
19
|
-
export declare type DataTypes = number | string | Datetime | Day | Time | Geo | Object | SingleGeo;
|
|
20
|
-
export declare const types: string[];
|
|
21
|
-
export declare const unIndexedTypes: string[];
|
|
22
|
-
export declare type JsonProjection<O extends object> = {
|
|
23
|
-
[k in keyof O]?: NonNullable<O[k]> extends object ? JsonProjection<NonNullable<O[k]>> | number : number;
|
|
24
|
-
};
|
|
1
|
+
import { Geo, SingleGeo } from "./Geo";
|
|
2
|
+
export declare type Int<L extends 1 | 2 | 4 | 8> = number;
|
|
3
|
+
export declare type Uint<L extends 1 | 2 | 4 | 8> = number;
|
|
4
|
+
export declare type Double<P extends number, S extends number> = number;
|
|
5
|
+
export declare type Float<P extends number, S extends number> = number;
|
|
6
|
+
export declare type String<L extends number> = string;
|
|
7
|
+
export declare type Text = string;
|
|
8
|
+
export declare type Image = string;
|
|
9
|
+
export declare type File = string;
|
|
10
|
+
export declare type Datetime = number | Date;
|
|
11
|
+
export declare type Day = number | Date;
|
|
12
|
+
export declare type Time = number | Date;
|
|
13
|
+
export declare type Boolean = boolean;
|
|
14
|
+
export declare type Price = number;
|
|
15
|
+
export declare type PrimaryKey = string;
|
|
16
|
+
export declare type ForeignKey<E extends string> = string;
|
|
17
|
+
export declare type Sequence = string;
|
|
18
|
+
export { Geo, SingleGeo } from './Geo';
|
|
19
|
+
export declare type DataTypes = number | string | Datetime | Day | Time | Geo | Object | SingleGeo;
|
|
20
|
+
export declare const types: string[];
|
|
21
|
+
export declare const unIndexedTypes: string[];
|
|
22
|
+
export declare type JsonProjection<O extends object> = {
|
|
23
|
+
[k in keyof O]?: NonNullable<O[k]> extends object ? JsonProjection<NonNullable<O[k]>> | number : number;
|
|
24
|
+
};
|
package/lib/types/DataType.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.unIndexedTypes = exports.types = void 0;
|
|
4
|
-
exports.types = ['Int', 'Uint', 'Double', 'Float', 'String', 'Text', 'Datetime', 'Day', 'Time',
|
|
5
|
-
'Boolean', 'Image', 'File', 'Geo', 'SingleGeo', 'Price'];
|
|
6
|
-
exports.unIndexedTypes = ['Text', 'Image', 'File', 'Object'];
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unIndexedTypes = exports.types = void 0;
|
|
4
|
+
exports.types = ['Int', 'Uint', 'Double', 'Float', 'String', 'Text', 'Datetime', 'Day', 'Time',
|
|
5
|
+
'Boolean', 'Image', 'File', 'Geo', 'SingleGeo', 'Price'];
|
|
6
|
+
exports.unIndexedTypes = ['Text', 'Image', 'File', 'Object'];
|
package/lib/types/Demand.d.ts
CHANGED
|
@@ -1,88 +1,88 @@
|
|
|
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
|
-
$ne: E;
|
|
39
|
-
}>;
|
|
40
|
-
export declare type Q_ExistsValue = {
|
|
41
|
-
$exists: boolean;
|
|
42
|
-
};
|
|
43
|
-
export declare type Q_NumberValue = Q_NumberComparisonValue | Q_ExistsValue;
|
|
44
|
-
export declare type Q_StringValue = Q_StringComparisonValue | Q_ExistsValue;
|
|
45
|
-
export declare type Q_BooleanValue = Q_BooleanComparisonValue | Q_ExistsValue;
|
|
46
|
-
export declare type Q_DateValue = Q_DateComparisonValue | Q_ExistsValue;
|
|
47
|
-
export declare type Q_EnumValue<E> = Q_EnumComparisonValue<E> | Q_ExistsValue;
|
|
48
|
-
export declare type Q_State<S> = S | {
|
|
49
|
-
$in: S[];
|
|
50
|
-
} | {
|
|
51
|
-
$nin: S[];
|
|
52
|
-
} | Q_ExistsValue;
|
|
53
|
-
export declare type Q_FullTextValue = {
|
|
54
|
-
$search: string;
|
|
55
|
-
$language?: 'zh_CN' | 'en_US';
|
|
56
|
-
};
|
|
57
|
-
export declare type Q_FullTextKey = '$text';
|
|
58
|
-
export declare type FulltextFilter = {
|
|
59
|
-
[F in Q_FullTextKey]?: Q_FullTextValue;
|
|
60
|
-
};
|
|
61
|
-
declare type Q_LogicKey = '$and' | '$or';
|
|
62
|
-
declare type Q_LinearLogicKey = '$not';
|
|
63
|
-
export declare type MakeFilterWrapper<F extends Object> = {
|
|
64
|
-
[Q in Q_LogicKey]?: Array<MakeFilterWrapper<F>>;
|
|
65
|
-
} & {
|
|
66
|
-
[Q in Q_LinearLogicKey]?: MakeFilterWrapper<F>;
|
|
67
|
-
} & Partial<F>;
|
|
68
|
-
export declare type MakeFilter<F extends Object> = {
|
|
69
|
-
'#id'?: NodeId;
|
|
70
|
-
} & MakeFilterWrapper<F>;
|
|
71
|
-
export declare type RefAttr<A> = {
|
|
72
|
-
'#attr': A;
|
|
73
|
-
} | {
|
|
74
|
-
'#refId': NodeId;
|
|
75
|
-
'#refAttr': string;
|
|
76
|
-
};
|
|
77
|
-
export declare function isRefAttrNode<A>(node: any): node is RefAttr<A>;
|
|
78
|
-
export declare type JsonFilter<O extends any> = O extends Array<infer P> ? (JsonFilter<P> | undefined)[] | {
|
|
79
|
-
$contains?: P | P[];
|
|
80
|
-
$overlaps?: P | P[];
|
|
81
|
-
} : O extends number ? Q_NumberValue : O extends string ? Q_StringValue : O extends boolean ? Q_BooleanValue : O extends Record<string, any> ? {
|
|
82
|
-
[A in keyof O]?: JsonFilter<O[A]>;
|
|
83
|
-
} : never;
|
|
84
|
-
export declare type SubQueryPredicateMetadata = {
|
|
85
|
-
'#sqp'?: 'in' | 'not in' | 'all' | 'not all';
|
|
86
|
-
};
|
|
87
|
-
export declare const SUB_QUERY_PREDICATE_KEYWORD = "#sqp";
|
|
88
|
-
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
|
+
$ne: E;
|
|
39
|
+
}>;
|
|
40
|
+
export declare type Q_ExistsValue = {
|
|
41
|
+
$exists: boolean;
|
|
42
|
+
};
|
|
43
|
+
export declare type Q_NumberValue = Q_NumberComparisonValue | Q_ExistsValue;
|
|
44
|
+
export declare type Q_StringValue = Q_StringComparisonValue | Q_ExistsValue;
|
|
45
|
+
export declare type Q_BooleanValue = Q_BooleanComparisonValue | Q_ExistsValue;
|
|
46
|
+
export declare type Q_DateValue = Q_DateComparisonValue | Q_ExistsValue;
|
|
47
|
+
export declare type Q_EnumValue<E> = Q_EnumComparisonValue<E> | Q_ExistsValue;
|
|
48
|
+
export declare type Q_State<S> = S | {
|
|
49
|
+
$in: S[];
|
|
50
|
+
} | {
|
|
51
|
+
$nin: S[];
|
|
52
|
+
} | Q_ExistsValue;
|
|
53
|
+
export declare type Q_FullTextValue = {
|
|
54
|
+
$search: string;
|
|
55
|
+
$language?: 'zh_CN' | 'en_US';
|
|
56
|
+
};
|
|
57
|
+
export declare type Q_FullTextKey = '$text';
|
|
58
|
+
export declare type FulltextFilter = {
|
|
59
|
+
[F in Q_FullTextKey]?: Q_FullTextValue;
|
|
60
|
+
};
|
|
61
|
+
declare type Q_LogicKey = '$and' | '$or';
|
|
62
|
+
declare type Q_LinearLogicKey = '$not';
|
|
63
|
+
export declare type MakeFilterWrapper<F extends Object> = {
|
|
64
|
+
[Q in Q_LogicKey]?: Array<MakeFilterWrapper<F>>;
|
|
65
|
+
} & {
|
|
66
|
+
[Q in Q_LinearLogicKey]?: MakeFilterWrapper<F>;
|
|
67
|
+
} & Partial<F>;
|
|
68
|
+
export declare type MakeFilter<F extends Object> = {
|
|
69
|
+
'#id'?: NodeId;
|
|
70
|
+
} & MakeFilterWrapper<F>;
|
|
71
|
+
export declare type RefAttr<A> = {
|
|
72
|
+
'#attr': A;
|
|
73
|
+
} | {
|
|
74
|
+
'#refId': NodeId;
|
|
75
|
+
'#refAttr': string;
|
|
76
|
+
};
|
|
77
|
+
export declare function isRefAttrNode<A>(node: any): node is RefAttr<A>;
|
|
78
|
+
export declare type JsonFilter<O extends any> = O extends Array<infer P> ? (JsonFilter<P> | undefined)[] | {
|
|
79
|
+
$contains?: P | P[];
|
|
80
|
+
$overlaps?: P | P[];
|
|
81
|
+
} : O extends number ? Q_NumberValue : O extends string ? Q_StringValue : O extends boolean ? Q_BooleanValue : O extends Record<string, any> ? {
|
|
82
|
+
[A in keyof O]?: JsonFilter<O[A]>;
|
|
83
|
+
} : never;
|
|
84
|
+
export declare type SubQueryPredicateMetadata = {
|
|
85
|
+
'#sqp'?: 'in' | 'not in' | 'all' | 'not all';
|
|
86
|
+
};
|
|
87
|
+
export declare const SUB_QUERY_PREDICATE_KEYWORD = "#sqp";
|
|
88
|
+
export {};
|
package/lib/types/Demand.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SUB_QUERY_PREDICATE_KEYWORD = 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
|
-
;
|
|
10
|
-
exports.SUB_QUERY_PREDICATE_KEYWORD = '#sqp';
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUB_QUERY_PREDICATE_KEYWORD = 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
|
+
;
|
|
10
|
+
exports.SUB_QUERY_PREDICATE_KEYWORD = '#sqp';
|
package/lib/types/Endpoint.d.ts
CHANGED
|
@@ -1,11 +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 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>[];
|
|
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
|
+
;
|