@nu-art/ts-common 0.99.17 → 0.99.20

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nu-art/ts-common",
3
- "version": "0.99.17",
3
+ "version": "0.99.20",
4
4
  "description": "js and ts infra",
5
5
  "keywords": [
6
6
  "TacB0sS",
@@ -1,9 +1,8 @@
1
- export declare class Filter {
2
- private _filter;
1
+ export declare class Filter<T> {
3
2
  private regexp;
4
- setFilter(filter: string): this;
3
+ private readonly mapper;
4
+ constructor(mapper: (item: T) => string[]);
5
5
  setRegexp(regexp: boolean): this;
6
- getFilter(): string;
7
- filter<T>(items: T[], filter: (item: T) => string[]): T[];
6
+ filter(items: T[], filterText: string): T[];
8
7
  private prepareFilter;
9
8
  }
@@ -19,25 +19,19 @@
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.Filter = void 0;
21
21
  var Filter = /** @class */ (function () {
22
- function Filter() {
23
- this._filter = "";
22
+ function Filter(mapper) {
24
23
  this.regexp = true;
24
+ this.mapper = mapper;
25
25
  }
26
- Filter.prototype.setFilter = function (filter) {
27
- this._filter = filter;
28
- return this;
29
- };
30
26
  Filter.prototype.setRegexp = function (regexp) {
31
27
  this.regexp = regexp;
32
28
  return this;
33
29
  };
34
- Filter.prototype.getFilter = function () {
35
- return this._filter;
36
- };
37
- Filter.prototype.filter = function (items, filter) {
38
- var filterAsRegexp = this.prepareFilter();
30
+ Filter.prototype.filter = function (items, filterText) {
31
+ var _this = this;
32
+ var filterAsRegexp = this.prepareFilter(filterText);
39
33
  return items.filter(function (item) {
40
- var keysToFilter = filter(item);
34
+ var keysToFilter = _this.mapper(item);
41
35
  for (var _i = 0, keysToFilter_1 = keysToFilter; _i < keysToFilter_1.length; _i++) {
42
36
  var key = keysToFilter_1[_i];
43
37
  if (key.toLowerCase().match(filterAsRegexp))
@@ -46,18 +40,17 @@ var Filter = /** @class */ (function () {
46
40
  return false;
47
41
  });
48
42
  };
49
- Filter.prototype.prepareFilter = function () {
50
- var filter = this._filter;
51
- filter = filter.trim();
43
+ Filter.prototype.prepareFilter = function (filter) {
44
+ filter = (filter || '').trim();
52
45
  filter = filter.toLowerCase();
53
- filter = filter.replace(/\s+/, " ");
46
+ filter = filter.replace(/\s+/, ' ');
54
47
  if (this.regexp) {
55
- filter = filter.replace(new RegExp("(.)", "g"), ".*?$1");
48
+ filter = filter.replace(new RegExp('(.)', 'g'), '.*?$1');
56
49
  }
57
50
  else {
58
51
  filter = ".*?".concat(filter);
59
52
  }
60
- filter.length === 0 ? filter = ".*?" : filter += ".*";
53
+ filter.length === 0 ? filter = '.*?' : filter += '.*';
61
54
  return new RegExp(filter);
62
55
  };
63
56
  return Filter;
@@ -1 +1 @@
1
- {"version":3,"file":"filter-tools.js","sourceRoot":"","sources":["../../src/main/utils/filter-tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH;IAAA;QACS,YAAO,GAAG,EAAE,CAAC;QACb,WAAM,GAAG,IAAI,CAAC;IA6CvB,CAAC;IA3CA,0BAAS,GAAT,UAAU,MAAc;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,0BAAS,GAAT,UAAU,MAAe;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,0BAAS,GAAT;QACC,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,uBAAM,GAAN,UAAU,KAAU,EAAE,MAA6B;QAClD,IAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAE5C,OAAO,KAAK,CAAC,MAAM,CAAC,UAAC,IAAI;YACxB,IAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,KAAkB,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;gBAA3B,IAAM,GAAG,qBAAA;gBACb,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC;oBAC1C,OAAO,IAAI,CAAC;aACb;YAED,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,8BAAa,GAArB;QACC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;SACzD;aAAM;YACN,MAAM,GAAG,aAAM,MAAM,CAAE,CAAC;SACxB;QACD,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;QAGtD,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IACF,aAAC;AAAD,CAAC,AA/CD,IA+CC;AA/CY,wBAAM"}
1
+ {"version":3,"file":"filter-tools.js","sourceRoot":"","sources":["../../src/main/utils/filter-tools.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH;IAIC,gBAAY,MAA6B;QAHjC,WAAM,GAAG,IAAI,CAAC;QAIrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,0BAAS,GAAT,UAAU,MAAe;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,uBAAM,GAAN,UAAO,KAAU,EAAE,UAAkB;QAArC,iBAYC;QAXA,IAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEtD,OAAO,KAAK,CAAC,MAAM,CAAC,UAAC,IAAI;YACxB,IAAM,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvC,KAAkB,UAAY,EAAZ,6BAAY,EAAZ,0BAAY,EAAZ,IAAY,EAAE;gBAA3B,IAAM,GAAG,qBAAA;gBACb,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC;oBAC1C,OAAO,IAAI,CAAC;aACb;YAED,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,8BAAa,GAArB,UAAsB,MAAe;QACpC,MAAM,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;SACzD;aAAM;YACN,MAAM,GAAG,aAAM,MAAM,CAAE,CAAC;SACxB;QACD,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;QAEtD,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IACF,aAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,wBAAM"}