@mrts/common 0.3.4 → 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.
@@ -1,9 +1,14 @@
1
- export type TokenizeArg = string | string[] | undefined | null | TokenizeArg[];
1
+ export type TokenizeArg = string | undefined | null | TokenizeArg[];
2
2
  export type TokenizeFunc = (s: string) => string[];
3
3
  export type ArgTokenizeFunc = (arg: TokenizeArg) => string[];
4
4
  export type Splitter = string | RegExp;
5
- export declare function buildSplitTokenizeFunc(splitters: Splitter | Splitter[]): TokenizeFunc;
5
+ export declare function buildTokenizeFuncUsingSplitters(splitters: Splitter | Splitter[]): TokenizeFunc;
6
6
  export declare function buildArgTokenizeFunc(tokenize: TokenizeFunc): ArgTokenizeFunc;
7
- export declare const spaceTokenize: TokenizeFunc;
8
- export declare const spaceArgTokenize: 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[];
9
14
  //# sourceMappingURL=tokenize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenize.d.ts","sourceRoot":"","sources":["../../src/strings/tokenize.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,GAAG,WAAW,EAAE,CAAC;AAE/E,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,sBAAsB,CACpC,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAC/B,YAAY,CAoBd;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,eAAe,CAkB5E;AAED,eAAO,MAAM,aAAa,cAAgC,CAAC;AAE3D,eAAO,MAAM,gBAAgB,iBAAsC,CAAC"}
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"}
@@ -1,4 +1,4 @@
1
- export function buildSplitTokenizeFunc(splitters) {
1
+ export function buildTokenizeFuncUsingSplitters(splitters) {
2
2
  splitters = Array.isArray(splitters) ? splitters : [splitters];
3
3
  const tokenize = (s) => {
4
4
  let r = s.split(splitters[0]).filter((t) => t != "" && t != undefined);
@@ -6,7 +6,11 @@ export function buildSplitTokenizeFunc(splitters) {
6
6
  const r0 = [...r];
7
7
  r = [];
8
8
  for (const s of r0) {
9
- r.push(...s.split(splitter).filter((t) => t != "" && t != undefined));
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));
10
14
  }
11
15
  }
12
16
  return r;
@@ -31,6 +35,23 @@ export function buildArgTokenizeFunc(tokenize) {
31
35
  };
32
36
  return argTokenize;
33
37
  }
34
- export const spaceTokenize = buildSplitTokenizeFunc(/\s+/);
35
- export const spaceArgTokenize = buildArgTokenizeFunc(spaceTokenize);
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
+ }
36
57
  //# sourceMappingURL=tokenize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../../src/strings/tokenize.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,sBAAsB,CACpC,SAAgC;IAEhC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAiB,CAAC,CAAS,EAAE,EAAE;QAC3C,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;QAExE,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAElB,CAAC,GAAG,EAAE,CAAC;YAEP,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAsB;IACzD,MAAM,WAAW,GAAoB,CAAC,GAAgB,EAAE,EAAE;QACxD,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,EAAE,CAAC;YAEb,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBACpB,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;YAED,OAAO,CAAC,CAAC;QACX,CAAC;aAAM,CAAC;YACN,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC"}
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.4",
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": "69d2cdac44b9afabdbfef56c0067a7741c3e1a0d"
38
+ "gitHead": "8f67f1b1d96d48f83c4b4b4d2dc0e84d08c10cf8"
39
39
  }