asyar-sdk 1.8.2 → 1.10.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/dist/ExtensionBridge.test.d.ts +2 -0
- package/dist/ExtensionBridge.test.d.ts.map +1 -0
- package/dist/ExtensionBridge.test.js +229 -0
- package/dist/ExtensionBridge.test.js.map +1 -0
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +6 -1
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +24 -2
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/link.d.ts +2 -1
- package/dist/cli/commands/link.d.ts.map +1 -1
- package/dist/cli/commands/link.js +27 -0
- package/dist/cli/commands/link.js.map +1 -1
- package/dist/cli/commands/publish.d.ts.map +1 -1
- package/dist/cli/commands/publish.js +39 -25
- package/dist/cli/commands/publish.js.map +1 -1
- package/dist/cli/lib/manifest.d.ts +1 -1
- package/dist/cli/lib/manifest.d.ts.map +1 -1
- package/dist/cli/lib/manifest.js +44 -34
- package/dist/cli/lib/manifest.js.map +1 -1
- package/dist/cli/lib/zip.d.ts +1 -1
- package/dist/cli/lib/zip.d.ts.map +1 -1
- package/dist/cli/lib/zip.js +20 -9
- package/dist/cli/lib/zip.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/search/SearchEngine.d.ts +20 -0
- package/dist/search/SearchEngine.d.ts.map +1 -0
- package/dist/search/SearchEngine.js +91 -0
- package/dist/search/SearchEngine.js.map +1 -0
- package/dist/search/SearchEngine.test.d.ts +2 -0
- package/dist/search/SearchEngine.test.d.ts.map +1 -0
- package/dist/search/SearchEngine.test.js +137 -0
- package/dist/search/SearchEngine.test.js.map +1 -0
- package/dist/search/index.d.ts +4 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +9 -0
- package/dist/search/index.js.map +1 -0
- package/dist/search/textUtils.d.ts +10 -0
- package/dist/search/textUtils.d.ts.map +1 -0
- package/dist/search/textUtils.js +38 -0
- package/dist/search/textUtils.js.map +1 -0
- package/dist/search/textUtils.test.d.ts +2 -0
- package/dist/search/textUtils.test.d.ts.map +1 -0
- package/dist/search/textUtils.test.js +61 -0
- package/dist/search/textUtils.test.js.map +1 -0
- package/dist/search/types.d.ts +14 -0
- package/dist/search/types.d.ts.map +1 -0
- package/dist/search/types.js +3 -0
- package/dist/search/types.js.map +1 -0
- package/dist/types/ExtensionType.d.ts +1 -1
- package/dist/types/ExtensionType.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const textUtils_1 = require("./textUtils");
|
|
5
|
+
(0, vitest_1.describe)('stripHtml', () => {
|
|
6
|
+
(0, vitest_1.it)('strips simple tags', () => {
|
|
7
|
+
(0, vitest_1.expect)((0, textUtils_1.stripHtml)('<p>hello</p>')).toBe('hello');
|
|
8
|
+
});
|
|
9
|
+
(0, vitest_1.it)('strips nested tags', () => {
|
|
10
|
+
(0, vitest_1.expect)((0, textUtils_1.stripHtml)('<div><p>hello <b>world</b></p></div>')).toBe('hello world');
|
|
11
|
+
});
|
|
12
|
+
(0, vitest_1.it)('strips full HTML documents', () => {
|
|
13
|
+
const html = '<html><head><meta charset="UTF-8"><style>body{color:red}</style></head><body><p>quarterly report</p></body></html>';
|
|
14
|
+
(0, vitest_1.expect)((0, textUtils_1.stripHtml)(html)).toContain('quarterly report');
|
|
15
|
+
(0, vitest_1.expect)((0, textUtils_1.stripHtml)(html)).not.toContain('<');
|
|
16
|
+
(0, vitest_1.expect)((0, textUtils_1.stripHtml)(html)).not.toContain('color:red');
|
|
17
|
+
});
|
|
18
|
+
(0, vitest_1.it)('strips script tags and their content', () => {
|
|
19
|
+
(0, vitest_1.expect)((0, textUtils_1.stripHtml)('<p>safe</p><script>alert("xss")</script>')).toBe('safe');
|
|
20
|
+
});
|
|
21
|
+
(0, vitest_1.it)('strips style tags and their content', () => {
|
|
22
|
+
(0, vitest_1.expect)((0, textUtils_1.stripHtml)('<style>.a{color:red}</style><p>text</p>')).toBe('text');
|
|
23
|
+
});
|
|
24
|
+
(0, vitest_1.it)('decodes common HTML entities', () => {
|
|
25
|
+
(0, vitest_1.expect)((0, textUtils_1.stripHtml)('a & b < c > d "e"')).toBe('a & b < c > d "e"');
|
|
26
|
+
});
|
|
27
|
+
(0, vitest_1.it)('collapses whitespace', () => {
|
|
28
|
+
(0, vitest_1.expect)((0, textUtils_1.stripHtml)('<p> hello </p> <p> world </p>')).toBe('hello world');
|
|
29
|
+
});
|
|
30
|
+
(0, vitest_1.it)('returns empty string for empty input', () => {
|
|
31
|
+
(0, vitest_1.expect)((0, textUtils_1.stripHtml)('')).toBe('');
|
|
32
|
+
});
|
|
33
|
+
(0, vitest_1.it)('returns plain text unchanged', () => {
|
|
34
|
+
(0, vitest_1.expect)((0, textUtils_1.stripHtml)('no tags here')).toBe('no tags here');
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
(0, vitest_1.describe)('stripRtf', () => {
|
|
38
|
+
(0, vitest_1.it)('strips RTF control words', () => {
|
|
39
|
+
const result = (0, textUtils_1.stripRtf)('{\\rtf1\\b hello\\b0 world}');
|
|
40
|
+
(0, vitest_1.expect)(result).toContain('hello');
|
|
41
|
+
(0, vitest_1.expect)(result).toContain('world');
|
|
42
|
+
(0, vitest_1.expect)(result).not.toContain('\\rtf');
|
|
43
|
+
(0, vitest_1.expect)(result).not.toContain('\\b');
|
|
44
|
+
});
|
|
45
|
+
(0, vitest_1.it)('strips unicode escape sequences', () => {
|
|
46
|
+
(0, vitest_1.expect)((0, textUtils_1.stripRtf)('\\u8230?')).not.toContain('\\u8230');
|
|
47
|
+
});
|
|
48
|
+
(0, vitest_1.it)('strips braces and backslashes', () => {
|
|
49
|
+
const result = (0, textUtils_1.stripRtf)('{\\rtf1 {\\b bold} text}');
|
|
50
|
+
(0, vitest_1.expect)(result).not.toContain('{');
|
|
51
|
+
(0, vitest_1.expect)(result).not.toContain('}');
|
|
52
|
+
});
|
|
53
|
+
(0, vitest_1.it)('collapses whitespace', () => {
|
|
54
|
+
const result = (0, textUtils_1.stripRtf)('{\\rtf1 hello world }');
|
|
55
|
+
(0, vitest_1.expect)(result).toBe('hello world');
|
|
56
|
+
});
|
|
57
|
+
(0, vitest_1.it)('returns empty string for empty input', () => {
|
|
58
|
+
(0, vitest_1.expect)((0, textUtils_1.stripRtf)('')).toBe('');
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=textUtils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textUtils.test.js","sourceRoot":"","sources":["../../src/search/textUtils.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface SearchEngineOptions<T> {
|
|
2
|
+
/**
|
|
3
|
+
* Extract searchable text from an item.
|
|
4
|
+
* Called once per item when setItems() is called — not on every search.
|
|
5
|
+
*/
|
|
6
|
+
getText: (item: T) => string;
|
|
7
|
+
/**
|
|
8
|
+
* 'exact' — substring match only (fast, no typo tolerance)
|
|
9
|
+
* 'fuzzy' — two-tier: exact substring first, then uFuzzy subsequence + 1 typo per term
|
|
10
|
+
* Default: 'fuzzy'
|
|
11
|
+
*/
|
|
12
|
+
mode?: 'exact' | 'fuzzy';
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/search/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAE7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/search/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionType.d.ts","sourceRoot":"","sources":["../../src/types/ExtensionType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ExtensionType.d.ts","sourceRoot":"","sources":["../../src/types/ExtensionType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC7B;AAGD,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC;IACd,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEvD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;KACjB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGpB,cAAc,EAAE,CACd,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACvB,OAAO,CAAC,GAAG,CAAC,CAAC;CACnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "asyar-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"bin": {
|
|
6
6
|
"asyar": "./dist/cli/index.js"
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"src/styles"
|
|
48
48
|
],
|
|
49
49
|
"dependencies": {
|
|
50
|
+
"@leeoniya/ufuzzy": "^1.0.19",
|
|
50
51
|
"adm-zip": "^0.5.16",
|
|
51
52
|
"chalk": "^5.6.2",
|
|
52
53
|
"chokidar": "^3.6.0",
|