oak-domain 2.0.2 → 2.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/lib/actions/action.d.ts +16 -16
- package/lib/actions/action.js +17 -17
- package/lib/actions/relation.d.ts +1 -1
- package/lib/actions/relation.js +2 -2
- 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 +161 -161
- 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 +176 -176
- 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 +158 -158
- 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 +193 -193
- 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 +137 -137
- 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 +8 -8
- 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 +3137 -3137
- 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 +45 -45
- package/lib/store/AsyncRowStore.js +180 -180
- package/lib/store/CascadeStore.d.ts +89 -89
- package/lib/store/CascadeStore.js +1515 -1511
- package/lib/store/SyncRowStore.d.ts +26 -26
- package/lib/store/SyncRowStore.js +45 -45
- package/lib/store/TriggerExecutor.d.ts +32 -32
- package/lib/store/TriggerExecutor.js +470 -470
- package/lib/store/actionDef.d.ts +9 -9
- package/lib/store/actionDef.js +135 -135
- package/lib/store/checker.d.ts +6 -6
- package/lib/store/checker.js +218 -165
- package/lib/store/filter.d.ts +99 -99
- package/lib/store/filter.js +855 -855
- package/lib/store/modi.d.ts +13 -13
- package/lib/store/modi.js +172 -172
- package/lib/store/relation.d.ts +13 -13
- package/lib/store/relation.js +64 -64
- package/lib/store/selection.d.ts +7 -7
- package/lib/store/selection.js +228 -228
- 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 +14 -14
- 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 +57 -31
- 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 +6 -6
- 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/Entity.d.ts +159 -159
- package/lib/types/Entity.js +15 -15
- package/lib/types/Exception.d.ts +83 -83
- package/lib/types/Exception.js +252 -252
- package/lib/types/Expression.d.ts +141 -141
- package/lib/types/Expression.js +387 -387
- 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/RowStore.d.ts +12 -12
- package/lib/types/RowStore.js +34 -34
- package/lib/types/Storage.d.ts +55 -55
- package/lib/types/Storage.js +2 -2
- package/lib/types/Trigger.d.ts +88 -89
- 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 +18 -18
- package/lib/types/index.js +21 -21
- 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 +102 -102
- 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/geo.d.ts +4 -4
- package/lib/utils/geo.js +24 -24
- package/lib/utils/lodash.d.ts +5 -5
- package/lib/utils/lodash.js +38 -38
- 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 +182 -182
- package/lib/utils/validator.d.ts +23 -23
- package/lib/utils/validator.js +123 -123
- package/package.json +47 -47
- 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
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { EntityDict, RowStore, OperateOption, OperationResult, SelectOption, TxnOption, Context } from "../types";
|
|
2
|
-
export declare abstract class SyncContext<ED extends EntityDict> implements Context {
|
|
3
|
-
private rowStore;
|
|
4
|
-
private uuid?;
|
|
5
|
-
constructor(rowStore: SyncRowStore<ED, SyncContext<ED>>);
|
|
6
|
-
abstract getCurrentUserId(allowUnloggedIn?: boolean): string | undefined;
|
|
7
|
-
abstract isRoot(): boolean;
|
|
8
|
-
abstract toString(): string;
|
|
9
|
-
begin(option?: TxnOption): void;
|
|
10
|
-
commit(): void;
|
|
11
|
-
rollback(): void;
|
|
12
|
-
getCurrentTxnId(): string | undefined;
|
|
13
|
-
getSchema(): import("../types").StorageSchema<ED>;
|
|
14
|
-
operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], option: OP): OperationResult<ED>;
|
|
15
|
-
select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], option: OP): Partial<ED[T]["Schema"]>[];
|
|
16
|
-
count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, option: OP): number;
|
|
17
|
-
mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
|
|
18
|
-
}
|
|
19
|
-
export interface SyncRowStore<ED extends EntityDict, Cxt extends Context> extends RowStore<ED> {
|
|
20
|
-
operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], context: Cxt, option: OP): OperationResult<ED>;
|
|
21
|
-
select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], context: Cxt, option: OP): Partial<ED[T]['Schema']>[];
|
|
22
|
-
count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, context: Cxt, option: OP): number;
|
|
23
|
-
begin(option?: TxnOption): string;
|
|
24
|
-
commit(txnId: string): void;
|
|
25
|
-
rollback(txnId: string): void;
|
|
26
|
-
}
|
|
1
|
+
import { EntityDict, RowStore, OperateOption, OperationResult, SelectOption, TxnOption, Context } from "../types";
|
|
2
|
+
export declare abstract class SyncContext<ED extends EntityDict> implements Context {
|
|
3
|
+
private rowStore;
|
|
4
|
+
private uuid?;
|
|
5
|
+
constructor(rowStore: SyncRowStore<ED, SyncContext<ED>>);
|
|
6
|
+
abstract getCurrentUserId(allowUnloggedIn?: boolean): string | undefined;
|
|
7
|
+
abstract isRoot(): boolean;
|
|
8
|
+
abstract toString(): string;
|
|
9
|
+
begin(option?: TxnOption): void;
|
|
10
|
+
commit(): void;
|
|
11
|
+
rollback(): void;
|
|
12
|
+
getCurrentTxnId(): string | undefined;
|
|
13
|
+
getSchema(): import("../types").StorageSchema<ED>;
|
|
14
|
+
operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], option: OP): OperationResult<ED>;
|
|
15
|
+
select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], option: OP): Partial<ED[T]["Schema"]>[];
|
|
16
|
+
count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, option: OP): number;
|
|
17
|
+
mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
|
|
18
|
+
}
|
|
19
|
+
export interface SyncRowStore<ED extends EntityDict, Cxt extends Context> extends RowStore<ED> {
|
|
20
|
+
operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], context: Cxt, option: OP): OperationResult<ED>;
|
|
21
|
+
select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], context: Cxt, option: OP): Partial<ED[T]['Schema']>[];
|
|
22
|
+
count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, context: Cxt, option: OP): number;
|
|
23
|
+
begin(option?: TxnOption): string;
|
|
24
|
+
commit(txnId: string): void;
|
|
25
|
+
rollback(txnId: string): void;
|
|
26
|
+
}
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SyncContext = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
|
-
var SyncContext = /** @class */ (function () {
|
|
7
|
-
function SyncContext(rowStore) {
|
|
8
|
-
this.rowStore = rowStore;
|
|
9
|
-
}
|
|
10
|
-
SyncContext.prototype.begin = function (option) {
|
|
11
|
-
this.uuid = this.rowStore.begin(option);
|
|
12
|
-
};
|
|
13
|
-
SyncContext.prototype.commit = function () {
|
|
14
|
-
(0, assert_1.default)(this.uuid);
|
|
15
|
-
this.rowStore.commit(this.uuid);
|
|
16
|
-
this.uuid = undefined;
|
|
17
|
-
};
|
|
18
|
-
SyncContext.prototype.rollback = function () {
|
|
19
|
-
(0, assert_1.default)(this.uuid);
|
|
20
|
-
this.rowStore.rollback(this.uuid);
|
|
21
|
-
this.uuid = undefined;
|
|
22
|
-
};
|
|
23
|
-
SyncContext.prototype.getCurrentTxnId = function () {
|
|
24
|
-
return this.uuid;
|
|
25
|
-
};
|
|
26
|
-
SyncContext.prototype.getSchema = function () {
|
|
27
|
-
return this.rowStore.getSchema();
|
|
28
|
-
};
|
|
29
|
-
SyncContext.prototype.operate = function (entity, operation, option) {
|
|
30
|
-
return this.rowStore.operate(entity, operation, this, option);
|
|
31
|
-
};
|
|
32
|
-
SyncContext.prototype.select = function (entity, selection, option) {
|
|
33
|
-
return this.rowStore.select(entity, selection, this, option);
|
|
34
|
-
};
|
|
35
|
-
SyncContext.prototype.count = function (entity, selection, option) {
|
|
36
|
-
return this.rowStore.count(entity, selection, this, option);
|
|
37
|
-
};
|
|
38
|
-
SyncContext.prototype.mergeMultipleResults = function (toBeMerged) {
|
|
39
|
-
return this.rowStore.mergeMultipleResults(toBeMerged);
|
|
40
|
-
};
|
|
41
|
-
return SyncContext;
|
|
42
|
-
}());
|
|
43
|
-
exports.SyncContext = SyncContext;
|
|
44
|
-
;
|
|
45
|
-
;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SyncContext = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
|
+
var SyncContext = /** @class */ (function () {
|
|
7
|
+
function SyncContext(rowStore) {
|
|
8
|
+
this.rowStore = rowStore;
|
|
9
|
+
}
|
|
10
|
+
SyncContext.prototype.begin = function (option) {
|
|
11
|
+
this.uuid = this.rowStore.begin(option);
|
|
12
|
+
};
|
|
13
|
+
SyncContext.prototype.commit = function () {
|
|
14
|
+
(0, assert_1.default)(this.uuid);
|
|
15
|
+
this.rowStore.commit(this.uuid);
|
|
16
|
+
this.uuid = undefined;
|
|
17
|
+
};
|
|
18
|
+
SyncContext.prototype.rollback = function () {
|
|
19
|
+
(0, assert_1.default)(this.uuid);
|
|
20
|
+
this.rowStore.rollback(this.uuid);
|
|
21
|
+
this.uuid = undefined;
|
|
22
|
+
};
|
|
23
|
+
SyncContext.prototype.getCurrentTxnId = function () {
|
|
24
|
+
return this.uuid;
|
|
25
|
+
};
|
|
26
|
+
SyncContext.prototype.getSchema = function () {
|
|
27
|
+
return this.rowStore.getSchema();
|
|
28
|
+
};
|
|
29
|
+
SyncContext.prototype.operate = function (entity, operation, option) {
|
|
30
|
+
return this.rowStore.operate(entity, operation, this, option);
|
|
31
|
+
};
|
|
32
|
+
SyncContext.prototype.select = function (entity, selection, option) {
|
|
33
|
+
return this.rowStore.select(entity, selection, this, option);
|
|
34
|
+
};
|
|
35
|
+
SyncContext.prototype.count = function (entity, selection, option) {
|
|
36
|
+
return this.rowStore.count(entity, selection, this, option);
|
|
37
|
+
};
|
|
38
|
+
SyncContext.prototype.mergeMultipleResults = function (toBeMerged) {
|
|
39
|
+
return this.rowStore.mergeMultipleResults(toBeMerged);
|
|
40
|
+
};
|
|
41
|
+
return SyncContext;
|
|
42
|
+
}());
|
|
43
|
+
exports.SyncContext = SyncContext;
|
|
44
|
+
;
|
|
45
|
+
;
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { EntityDict, OperateOption, SelectOption } from "../types/Entity";
|
|
2
|
-
import { EntityDict as BaseEntityDict } from '../base-app-domain';
|
|
3
|
-
import { Logger } from "../types/Logger";
|
|
4
|
-
import { Checker } from '../types/Auth';
|
|
5
|
-
import { Trigger
|
|
6
|
-
import { AsyncContext } from './AsyncRowStore';
|
|
7
|
-
/**
|
|
8
|
-
* update可能会传入多种不同的action,此时都需要检查update trigger
|
|
9
|
-
*/
|
|
10
|
-
export declare class TriggerExecutor<ED extends EntityDict & BaseEntityDict> {
|
|
11
|
-
private counter;
|
|
12
|
-
private triggerMap;
|
|
13
|
-
private triggerNameMap;
|
|
14
|
-
private volatileEntities;
|
|
15
|
-
private logger;
|
|
16
|
-
private contextBuilder;
|
|
17
|
-
constructor(contextBuilder: (cxtString: string) => Promise<AsyncContext<ED>>, logger?: Logger);
|
|
18
|
-
registerChecker<T extends keyof ED, Cxt extends AsyncContext<ED>>(checker: Checker<ED, T, Cxt>): void;
|
|
19
|
-
getCheckers<T extends keyof ED>(entity: T, action: ED[T]['Action'], checkerTypes?: CheckerType[]): Trigger<ED, T, AsyncContext<ED>>[] | undefined;
|
|
20
|
-
registerTrigger<T extends keyof ED, Cxt extends AsyncContext<ED>>(trigger: Trigger<ED, T, Cxt>): void;
|
|
21
|
-
unregisterTrigger<T extends keyof ED, Cxt extends AsyncContext<ED>>(trigger: Trigger<ED, T, Cxt>): void;
|
|
22
|
-
private preCommitTrigger;
|
|
23
|
-
preOperation<T extends keyof ED, Cxt extends AsyncContext<ED>>(entity: T, operation: ED[T]['Operation'] | ED[T]['Selection'] & {
|
|
24
|
-
action: 'select';
|
|
25
|
-
}, context: Cxt, option: OperateOption | SelectOption): Promise<void> | void;
|
|
26
|
-
private onCommit;
|
|
27
|
-
private postCommitTrigger;
|
|
28
|
-
postOperation<T extends keyof ED, Cxt extends AsyncContext<ED>>(entity: T, operation: ED[T]['Operation'] | ED[T]['Selection'] & {
|
|
29
|
-
action: 'select';
|
|
30
|
-
}, context: Cxt, option: OperateOption | SelectOption, result?: Partial<ED[T]['Schema']>[]): Promise<void> | void;
|
|
31
|
-
checkpoint<Cxt extends AsyncContext<ED>>(context: Cxt, timestamp: number): Promise<number>;
|
|
32
|
-
}
|
|
1
|
+
import { EntityDict, OperateOption, SelectOption } from "../types/Entity";
|
|
2
|
+
import { EntityDict as BaseEntityDict } from '../base-app-domain';
|
|
3
|
+
import { Logger } from "../types/Logger";
|
|
4
|
+
import { Checker, CheckerType } from '../types/Auth';
|
|
5
|
+
import { Trigger } from "../types/Trigger";
|
|
6
|
+
import { AsyncContext } from './AsyncRowStore';
|
|
7
|
+
/**
|
|
8
|
+
* update可能会传入多种不同的action,此时都需要检查update trigger
|
|
9
|
+
*/
|
|
10
|
+
export declare class TriggerExecutor<ED extends EntityDict & BaseEntityDict> {
|
|
11
|
+
private counter;
|
|
12
|
+
private triggerMap;
|
|
13
|
+
private triggerNameMap;
|
|
14
|
+
private volatileEntities;
|
|
15
|
+
private logger;
|
|
16
|
+
private contextBuilder;
|
|
17
|
+
constructor(contextBuilder: (cxtString: string) => Promise<AsyncContext<ED>>, logger?: Logger);
|
|
18
|
+
registerChecker<T extends keyof ED, Cxt extends AsyncContext<ED>>(checker: Checker<ED, T, Cxt>): void;
|
|
19
|
+
getCheckers<T extends keyof ED>(entity: T, action: ED[T]['Action'], checkerTypes?: CheckerType[]): Trigger<ED, T, AsyncContext<ED>>[] | undefined;
|
|
20
|
+
registerTrigger<T extends keyof ED, Cxt extends AsyncContext<ED>>(trigger: Trigger<ED, T, Cxt>): void;
|
|
21
|
+
unregisterTrigger<T extends keyof ED, Cxt extends AsyncContext<ED>>(trigger: Trigger<ED, T, Cxt>): void;
|
|
22
|
+
private preCommitTrigger;
|
|
23
|
+
preOperation<T extends keyof ED, Cxt extends AsyncContext<ED>>(entity: T, operation: ED[T]['Operation'] | ED[T]['Selection'] & {
|
|
24
|
+
action: 'select';
|
|
25
|
+
}, context: Cxt, option: OperateOption | SelectOption): Promise<void> | void;
|
|
26
|
+
private onCommit;
|
|
27
|
+
private postCommitTrigger;
|
|
28
|
+
postOperation<T extends keyof ED, Cxt extends AsyncContext<ED>>(entity: T, operation: ED[T]['Operation'] | ED[T]['Selection'] & {
|
|
29
|
+
action: 'select';
|
|
30
|
+
}, context: Cxt, option: OperateOption | SelectOption, result?: Partial<ED[T]['Schema']>[]): Promise<void> | void;
|
|
31
|
+
checkpoint<Cxt extends AsyncContext<ED>>(context: Cxt, timestamp: number): Promise<number>;
|
|
32
|
+
}
|