@imbricate/core 3.12.0 → 3.14.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.
Files changed (114) hide show
  1. package/author/export.d.ts +6 -0
  2. package/author/export.js +22 -0
  3. package/database/export.d.ts +16 -0
  4. package/database/export.js +32 -0
  5. package/database-manager/base-class/full-feature.d.ts +17 -0
  6. package/database-manager/base-class/full-feature.js +19 -0
  7. package/database-manager/base-class/readonly.d.ts +16 -0
  8. package/database-manager/base-class/readonly.js +26 -0
  9. package/database-manager/database-manager.d.ts +52 -0
  10. package/{static/manager.js → database-manager/database-manager.js} +2 -2
  11. package/database-manager/export.d.ts +10 -0
  12. package/database-manager/export.js +26 -0
  13. package/database-manager/feature.d.ts +11 -0
  14. package/database-manager/feature.js +18 -0
  15. package/database-manager/outcome.d.ts +26 -0
  16. package/database-manager/outcome.js +16 -0
  17. package/document/export.d.ts +22 -0
  18. package/document/export.js +38 -0
  19. package/error/database-manager/database-manager-error.d.ts +9 -0
  20. package/error/database-manager/database-manager-error.js +16 -0
  21. package/error/database-manager/feature-not-supported.d.ts +12 -0
  22. package/error/database-manager/feature-not-supported.js +19 -0
  23. package/error/export.d.ts +22 -0
  24. package/error/export.js +38 -0
  25. package/error/origin/feature-not-supported.d.ts +12 -0
  26. package/error/origin/feature-not-supported.js +20 -0
  27. package/error/origin/origin-error.d.ts +9 -0
  28. package/error/origin/origin-error.js +16 -0
  29. package/error/static/feature-not-supported.d.ts +12 -0
  30. package/error/static/feature-not-supported.js +19 -0
  31. package/error/static/static-error.d.ts +9 -0
  32. package/error/static/static-error.js +16 -0
  33. package/error/static-manager/feature-not-supported.d.ts +12 -0
  34. package/error/static-manager/feature-not-supported.js +19 -0
  35. package/error/static-manager/static-manager-error.d.ts +9 -0
  36. package/error/static-manager/static-manager-error.js +16 -0
  37. package/error/text/feature-not-supported.d.ts +12 -0
  38. package/error/text/feature-not-supported.js +19 -0
  39. package/error/text/text-error.d.ts +9 -0
  40. package/error/text/text-error.js +16 -0
  41. package/error/text-manager/feature-not-supported.d.ts +12 -0
  42. package/error/text-manager/feature-not-supported.js +19 -0
  43. package/error/text-manager/text-manager-error.d.ts +9 -0
  44. package/error/text-manager/text-manager-error.js +16 -0
  45. package/index.d.ts +11 -42
  46. package/index.js +11 -42
  47. package/loader/export.d.ts +8 -0
  48. package/loader/export.js +24 -0
  49. package/origin/base-class/essential.d.ts +15 -0
  50. package/origin/base-class/essential.js +27 -0
  51. package/origin/base-class/exclude-static.d.ts +13 -0
  52. package/origin/base-class/exclude-static.js +25 -0
  53. package/origin/base-class/full-feature.d.ts +21 -0
  54. package/origin/base-class/full-feature.js +20 -0
  55. package/origin/export.d.ts +12 -0
  56. package/origin/export.js +28 -0
  57. package/origin/feature.d.ts +12 -0
  58. package/origin/feature.js +19 -0
  59. package/origin/interface.d.ts +12 -5
  60. package/origin/outcome.d.ts +11 -0
  61. package/origin/outcome.js +10 -0
  62. package/origin/search.d.ts +0 -3
  63. package/package.json +1 -1
  64. package/static/base-class/author-only.d.ts +13 -0
  65. package/static/base-class/author-only.js +23 -0
  66. package/static/base-class/content-only.d.ts +12 -0
  67. package/static/base-class/content-only.js +23 -0
  68. package/static/base-class/full-feature.d.ts +15 -0
  69. package/static/base-class/full-feature.js +18 -0
  70. package/static/export.d.ts +12 -0
  71. package/static/export.js +28 -0
  72. package/static/feature.d.ts +10 -0
  73. package/static/feature.js +17 -0
  74. package/static/interface.d.ts +9 -2
  75. package/static/outcome.d.ts +10 -0
  76. package/static/outcome.js +10 -0
  77. package/static-manager/base-class/full-feature.d.ts +14 -0
  78. package/static-manager/base-class/full-feature.js +18 -0
  79. package/static-manager/base-class/readonly.d.ts +14 -0
  80. package/static-manager/base-class/readonly.js +23 -0
  81. package/static-manager/export.d.ts +10 -0
  82. package/static-manager/export.js +26 -0
  83. package/static-manager/feature.d.ts +10 -0
  84. package/static-manager/feature.js +17 -0
  85. package/static-manager/outcome.d.ts +16 -0
  86. package/static-manager/outcome.js +12 -0
  87. package/{static/manager.d.ts → static-manager/static-manager.d.ts} +8 -6
  88. package/{database/manager.js → static-manager/static-manager.js} +2 -2
  89. package/text/base-class/author-only.d.ts +13 -0
  90. package/text/base-class/author-only.js +23 -0
  91. package/text/base-class/content-only.d.ts +12 -0
  92. package/text/base-class/content-only.js +23 -0
  93. package/text/base-class/full-feature.d.ts +15 -0
  94. package/text/base-class/full-feature.js +18 -0
  95. package/text/export.d.ts +12 -0
  96. package/text/export.js +28 -0
  97. package/text/feature.d.ts +10 -0
  98. package/text/feature.js +17 -0
  99. package/text/interface.d.ts +9 -2
  100. package/text/outcome.d.ts +10 -0
  101. package/text/outcome.js +10 -0
  102. package/text-manager/base-class/full-feature.d.ts +14 -0
  103. package/text-manager/base-class/full-feature.js +18 -0
  104. package/text-manager/base-class/readonly.d.ts +14 -0
  105. package/text-manager/base-class/readonly.js +23 -0
  106. package/text-manager/export.d.ts +10 -0
  107. package/text-manager/export.js +26 -0
  108. package/text-manager/feature.d.ts +10 -0
  109. package/text-manager/feature.js +17 -0
  110. package/text-manager/outcome.d.ts +16 -0
  111. package/text-manager/outcome.js +12 -0
  112. package/{text/manager.d.ts → text-manager/text-manager.d.ts} +8 -6
  113. package/{text/manager.js → text-manager/text-manager.js} +2 -2
  114. package/database/manager.d.ts +0 -41
