@imbricate/core 1.5.4 → 1.6.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.
@@ -4,7 +4,7 @@
4
4
  * @description Interface
5
5
  */
6
6
  import { PromiseOr } from "../definition/promise";
7
- import { ImbricatePageMetadata, ImbricatePageSearchSnippet, ImbricatePageSnapshot } from "../page/definition";
7
+ import { ImbricatePageMetadata, ImbricatePageSearchResult, ImbricatePageSnapshot } from "../page/definition";
8
8
  import { IImbricatePage } from "../page/interface";
9
9
  export interface IImbricateOriginCollection {
10
10
  readonly collectionName: string;
@@ -16,5 +16,5 @@ export interface IImbricateOriginCollection {
16
16
  hasPage(title: string): PromiseOr<boolean>;
17
17
  getPage(identifier: string): PromiseOr<IImbricatePage | null>;
18
18
  listPages(): PromiseOr<ImbricatePageSnapshot[]>;
19
- searchPages(keyword: string): PromiseOr<ImbricatePageSearchSnippet[]>;
19
+ searchPages(keyword: string): PromiseOr<ImbricatePageSearchResult[]>;
20
20
  }
@@ -3,8 +3,8 @@
3
3
  * @namespace Origin
4
4
  * @description Definition
5
5
  */
6
- import { IMBRICATE_SEARCH_SNIPPET_TYPE, ImbricateSearchSnippet } from "../search/snippet";
7
- export type ImbricateScriptSearchSnippet = ImbricateSearchSnippet<IMBRICATE_SEARCH_SNIPPET_TYPE.SCRIPT>;
6
+ import { IMBRICATE_SEARCH_SNIPPET_TYPE, ImbricateSearchResult } from "../search/snippet";
7
+ export type ImbricateScriptSearchResult = ImbricateSearchResult<IMBRICATE_SEARCH_SNIPPET_TYPE.SCRIPT>;
8
8
  export type ImbricateOriginMetadata = {
9
9
  readonly type: string;
10
10
  };
@@ -7,7 +7,7 @@ import { IImbricateOriginCollection } from "../collection/interface";
7
7
  import { PromiseOr } from "../definition/promise";
8
8
  import { ImbricateScriptMetadata, ImbricateScriptSnapshot } from "../script/definition";
9
9
  import { IImbricateScript } from "../script/interface";
10
- import { ImbricateOriginMetadata, ImbricateScriptSearchSnippet } from "./definition";
10
+ import { ImbricateOriginMetadata, ImbricateScriptSearchResult } from "./definition";
11
11
  export interface IImbricateOrigin {
12
12
  readonly metadata: ImbricateOriginMetadata;
13
13
  readonly payloads: Record<string, any>;
@@ -24,5 +24,5 @@ export interface IImbricateOrigin {
24
24
  hasScript(scriptName: string): PromiseOr<boolean>;
25
25
  getScript(identifier: string): PromiseOr<IImbricateScript | null>;
26
26
  listScripts(): PromiseOr<ImbricateScriptSnapshot[]>;
27
- searchScripts(keyword: string): PromiseOr<ImbricateScriptSearchSnippet[]>;
27
+ searchScripts(keyword: string): PromiseOr<ImbricateScriptSearchResult[]>;
28
28
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@imbricate/core",
3
3
  "main": "index.js",
4
- "version": "1.5.4",
4
+ "version": "1.6.0",
5
5
  "description": "Core for Imbricate",
6
6
  "repository": {
7
7
  "type": "git",
@@ -3,8 +3,8 @@
3
3
  * @namespace Page
4
4
  * @description Definition
5
5
  */
6
- import { IMBRICATE_SEARCH_SNIPPET_TYPE, ImbricateSearchSnippet } from "../search/snippet";
7
- export type ImbricatePageSearchSnippet = ImbricateSearchSnippet<IMBRICATE_SEARCH_SNIPPET_TYPE.PAGE>;
6
+ import { IMBRICATE_SEARCH_SNIPPET_TYPE, ImbricateSearchResult } from "../search/snippet";
7
+ export type ImbricatePageSearchResult = ImbricateSearchResult<IMBRICATE_SEARCH_SNIPPET_TYPE.PAGE>;
8
8
  export type ImbricatePageSnapshot = {
9
9
  readonly title: string;
10
10
  readonly identifier: string;
@@ -4,4 +4,4 @@
4
4
  * @description Prefix
5
5
  */
6
6
  import { IMBRICATE_SEARCH_SNIPPET_TYPE, ImbricateSearchSnippet } from "./snippet";
7
- export declare const getShortPrefixOfSnippet: (snippet: ImbricateSearchSnippet<IMBRICATE_SEARCH_SNIPPET_TYPE>) => string;
7
+ export declare const getShortPrefixOfSnippet: <T extends IMBRICATE_SEARCH_SNIPPET_TYPE>(type: T, snippet: ImbricateSearchSnippet<T>) => string;
package/search/prefix.js CHANGED
@@ -7,8 +7,8 @@
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.getShortPrefixOfSnippet = void 0;
9
9
  const snippet_1 = require("./snippet");
10
- const getShortPrefixOfSnippet = (snippet) => {
11
- switch (snippet.type) {
10
+ const getShortPrefixOfSnippet = (type, snippet) => {
11
+ switch (type) {
12
12
  case snippet_1.IMBRICATE_SEARCH_SNIPPET_TYPE.PAGE: {
13
13
  switch (snippet.source) {
14
14
  case snippet_1.IMBRICATE_SEARCH_SNIPPET_PAGE_SNIPPET_SOURCE.TITLE: {
@@ -18,6 +18,18 @@ const getShortPrefixOfSnippet = (snippet) => {
18
18
  return "C";
19
19
  }
20
20
  }
21
+ break;
22
+ }
23
+ case snippet_1.IMBRICATE_SEARCH_SNIPPET_TYPE.SCRIPT: {
24
+ switch (snippet.source) {
25
+ case snippet_1.IMBRICATE_SEARCH_SNIPPET_SCRIPT_SNIPPET_SOURCE.NAME: {
26
+ return "N";
27
+ }
28
+ case snippet_1.IMBRICATE_SEARCH_SNIPPET_SCRIPT_SNIPPET_SOURCE.SCRIPT: {
29
+ return "D";
30
+ }
31
+ }
32
+ break;
21
33
  }
22
34
  }
23
35
  return "?";
@@ -16,12 +16,17 @@ export declare enum IMBRICATE_SEARCH_SNIPPET_SCRIPT_SNIPPET_SOURCE {
16
16
  SCRIPT = "DESCRIPTION"
17
17
  }
18
18
  type IMBRICATE_SEARCH_SNIPPET_SNIPPET_SOURCE<T extends IMBRICATE_SEARCH_SNIPPET_TYPE> = T extends IMBRICATE_SEARCH_SNIPPET_TYPE.PAGE ? IMBRICATE_SEARCH_SNIPPET_PAGE_SNIPPET_SOURCE : T extends IMBRICATE_SEARCH_SNIPPET_TYPE.SCRIPT ? IMBRICATE_SEARCH_SNIPPET_SCRIPT_SNIPPET_SOURCE : never;
19
- export type ImbricateSearchSnippet<T extends IMBRICATE_SEARCH_SNIPPET_TYPE> = {
20
- readonly type: T;
19
+ type ImbricateSearchSnippetSwitch<T extends IMBRICATE_SEARCH_SNIPPET_TYPE> = T extends IMBRICATE_SEARCH_SNIPPET_TYPE.PAGE ? {
21
20
  readonly scope: string;
22
- readonly identifier: string;
23
- readonly headline: string;
21
+ } : T extends IMBRICATE_SEARCH_SNIPPET_TYPE.SCRIPT ? {} : never;
22
+ export type ImbricateSearchSnippet<T extends IMBRICATE_SEARCH_SNIPPET_TYPE> = {
24
23
  readonly source: IMBRICATE_SEARCH_SNIPPET_SNIPPET_SOURCE<T>;
25
24
  readonly snippet: string;
26
25
  };
26
+ export type ImbricateSearchResult<T extends IMBRICATE_SEARCH_SNIPPET_TYPE> = {
27
+ readonly type: T;
28
+ readonly identifier: string;
29
+ readonly headline: string;
30
+ readonly snippets: ImbricateSearchSnippet<T>[];
31
+ } & ImbricateSearchSnippetSwitch<T>;
27
32
  export {};