@imbricate/core 3.17.0 → 3.18.0
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/common/action.d.ts +46 -0
- package/common/action.js +20 -0
- package/common/definition.d.ts +16 -0
- package/common/definition.js +22 -0
- package/common/export.d.ts +8 -0
- package/common/export.js +24 -0
- package/common/outcome.d.ts +4 -0
- package/common/outcome.js +7 -1
- package/database/base-class/full-feature-with-action.d.ts +32 -0
- package/database/base-class/full-feature-with-action.js +26 -0
- package/database/base-class/full-feature.d.ts +5 -1
- package/database/base-class/full-feature.js +10 -1
- package/database/definition.d.ts +2 -12
- package/database/definition.js +1 -15
- package/database/export.d.ts +1 -0
- package/database/export.js +1 -0
- package/database/feature.d.ts +3 -1
- package/database/feature.js +2 -0
- package/database/interface.d.ts +15 -0
- package/database/validate.js +1 -1
- package/database-manager/base-class/full-feature.d.ts +3 -3
- package/database-manager/database-manager.d.ts +3 -2
- package/database-manager/definition.d.ts +24 -0
- package/database-manager/definition.js +7 -0
- package/database-manager/export.d.ts +1 -0
- package/database-manager/export.js +1 -0
- package/database-manager/outcome.d.ts +7 -7
- package/database-manager/outcome.js +8 -8
- package/document/base-class/full-feature-with-action.d.ts +26 -0
- package/document/base-class/full-feature-with-action.js +23 -0
- package/document/base-class/full-feature.d.ts +5 -1
- package/document/base-class/full-feature.js +10 -1
- package/document/export.d.ts +1 -0
- package/document/export.js +1 -0
- package/document/feature.d.ts +3 -1
- package/document/feature.js +2 -0
- package/document/interface.d.ts +15 -0
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/origin/base-class/essential.js +3 -3
- package/origin/base-class/exclude-static.js +3 -3
- package/origin/base-class/full-feature-with-action.d.ts +24 -0
- package/origin/base-class/full-feature-with-action.js +22 -0
- package/origin/base-class/full-feature.d.ts +5 -10
- package/origin/base-class/full-feature.js +13 -4
- package/origin/export.d.ts +1 -0
- package/origin/export.js +1 -0
- package/origin/feature.d.ts +6 -4
- package/origin/feature.js +5 -3
- package/origin/interface.d.ts +15 -0
- package/package.json +6 -2
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author WMXPY
|
|
3
|
+
* @namespace Common
|
|
4
|
+
* @description Action
|
|
5
|
+
*/
|
|
6
|
+
import { IETF_LOCALE } from "@sudoo/locale";
|
|
7
|
+
import { HTTP_RESPONSE_CODE } from "@sudoo/magic";
|
|
8
|
+
import { CommonActionOutcomeSymbol, CommonOutcomeSymbol } from "./outcome";
|
|
9
|
+
export declare enum IMBRICATE_ORIGIN_ACTION_PARAMETER_TYPE {
|
|
10
|
+
STRING = "STRING"
|
|
11
|
+
}
|
|
12
|
+
export type ImbricateOriginActionParameterType = {
|
|
13
|
+
readonly type: IMBRICATE_ORIGIN_ACTION_PARAMETER_TYPE;
|
|
14
|
+
};
|
|
15
|
+
export type ImbricateOriginActionParameter = {
|
|
16
|
+
readonly parameterKey: string;
|
|
17
|
+
readonly getParameterName: (locale: IETF_LOCALE) => string;
|
|
18
|
+
readonly parameterType: ImbricateOriginActionParameterType;
|
|
19
|
+
};
|
|
20
|
+
export declare enum IMBRICATE_ORIGIN_ACTION_APPEARANCE {
|
|
21
|
+
DEFAULT = "DEFAULT",
|
|
22
|
+
IMPORTANT = "IMPORTANT",
|
|
23
|
+
SUCCESS = "SUCCESS",
|
|
24
|
+
WARNING = "WARNING",
|
|
25
|
+
DANGER = "DANGER"
|
|
26
|
+
}
|
|
27
|
+
export type ImbricateOriginAction = {
|
|
28
|
+
readonly actionIdentifier: string;
|
|
29
|
+
readonly getActionName: (locale: IETF_LOCALE) => string;
|
|
30
|
+
readonly parameters: ImbricateOriginActionParameter[];
|
|
31
|
+
readonly appearance?: IMBRICATE_ORIGIN_ACTION_APPEARANCE;
|
|
32
|
+
readonly disabled?: boolean;
|
|
33
|
+
};
|
|
34
|
+
export type ImbricateOriginActionInput = {
|
|
35
|
+
readonly actionIdentifier: string;
|
|
36
|
+
readonly parameters: Record<string, any>;
|
|
37
|
+
};
|
|
38
|
+
export type ImbricateOriginActionResultReference = {};
|
|
39
|
+
export type ImbricateOriginActionResultOutput = {
|
|
40
|
+
readonly content: string;
|
|
41
|
+
};
|
|
42
|
+
export type ImbricateOriginActionOutcome = {
|
|
43
|
+
readonly response: HTTP_RESPONSE_CODE;
|
|
44
|
+
readonly outputs: ImbricateOriginActionResultOutput[];
|
|
45
|
+
readonly references: ImbricateOriginActionResultReference[];
|
|
46
|
+
} | CommonOutcomeSymbol | CommonActionOutcomeSymbol;
|
package/common/action.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @author WMXPY
|
|
4
|
+
* @namespace Common
|
|
5
|
+
* @description Action
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.IMBRICATE_ORIGIN_ACTION_APPEARANCE = exports.IMBRICATE_ORIGIN_ACTION_PARAMETER_TYPE = void 0;
|
|
9
|
+
var IMBRICATE_ORIGIN_ACTION_PARAMETER_TYPE;
|
|
10
|
+
(function (IMBRICATE_ORIGIN_ACTION_PARAMETER_TYPE) {
|
|
11
|
+
IMBRICATE_ORIGIN_ACTION_PARAMETER_TYPE["STRING"] = "STRING";
|
|
12
|
+
})(IMBRICATE_ORIGIN_ACTION_PARAMETER_TYPE || (exports.IMBRICATE_ORIGIN_ACTION_PARAMETER_TYPE = IMBRICATE_ORIGIN_ACTION_PARAMETER_TYPE = {}));
|
|
13
|
+
var IMBRICATE_ORIGIN_ACTION_APPEARANCE;
|
|
14
|
+
(function (IMBRICATE_ORIGIN_ACTION_APPEARANCE) {
|
|
15
|
+
IMBRICATE_ORIGIN_ACTION_APPEARANCE["DEFAULT"] = "DEFAULT";
|
|
16
|
+
IMBRICATE_ORIGIN_ACTION_APPEARANCE["IMPORTANT"] = "IMPORTANT";
|
|
17
|
+
IMBRICATE_ORIGIN_ACTION_APPEARANCE["SUCCESS"] = "SUCCESS";
|
|
18
|
+
IMBRICATE_ORIGIN_ACTION_APPEARANCE["WARNING"] = "WARNING";
|
|
19
|
+
IMBRICATE_ORIGIN_ACTION_APPEARANCE["DANGER"] = "DANGER";
|
|
20
|
+
})(IMBRICATE_ORIGIN_ACTION_APPEARANCE || (exports.IMBRICATE_ORIGIN_ACTION_APPEARANCE = IMBRICATE_ORIGIN_ACTION_APPEARANCE = {}));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author WMXPY
|
|
3
|
+
* @namespace Common
|
|
4
|
+
* @description Definition
|
|
5
|
+
*/
|
|
6
|
+
export declare enum IMBRICATE_QUERY_COMPARE_CONDITION {
|
|
7
|
+
EQUAL = "EQUAL",
|
|
8
|
+
EXIST = "EXIST"
|
|
9
|
+
}
|
|
10
|
+
export declare enum IMBRICATE_QUERY_ATTRIBUTE {
|
|
11
|
+
VALUE = "VALUE"
|
|
12
|
+
}
|
|
13
|
+
export declare enum IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET {
|
|
14
|
+
PROPERTY_TYPE = "PROPERTY_TYPE",
|
|
15
|
+
PROPERTY_VALUE = "PROPERTY_VALUE"
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @author WMXPY
|
|
4
|
+
* @namespace Common
|
|
5
|
+
* @description Definition
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET = exports.IMBRICATE_QUERY_ATTRIBUTE = exports.IMBRICATE_QUERY_COMPARE_CONDITION = void 0;
|
|
9
|
+
var IMBRICATE_QUERY_COMPARE_CONDITION;
|
|
10
|
+
(function (IMBRICATE_QUERY_COMPARE_CONDITION) {
|
|
11
|
+
IMBRICATE_QUERY_COMPARE_CONDITION["EQUAL"] = "EQUAL";
|
|
12
|
+
IMBRICATE_QUERY_COMPARE_CONDITION["EXIST"] = "EXIST";
|
|
13
|
+
})(IMBRICATE_QUERY_COMPARE_CONDITION || (exports.IMBRICATE_QUERY_COMPARE_CONDITION = IMBRICATE_QUERY_COMPARE_CONDITION = {}));
|
|
14
|
+
var IMBRICATE_QUERY_ATTRIBUTE;
|
|
15
|
+
(function (IMBRICATE_QUERY_ATTRIBUTE) {
|
|
16
|
+
IMBRICATE_QUERY_ATTRIBUTE["VALUE"] = "VALUE";
|
|
17
|
+
})(IMBRICATE_QUERY_ATTRIBUTE || (exports.IMBRICATE_QUERY_ATTRIBUTE = IMBRICATE_QUERY_ATTRIBUTE = {}));
|
|
18
|
+
var IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET;
|
|
19
|
+
(function (IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET) {
|
|
20
|
+
IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET["PROPERTY_TYPE"] = "PROPERTY_TYPE";
|
|
21
|
+
IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET["PROPERTY_VALUE"] = "PROPERTY_VALUE";
|
|
22
|
+
})(IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET || (exports.IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET = IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET = {}));
|
package/common/export.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @author WMXPY
|
|
4
|
+
* @namespace Common
|
|
5
|
+
* @description Export
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
__exportStar(require("./action"), exports);
|
|
23
|
+
__exportStar(require("./definition"), exports);
|
|
24
|
+
__exportStar(require("./outcome"), exports);
|
package/common/outcome.d.ts
CHANGED
|
@@ -8,3 +8,7 @@ export declare const S_Common_Origin_ConnectionTimeout: unique symbol;
|
|
|
8
8
|
export declare const S_Common_Origin_NotAuthorized: unique symbol;
|
|
9
9
|
export type CommonOutcomeSymbol = typeof S_Common_Origin_ConnectionFail | typeof S_Common_Origin_ConnectionTimeout | typeof S_Common_Origin_NotAuthorized;
|
|
10
10
|
export declare const CommonOutcomeSymbolList: CommonOutcomeSymbol[];
|
|
11
|
+
export declare const S_Action_ActionNotFound: unique symbol;
|
|
12
|
+
export declare const S_Action_ActionParameterNotFound: unique symbol;
|
|
13
|
+
export type CommonActionOutcomeSymbol = typeof S_Action_ActionNotFound | typeof S_Action_ActionParameterNotFound;
|
|
14
|
+
export declare const CommonActionOutcomeSymbolList: CommonActionOutcomeSymbol[];
|
package/common/outcome.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @description Outcome
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.CommonOutcomeSymbolList = exports.S_Common_Origin_NotAuthorized = exports.S_Common_Origin_ConnectionTimeout = exports.S_Common_Origin_ConnectionFail = void 0;
|
|
8
|
+
exports.CommonActionOutcomeSymbolList = exports.S_Action_ActionParameterNotFound = exports.S_Action_ActionNotFound = exports.CommonOutcomeSymbolList = exports.S_Common_Origin_NotAuthorized = exports.S_Common_Origin_ConnectionTimeout = exports.S_Common_Origin_ConnectionFail = void 0;
|
|
9
9
|
exports.S_Common_Origin_ConnectionFail = Symbol("Common_Origin_ConnectionFail");
|
|
10
10
|
exports.S_Common_Origin_ConnectionTimeout = Symbol("Common_Origin_ConnectionTimeout");
|
|
11
11
|
exports.S_Common_Origin_NotAuthorized = Symbol("Common_Origin_NotAuthorized");
|
|
@@ -14,3 +14,9 @@ exports.CommonOutcomeSymbolList = [
|
|
|
14
14
|
exports.S_Common_Origin_ConnectionTimeout,
|
|
15
15
|
exports.S_Common_Origin_NotAuthorized,
|
|
16
16
|
];
|
|
17
|
+
exports.S_Action_ActionNotFound = Symbol("Action_ActionNotFound");
|
|
18
|
+
exports.S_Action_ActionParameterNotFound = Symbol("Action_ActionParameterNotFound");
|
|
19
|
+
exports.CommonActionOutcomeSymbolList = [
|
|
20
|
+
exports.S_Action_ActionNotFound,
|
|
21
|
+
exports.S_Action_ActionParameterNotFound,
|
|
22
|
+
];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author WMXPY
|
|
3
|
+
* @namespace Database_BaseClass
|
|
4
|
+
* @description Full Feature With Action
|
|
5
|
+
*/
|
|
6
|
+
import { ImbricateOriginAction, ImbricateOriginActionInput, ImbricateOriginActionOutcome } from "../../common/action";
|
|
7
|
+
import { DocumentProperties } from "../../document/property";
|
|
8
|
+
import { DatabaseAnnotationValue, DatabaseAnnotations, DatabaseEditRecord, ImbricateDatabaseAuditOptions, ImbricateDocumentQuery } from "../definition";
|
|
9
|
+
import { IMBRICATE_DATABASE_FEATURE } from "../feature";
|
|
10
|
+
import { IImbricateDatabase } from "../interface";
|
|
11
|
+
import { ImbricateDatabaseAddEditRecordsOutcome, ImbricateDatabaseCountDocumentsOutcome, ImbricateDatabaseCreateDocumentOutcome, ImbricateDatabaseDeleteAnnotationOutcome, ImbricateDatabaseGetDocumentOutcome, ImbricateDatabaseGetEditRecordsOutcome, ImbricateDatabasePutAnnotationOutcome, ImbricateDatabasePutSchemaOutcome, ImbricateDatabaseQueryDocumentsOutcome, ImbricateDatabaseRemoveDocumentOutcome } from "../outcome";
|
|
12
|
+
import { ImbricateDatabaseSchema } from "../schema";
|
|
13
|
+
export declare abstract class ImbricateDatabaseFullFeatureWithActionBase implements IImbricateDatabase {
|
|
14
|
+
abstract readonly uniqueIdentifier: string;
|
|
15
|
+
abstract readonly databaseName: string;
|
|
16
|
+
abstract readonly databaseVersion: string;
|
|
17
|
+
abstract readonly schema: ImbricateDatabaseSchema;
|
|
18
|
+
abstract readonly annotations: DatabaseAnnotations;
|
|
19
|
+
readonly supportedFeatures: IMBRICATE_DATABASE_FEATURE[];
|
|
20
|
+
abstract putSchema(schema: ImbricateDatabaseSchema, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<ImbricateDatabasePutSchemaOutcome>;
|
|
21
|
+
abstract createDocument(properties: DocumentProperties, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<ImbricateDatabaseCreateDocumentOutcome>;
|
|
22
|
+
abstract getDocument(uniqueIdentifier: string): PromiseLike<ImbricateDatabaseGetDocumentOutcome>;
|
|
23
|
+
abstract queryDocuments(query: ImbricateDocumentQuery): PromiseLike<ImbricateDatabaseQueryDocumentsOutcome>;
|
|
24
|
+
abstract countDocuments(query: ImbricateDocumentQuery): PromiseLike<ImbricateDatabaseCountDocumentsOutcome>;
|
|
25
|
+
abstract removeDocument(uniqueIdentifier: string, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<ImbricateDatabaseRemoveDocumentOutcome>;
|
|
26
|
+
abstract putAnnotation(namespace: string, identifier: string, value: DatabaseAnnotationValue, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<ImbricateDatabasePutAnnotationOutcome>;
|
|
27
|
+
abstract deleteAnnotation(namespace: string, identifier: string, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<ImbricateDatabaseDeleteAnnotationOutcome>;
|
|
28
|
+
abstract addEditRecords(records: DatabaseEditRecord[]): PromiseLike<ImbricateDatabaseAddEditRecordsOutcome>;
|
|
29
|
+
abstract getEditRecords(): PromiseLike<ImbricateDatabaseGetEditRecordsOutcome>;
|
|
30
|
+
abstract getOriginActions(): ImbricateOriginAction[];
|
|
31
|
+
abstract executeOriginAction(input: ImbricateOriginActionInput): PromiseLike<ImbricateOriginActionOutcome>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @author WMXPY
|
|
4
|
+
* @namespace Database_BaseClass
|
|
5
|
+
* @description Full Feature With Action
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ImbricateDatabaseFullFeatureWithActionBase = void 0;
|
|
9
|
+
const feature_1 = require("../feature");
|
|
10
|
+
class ImbricateDatabaseFullFeatureWithActionBase {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.supportedFeatures = [
|
|
13
|
+
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_PUT_SCHEMA,
|
|
14
|
+
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_CREATE_DOCUMENT,
|
|
15
|
+
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_DELETE_DOCUMENT,
|
|
16
|
+
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_PUT_ANNOTATION,
|
|
17
|
+
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_DELETE_ANNOTATION,
|
|
18
|
+
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_GET_DOCUMENT,
|
|
19
|
+
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_PUT_EDIT_RECORD,
|
|
20
|
+
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_GET_EDIT_RECORD,
|
|
21
|
+
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_GET_ORIGIN_ACTIONS,
|
|
22
|
+
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_EXECUTE_ORIGIN_ACTION,
|
|
23
|
+
];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.ImbricateDatabaseFullFeatureWithActionBase = ImbricateDatabaseFullFeatureWithActionBase;
|
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
* @namespace Database_BaseClass
|
|
4
4
|
* @description Full Feature
|
|
5
5
|
*/
|
|
6
|
+
import { ImbricateOriginAction, ImbricateOriginActionInput, ImbricateOriginActionOutcome } from "../../common/action";
|
|
6
7
|
import { DocumentProperties } from "../../document/property";
|
|
7
8
|
import { DatabaseAnnotationValue, DatabaseAnnotations, DatabaseEditRecord, ImbricateDatabaseAuditOptions, ImbricateDocumentQuery } from "../definition";
|
|
8
9
|
import { IMBRICATE_DATABASE_FEATURE } from "../feature";
|
|
9
10
|
import { IImbricateDatabase } from "../interface";
|
|
10
11
|
import { ImbricateDatabaseAddEditRecordsOutcome, ImbricateDatabaseCountDocumentsOutcome, ImbricateDatabaseCreateDocumentOutcome, ImbricateDatabaseDeleteAnnotationOutcome, ImbricateDatabaseGetDocumentOutcome, ImbricateDatabaseGetEditRecordsOutcome, ImbricateDatabasePutAnnotationOutcome, ImbricateDatabasePutSchemaOutcome, ImbricateDatabaseQueryDocumentsOutcome, ImbricateDatabaseRemoveDocumentOutcome } from "../outcome";
|
|
11
12
|
import { ImbricateDatabaseSchema } from "../schema";
|
|
12
|
-
|
|
13
|
+
import { ImbricateDatabaseFullFeatureWithActionBase } from "./full-feature-with-action";
|
|
14
|
+
export declare abstract class ImbricateDatabaseFullFeatureBase extends ImbricateDatabaseFullFeatureWithActionBase implements IImbricateDatabase {
|
|
13
15
|
abstract readonly uniqueIdentifier: string;
|
|
14
16
|
abstract readonly databaseName: string;
|
|
15
17
|
abstract readonly databaseVersion: string;
|
|
@@ -26,4 +28,6 @@ export declare abstract class ImbricateDatabaseFullFeatureBase implements IImbri
|
|
|
26
28
|
abstract deleteAnnotation(namespace: string, identifier: string, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<ImbricateDatabaseDeleteAnnotationOutcome>;
|
|
27
29
|
abstract addEditRecords(records: DatabaseEditRecord[]): PromiseLike<ImbricateDatabaseAddEditRecordsOutcome>;
|
|
28
30
|
abstract getEditRecords(): PromiseLike<ImbricateDatabaseGetEditRecordsOutcome>;
|
|
31
|
+
getOriginActions(): ImbricateOriginAction[];
|
|
32
|
+
executeOriginAction(_input: ImbricateOriginActionInput): PromiseLike<ImbricateOriginActionOutcome>;
|
|
29
33
|
}
|
|
@@ -6,9 +6,12 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.ImbricateDatabaseFullFeatureBase = void 0;
|
|
9
|
+
const feature_not_supported_1 = require("../../error/database/feature-not-supported");
|
|
9
10
|
const feature_1 = require("../feature");
|
|
10
|
-
|
|
11
|
+
const full_feature_with_action_1 = require("./full-feature-with-action");
|
|
12
|
+
class ImbricateDatabaseFullFeatureBase extends full_feature_with_action_1.ImbricateDatabaseFullFeatureWithActionBase {
|
|
11
13
|
constructor() {
|
|
14
|
+
super(...arguments);
|
|
12
15
|
this.supportedFeatures = [
|
|
13
16
|
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_PUT_SCHEMA,
|
|
14
17
|
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_CREATE_DOCUMENT,
|
|
@@ -20,5 +23,11 @@ class ImbricateDatabaseFullFeatureBase {
|
|
|
20
23
|
feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_GET_EDIT_RECORD,
|
|
21
24
|
];
|
|
22
25
|
}
|
|
26
|
+
getOriginActions() {
|
|
27
|
+
throw feature_not_supported_1.ImbricateDatabaseFeatureNotSupportedError.withFeature(feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_GET_ORIGIN_ACTIONS);
|
|
28
|
+
}
|
|
29
|
+
executeOriginAction(_input) {
|
|
30
|
+
throw feature_not_supported_1.ImbricateDatabaseFeatureNotSupportedError.withFeature(feature_1.IMBRICATE_DATABASE_FEATURE.DATABASE_EXECUTE_ORIGIN_ACTION);
|
|
31
|
+
}
|
|
23
32
|
}
|
|
24
33
|
exports.ImbricateDatabaseFullFeatureBase = ImbricateDatabaseFullFeatureBase;
|
package/database/definition.d.ts
CHANGED
|
@@ -4,18 +4,8 @@
|
|
|
4
4
|
* @description Definition
|
|
5
5
|
*/
|
|
6
6
|
import { ImbricateAuthor } from "../author/definition";
|
|
7
|
+
import { IMBRICATE_QUERY_ATTRIBUTE, IMBRICATE_QUERY_COMPARE_CONDITION, IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET } from "../common/definition";
|
|
7
8
|
import { ImbricateDatabaseSchema } from "./schema";
|
|
8
|
-
export declare enum IMBRICATE_QUERY_COMPARE_CONDITION {
|
|
9
|
-
EQUAL = "EQUAL",
|
|
10
|
-
EXIST = "EXIST"
|
|
11
|
-
}
|
|
12
|
-
export declare enum IMBRICATE_QUERY_ATTRIBUTE {
|
|
13
|
-
VALUE = "VALUE"
|
|
14
|
-
}
|
|
15
|
-
export declare enum IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET {
|
|
16
|
-
PROPERTY_TYPE = "PROPERTY_TYPE",
|
|
17
|
-
PROPERTY_VALUE = "PROPERTY_VALUE"
|
|
18
|
-
}
|
|
19
9
|
export type ImbricateDocumentQueryPropertyFilter = {
|
|
20
10
|
readonly propertyIdentifier: string;
|
|
21
11
|
readonly target: IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET;
|
|
@@ -61,7 +51,7 @@ export type DatabaseEditOperationDeleteAnnotation = {
|
|
|
61
51
|
readonly annotationIdentifier: string;
|
|
62
52
|
};
|
|
63
53
|
export type DatabaseEditOperationResolveConflict = {
|
|
64
|
-
readonly
|
|
54
|
+
readonly conflictedEditRecords: string[];
|
|
65
55
|
};
|
|
66
56
|
export type DatabaseEditOperationValue<T extends IMBRICATE_DATABASE_EDIT_TYPE> = T extends IMBRICATE_DATABASE_EDIT_TYPE.PUT_SCHEMA ? ImbricateDatabaseSchema : T extends IMBRICATE_DATABASE_EDIT_TYPE.PUT_ANNOTATION ? DatabaseEditOperationPutAnnotation : T extends IMBRICATE_DATABASE_EDIT_TYPE.DELETE_ANNOTATION ? DatabaseEditOperationDeleteAnnotation : T extends IMBRICATE_DATABASE_EDIT_TYPE.RESOLVE_CONFLICT ? DatabaseEditOperationResolveConflict : never;
|
|
67
57
|
/**
|
package/database/definition.js
CHANGED
|
@@ -5,21 +5,7 @@
|
|
|
5
5
|
* @description Definition
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.IMBRICATE_DATABASE_EDIT_TYPE =
|
|
9
|
-
var IMBRICATE_QUERY_COMPARE_CONDITION;
|
|
10
|
-
(function (IMBRICATE_QUERY_COMPARE_CONDITION) {
|
|
11
|
-
IMBRICATE_QUERY_COMPARE_CONDITION["EQUAL"] = "EQUAL";
|
|
12
|
-
IMBRICATE_QUERY_COMPARE_CONDITION["EXIST"] = "EXIST";
|
|
13
|
-
})(IMBRICATE_QUERY_COMPARE_CONDITION || (exports.IMBRICATE_QUERY_COMPARE_CONDITION = IMBRICATE_QUERY_COMPARE_CONDITION = {}));
|
|
14
|
-
var IMBRICATE_QUERY_ATTRIBUTE;
|
|
15
|
-
(function (IMBRICATE_QUERY_ATTRIBUTE) {
|
|
16
|
-
IMBRICATE_QUERY_ATTRIBUTE["VALUE"] = "VALUE";
|
|
17
|
-
})(IMBRICATE_QUERY_ATTRIBUTE || (exports.IMBRICATE_QUERY_ATTRIBUTE = IMBRICATE_QUERY_ATTRIBUTE = {}));
|
|
18
|
-
var IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET;
|
|
19
|
-
(function (IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET) {
|
|
20
|
-
IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET["PROPERTY_TYPE"] = "PROPERTY_TYPE";
|
|
21
|
-
IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET["PROPERTY_VALUE"] = "PROPERTY_VALUE";
|
|
22
|
-
})(IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET || (exports.IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET = IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET = {}));
|
|
8
|
+
exports.IMBRICATE_DATABASE_EDIT_TYPE = void 0;
|
|
23
9
|
/**
|
|
24
10
|
* Edit record type of the document
|
|
25
11
|
*/
|
package/database/export.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from "./base-class/essential-readonly";
|
|
|
8
8
|
export * from "./base-class/exclude-annotation";
|
|
9
9
|
export * from "./base-class/full-feature";
|
|
10
10
|
export * from "./base-class/full-feature-readonly";
|
|
11
|
+
export * from "./base-class/full-feature-with-action";
|
|
11
12
|
export * from "./definition";
|
|
12
13
|
export * from "./feature";
|
|
13
14
|
export * from "./interface";
|
package/database/export.js
CHANGED
|
@@ -24,6 +24,7 @@ __exportStar(require("./base-class/essential-readonly"), exports);
|
|
|
24
24
|
__exportStar(require("./base-class/exclude-annotation"), exports);
|
|
25
25
|
__exportStar(require("./base-class/full-feature"), exports);
|
|
26
26
|
__exportStar(require("./base-class/full-feature-readonly"), exports);
|
|
27
|
+
__exportStar(require("./base-class/full-feature-with-action"), exports);
|
|
27
28
|
__exportStar(require("./definition"), exports);
|
|
28
29
|
__exportStar(require("./feature"), exports);
|
|
29
30
|
__exportStar(require("./interface"), exports);
|
package/database/feature.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export declare enum IMBRICATE_DATABASE_FEATURE {
|
|
|
11
11
|
DATABASE_PUT_ANNOTATION = "DATABASE_PUT_ANNOTATION",
|
|
12
12
|
DATABASE_DELETE_ANNOTATION = "DATABASE_DELETE_ANNOTATION",
|
|
13
13
|
DATABASE_PUT_EDIT_RECORD = "DATABASE_PUT_EDIT_RECORD",
|
|
14
|
-
DATABASE_GET_EDIT_RECORD = "DATABASE_GET_EDIT_RECORD"
|
|
14
|
+
DATABASE_GET_EDIT_RECORD = "DATABASE_GET_EDIT_RECORD",
|
|
15
|
+
DATABASE_GET_ORIGIN_ACTIONS = "DATABASE_GET_ORIGIN_ACTIONS",
|
|
16
|
+
DATABASE_EXECUTE_ORIGIN_ACTION = "DATABASE_EXECUTE_ORIGIN_ACTION"
|
|
15
17
|
}
|
|
16
18
|
export declare const checkImbricateDatabaseFeatureSupported: (features: IMBRICATE_DATABASE_FEATURE[], feature: IMBRICATE_DATABASE_FEATURE) => boolean;
|
package/database/feature.js
CHANGED
|
@@ -16,6 +16,8 @@ var IMBRICATE_DATABASE_FEATURE;
|
|
|
16
16
|
IMBRICATE_DATABASE_FEATURE["DATABASE_DELETE_ANNOTATION"] = "DATABASE_DELETE_ANNOTATION";
|
|
17
17
|
IMBRICATE_DATABASE_FEATURE["DATABASE_PUT_EDIT_RECORD"] = "DATABASE_PUT_EDIT_RECORD";
|
|
18
18
|
IMBRICATE_DATABASE_FEATURE["DATABASE_GET_EDIT_RECORD"] = "DATABASE_GET_EDIT_RECORD";
|
|
19
|
+
IMBRICATE_DATABASE_FEATURE["DATABASE_GET_ORIGIN_ACTIONS"] = "DATABASE_GET_ORIGIN_ACTIONS";
|
|
20
|
+
IMBRICATE_DATABASE_FEATURE["DATABASE_EXECUTE_ORIGIN_ACTION"] = "DATABASE_EXECUTE_ORIGIN_ACTION";
|
|
19
21
|
})(IMBRICATE_DATABASE_FEATURE || (exports.IMBRICATE_DATABASE_FEATURE = IMBRICATE_DATABASE_FEATURE = {}));
|
|
20
22
|
const checkImbricateDatabaseFeatureSupported = (features, feature) => {
|
|
21
23
|
return features.includes(feature);
|
package/database/interface.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @namespace Database
|
|
4
4
|
* @description Interface
|
|
5
5
|
*/
|
|
6
|
+
import { ImbricateOriginAction, ImbricateOriginActionInput, ImbricateOriginActionOutcome } from "../common/action";
|
|
6
7
|
import { DocumentProperties } from "../document/property";
|
|
7
8
|
import { DatabaseAnnotationValue, DatabaseAnnotations, DatabaseEditRecord, ImbricateDatabaseAuditOptions, ImbricateDocumentQuery } from "./definition";
|
|
8
9
|
import { IMBRICATE_DATABASE_FEATURE } from "./feature";
|
|
@@ -158,4 +159,18 @@ export interface IImbricateDatabase {
|
|
|
158
159
|
* Symbol: S_GetEditRecords_NotFound - if the edit records are not found
|
|
159
160
|
*/
|
|
160
161
|
getEditRecords(): PromiseLike<ImbricateDatabaseGetEditRecordsOutcome>;
|
|
162
|
+
/**
|
|
163
|
+
* Get the database actions
|
|
164
|
+
*
|
|
165
|
+
* @returns the database actions
|
|
166
|
+
*/
|
|
167
|
+
getOriginActions(): ImbricateOriginAction[];
|
|
168
|
+
/**
|
|
169
|
+
* Execute the database action
|
|
170
|
+
*
|
|
171
|
+
* @param input the input of the action
|
|
172
|
+
*
|
|
173
|
+
* @returns the result of the action
|
|
174
|
+
*/
|
|
175
|
+
executeOriginAction(input: ImbricateOriginActionInput): PromiseLike<ImbricateOriginActionOutcome>;
|
|
161
176
|
}
|
package/database/validate.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.validateImbricateDocumentQuery = void 0;
|
|
9
|
-
const definition_1 = require("
|
|
9
|
+
const definition_1 = require("../common/definition");
|
|
10
10
|
/**
|
|
11
11
|
* Validate imbricate document query
|
|
12
12
|
*
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
* @namespace DatabaseManager
|
|
4
4
|
* @description Full Feature
|
|
5
5
|
*/
|
|
6
|
-
import { ImbricateDatabaseAuditOptions } from "../../database/definition";
|
|
6
|
+
import { ImbricateDatabaseAuditOptions, ImbricateDocumentQuery } from "../../database/definition";
|
|
7
7
|
import { ImbricateDatabaseSchemaForCreation } from "../../database/schema";
|
|
8
8
|
import { IImbricateDatabaseManager } from "../database-manager";
|
|
9
9
|
import { IMBRICATE_DATABASE_MANAGER_FEATURE } from "../feature";
|
|
10
|
-
import { ImbricateDatabaseManagerCreateDatabaseOutcome, ImbricateDatabaseManagerGetDatabaseOutcome,
|
|
10
|
+
import { ImbricateDatabaseManagerCreateDatabaseOutcome, ImbricateDatabaseManagerGetDatabaseOutcome, ImbricateDatabaseManagerQueryDatabasesOutcome, ImbricateDatabaseManagerRemoveDatabaseOutcome } from "../outcome";
|
|
11
11
|
export declare abstract class ImbricateDatabaseManagerFullFeatureBase implements IImbricateDatabaseManager {
|
|
12
12
|
readonly supportedFeatures: IMBRICATE_DATABASE_MANAGER_FEATURE[];
|
|
13
|
-
abstract
|
|
13
|
+
abstract queryDatabases(query: ImbricateDocumentQuery): PromiseLike<ImbricateDatabaseManagerQueryDatabasesOutcome>;
|
|
14
14
|
abstract getDatabase(uniqueIdentifier: string): PromiseLike<ImbricateDatabaseManagerGetDatabaseOutcome>;
|
|
15
15
|
abstract createDatabase(databaseName: string, schema: ImbricateDatabaseSchemaForCreation, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<ImbricateDatabaseManagerCreateDatabaseOutcome>;
|
|
16
16
|
abstract removeDatabase(uniqueIdentifier: string): PromiseLike<ImbricateDatabaseManagerRemoveDatabaseOutcome>;
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { ImbricateDatabaseAuditOptions } from "../database/definition";
|
|
7
7
|
import { ImbricateDatabaseSchemaForCreation } from "../database/schema";
|
|
8
|
+
import { ImbricateDatabaseQuery } from "./definition";
|
|
8
9
|
import { IMBRICATE_DATABASE_MANAGER_FEATURE } from "./feature";
|
|
9
|
-
import { ImbricateDatabaseManagerCreateDatabaseOutcome, ImbricateDatabaseManagerGetDatabaseOutcome,
|
|
10
|
+
import { ImbricateDatabaseManagerCreateDatabaseOutcome, ImbricateDatabaseManagerGetDatabaseOutcome, ImbricateDatabaseManagerQueryDatabasesOutcome, ImbricateDatabaseManagerRemoveDatabaseOutcome } from "./outcome";
|
|
10
11
|
export interface IImbricateDatabaseManager {
|
|
11
12
|
/**
|
|
12
13
|
* Supported features of the database manager
|
|
@@ -18,7 +19,7 @@ export interface IImbricateDatabaseManager {
|
|
|
18
19
|
* @returns a promise of the databases in the origin
|
|
19
20
|
* Symbol: S_DatabaseManager_ListDatabases_Stale - if the databases are stale
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
|
+
queryDatabases(query: ImbricateDatabaseQuery): PromiseLike<ImbricateDatabaseManagerQueryDatabasesOutcome>;
|
|
22
23
|
/**
|
|
23
24
|
* Get one database from the origin
|
|
24
25
|
*
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author WMXPY
|
|
3
|
+
* @namespace DatabaseManager
|
|
4
|
+
* @description Definition
|
|
5
|
+
*/
|
|
6
|
+
import { IMBRICATE_QUERY_ATTRIBUTE, IMBRICATE_QUERY_COMPARE_CONDITION } from "../common/definition";
|
|
7
|
+
export type ImbricateDatabaseQueryAnnotationFilter = {
|
|
8
|
+
readonly namespace: string;
|
|
9
|
+
readonly identifier: string;
|
|
10
|
+
readonly attribute: IMBRICATE_QUERY_ATTRIBUTE;
|
|
11
|
+
readonly condition: IMBRICATE_QUERY_COMPARE_CONDITION;
|
|
12
|
+
readonly value: any;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Query of the database
|
|
16
|
+
*
|
|
17
|
+
* @param limit limit of the query
|
|
18
|
+
* @param skip skip of the query
|
|
19
|
+
*/
|
|
20
|
+
export type ImbricateDatabaseQuery = {
|
|
21
|
+
readonly limit?: number;
|
|
22
|
+
readonly skip?: number;
|
|
23
|
+
readonly annotationFilters?: ImbricateDatabaseQueryAnnotationFilter[];
|
|
24
|
+
};
|
|
@@ -22,5 +22,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
22
22
|
__exportStar(require("./base-class/full-feature"), exports);
|
|
23
23
|
__exportStar(require("./base-class/readonly"), exports);
|
|
24
24
|
__exportStar(require("./database-manager"), exports);
|
|
25
|
+
__exportStar(require("./definition"), exports);
|
|
25
26
|
__exportStar(require("./feature"), exports);
|
|
26
27
|
__exportStar(require("./outcome"), exports);
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { CommonOutcomeSymbol } from "../common/outcome";
|
|
7
7
|
import { IImbricateDatabase } from "../database/interface";
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
10
|
-
export type
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
13
|
-
export type
|
|
8
|
+
export declare const S_DatabaseManager_QueryDatabases_Stale: unique symbol;
|
|
9
|
+
export declare const S_DatabaseManager_QueryDatabases_Unknown: unique symbol;
|
|
10
|
+
export type ImbricateDatabaseManagerQueryDatabasesOutcomeSymbol = typeof S_DatabaseManager_QueryDatabases_Stale | typeof S_DatabaseManager_QueryDatabases_Unknown;
|
|
11
|
+
export declare const ImbricateDatabaseManagerQueryDatabasesOutcomeSymbolList: ImbricateDatabaseManagerQueryDatabasesOutcomeSymbol[];
|
|
12
|
+
export declare const rebuildImbricateDatabaseManagerQueryDatabasesSymbol: (symbolDescription: string) => CommonOutcomeSymbol | ImbricateDatabaseManagerQueryDatabasesOutcomeSymbol;
|
|
13
|
+
export type ImbricateDatabaseManagerQueryDatabasesOutcome = {
|
|
14
14
|
readonly databases: IImbricateDatabase[];
|
|
15
|
-
} | CommonOutcomeSymbol |
|
|
15
|
+
} | CommonOutcomeSymbol | ImbricateDatabaseManagerQueryDatabasesOutcomeSymbol;
|
|
16
16
|
export declare const S_DatabaseManager_GetDatabase_NotFound: unique symbol;
|
|
17
17
|
export declare const S_DatabaseManager_GetDatabase_Unknown: unique symbol;
|
|
18
18
|
export type ImbricateDatabaseManagerGetDatabaseOutcomeSymbol = typeof S_DatabaseManager_GetDatabase_NotFound | typeof S_DatabaseManager_GetDatabase_Unknown;
|
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
* @description Outcome
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.rebuildImbricateDatabaseManagerRemoveDatabaseSymbol = exports.ImbricateDatabaseManagerRemoveDatabaseOutcomeSymbolList = exports.S_DatabaseManager_RemoveDatabase_Unknown = exports.S_DatabaseManager_RemoveDatabase_NotFound = exports.rebuildImbricateDatabaseManagerCreateDatabaseSymbol = exports.ImbricateDatabaseManagerCreateDatabaseOutcomeSymbolList = exports.S_DatabaseManager_CreateDatabase_Unknown = exports.S_DatabaseManager_CreateDatabase_InvalidSchema = exports.S_DatabaseManager_CreateDatabase_DatabaseNameDuplicated = exports.S_DatabaseManager_CreateDatabase_IdentifierDuplicated = exports.rebuildImbricateDatabaseManagerGetDatabaseSymbol = exports.ImbricateDatabaseManagerGetDatabaseOutcomeSymbolList = exports.S_DatabaseManager_GetDatabase_Unknown = exports.S_DatabaseManager_GetDatabase_NotFound = exports.
|
|
8
|
+
exports.rebuildImbricateDatabaseManagerRemoveDatabaseSymbol = exports.ImbricateDatabaseManagerRemoveDatabaseOutcomeSymbolList = exports.S_DatabaseManager_RemoveDatabase_Unknown = exports.S_DatabaseManager_RemoveDatabase_NotFound = exports.rebuildImbricateDatabaseManagerCreateDatabaseSymbol = exports.ImbricateDatabaseManagerCreateDatabaseOutcomeSymbolList = exports.S_DatabaseManager_CreateDatabase_Unknown = exports.S_DatabaseManager_CreateDatabase_InvalidSchema = exports.S_DatabaseManager_CreateDatabase_DatabaseNameDuplicated = exports.S_DatabaseManager_CreateDatabase_IdentifierDuplicated = exports.rebuildImbricateDatabaseManagerGetDatabaseSymbol = exports.ImbricateDatabaseManagerGetDatabaseOutcomeSymbolList = exports.S_DatabaseManager_GetDatabase_Unknown = exports.S_DatabaseManager_GetDatabase_NotFound = exports.rebuildImbricateDatabaseManagerQueryDatabasesSymbol = exports.ImbricateDatabaseManagerQueryDatabasesOutcomeSymbolList = exports.S_DatabaseManager_QueryDatabases_Unknown = exports.S_DatabaseManager_QueryDatabases_Stale = void 0;
|
|
9
9
|
const rebuild_symbol_1 = require("../util/rebuild-symbol");
|
|
10
|
-
// Manager
|
|
11
|
-
exports.
|
|
12
|
-
exports.
|
|
13
|
-
exports.
|
|
14
|
-
exports.
|
|
15
|
-
exports.
|
|
10
|
+
// Manager Query Databases
|
|
11
|
+
exports.S_DatabaseManager_QueryDatabases_Stale = Symbol("DatabaseManager_QueryDatabases_Stale");
|
|
12
|
+
exports.S_DatabaseManager_QueryDatabases_Unknown = Symbol("DatabaseManager_QueryDatabases_Unknown");
|
|
13
|
+
exports.ImbricateDatabaseManagerQueryDatabasesOutcomeSymbolList = [
|
|
14
|
+
exports.S_DatabaseManager_QueryDatabases_Stale,
|
|
15
|
+
exports.S_DatabaseManager_QueryDatabases_Unknown,
|
|
16
16
|
];
|
|
17
|
-
exports.
|
|
17
|
+
exports.rebuildImbricateDatabaseManagerQueryDatabasesSymbol = (0, rebuild_symbol_1.createRebuildImbricateSymbolFunction)(exports.ImbricateDatabaseManagerQueryDatabasesOutcomeSymbolList, exports.S_DatabaseManager_QueryDatabases_Unknown);
|
|
18
18
|
// Manager Get Database
|
|
19
19
|
exports.S_DatabaseManager_GetDatabase_NotFound = Symbol("DatabaseManager_GetDatabase_NotFound");
|
|
20
20
|
exports.S_DatabaseManager_GetDatabase_Unknown = Symbol("DatabaseManager_GetDatabase_Unknown");
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author WMXPY
|
|
3
|
+
* @namespace Document
|
|
4
|
+
* @description Full Feature
|
|
5
|
+
*/
|
|
6
|
+
import { ImbricateOriginAction, ImbricateOriginActionInput, ImbricateOriginActionOutcome } from "../../common/action";
|
|
7
|
+
import { DocumentAnnotationValue, DocumentAnnotations, DocumentEditRecord, ImbricateDocumentAuditOptions } from "../definition";
|
|
8
|
+
import { IMBRICATE_DOCUMENT_FEATURE } from "../feature";
|
|
9
|
+
import { IImbricateDocument } from "../interface";
|
|
10
|
+
import { ImbricateDocumentAddEditRecordsOutcome, ImbricateDocumentDeleteAnnotationOutcome, ImbricateDocumentGetEditRecordsOutcome, ImbricateDocumentPutAnnotationOutcome, ImbricateDocumentPutPropertyOutcome } from "../outcome";
|
|
11
|
+
import { DocumentProperties } from "../property";
|
|
12
|
+
export declare abstract class ImbricateDocumentFullFeatureWithActionBase implements IImbricateDocument {
|
|
13
|
+
abstract readonly uniqueIdentifier: string;
|
|
14
|
+
abstract readonly documentVersion: string;
|
|
15
|
+
abstract readonly properties: DocumentProperties;
|
|
16
|
+
abstract readonly annotations: DocumentAnnotations;
|
|
17
|
+
readonly supportedFeatures: IMBRICATE_DOCUMENT_FEATURE[];
|
|
18
|
+
abstract mergeProperties(properties: DocumentProperties, auditOptions?: ImbricateDocumentAuditOptions): Promise<ImbricateDocumentPutPropertyOutcome>;
|
|
19
|
+
abstract replaceProperties(properties: DocumentProperties, auditOptions?: ImbricateDocumentAuditOptions): Promise<ImbricateDocumentPutPropertyOutcome>;
|
|
20
|
+
abstract putAnnotation(namespace: string, identifier: string, value: DocumentAnnotationValue, auditOptions?: ImbricateDocumentAuditOptions): Promise<ImbricateDocumentPutAnnotationOutcome>;
|
|
21
|
+
abstract deleteAnnotation(namespace: string, identifier: string, auditOptions?: ImbricateDocumentAuditOptions): Promise<ImbricateDocumentDeleteAnnotationOutcome>;
|
|
22
|
+
abstract addEditRecords(records: DocumentEditRecord[]): Promise<ImbricateDocumentAddEditRecordsOutcome>;
|
|
23
|
+
abstract getEditRecords(): Promise<ImbricateDocumentGetEditRecordsOutcome>;
|
|
24
|
+
abstract getOriginActions(): ImbricateOriginAction[];
|
|
25
|
+
abstract executeOriginAction(input: ImbricateOriginActionInput): Promise<ImbricateOriginActionOutcome>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @author WMXPY
|
|
4
|
+
* @namespace Document
|
|
5
|
+
* @description Full Feature
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ImbricateDocumentFullFeatureWithActionBase = void 0;
|
|
9
|
+
const feature_1 = require("../feature");
|
|
10
|
+
class ImbricateDocumentFullFeatureWithActionBase {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.supportedFeatures = [
|
|
13
|
+
feature_1.IMBRICATE_DOCUMENT_FEATURE.DOCUMENT_PUT_PROPERTY,
|
|
14
|
+
feature_1.IMBRICATE_DOCUMENT_FEATURE.DOCUMENT_PUT_ANNOTATION,
|
|
15
|
+
feature_1.IMBRICATE_DOCUMENT_FEATURE.DOCUMENT_DELETE_ANNOTATION,
|
|
16
|
+
feature_1.IMBRICATE_DOCUMENT_FEATURE.DOCUMENT_PUT_EDIT_RECORD,
|
|
17
|
+
feature_1.IMBRICATE_DOCUMENT_FEATURE.DOCUMENT_GET_EDIT_RECORD,
|
|
18
|
+
feature_1.IMBRICATE_DOCUMENT_FEATURE.DOCUMENT_GET_ORIGIN_ACTIONS,
|
|
19
|
+
feature_1.IMBRICATE_DOCUMENT_FEATURE.DOCUMENT_EXECUTE_ORIGIN_ACTION,
|
|
20
|
+
];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.ImbricateDocumentFullFeatureWithActionBase = ImbricateDocumentFullFeatureWithActionBase;
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
* @namespace Document
|
|
4
4
|
* @description Full Feature
|
|
5
5
|
*/
|
|
6
|
+
import { ImbricateOriginAction, ImbricateOriginActionInput, ImbricateOriginActionOutcome } from "../../common/action";
|
|
6
7
|
import { DocumentAnnotationValue, DocumentAnnotations, DocumentEditRecord, ImbricateDocumentAuditOptions } from "../definition";
|
|
7
8
|
import { IMBRICATE_DOCUMENT_FEATURE } from "../feature";
|
|
8
9
|
import { IImbricateDocument } from "../interface";
|
|
9
10
|
import { ImbricateDocumentAddEditRecordsOutcome, ImbricateDocumentDeleteAnnotationOutcome, ImbricateDocumentGetEditRecordsOutcome, ImbricateDocumentPutAnnotationOutcome, ImbricateDocumentPutPropertyOutcome } from "../outcome";
|
|
10
11
|
import { DocumentProperties } from "../property";
|
|
11
|
-
|
|
12
|
+
import { ImbricateDocumentFullFeatureWithActionBase } from "./full-feature-with-action";
|
|
13
|
+
export declare abstract class ImbricateDocumentFullFeatureBase extends ImbricateDocumentFullFeatureWithActionBase implements IImbricateDocument {
|
|
12
14
|
abstract readonly uniqueIdentifier: string;
|
|
13
15
|
abstract readonly documentVersion: string;
|
|
14
16
|
abstract readonly properties: DocumentProperties;
|
|
@@ -20,4 +22,6 @@ export declare abstract class ImbricateDocumentFullFeatureBase implements IImbri
|
|
|
20
22
|
abstract deleteAnnotation(namespace: string, identifier: string, auditOptions?: ImbricateDocumentAuditOptions): Promise<ImbricateDocumentDeleteAnnotationOutcome>;
|
|
21
23
|
abstract addEditRecords(records: DocumentEditRecord[]): Promise<ImbricateDocumentAddEditRecordsOutcome>;
|
|
22
24
|
abstract getEditRecords(): Promise<ImbricateDocumentGetEditRecordsOutcome>;
|
|
25
|
+
getOriginActions(): ImbricateOriginAction[];
|
|
26
|
+
executeOriginAction(_input: ImbricateOriginActionInput): Promise<ImbricateOriginActionOutcome>;
|
|
23
27
|
}
|
|
@@ -6,9 +6,12 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.ImbricateDocumentFullFeatureBase = void 0;
|
|
9
|
+
const feature_not_supported_1 = require("../../error/document/feature-not-supported");
|
|
9
10
|
const feature_1 = require("../feature");
|
|
10
|
-
|
|
11
|
+
const full_feature_with_action_1 = require("./full-feature-with-action");
|
|
12
|
+
class ImbricateDocumentFullFeatureBase extends full_feature_with_action_1.ImbricateDocumentFullFeatureWithActionBase {
|
|
11
13
|
constructor() {
|
|
14
|
+
super(...arguments);
|
|
12
15
|
this.supportedFeatures = [
|
|
13
16
|
feature_1.IMBRICATE_DOCUMENT_FEATURE.DOCUMENT_PUT_PROPERTY,
|
|
14
17
|
feature_1.IMBRICATE_DOCUMENT_FEATURE.DOCUMENT_PUT_ANNOTATION,
|
|
@@ -17,5 +20,11 @@ class ImbricateDocumentFullFeatureBase {
|
|
|
17
20
|
feature_1.IMBRICATE_DOCUMENT_FEATURE.DOCUMENT_GET_EDIT_RECORD,
|
|
18
21
|
];
|
|
19
22
|
}
|
|
23
|
+
getOriginActions() {
|
|
24
|
+
throw feature_not_supported_1.ImbricateDocumentFeatureNotSupportedError.withFeature(feature_1.IMBRICATE_DOCUMENT_FEATURE.DOCUMENT_GET_ORIGIN_ACTIONS);
|
|
25
|
+
}
|
|
26
|
+
executeOriginAction(_input) {
|
|
27
|
+
throw feature_not_supported_1.ImbricateDocumentFeatureNotSupportedError.withFeature(feature_1.IMBRICATE_DOCUMENT_FEATURE.DOCUMENT_EXECUTE_ORIGIN_ACTION);
|
|
28
|
+
}
|
|
20
29
|
}
|
|
21
30
|
exports.ImbricateDocumentFullFeatureBase = ImbricateDocumentFullFeatureBase;
|
package/document/export.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export * from "./base-class/exclude-annotation";
|
|
|
9
9
|
export * from "./base-class/exclude-edit-records";
|
|
10
10
|
export * from "./base-class/full-feature";
|
|
11
11
|
export * from "./base-class/full-feature-readonly";
|
|
12
|
+
export * from "./base-class/full-feature-with-action";
|
|
12
13
|
export * from "./definition";
|
|
13
14
|
export * from "./feature";
|
|
14
15
|
export * from "./interface";
|
package/document/export.js
CHANGED
|
@@ -25,6 +25,7 @@ __exportStar(require("./base-class/exclude-annotation"), exports);
|
|
|
25
25
|
__exportStar(require("./base-class/exclude-edit-records"), exports);
|
|
26
26
|
__exportStar(require("./base-class/full-feature"), exports);
|
|
27
27
|
__exportStar(require("./base-class/full-feature-readonly"), exports);
|
|
28
|
+
__exportStar(require("./base-class/full-feature-with-action"), exports);
|
|
28
29
|
__exportStar(require("./definition"), exports);
|
|
29
30
|
__exportStar(require("./feature"), exports);
|
|
30
31
|
__exportStar(require("./interface"), exports);
|
package/document/feature.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export declare enum IMBRICATE_DOCUMENT_FEATURE {
|
|
|
8
8
|
DOCUMENT_PUT_ANNOTATION = "DOCUMENT_PUT_ANNOTATION",
|
|
9
9
|
DOCUMENT_DELETE_ANNOTATION = "DOCUMENT_DELETE_ANNOTATION",
|
|
10
10
|
DOCUMENT_PUT_EDIT_RECORD = "DOCUMENT_PUT_EDIT_RECORD",
|
|
11
|
-
DOCUMENT_GET_EDIT_RECORD = "DOCUMENT_GET_EDIT_RECORD"
|
|
11
|
+
DOCUMENT_GET_EDIT_RECORD = "DOCUMENT_GET_EDIT_RECORD",
|
|
12
|
+
DOCUMENT_GET_ORIGIN_ACTIONS = "DOCUMENT_GET_ORIGIN_ACTIONS",
|
|
13
|
+
DOCUMENT_EXECUTE_ORIGIN_ACTION = "DOCUMENT_EXECUTE_ORIGIN_ACTION"
|
|
12
14
|
}
|
|
13
15
|
export declare const checkImbricateDocumentFeatureSupported: (features: IMBRICATE_DOCUMENT_FEATURE[], feature: IMBRICATE_DOCUMENT_FEATURE) => boolean;
|
package/document/feature.js
CHANGED
|
@@ -13,6 +13,8 @@ var IMBRICATE_DOCUMENT_FEATURE;
|
|
|
13
13
|
IMBRICATE_DOCUMENT_FEATURE["DOCUMENT_DELETE_ANNOTATION"] = "DOCUMENT_DELETE_ANNOTATION";
|
|
14
14
|
IMBRICATE_DOCUMENT_FEATURE["DOCUMENT_PUT_EDIT_RECORD"] = "DOCUMENT_PUT_EDIT_RECORD";
|
|
15
15
|
IMBRICATE_DOCUMENT_FEATURE["DOCUMENT_GET_EDIT_RECORD"] = "DOCUMENT_GET_EDIT_RECORD";
|
|
16
|
+
IMBRICATE_DOCUMENT_FEATURE["DOCUMENT_GET_ORIGIN_ACTIONS"] = "DOCUMENT_GET_ORIGIN_ACTIONS";
|
|
17
|
+
IMBRICATE_DOCUMENT_FEATURE["DOCUMENT_EXECUTE_ORIGIN_ACTION"] = "DOCUMENT_EXECUTE_ORIGIN_ACTION";
|
|
16
18
|
})(IMBRICATE_DOCUMENT_FEATURE || (exports.IMBRICATE_DOCUMENT_FEATURE = IMBRICATE_DOCUMENT_FEATURE = {}));
|
|
17
19
|
const checkImbricateDocumentFeatureSupported = (features, feature) => {
|
|
18
20
|
return features.includes(feature);
|
package/document/interface.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @namespace Document
|
|
4
4
|
* @description Interface
|
|
5
5
|
*/
|
|
6
|
+
import { ImbricateOriginAction, ImbricateOriginActionInput, ImbricateOriginActionOutcome } from "../common/action";
|
|
6
7
|
import { DocumentAnnotationValue, DocumentAnnotations, DocumentEditRecord, ImbricateDocumentAuditOptions } from "./definition";
|
|
7
8
|
import { IMBRICATE_DOCUMENT_FEATURE } from "./feature";
|
|
8
9
|
import { ImbricateDocumentAddEditRecordsOutcome, ImbricateDocumentDeleteAnnotationOutcome, ImbricateDocumentGetEditRecordsOutcome, ImbricateDocumentPutAnnotationOutcome, ImbricateDocumentPutPropertyOutcome } from "./outcome";
|
|
@@ -106,4 +107,18 @@ export interface IImbricateDocument {
|
|
|
106
107
|
* Symbol: S_Document_GetEditRecords_NotFound - if the edit records are not found
|
|
107
108
|
*/
|
|
108
109
|
getEditRecords(): PromiseLike<ImbricateDocumentGetEditRecordsOutcome>;
|
|
110
|
+
/**
|
|
111
|
+
* Get the document actions
|
|
112
|
+
*
|
|
113
|
+
* @returns the document actions
|
|
114
|
+
*/
|
|
115
|
+
getOriginActions(): ImbricateOriginAction[];
|
|
116
|
+
/**
|
|
117
|
+
* Execute the document action
|
|
118
|
+
*
|
|
119
|
+
* @param input the input of the action
|
|
120
|
+
*
|
|
121
|
+
* @returns the result of the action
|
|
122
|
+
*/
|
|
123
|
+
executeOriginAction(input: ImbricateOriginActionInput): PromiseLike<ImbricateOriginActionOutcome>;
|
|
109
124
|
}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -19,7 +19,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
__exportStar(require("./author/export"), exports);
|
|
22
|
-
__exportStar(require("./common/
|
|
22
|
+
__exportStar(require("./common/export"), exports);
|
|
23
23
|
__exportStar(require("./database-manager/export"), exports);
|
|
24
24
|
__exportStar(require("./database/export"), exports);
|
|
25
25
|
__exportStar(require("./document/export"), exports);
|
|
@@ -13,12 +13,12 @@ class ImbricateOriginEssentialBase extends full_feature_1.ImbricateOriginFullFea
|
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
15
15
|
this.supportedFeatures = [
|
|
16
|
-
feature_1.IMBRICATE_ORIGIN_FEATURE.
|
|
17
|
-
feature_1.IMBRICATE_ORIGIN_FEATURE.
|
|
16
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_DATABASE_MANAGER,
|
|
17
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_TEXT_MANAGER,
|
|
18
18
|
];
|
|
19
19
|
}
|
|
20
20
|
getStaticManager() {
|
|
21
|
-
throw feature_not_supported_1.ImbricateOriginFeatureNotSupportedError.withFeature(feature_1.IMBRICATE_ORIGIN_FEATURE.
|
|
21
|
+
throw feature_not_supported_1.ImbricateOriginFeatureNotSupportedError.withFeature(feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_STATIC_MANAGER);
|
|
22
22
|
}
|
|
23
23
|
search(_keyword) {
|
|
24
24
|
throw feature_not_supported_1.ImbricateOriginFeatureNotSupportedError.withFeature(feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_SEARCH);
|
|
@@ -13,13 +13,13 @@ class ImbricateOriginExcludeStaticBase extends full_feature_1.ImbricateOriginFul
|
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
15
15
|
this.supportedFeatures = [
|
|
16
|
-
feature_1.IMBRICATE_ORIGIN_FEATURE.
|
|
17
|
-
feature_1.IMBRICATE_ORIGIN_FEATURE.
|
|
16
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_DATABASE_MANAGER,
|
|
17
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_TEXT_MANAGER,
|
|
18
18
|
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_SEARCH,
|
|
19
19
|
];
|
|
20
20
|
}
|
|
21
21
|
getStaticManager() {
|
|
22
|
-
throw feature_not_supported_1.ImbricateOriginFeatureNotSupportedError.withFeature(feature_1.IMBRICATE_ORIGIN_FEATURE.
|
|
22
|
+
throw feature_not_supported_1.ImbricateOriginFeatureNotSupportedError.withFeature(feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_STATIC_MANAGER);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
exports.ImbricateOriginExcludeStaticBase = ImbricateOriginExcludeStaticBase;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author WMXPY
|
|
3
|
+
* @namespace Origin
|
|
4
|
+
* @description Full Feature
|
|
5
|
+
*/
|
|
6
|
+
import { ImbricateOriginAction, ImbricateOriginActionInput, ImbricateOriginActionOutcome } from "../../common/action";
|
|
7
|
+
import { IImbricateDatabaseManager } from "../../database-manager/database-manager";
|
|
8
|
+
import { IImbricateStaticManager } from "../../static-manager/static-manager";
|
|
9
|
+
import { IImbricateTextManager } from "../../text-manager/text-manager";
|
|
10
|
+
import { OriginPayload } from "../definition";
|
|
11
|
+
import { IMBRICATE_ORIGIN_FEATURE } from "../feature";
|
|
12
|
+
import { IImbricateOrigin } from "../interface";
|
|
13
|
+
import { ImbricateOriginSearchOutcome } from "../outcome";
|
|
14
|
+
export declare abstract class ImbricateOriginFullFeatureWithActionBase implements IImbricateOrigin {
|
|
15
|
+
abstract readonly uniqueIdentifier: string;
|
|
16
|
+
abstract readonly payloads: OriginPayload;
|
|
17
|
+
readonly supportedFeatures: IMBRICATE_ORIGIN_FEATURE[];
|
|
18
|
+
abstract getDatabaseManager(): IImbricateDatabaseManager;
|
|
19
|
+
abstract getTextManager(): IImbricateTextManager;
|
|
20
|
+
abstract getStaticManager(): IImbricateStaticManager;
|
|
21
|
+
abstract search(keyword: string): PromiseLike<ImbricateOriginSearchOutcome>;
|
|
22
|
+
abstract getOriginActions(): ImbricateOriginAction[];
|
|
23
|
+
abstract executeOriginAction(input: ImbricateOriginActionInput): PromiseLike<ImbricateOriginActionOutcome>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @author WMXPY
|
|
4
|
+
* @namespace Origin
|
|
5
|
+
* @description Full Feature
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ImbricateOriginFullFeatureWithActionBase = void 0;
|
|
9
|
+
const feature_1 = require("../feature");
|
|
10
|
+
class ImbricateOriginFullFeatureWithActionBase {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.supportedFeatures = [
|
|
13
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_DATABASE_MANAGER,
|
|
14
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_TEXT_MANAGER,
|
|
15
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_STATIC_MANAGER,
|
|
16
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_SEARCH,
|
|
17
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_GET_ORIGIN_ACTIONS,
|
|
18
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_EXECUTE_ORIGIN_ACTION,
|
|
19
|
+
];
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.ImbricateOriginFullFeatureWithActionBase = ImbricateOriginFullFeatureWithActionBase;
|
|
@@ -3,19 +3,14 @@
|
|
|
3
3
|
* @namespace Origin
|
|
4
4
|
* @description Full Feature
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import { IImbricateStaticManager } from "../../static-manager/static-manager";
|
|
8
|
-
import { IImbricateTextManager } from "../../text-manager/text-manager";
|
|
9
|
-
import { OriginPayload } from "../definition";
|
|
6
|
+
import { ImbricateOriginAction, ImbricateOriginActionInput, ImbricateOriginActionOutcome } from "../../common/action";
|
|
10
7
|
import { IMBRICATE_ORIGIN_FEATURE } from "../feature";
|
|
11
8
|
import { IImbricateOrigin } from "../interface";
|
|
12
9
|
import { ImbricateOriginSearchOutcome } from "../outcome";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
abstract readonly payloads: OriginPayload;
|
|
10
|
+
import { ImbricateOriginFullFeatureWithActionBase } from "./full-feature-with-action";
|
|
11
|
+
export declare abstract class ImbricateOriginFullFeatureBase extends ImbricateOriginFullFeatureWithActionBase implements IImbricateOrigin {
|
|
16
12
|
readonly supportedFeatures: IMBRICATE_ORIGIN_FEATURE[];
|
|
17
|
-
abstract getDatabaseManager(): IImbricateDatabaseManager;
|
|
18
|
-
abstract getTextManager(): IImbricateTextManager;
|
|
19
|
-
abstract getStaticManager(): IImbricateStaticManager;
|
|
20
13
|
abstract search(keyword: string): PromiseLike<ImbricateOriginSearchOutcome>;
|
|
14
|
+
getOriginActions(): ImbricateOriginAction[];
|
|
15
|
+
executeOriginAction(_input: ImbricateOriginActionInput): PromiseLike<ImbricateOriginActionOutcome>;
|
|
21
16
|
}
|
|
@@ -6,15 +6,24 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.ImbricateOriginFullFeatureBase = void 0;
|
|
9
|
+
const feature_not_supported_1 = require("../../error/origin/feature-not-supported");
|
|
9
10
|
const feature_1 = require("../feature");
|
|
10
|
-
|
|
11
|
+
const full_feature_with_action_1 = require("./full-feature-with-action");
|
|
12
|
+
class ImbricateOriginFullFeatureBase extends full_feature_with_action_1.ImbricateOriginFullFeatureWithActionBase {
|
|
11
13
|
constructor() {
|
|
14
|
+
super(...arguments);
|
|
12
15
|
this.supportedFeatures = [
|
|
13
|
-
feature_1.IMBRICATE_ORIGIN_FEATURE.
|
|
14
|
-
feature_1.IMBRICATE_ORIGIN_FEATURE.
|
|
15
|
-
feature_1.IMBRICATE_ORIGIN_FEATURE.
|
|
16
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_DATABASE_MANAGER,
|
|
17
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_TEXT_MANAGER,
|
|
18
|
+
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_STATIC_MANAGER,
|
|
16
19
|
feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_SEARCH,
|
|
17
20
|
];
|
|
18
21
|
}
|
|
22
|
+
getOriginActions() {
|
|
23
|
+
throw feature_not_supported_1.ImbricateOriginFeatureNotSupportedError.withFeature(feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_GET_ORIGIN_ACTIONS);
|
|
24
|
+
}
|
|
25
|
+
executeOriginAction(_input) {
|
|
26
|
+
throw feature_not_supported_1.ImbricateOriginFeatureNotSupportedError.withFeature(feature_1.IMBRICATE_ORIGIN_FEATURE.ORIGIN_EXECUTE_ORIGIN_ACTION);
|
|
27
|
+
}
|
|
19
28
|
}
|
|
20
29
|
exports.ImbricateOriginFullFeatureBase = ImbricateOriginFullFeatureBase;
|
package/origin/export.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
export * from "./base-class/essential";
|
|
7
7
|
export * from "./base-class/exclude-static";
|
|
8
8
|
export * from "./base-class/full-feature";
|
|
9
|
+
export * from "./base-class/full-feature-with-action";
|
|
9
10
|
export * from "./definition";
|
|
10
11
|
export * from "./interface";
|
|
11
12
|
export * from "./outcome";
|
package/origin/export.js
CHANGED
|
@@ -22,6 +22,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
22
22
|
__exportStar(require("./base-class/essential"), exports);
|
|
23
23
|
__exportStar(require("./base-class/exclude-static"), exports);
|
|
24
24
|
__exportStar(require("./base-class/full-feature"), exports);
|
|
25
|
+
__exportStar(require("./base-class/full-feature-with-action"), exports);
|
|
25
26
|
__exportStar(require("./definition"), exports);
|
|
26
27
|
__exportStar(require("./interface"), exports);
|
|
27
28
|
__exportStar(require("./outcome"), exports);
|
package/origin/feature.d.ts
CHANGED
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
* @description Feature
|
|
5
5
|
*/
|
|
6
6
|
export declare enum IMBRICATE_ORIGIN_FEATURE {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
ORIGIN_SEARCH = "ORIGIN_SEARCH"
|
|
7
|
+
ORIGIN_DATABASE_MANAGER = "ORIGIN_DATABASE_MANAGER",
|
|
8
|
+
ORIGIN_TEXT_MANAGER = "ORIGIN_TEXT_MANAGER",
|
|
9
|
+
ORIGIN_STATIC_MANAGER = "ORIGIN_STATIC_MANAGER",
|
|
10
|
+
ORIGIN_SEARCH = "ORIGIN_SEARCH",
|
|
11
|
+
ORIGIN_GET_ORIGIN_ACTIONS = "ORIGIN_GET_ORIGIN_ACTIONS",
|
|
12
|
+
ORIGIN_EXECUTE_ORIGIN_ACTION = "ORIGIN_EXECUTE_ORIGIN_ACTION"
|
|
11
13
|
}
|
|
12
14
|
export declare const checkImbricateOriginFeatureSupported: (features: IMBRICATE_ORIGIN_FEATURE[], feature: IMBRICATE_ORIGIN_FEATURE) => boolean;
|
package/origin/feature.js
CHANGED
|
@@ -8,10 +8,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
exports.checkImbricateOriginFeatureSupported = exports.IMBRICATE_ORIGIN_FEATURE = void 0;
|
|
9
9
|
var IMBRICATE_ORIGIN_FEATURE;
|
|
10
10
|
(function (IMBRICATE_ORIGIN_FEATURE) {
|
|
11
|
-
IMBRICATE_ORIGIN_FEATURE["
|
|
12
|
-
IMBRICATE_ORIGIN_FEATURE["
|
|
13
|
-
IMBRICATE_ORIGIN_FEATURE["
|
|
11
|
+
IMBRICATE_ORIGIN_FEATURE["ORIGIN_DATABASE_MANAGER"] = "ORIGIN_DATABASE_MANAGER";
|
|
12
|
+
IMBRICATE_ORIGIN_FEATURE["ORIGIN_TEXT_MANAGER"] = "ORIGIN_TEXT_MANAGER";
|
|
13
|
+
IMBRICATE_ORIGIN_FEATURE["ORIGIN_STATIC_MANAGER"] = "ORIGIN_STATIC_MANAGER";
|
|
14
14
|
IMBRICATE_ORIGIN_FEATURE["ORIGIN_SEARCH"] = "ORIGIN_SEARCH";
|
|
15
|
+
IMBRICATE_ORIGIN_FEATURE["ORIGIN_GET_ORIGIN_ACTIONS"] = "ORIGIN_GET_ORIGIN_ACTIONS";
|
|
16
|
+
IMBRICATE_ORIGIN_FEATURE["ORIGIN_EXECUTE_ORIGIN_ACTION"] = "ORIGIN_EXECUTE_ORIGIN_ACTION";
|
|
15
17
|
})(IMBRICATE_ORIGIN_FEATURE || (exports.IMBRICATE_ORIGIN_FEATURE = IMBRICATE_ORIGIN_FEATURE = {}));
|
|
16
18
|
const checkImbricateOriginFeatureSupported = (features, feature) => {
|
|
17
19
|
return features.includes(feature);
|
package/origin/interface.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @namespace Origin
|
|
4
4
|
* @description Interface
|
|
5
5
|
*/
|
|
6
|
+
import { ImbricateOriginAction, ImbricateOriginActionInput, ImbricateOriginActionOutcome } from "../common/action";
|
|
6
7
|
import { IImbricateDatabaseManager } from "../database-manager/database-manager";
|
|
7
8
|
import { IImbricateStaticManager } from "../static-manager/static-manager";
|
|
8
9
|
import { IImbricateTextManager } from "../text-manager/text-manager";
|
|
@@ -61,4 +62,18 @@ export interface IImbricateOrigin {
|
|
|
61
62
|
* Symbol: S_Origin_Search_InvalidKeyword - if the keyword is invalid
|
|
62
63
|
*/
|
|
63
64
|
search(keyword: string): PromiseLike<ImbricateOriginSearchOutcome>;
|
|
65
|
+
/**
|
|
66
|
+
* Get the origin actions
|
|
67
|
+
*
|
|
68
|
+
* @returns the origin actions
|
|
69
|
+
*/
|
|
70
|
+
getOriginActions(): ImbricateOriginAction[];
|
|
71
|
+
/**
|
|
72
|
+
* Execute the origin action
|
|
73
|
+
*
|
|
74
|
+
* @param input the input of the action
|
|
75
|
+
*
|
|
76
|
+
* @returns the result of the action
|
|
77
|
+
*/
|
|
78
|
+
executeOriginAction(input: ImbricateOriginActionInput): PromiseLike<ImbricateOriginActionOutcome>;
|
|
64
79
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@imbricate/core",
|
|
3
3
|
"main": "index.js",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.18.0",
|
|
5
5
|
"description": "Imbricate Core, Notebook for Engineers",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -17,5 +17,9 @@
|
|
|
17
17
|
"bugs": {
|
|
18
18
|
"url": "https://github.com/Imbricate/Imbricate/issues"
|
|
19
19
|
},
|
|
20
|
-
"homepage": "https://imbricate.io"
|
|
20
|
+
"homepage": "https://imbricate.io",
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@sudoo/locale": "^2.0.0",
|
|
23
|
+
"@sudoo/magic": "^1.9.0"
|
|
24
|
+
}
|
|
21
25
|
}
|