@mrts/common 0.3.0 → 0.3.5
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/strings/index.d.ts +1 -0
- package/dist/strings/index.d.ts.map +1 -1
- package/dist/strings/index.js +1 -0
- package/dist/strings/index.js.map +1 -1
- package/dist/strings/tokenize.d.ts +14 -0
- package/dist/strings/tokenize.d.ts.map +1 -0
- package/dist/strings/tokenize.js +57 -0
- package/dist/strings/tokenize.js.map +1 -0
- package/package.json +2 -2
package/dist/strings/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/strings/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/strings/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|
package/dist/strings/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/strings/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/strings/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type TokenizeArg = string | undefined | null | TokenizeArg[];
|
|
2
|
+
export type TokenizeFunc = (s: string) => string[];
|
|
3
|
+
export type ArgTokenizeFunc = (arg: TokenizeArg) => string[];
|
|
4
|
+
export type Splitter = string | RegExp;
|
|
5
|
+
export declare function buildTokenizeFuncUsingSplitters(splitters: Splitter | Splitter[]): TokenizeFunc;
|
|
6
|
+
export declare function buildArgTokenizeFunc(tokenize: TokenizeFunc): ArgTokenizeFunc;
|
|
7
|
+
export declare const tokenizeBySpaces: TokenizeFunc;
|
|
8
|
+
export declare const argTokenizeBySpaces: ArgTokenizeFunc;
|
|
9
|
+
export declare function tokenizeFilterString(s: string, options?: {
|
|
10
|
+
splitter?: string | RegExp;
|
|
11
|
+
filter?: (s: string) => boolean;
|
|
12
|
+
}): string[];
|
|
13
|
+
export declare function deduplicate<T>(items: T[]): T[];
|
|
14
|
+
//# sourceMappingURL=tokenize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenize.d.ts","sourceRoot":"","sources":["../../src/strings/tokenize.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,WAAW,EAAE,CAAC;AAEpE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,MAAM,EAAE,CAAC;AAE7D,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAC/B,YAAY,CA0Bd;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,eAAe,CAkB5E;AAED,eAAO,MAAM,gBAAgB,cAAyC,CAAC;AAEvE,eAAO,MAAM,mBAAmB,iBAAyC,CAAC;AAE1E,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,MAAM,EACT,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;CAAO,GAC5E,MAAM,EAAE,CAKV;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAW9C"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export function buildTokenizeFuncUsingSplitters(splitters) {
|
|
2
|
+
splitters = Array.isArray(splitters) ? splitters : [splitters];
|
|
3
|
+
const tokenize = (s) => {
|
|
4
|
+
let r = s.split(splitters[0]).filter((t) => t != "" && t != undefined);
|
|
5
|
+
for (const splitter of splitters.slice(1)) {
|
|
6
|
+
const r0 = [...r];
|
|
7
|
+
r = [];
|
|
8
|
+
for (const s of r0) {
|
|
9
|
+
r.push(...tokenizeFilterString(s, {
|
|
10
|
+
splitter,
|
|
11
|
+
filter: (t) => t != "" && t != undefined,
|
|
12
|
+
}));
|
|
13
|
+
//r.push(...s.split(splitter).filter((t) => t != "" && t != undefined));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return r;
|
|
17
|
+
};
|
|
18
|
+
return tokenize;
|
|
19
|
+
}
|
|
20
|
+
export function buildArgTokenizeFunc(tokenize) {
|
|
21
|
+
const argTokenize = (arg) => {
|
|
22
|
+
if (arg == undefined) {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
else if (Array.isArray(arg)) {
|
|
26
|
+
const r = [];
|
|
27
|
+
for (const a of arg) {
|
|
28
|
+
r.push(...argTokenize(a));
|
|
29
|
+
}
|
|
30
|
+
return r;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return tokenize(arg);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
return argTokenize;
|
|
37
|
+
}
|
|
38
|
+
export const tokenizeBySpaces = buildTokenizeFuncUsingSplitters(/\s+/);
|
|
39
|
+
export const argTokenizeBySpaces = buildArgTokenizeFunc(tokenizeBySpaces);
|
|
40
|
+
export function tokenizeFilterString(s, options = {}) {
|
|
41
|
+
const separator = options.splitter ?? /\s+/;
|
|
42
|
+
const filter = options.filter ?? ((s) => s.length > 0);
|
|
43
|
+
const r = s.split(separator).filter(filter);
|
|
44
|
+
return r;
|
|
45
|
+
}
|
|
46
|
+
export function deduplicate(items) {
|
|
47
|
+
const r = [];
|
|
48
|
+
const itemSet = new Set();
|
|
49
|
+
for (const item of items) {
|
|
50
|
+
if (!itemSet.has(item)) {
|
|
51
|
+
r.push(item);
|
|
52
|
+
itemSet.add(item);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return r;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=tokenize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../../src/strings/tokenize.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrts/common",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "MRTS - common",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"publishConfig": {
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "8f67f1b1d96d48f83c4b4b4d2dc0e84d08c10cf8"
|
|
39
39
|
}
|