@imbricate/core 1.17.1 → 1.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.
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @author WMXPY
3
+ * @namespace Capability
4
+ * @description Validate
5
+ */
6
+ import { IMBRICATE_COLLECTION_CAPABILITY_KEY } from "../collection/definition";
7
+ import { IImbricateOriginCollection } from "../collection/interface";
8
+ import { IMBRICATE_ORIGIN_CAPABILITY_KEY } from "../origin/definition";
9
+ import { IImbricateOrigin } from "../origin/interface";
10
+ import { IMBRICATE_PAGE_CAPABILITY_KEY } from "../page/definition";
11
+ import { IImbricatePage } from "../page/interface";
12
+ import { IMBRICATE_SCRIPT_CAPABILITY_KEY } from "../script/definition";
13
+ import { IImbricateScript } from "../script/interface";
14
+ import { ImbricateCapability } from "./definition";
15
+ export declare const validateImbricateCapability: <CapabilityRecords extends Record<string, ImbricateCapability>, KeySet extends keyof CapabilityRecords>(capabilities: CapabilityRecords, capability: KeySet) => boolean;
16
+ export declare const validateImbricateOriginCapability: (origin: IImbricateOrigin, capability: IMBRICATE_ORIGIN_CAPABILITY_KEY) => boolean;
17
+ export declare const validateImbricateCollectionCapability: (collection: IImbricateOriginCollection, capability: IMBRICATE_COLLECTION_CAPABILITY_KEY) => boolean;
18
+ export declare const validateImbricatePageCapability: (page: IImbricatePage, capability: IMBRICATE_PAGE_CAPABILITY_KEY) => boolean;
19
+ export declare const validateImbricateScriptCapability: (script: IImbricateScript, capability: IMBRICATE_SCRIPT_CAPABILITY_KEY) => boolean;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * @author WMXPY
4
+ * @namespace Capability
5
+ * @description Validate
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.validateImbricateScriptCapability = exports.validateImbricatePageCapability = exports.validateImbricateCollectionCapability = exports.validateImbricateOriginCapability = exports.validateImbricateCapability = void 0;
9
+ const definition_1 = require("./definition");
10
+ const validateImbricateCapability = (capabilities, capability) => {
11
+ if (!capabilities) {
12
+ return false;
13
+ }
14
+ if (!Array.isArray(capabilities)) {
15
+ return false;
16
+ }
17
+ const capabilityValue = capabilities[capability];
18
+ if (!capabilityValue) {
19
+ return false;
20
+ }
21
+ return capabilityValue.effect === definition_1.IMBRICATE_CAPABILITY_EFFECT.ALLOW;
22
+ };
23
+ exports.validateImbricateCapability = validateImbricateCapability;
24
+ const validateImbricateOriginCapability = (origin, capability) => {
25
+ return (0, exports.validateImbricateCapability)(origin.capabilities, capability);
26
+ };
27
+ exports.validateImbricateOriginCapability = validateImbricateOriginCapability;
28
+ const validateImbricateCollectionCapability = (collection, capability) => {
29
+ return (0, exports.validateImbricateCapability)(collection.capabilities, capability);
30
+ };
31
+ exports.validateImbricateCollectionCapability = validateImbricateCollectionCapability;
32
+ const validateImbricatePageCapability = (page, capability) => {
33
+ return (0, exports.validateImbricateCapability)(page.capabilities, capability);
34
+ };
35
+ exports.validateImbricatePageCapability = validateImbricatePageCapability;
36
+ const validateImbricateScriptCapability = (script, capability) => {
37
+ return (0, exports.validateImbricateCapability)(script.capabilities, capability);
38
+ };
39
+ exports.validateImbricateScriptCapability = validateImbricateScriptCapability;
@@ -10,6 +10,7 @@ import { ImbricatePageQuery, ImbricatePageQueryConfig, ImbricateSearchPageConfig
10
10
  import { ImbricateCollectionCapability } from "./definition";
11
11
  export interface IImbricateOriginCollection {
12
12
  readonly collectionName: string;
13
+ readonly uniqueIdentifier: string;
13
14
  readonly description?: string;
14
15
  readonly capabilities: ImbricateCollectionCapability;
15
16
  createPage(directories: string[], title: string, initialContent: string): PromiseOr<IImbricatePage>;
package/index.d.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  * @description Index
4
4
  */
5
5
  export * from "./capability/definition";
6
+ export * from "./capability/validate";
6
7
  export * from "./collection/definition";
7
8
  export * from "./collection/interface";
8
9
  export * from "./collection/least-common-identifier";
package/index.js CHANGED
@@ -19,6 +19,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  __exportStar(require("./capability/definition"), exports);
22
+ __exportStar(require("./capability/validate"), exports);
22
23
  __exportStar(require("./collection/definition"), exports);
23
24
  __exportStar(require("./collection/interface"), exports);
24
25
  __exportStar(require("./collection/least-common-identifier"), exports);
@@ -10,7 +10,6 @@ export declare enum IMBRICATE_DIGEST_ALGORITHM {
10
10
  SHA256 = "SHA256"
11
11
  }
12
12
  export type ImbricateOriginMetadata = {
13
- readonly type: string;
14
13
  readonly digestAlgorithm: IMBRICATE_DIGEST_ALGORITHM;
15
14
  };
16
15
  export type ImbricateOriginCapability = Record<IMBRICATE_ORIGIN_CAPABILITY_KEY, ImbricateCapability>;
@@ -11,6 +11,8 @@ import { ImbricateScriptMetadata, ImbricateScriptSearchResult, ImbricateScriptSn
11
11
  import { IImbricateScript } from "../script/interface";
12
12
  import { ImbricateOriginCapability, ImbricateOriginMetadata } from "./definition";
13
13
  export interface IImbricateOrigin {
14
+ readonly originType: string;
15
+ readonly uniqueIdentifier: string;
14
16
  readonly metadata: ImbricateOriginMetadata;
15
17
  readonly payloads: Record<string, any>;
16
18
  readonly capabilities: ImbricateOriginCapability;
package/package.json CHANGED
@@ -1,19 +1,21 @@
1
1
  {
2
2
  "name": "@imbricate/core",
3
3
  "main": "index.js",
4
- "version": "1.17.1",
5
- "description": "Core for Imbricate",
4
+ "version": "1.18.0",
5
+ "description": "Imbricate Core, Notebook for Engineers",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/Imbricate/Imbricate-Core.git"
8
+ "url": "git+https://github.com/Imbricate/Imbricate.git"
9
9
  },
10
10
  "keywords": [
11
+ "Notebook",
12
+ "Engineer",
11
13
  "API"
12
14
  ],
13
15
  "author": "WMXPY",
14
16
  "license": "MIT",
15
17
  "bugs": {
16
- "url": "https://github.com/Imbricate/Imbricate-Core/issues"
18
+ "url": "https://github.com/Imbricate/Imbricate/issues"
17
19
  },
18
20
  "homepage": "https://imbricate.io",
19
21
  "dependencies": {