@@ -4,19 +4,26 @@
4
4
  * @description Interface
5
5
  */
6
6
  import { ImbricateAuthor } from "../author/definition";
7
+ import { IMBRICATE_TEXT_FEATURE } from "./feature";
8
+ import { ImbricateTextGetContentOutcome } from "./outcome";
7
9
  export interface IImbricateText {
8
10
  /**
9
11
  * Unique identifier of the text object
10
12
  */
11
13
  readonly uniqueIdentifier: string;
14
+ /**
15
+ * Features supported by the text object
16
+ */
17
+ readonly features: IMBRICATE_TEXT_FEATURE[];
12
18
  /**
13
19
  * Author of the text object
14
20
  */
15
- readonly author?: ImbricateAuthor;
21
+ readonly author: ImbricateAuthor;
16
22
  /**
17
23
  * Get the content of the text object
18
24
  *
19
25
  * @returns a promise of the content of the text object
26
+ * Symbol: S_Text_GetContent_NotFound - if the content is not found
20
27
  */
21
- getContent(): PromiseLike<string>;
28
+ getContent(): PromiseLike<ImbricateTextGetContentOutcome>;
22
29
  }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @author WMXPY
3
+ * @namespace Text
4
+ * @description Outcome
5
+ */
6
+ export declare const S_Text_GetContent_NotFound: unique symbol;
7
+ export type ImbricateTextGetContentOutcomeSymbol = typeof S_Text_GetContent_NotFound;
8
+ export type ImbricateTextGetContentOutcome = {
9
+ readonly content: string;
10
+ } | ImbricateTextGetContentOutcomeSymbol;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /**
3
+ * @author WMXPY
4
+ * @namespace Text
5
+ * @description Outcome
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.S_Text_GetContent_NotFound = void 0;
9
+ // Get Content
10
+ exports.S_Text_GetContent_NotFound = Symbol("Text_GetContent_NotFound");
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @author WMXPY
3
+ * @namespace TextManager
4
+ * @description Full Feature
5
+ */
6
+ import { ImbricateTextAuditOptions } from "../../text/definition";
7
+ import { IMBRICATE_TEXT_MANAGER_FEATURE } from "../feature";
8
+ import { ImbricateTextManagerCreateTextOutcome, ImbricateTextManagerGetTextOutcome } from "../outcome";
9
+ import { IImbricateTextManager } from "../text-manager";
10
+ export declare abstract class ImbricateTextManagerFullFeatureBase implements IImbricateTextManager {
11
+ readonly supportedFeatures: IMBRICATE_TEXT_MANAGER_FEATURE[];
12
+ abstract getText(uniqueIdentifier: string): PromiseLike<ImbricateTextManagerGetTextOutcome>;
13
+ abstract createText(content: string, auditOptions?: ImbricateTextAuditOptions): PromiseLike<ImbricateTextManagerCreateTextOutcome>;
14
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * @author WMXPY
4
+ * @namespace TextManager
5
+ * @description Full Feature
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ImbricateTextManagerFullFeatureBase = void 0;
9
+ const feature_1 = require("../feature");
10
+ class ImbricateTextManagerFullFeatureBase {
11
+ constructor() {
12
+ this.supportedFeatures = [
13
+ feature_1.IMBRICATE_TEXT_MANAGER_FEATURE.TEXT_MANAGER_GET_TEXT,
14
+ feature_1.IMBRICATE_TEXT_MANAGER_FEATURE.TEXT_MANAGER_CREATE_TEXT,
15
+ ];
16
+ }
17
+ }
18
+ exports.ImbricateTextManagerFullFeatureBase = ImbricateTextManagerFullFeatureBase;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @author WMXPY
3
+ * @namespace TextManager
4
+ * @description Readonly
5
+ */
6
+ import { ImbricateTextAuditOptions } from "../../text/definition";
7
+ import { IMBRICATE_TEXT_MANAGER_FEATURE } from "../feature";
8
+ import { ImbricateTextManagerCreateTextOutcome } from "../outcome";
9
+ import { IImbricateTextManager } from "../text-manager";
10
+ import { ImbricateTextManagerFullFeatureBase } from "./full-feature";
11
+ export declare abstract class ImbricateTextManagerReadonlyBase extends ImbricateTextManagerFullFeatureBase implements IImbricateTextManager {
12
+ readonly supportedFeatures: IMBRICATE_TEXT_MANAGER_FEATURE[];
13
+ createInBase64(_content: string, _auditOptions?: ImbricateTextAuditOptions): PromiseLike<ImbricateTextManagerCreateTextOutcome>;
14
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * @author WMXPY
4
+ * @namespace TextManager
5
+ * @description Readonly
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ImbricateTextManagerReadonlyBase = void 0;
9
+ const feature_not_supported_1 = require("../../error/text-manager/feature-not-supported");
10
+ const feature_1 = require("../feature");
11
+ const full_feature_1 = require("./full-feature");
12
+ class ImbricateTextManagerReadonlyBase extends full_feature_1.ImbricateTextManagerFullFeatureBase {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.supportedFeatures = [
16
+ feature_1.IMBRICATE_TEXT_MANAGER_FEATURE.TEXT_MANAGER_GET_TEXT,
17
+ ];
18
+ }
19
+ createInBase64(_content, _auditOptions) {
20
+ throw feature_not_supported_1.ImbricateTextManagerFeatureNotSupportedError.withFeature(feature_1.IMBRICATE_TEXT_MANAGER_FEATURE.TEXT_MANAGER_CREATE_TEXT);
21
+ }
22
+ }
23
+ exports.ImbricateTextManagerReadonlyBase = ImbricateTextManagerReadonlyBase;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @author WMXPY
3
+ * @namespace TextManager
4
+ * @description Export
5
+ */
6
+ export * from "./base-class/full-feature";
7
+ export * from "./base-class/readonly";
8
+ export * from "./feature";
9
+ export * from "./outcome";
10
+ export * from "./text-manager";
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /**
3
+ * @author WMXPY
4
+ * @namespace TextManager
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("./base-class/full-feature"), exports);
23
+ __exportStar(require("./base-class/readonly"), exports);
24
+ __exportStar(require("./feature"), exports);
25
+ __exportStar(require("./outcome"), exports);
26
+ __exportStar(require("./text-manager"), exports);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @author WMXPY
3
+ * @namespace TextManager
4
+ * @description Feature
5
+ */
6
+ export declare enum IMBRICATE_TEXT_MANAGER_FEATURE {
7
+ TEXT_MANAGER_GET_TEXT = "TEXT_MANAGER_GET_TEXT",
8
+ TEXT_MANAGER_CREATE_TEXT = "TEXT_MANAGER_CREATE_TEXT"
9
+ }
10
+ export declare const checkImbricateTextManagerFeatureSupported: (features: IMBRICATE_TEXT_MANAGER_FEATURE[], feature: IMBRICATE_TEXT_MANAGER_FEATURE) => boolean;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ * @author WMXPY
4
+ * @namespace TextManager
5
+ * @description Feature
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.checkImbricateTextManagerFeatureSupported = exports.IMBRICATE_TEXT_MANAGER_FEATURE = void 0;
9
+ var IMBRICATE_TEXT_MANAGER_FEATURE;
10
+ (function (IMBRICATE_TEXT_MANAGER_FEATURE) {
11
+ IMBRICATE_TEXT_MANAGER_FEATURE["TEXT_MANAGER_GET_TEXT"] = "TEXT_MANAGER_GET_TEXT";
12
+ IMBRICATE_TEXT_MANAGER_FEATURE["TEXT_MANAGER_CREATE_TEXT"] = "TEXT_MANAGER_CREATE_TEXT";
13
+ })(IMBRICATE_TEXT_MANAGER_FEATURE || (exports.IMBRICATE_TEXT_MANAGER_FEATURE = IMBRICATE_TEXT_MANAGER_FEATURE = {}));
14
+ const checkImbricateTextManagerFeatureSupported = (features, feature) => {
15
+ return features.includes(feature);
16
+ };
17
+ exports.checkImbricateTextManagerFeatureSupported = checkImbricateTextManagerFeatureSupported;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @author WMXPY
3
+ * @namespace TextManager
4
+ * @description Outcome
5
+ */
6
+ import { IImbricateText } from "../text/interface";
7
+ export declare const S_TextManager_GetText_NotFound: unique symbol;
8
+ export type ImbricateTextManagerGetTextOutcomeSymbol = typeof S_TextManager_GetText_NotFound;
9
+ export type ImbricateTextManagerGetTextOutcome = {
10
+ readonly text: IImbricateText;
11
+ } | ImbricateTextManagerGetTextOutcomeSymbol;
12
+ export declare const S_TextManager_CreateText_IdentifierDuplicated: unique symbol;
13
+ export type ImbricateTextManagerCreateTextOutcomeSymbol = typeof S_TextManager_CreateText_IdentifierDuplicated;
14
+ export type ImbricateTextManagerCreateTextOutcome = {
15
+ readonly text: IImbricateText;
16
+ } | ImbricateTextManagerCreateTextOutcomeSymbol;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /**
3
+ * @author WMXPY
4
+ * @namespace TextManager
5
+ * @description Outcome
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.S_TextManager_CreateText_IdentifierDuplicated = exports.S_TextManager_GetText_NotFound = void 0;
9
+ // Manager Get Text
10
+ exports.S_TextManager_GetText_NotFound = Symbol("TextManager_GetText_NotFound");
11
+ // Manager Create Text
12
+ exports.S_TextManager_CreateText_IdentifierDuplicated = Symbol("TextManager_CreateText_IdentifierDuplicated");
@@ -1,17 +1,18 @@
1
1
  /**
2
2
  * @author WMXPY
3
- * @namespace Text
4
- * @description Manager
3
+ * @namespace TextManager
4
+ * @description Text Manager
5
5
  */
6
- import { ImbricateTextAuditOptions } from "./definition";
7
- import { IImbricateText } from "./interface";
6
+ import { ImbricateTextAuditOptions } from "../text/definition";
7
+ import { ImbricateTextManagerCreateTextOutcome, ImbricateTextManagerGetTextOutcome } from "./outcome";
8
8
  export interface IImbricateTextManager {
9
9
  /**
10
10
  * Get the text object from the origin
11
11
  *
12
12
  * @returns a promise of the text object, null if not found
13
+ * Symbol: S_TextManager_GetText_NotFound - if the text is not found
13
14
  */
14
- getText(uniqueIdentifier: string): PromiseLike<IImbricateText | null>;
15
+ getText(uniqueIdentifier: string): PromiseLike<ImbricateTextManagerGetTextOutcome>;
15
16
  /**
16
17
  * Create a new text object in the origin
17
18
  * Text object is immutable, once created, it cannot be changed
@@ -21,6 +22,7 @@ export interface IImbricateTextManager {
21
22
  * @param auditOptions audit options of the text
22
23
  *
23
24
  * @returns a promise of the text object
25
+ * Symbol: S_TextManager_CreateText_IdentifierDuplicated - if the identifier is duplicated
24
26
  */
25
- createText(content: string, auditOptions?: ImbricateTextAuditOptions): PromiseLike<IImbricateText>;
27
+ createText(content: string, auditOptions?: ImbricateTextAuditOptions): PromiseLike<ImbricateTextManagerCreateTextOutcome>;
26
28
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
3
  * @author WMXPY
4
- * @namespace Text
5
- * @description Manager
4
+ * @namespace TextManager
5
+ * @description Text Manager
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,41 +0,0 @@
1
- /**
2
- * @author WMXPY
3
- * @namespace Database
4
- * @description Manager
5
- */
6
- import { ImbricateDatabaseAuditOptions } from "./definition";
7
- import { IImbricateDatabase } from "./interface";
8
- import { ImbricateDatabaseSchemaForCreation } from "./schema";
9
- export interface IImbricateDatabaseManager {
10
- /**
11
- * List all databases in the origin
12
- *
13
- * @returns a promise of the databases in the origin
14
- */
15
- listDatabases(): PromiseLike<IImbricateDatabase[]>;
16
- /**
17
- * Get one database from the origin
18
- *
19
- * @param uniqueIdentifier unique identifier of the database
20
- *
21
- * @returns a promise of the database, null if not found
22
- */
23
- getDatabase(uniqueIdentifier: string): PromiseLike<IImbricateDatabase | null>;
24
- /**
25
- * Create a new database
26
- *
27
- * @param databaseName name of the database
28
- * @param schema schema of the database
29
- * @param auditOptions audit options of the database
30
- *
31
- * @returns a promise of the created database
32
- */
33
- createDatabase(databaseName: string, schema: ImbricateDatabaseSchemaForCreation, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<IImbricateDatabase>;
34
- /**
35
- * Remove a database from the origin
36
- *
37
- * @param uniqueIdentifier unique identifier of the database
38
- * @param auditOptions audit options of deletion
39
- */
40
- removeDatabase(uniqueIdentifier: string, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<void>;
41
- }