@hanivanrizky/nestjs-browser-action 0.15.0 → 0.16.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.
Files changed (108) hide show
  1. package/README.md +230 -286
  2. package/dist/interfaces/browser-action-options.d.ts +1 -1
  3. package/dist/interfaces/cleansing-options.d.ts +3 -8
  4. package/dist/interfaces/types.d.ts +32 -1
  5. package/dist/interfaces/workflow-options.d.ts +2 -2
  6. package/dist/pipes/alt-flag.pipe.d.ts +1 -1
  7. package/dist/pipes/alt-flag.pipe.js.map +1 -1
  8. package/dist/pipes/clean-html.pipe.d.ts +5 -0
  9. package/dist/pipes/clean-html.pipe.js +52 -0
  10. package/dist/pipes/clean-html.pipe.js.map +1 -0
  11. package/dist/pipes/cleansing-pipe.d.ts +4 -3
  12. package/dist/pipes/cleansing-pipe.js +3 -17
  13. package/dist/pipes/cleansing-pipe.js.map +1 -1
  14. package/dist/pipes/date-format-special.pipe.d.ts +6 -0
  15. package/dist/pipes/date-format-special.pipe.js +24 -0
  16. package/dist/pipes/date-format-special.pipe.js.map +1 -0
  17. package/dist/pipes/date-format.pipe.d.ts +1 -1
  18. package/dist/pipes/date-format.pipe.js.map +1 -1
  19. package/dist/pipes/extract-email.pipe.d.ts +6 -0
  20. package/dist/pipes/extract-email.pipe.js +19 -0
  21. package/dist/pipes/extract-email.pipe.js.map +1 -0
  22. package/dist/pipes/extract-url-params.pipe.d.ts +10 -0
  23. package/dist/pipes/extract-url-params.pipe.js +57 -0
  24. package/dist/pipes/extract-url-params.pipe.js.map +1 -0
  25. package/dist/pipes/index.d.ts +16 -0
  26. package/dist/pipes/index.js +16 -0
  27. package/dist/pipes/index.js.map +1 -1
  28. package/dist/pipes/json-path.pipe.d.ts +8 -0
  29. package/dist/pipes/json-path.pipe.js +40 -0
  30. package/dist/pipes/json-path.pipe.js.map +1 -0
  31. package/dist/pipes/media-filter.pipe.d.ts +7 -0
  32. package/dist/pipes/media-filter.pipe.js +21 -0
  33. package/dist/pipes/media-filter.pipe.js.map +1 -0
  34. package/dist/pipes/normalize-whitespace.pipe.d.ts +1 -1
  35. package/dist/pipes/normalize-whitespace.pipe.js.map +1 -1
  36. package/dist/pipes/number-normalize.pipe.d.ts +6 -0
  37. package/dist/pipes/number-normalize.pipe.js +38 -0
  38. package/dist/pipes/number-normalize.pipe.js.map +1 -0
  39. package/dist/pipes/parse-as-url.pipe.d.ts +7 -0
  40. package/dist/pipes/parse-as-url.pipe.js +45 -0
  41. package/dist/pipes/parse-as-url.pipe.js.map +1 -0
  42. package/dist/pipes/pipe-engine.d.ts +20 -0
  43. package/dist/pipes/pipe-engine.js +81 -0
  44. package/dist/pipes/pipe-engine.js.map +1 -0
  45. package/dist/pipes/pipe-registry.d.ts +3 -0
  46. package/dist/pipes/pipe-registry.js +89 -0
  47. package/dist/pipes/pipe-registry.js.map +1 -0
  48. package/dist/pipes/profiles/currency.profile.js +11 -12
  49. package/dist/pipes/profiles/currency.profile.js.map +1 -1
  50. package/dist/pipes/profiles/date.profile.js +10 -7
  51. package/dist/pipes/profiles/date.profile.js.map +1 -1
  52. package/dist/pipes/profiles/email.profile.js +9 -9
  53. package/dist/pipes/profiles/email.profile.js.map +1 -1
  54. package/dist/pipes/profiles/phone.profile.js +11 -11
  55. package/dist/pipes/profiles/phone.profile.js.map +1 -1
  56. package/dist/pipes/profiles/price.profile.js +11 -12
  57. package/dist/pipes/profiles/price.profile.js.map +1 -1
  58. package/dist/pipes/profiles.d.ts +2 -2
  59. package/dist/pipes/profiles.js +5 -5
  60. package/dist/pipes/profiles.js.map +1 -1
  61. package/dist/pipes/query-append.pipe.d.ts +9 -0
  62. package/dist/pipes/query-append.pipe.js +47 -0
  63. package/dist/pipes/query-append.pipe.js.map +1 -0
  64. package/dist/pipes/query-remover.pipe.d.ts +22 -0
  65. package/dist/pipes/query-remover.pipe.js +83 -0
  66. package/dist/pipes/query-remover.pipe.js.map +1 -0
  67. package/dist/pipes/regex-extract.pipe.d.ts +1 -1
  68. package/dist/pipes/regex-extract.pipe.js.map +1 -1
  69. package/dist/pipes/regex-extraction.pipe.d.ts +25 -0
  70. package/dist/pipes/regex-extraction.pipe.js +90 -0
  71. package/dist/pipes/regex-extraction.pipe.js.map +1 -0
  72. package/dist/pipes/regex-replace-x.pipe.d.ts +28 -0
  73. package/dist/pipes/regex-replace-x.pipe.js +104 -0
  74. package/dist/pipes/regex-replace-x.pipe.js.map +1 -0
  75. package/dist/pipes/regex-replace.pipe.d.ts +1 -1
  76. package/dist/pipes/regex-replace.pipe.js.map +1 -1
  77. package/dist/pipes/regex.pipe.d.ts +12 -0
  78. package/dist/pipes/regex.pipe.js +42 -0
  79. package/dist/pipes/regex.pipe.js.map +1 -0
  80. package/dist/pipes/remove-currency-symbol.pipe.d.ts +1 -1
  81. package/dist/pipes/remove-currency-symbol.pipe.js.map +1 -1
  82. package/dist/pipes/remove-line-breaks.pipe.d.ts +1 -1
  83. package/dist/pipes/remove-line-breaks.pipe.js.map +1 -1
  84. package/dist/pipes/remove-special-chars.pipe.d.ts +1 -1
  85. package/dist/pipes/remove-special-chars.pipe.js.map +1 -1
  86. package/dist/pipes/sanitize-text.pipe.d.ts +1 -1
  87. package/dist/pipes/sanitize-text.pipe.js.map +1 -1
  88. package/dist/pipes/to-lower-case.pipe.d.ts +1 -1
  89. package/dist/pipes/to-lower-case.pipe.js.map +1 -1
  90. package/dist/pipes/to-number.pipe.d.ts +1 -1
  91. package/dist/pipes/to-number.pipe.js.map +1 -1
  92. package/dist/pipes/to-upper-case.pipe.d.ts +1 -1
  93. package/dist/pipes/to-upper-case.pipe.js.map +1 -1
  94. package/dist/pipes/trim.pipe.d.ts +1 -1
  95. package/dist/pipes/trim.pipe.js.map +1 -1
  96. package/dist/pipes/url-resolve.pipe.d.ts +7 -0
  97. package/dist/pipes/url-resolve.pipe.js +52 -0
  98. package/dist/pipes/url-resolve.pipe.js.map +1 -0
  99. package/dist/services/browser-action.service.d.ts +3 -3
  100. package/dist/services/browser-action.service.js +54 -27
  101. package/dist/services/browser-action.service.js.map +1 -1
  102. package/dist/services/cleansing.service.d.ts +2 -4
  103. package/dist/services/cleansing.service.js +24 -81
  104. package/dist/services/cleansing.service.js.map +1 -1
  105. package/dist/tsconfig.build.tsbuildinfo +1 -1
  106. package/dist/validators/workflow.validator.js +2 -2
  107. package/dist/validators/workflow.validator.js.map +1 -1
  108. package/package.json +5 -1
@@ -1,5 +1,6 @@
1
1
  import { CleansingType } from '../enums/cleansing-type.enum';
2
2
  import type { CloakOptions } from './browser-action-options';
3
+ import type { CleanerStepRules } from '../pipes/pipe-engine';
3
4
  export interface PipeConfig {
4
5
  type: CleansingType | string;
5
6
  pattern?: string;
@@ -12,7 +13,8 @@ export interface PipeConfig {
12
13
  [key: string]: unknown;
13
14
  }
14
15
  export type SelectorMap = Record<string, string>;
15
- export type PipeOptions = Record<string, PipeConfig[]>;
16
+ export type PipeOptions = Record<string, CleanerStepRules>;
17
+ export type { CleanerStepRules };
16
18
  export type ScrapeResult = Partial<Record<string, unknown>>;
17
19
  export type ScrapeAllResult = Partial<Record<string, unknown[]>>;
18
20
  export type ScraperOptions = {
@@ -63,4 +65,33 @@ export interface ContainerScrapeResult<T = Record<string, unknown>> {
63
65
  items: T[];
64
66
  pagination?: PaginationResult;
65
67
  }
68
+ export interface PatternMeta {
69
+ multiple?: boolean | string;
70
+ multiline?: boolean;
71
+ alterPattern?: string[];
72
+ isContainer?: boolean;
73
+ isPage?: boolean;
74
+ pageUrlKey?: string;
75
+ pageTextKey?: string;
76
+ }
77
+ export interface PatternField {
78
+ key: string;
79
+ patternType: 'xpath' | 'css';
80
+ returnType: 'text' | 'rawHTML' | 'html';
81
+ patterns: string[];
82
+ meta?: PatternMeta;
83
+ pipes?: CleanerStepRules;
84
+ }
85
+ export interface EvaluateOptions {
86
+ url?: string;
87
+ patterns: PatternField[];
88
+ waitUntil?: 'load' | 'domcontentloaded' | 'networkidle0' | 'networkidle2';
89
+ timeout?: number;
90
+ cloak?: CloakOptions;
91
+ interceptResource?: boolean;
92
+ useRandomUserAgent?: boolean;
93
+ }
94
+ export interface EvaluateResult<T = Record<string, unknown>> {
95
+ results: T[];
96
+ }
66
97
  export type { ActionTarget, ActionType, ActionOptions, ActionCondition, ErrorStrategy, WorkflowAction, WorkflowDefinition, WorkflowResult, VariableContext, } from './workflow-options';
@@ -1,4 +1,4 @@
1
- import type { PipeConfig, FieldDescriptor, PaginationDescriptor } from './types';
1
+ import type { FieldDescriptor, PaginationDescriptor, CleanerStepRules } from './types';
2
2
  import type { CloakOptions } from './browser-action-options';
3
3
  export interface ActionTarget {
4
4
  type: 'css' | 'xpath';
@@ -21,7 +21,7 @@ export interface ActionOptions {
21
21
  navigationTimeout?: number;
22
22
  overwrite?: boolean;
23
23
  metadata?: Record<string, unknown>;
24
- pipes?: PipeConfig[];
24
+ pipes?: CleanerStepRules;
25
25
  multiple?: boolean;
26
26
  as?: 'text' | 'html' | 'outerHtml' | 'attribute';
27
27
  attribute?: string;
@@ -1,7 +1,7 @@
1
1
  import { CleansingPipe } from './cleansing-pipe';
2
2
  import { CleansingType } from '../enums/cleansing-type.enum';
3
3
  export declare class AltFlagPipe extends CleansingPipe<unknown, unknown> {
4
- type: CleansingType;
4
+ readonly type: CleansingType.ALT_FLAG;
5
5
  primaryPipes: CleansingPipe[];
6
6
  fallbackPipes: CleansingPipe[];
7
7
  fallbackOn?: 'empty' | 'null' | 'undefined' | 'all';
@@ -1 +1 @@
1
- {"version":3,"file":"alt-flag.pipe.js","sourceRoot":"","sources":["../../src/pipes/alt-flag.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA8D;AAC9D,qDAAiD;AACjD,sEAA6D;AAK7D,MAAa,WAAY,SAAQ,8BAA+B;IAC9D,IAAI,GAAG,mCAAa,CAAC,QAAQ,CAAC;IAG9B,YAAY,CAAkB;IAG9B,aAAa,CAAkB;IAI/B,UAAU,GAA4C,KAAK,CAAC;IAE5D,IAAI,CAAC,KAAc;QAEjB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;QAGD,IAAI,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9C,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,qBAAqB,CAAC,KAAc;QAC1C,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,OAAO;gBAEV,OAAO,KAAK,KAAK,EAAE,CAAC;YACtB,KAAK,MAAM;gBACT,OAAO,KAAK,KAAK,IAAI,CAAC;YACxB,KAAK,WAAW;gBACd,OAAO,KAAK,KAAK,SAAS,CAAC;YAC7B,KAAK,KAAK,CAAC;YACX;gBACE,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC;QACjE,CAAC;IACH,CAAC;CACF;AA9CD,kCA8CC;AA1CC;IADC,IAAA,yBAAO,GAAE;;iDACoB;AAG9B;IADC,IAAA,yBAAO,GAAE;;kDACqB;AAI/B;IAFC,IAAA,wBAAM,EAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAA,4BAAU,GAAE;;+CAC+C"}
1
+ {"version":3,"file":"alt-flag.pipe.js","sourceRoot":"","sources":["../../src/pipes/alt-flag.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA8D;AAC9D,qDAAiD;AACjD,sEAA6D;AAK7D,MAAa,WAAY,SAAQ,8BAA+B;IACrD,IAAI,GAAG,mCAAa,CAAC,QAAiB,CAAC;IAGhD,YAAY,CAAkB;IAG9B,aAAa,CAAkB;IAI/B,UAAU,GAA4C,KAAK,CAAC;IAE5D,IAAI,CAAC,KAAc;QAEjB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;QAGD,IAAI,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9C,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,qBAAqB,CAAC,KAAc;QAC1C,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,OAAO;gBAEV,OAAO,KAAK,KAAK,EAAE,CAAC;YACtB,KAAK,MAAM;gBACT,OAAO,KAAK,KAAK,IAAI,CAAC;YACxB,KAAK,WAAW;gBACd,OAAO,KAAK,KAAK,SAAS,CAAC;YAC7B,KAAK,KAAK,CAAC;YACX;gBACE,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC;QACjE,CAAC;IACH,CAAC;CACF;AA9CD,kCA8CC;AA1CC;IADC,IAAA,yBAAO,GAAE;;iDACoB;AAG9B;IADC,IAAA,yBAAO,GAAE;;kDACqB;AAI/B;IAFC,IAAA,wBAAM,EAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAA,4BAAU,GAAE;;+CAC+C"}
@@ -0,0 +1,5 @@
1
+ import { CleansingPipe } from './cleansing-pipe';
2
+ export declare class CleanHtmlPipe extends CleansingPipe<string, string> {
3
+ readonly type: "clean-html";
4
+ exec(value: string): string;
5
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.CleanHtmlPipe = void 0;
37
+ const libxmljs = __importStar(require("libxmljs2"));
38
+ const cleansing_pipe_1 = require("./cleansing-pipe");
39
+ class CleanHtmlPipe extends cleansing_pipe_1.CleansingPipe {
40
+ type = 'clean-html';
41
+ exec(value) {
42
+ if (!value)
43
+ return value;
44
+ return libxmljs
45
+ .parseHtml(value)
46
+ .find('.//text()[not(ancestor-or-self::script) and not(ancestor-or-self::style)][normalize-space()]')
47
+ .map((n) => n.toString().trim())
48
+ .join('\n');
49
+ }
50
+ }
51
+ exports.CleanHtmlPipe = CleanHtmlPipe;
52
+ //# sourceMappingURL=clean-html.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean-html.pipe.js","sourceRoot":"","sources":["../../src/pipes/clean-html.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AACtC,qDAAiD;AAEjD,MAAa,aAAc,SAAQ,8BAA6B;IACrD,IAAI,GAAG,YAAqB,CAAC;IAEtC,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,OAAO,QAAQ;aACZ,SAAS,CAAC,KAAK,CAAC;aAChB,IAAI,CACH,8FAA8F,CAC/F;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;aAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;CACF;AAbD,sCAaC"}
@@ -1,7 +1,8 @@
1
1
  import { CleansingType } from '../enums/cleansing-type.enum';
2
2
  export declare abstract class CleansingPipe<TInput = unknown, TOutput = unknown> {
3
- customConfig?: Record<string, unknown>;
4
3
  abstract exec(value: TInput): TOutput;
5
- abstract type: CleansingType | string;
6
- reverse?(): TInput;
4
+ readonly type?: CleansingType | string;
5
+ reverse(value: TOutput): TInput;
7
6
  }
7
+ export type CustomPipe = CleansingPipe;
8
+ export type CustomPipeMap = Record<string, CustomPipe>;
@@ -1,25 +1,11 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.CleansingPipe = void 0;
13
- const class_transformer_1 = require("class-transformer");
14
4
  class CleansingPipe {
15
- customConfig;
16
- reverse() {
17
- throw new Error('Reverse transformation not implemented');
5
+ type;
6
+ reverse(value) {
7
+ return value;
18
8
  }
19
9
  }
20
10
  exports.CleansingPipe = CleansingPipe;
21
- __decorate([
22
- (0, class_transformer_1.Exclude)({ toPlainOnly: true }),
23
- __metadata("design:type", Object)
24
- ], CleansingPipe.prototype, "customConfig", void 0);
25
11
  //# sourceMappingURL=cleansing-pipe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cleansing-pipe.js","sourceRoot":"","sources":["../../src/pipes/cleansing-pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAA4C;AAU5C,MAAsB,aAAa;IAMjC,YAAY,CAA2B;IAmBvC,OAAO;QACL,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;CACF;AA5BD,sCA4BC;AAtBC;IADC,IAAA,2BAAO,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;;mDACQ"}
1
+ {"version":3,"file":"cleansing-pipe.js","sourceRoot":"","sources":["../../src/pipes/cleansing-pipe.ts"],"names":[],"mappings":";;;AAQA,MAAsB,aAAa;IAWxB,IAAI,CAA0B;IAOvC,OAAO,CAAC,KAAc;QACpB,OAAO,KAA0B,CAAC;IACpC,CAAC;CACF;AArBD,sCAqBC"}
@@ -0,0 +1,6 @@
1
+ import { CleansingPipe } from './cleansing-pipe';
2
+ export declare class DateFormatSpecialPipe extends CleansingPipe<string, string> {
3
+ readonly type: "date-format-special";
4
+ exec(val: string): string;
5
+ reverse(val: string): string;
6
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DateFormatSpecialPipe = void 0;
4
+ const cleansing_pipe_1 = require("./cleansing-pipe");
5
+ class DateFormatSpecialPipe extends cleansing_pipe_1.CleansingPipe {
6
+ type = 'date-format-special';
7
+ exec(val) {
8
+ const now = new Date();
9
+ if (val === 'month_in') {
10
+ now.setMonth(now.getMonth() - 1);
11
+ return now.toISOString().replace('T', ' ').slice(0, 19);
12
+ }
13
+ if (val === 'month_over') {
14
+ now.setMonth(now.getMonth() - 2);
15
+ return now.toISOString().replace('T', ' ').slice(0, 19);
16
+ }
17
+ return val;
18
+ }
19
+ reverse(val) {
20
+ return val;
21
+ }
22
+ }
23
+ exports.DateFormatSpecialPipe = DateFormatSpecialPipe;
24
+ //# sourceMappingURL=date-format-special.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-format-special.pipe.js","sourceRoot":"","sources":["../../src/pipes/date-format-special.pipe.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AAEjD,MAAa,qBAAsB,SAAQ,8BAA6B;IAC7D,IAAI,GAAG,qBAA8B,CAAC;IAE/C,IAAI,CAAC,GAAW;QACd,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YACjC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAnBD,sDAmBC"}
@@ -1,7 +1,7 @@
1
1
  import { CleansingPipe } from './cleansing-pipe';
2
2
  import { CleansingType } from '../enums/cleansing-type.enum';
3
3
  export declare class DateFormatPipe extends CleansingPipe<string | Date, string> {
4
- type: CleansingType;
4
+ readonly type: CleansingType.DATE_FORMAT;
5
5
  format?: string;
6
6
  timezone?: string;
7
7
  locale?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"date-format.pipe.js","sourceRoot":"","sources":["../../src/pipes/date-format.pipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date-format.pipe.js","sourceRoot":"","sources":["../../src/pipes/date-format.pipe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { CleansingPipe } from './cleansing-pipe';
2
+ export declare class ExtractEmailPipe extends CleansingPipe<string, string> {
3
+ readonly type: "extract-email";
4
+ exec(value: string): string;
5
+ reverse(value: string): string;
6
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtractEmailPipe = void 0;
4
+ const cleansing_pipe_1 = require("./cleansing-pipe");
5
+ class ExtractEmailPipe extends cleansing_pipe_1.CleansingPipe {
6
+ type = 'extract-email';
7
+ exec(value) {
8
+ if (!value || typeof value !== 'string') {
9
+ return '';
10
+ }
11
+ const match = value.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)/gi);
12
+ return match ? match[0] : '';
13
+ }
14
+ reverse(value) {
15
+ return value;
16
+ }
17
+ }
18
+ exports.ExtractEmailPipe = ExtractEmailPipe;
19
+ //# sourceMappingURL=extract-email.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-email.pipe.js","sourceRoot":"","sources":["../../src/pipes/extract-email.pipe.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AAEjD,MAAa,gBAAiB,SAAQ,8BAA6B;IACxD,IAAI,GAAG,eAAwB,CAAC;IAEzC,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CACvB,qDAAqD,CACtD,CAAC;QACF,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAjBD,4CAiBC"}
@@ -0,0 +1,10 @@
1
+ import { CleansingPipe } from './cleansing-pipe';
2
+ export declare class ExtractUrlParamsPipe extends CleansingPipe<string, string> {
3
+ readonly type: "extract-url-params";
4
+ regex: string;
5
+ flag: string;
6
+ paramKey: string;
7
+ baseUrl?: string;
8
+ exec(val: string): string;
9
+ reverse(val: string): string;
10
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ExtractUrlParamsPipe = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const cleansing_pipe_1 = require("./cleansing-pipe");
15
+ class ExtractUrlParamsPipe extends cleansing_pipe_1.CleansingPipe {
16
+ type = 'extract-url-params';
17
+ regex;
18
+ flag = 'g';
19
+ paramKey;
20
+ baseUrl;
21
+ exec(val) {
22
+ if (typeof val !== 'string')
23
+ return val;
24
+ try {
25
+ const url = new URL(val);
26
+ const flag = Array.isArray(this.flag)
27
+ ? this.flag.join('')
28
+ : this.flag;
29
+ const match = val.match(new RegExp(this.regex, flag))?.length ?? 0;
30
+ if (match > 0 && url.searchParams.has(this.paramKey)) {
31
+ return url.searchParams.get(this.paramKey) ?? val;
32
+ }
33
+ }
34
+ catch {
35
+ }
36
+ return val;
37
+ }
38
+ reverse(val) {
39
+ return val;
40
+ }
41
+ }
42
+ exports.ExtractUrlParamsPipe = ExtractUrlParamsPipe;
43
+ __decorate([
44
+ (0, class_validator_1.IsString)(),
45
+ (0, class_validator_1.IsNotEmpty)(),
46
+ __metadata("design:type", String)
47
+ ], ExtractUrlParamsPipe.prototype, "regex", void 0);
48
+ __decorate([
49
+ (0, class_validator_1.IsString)(),
50
+ __metadata("design:type", String)
51
+ ], ExtractUrlParamsPipe.prototype, "flag", void 0);
52
+ __decorate([
53
+ (0, class_validator_1.IsString)(),
54
+ (0, class_validator_1.IsNotEmpty)(),
55
+ __metadata("design:type", String)
56
+ ], ExtractUrlParamsPipe.prototype, "paramKey", void 0);
57
+ //# sourceMappingURL=extract-url-params.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-url-params.pipe.js","sourceRoot":"","sources":["../../src/pipes/extract-url-params.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AACvD,qDAAiD;AAEjD,MAAa,oBAAqB,SAAQ,8BAA6B;IAC5D,IAAI,GAAG,oBAA6B,CAAC;IAI9C,KAAK,CAAU;IAGf,IAAI,GAAW,GAAG,CAAC;IAInB,QAAQ,CAAU;IAElB,OAAO,CAAU;IAEjB,IAAI,CAAC,GAAW;QACd,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnC,CAAC,CAAE,IAAI,CAAC,IAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACd,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;YACnE,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;YACpD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AApCD,oDAoCC;AA/BC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mDACE;AAGf;IADC,IAAA,0BAAQ,GAAE;;kDACQ;AAInB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;sDACK"}
@@ -1,4 +1,5 @@
1
1
  export * from './cleansing-pipe';
2
+ export * from './pipe-registry';
2
3
  export * from './trim.pipe';
3
4
  export * from './to-number.pipe';
4
5
  export * from './to-lower-case.pipe';
@@ -13,3 +14,18 @@ export * from './remove-currency-symbol.pipe';
13
14
  export * from './remove-special-chars.pipe';
14
15
  export * from './alt-flag.pipe';
15
16
  export * from './profiles';
17
+ export * from './number-normalize.pipe';
18
+ export * from './url-resolve.pipe';
19
+ export * from './extract-email.pipe';
20
+ export * from './regex.pipe';
21
+ export * from './parse-as-url.pipe';
22
+ export * from './clean-html.pipe';
23
+ export * from './regex-extraction.pipe';
24
+ export * from './regex-replace-x.pipe';
25
+ export * from './extract-url-params.pipe';
26
+ export * from './media-filter.pipe';
27
+ export * from './query-append.pipe';
28
+ export * from './json-path.pipe';
29
+ export * from './query-remover.pipe';
30
+ export * from './date-format-special.pipe';
31
+ export * from './pipe-engine';
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./cleansing-pipe"), exports);
18
+ __exportStar(require("./pipe-registry"), exports);
18
19
  __exportStar(require("./trim.pipe"), exports);
19
20
  __exportStar(require("./to-number.pipe"), exports);
20
21
  __exportStar(require("./to-lower-case.pipe"), exports);
@@ -29,4 +30,19 @@ __exportStar(require("./remove-currency-symbol.pipe"), exports);
29
30
  __exportStar(require("./remove-special-chars.pipe"), exports);
30
31
  __exportStar(require("./alt-flag.pipe"), exports);
31
32
  __exportStar(require("./profiles"), exports);
33
+ __exportStar(require("./number-normalize.pipe"), exports);
34
+ __exportStar(require("./url-resolve.pipe"), exports);
35
+ __exportStar(require("./extract-email.pipe"), exports);
36
+ __exportStar(require("./regex.pipe"), exports);
37
+ __exportStar(require("./parse-as-url.pipe"), exports);
38
+ __exportStar(require("./clean-html.pipe"), exports);
39
+ __exportStar(require("./regex-extraction.pipe"), exports);
40
+ __exportStar(require("./regex-replace-x.pipe"), exports);
41
+ __exportStar(require("./extract-url-params.pipe"), exports);
42
+ __exportStar(require("./media-filter.pipe"), exports);
43
+ __exportStar(require("./query-append.pipe"), exports);
44
+ __exportStar(require("./json-path.pipe"), exports);
45
+ __exportStar(require("./query-remover.pipe"), exports);
46
+ __exportStar(require("./date-format-special.pipe"), exports);
47
+ __exportStar(require("./pipe-engine"), exports);
32
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,8CAA4B;AAC5B,mDAAiC;AACjC,uDAAqC;AACrC,uDAAqC;AACrC,uDAAqC;AACrC,8DAA4C;AAC5C,4DAA0C;AAC1C,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC;AACrC,gEAA8C;AAC9C,8DAA4C;AAC5C,kDAAgC;AAChC,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,kDAAgC;AAEhC,8CAA4B;AAC5B,mDAAiC;AACjC,uDAAqC;AACrC,uDAAqC;AACrC,uDAAqC;AACrC,8DAA4C;AAC5C,4DAA0C;AAC1C,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC;AACrC,gEAA8C;AAC9C,8DAA4C;AAC5C,kDAAgC;AAChC,6CAA2B;AAE3B,0DAAwC;AACxC,qDAAmC;AACnC,uDAAqC;AACrC,+CAA6B;AAC7B,sDAAoC;AACpC,oDAAkC;AAClC,0DAAwC;AACxC,yDAAuC;AACvC,4DAA0C;AAC1C,sDAAoC;AACpC,sDAAoC;AACpC,mDAAiC;AACjC,uDAAqC;AACrC,6DAA2C;AAC3C,gDAA8B"}
@@ -0,0 +1,8 @@
1
+ import { CleansingPipe } from './cleansing-pipe';
2
+ export declare class JsonPathPipe extends CleansingPipe<string, string> {
3
+ readonly type: "json-path";
4
+ path: string;
5
+ baseUrl?: string;
6
+ exec(val: string): string;
7
+ reverse(val: string): string;
8
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.JsonPathPipe = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const jsonpath_plus_1 = require("jsonpath-plus");
15
+ const cleansing_pipe_1 = require("./cleansing-pipe");
16
+ class JsonPathPipe extends cleansing_pipe_1.CleansingPipe {
17
+ type = 'json-path';
18
+ path;
19
+ baseUrl;
20
+ exec(val) {
21
+ try {
22
+ const json = (typeof val === 'string' ? JSON.parse(val) : val);
23
+ const result = (0, jsonpath_plus_1.JSONPath)({ path: this.path, json });
24
+ return String(result);
25
+ }
26
+ catch {
27
+ return val;
28
+ }
29
+ }
30
+ reverse(val) {
31
+ return val;
32
+ }
33
+ }
34
+ exports.JsonPathPipe = JsonPathPipe;
35
+ __decorate([
36
+ (0, class_validator_1.IsString)(),
37
+ (0, class_validator_1.IsNotEmpty)(),
38
+ __metadata("design:type", String)
39
+ ], JsonPathPipe.prototype, "path", void 0);
40
+ //# sourceMappingURL=json-path.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-path.pipe.js","sourceRoot":"","sources":["../../src/pipes/json-path.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AACvD,iDAAyC;AACzC,qDAAiD;AAEjD,MAAa,YAAa,SAAQ,8BAA6B;IACpD,IAAI,GAAG,WAAoB,CAAC;IAIrC,IAAI,CAAU;IAEd,OAAO,CAAU;IAEjB,IAAI,CAAC,GAAW;QACd,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAW,CAAC;YACzE,MAAM,MAAM,GAAY,IAAA,wBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAtBD,oCAsBC;AAjBC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;0CACC"}
@@ -0,0 +1,7 @@
1
+ import { CleansingPipe } from './cleansing-pipe';
2
+ export declare class MediaFilterPipe extends CleansingPipe<string, string> {
3
+ readonly type: "media-filter";
4
+ baseUrl?: string;
5
+ exec(rawSrc: string): string;
6
+ reverse(val: string): string;
7
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MediaFilterPipe = void 0;
4
+ const cleansing_pipe_1 = require("./cleansing-pipe");
5
+ class MediaFilterPipe extends cleansing_pipe_1.CleansingPipe {
6
+ type = 'media-filter';
7
+ baseUrl;
8
+ exec(rawSrc) {
9
+ if (typeof rawSrc !== 'string')
10
+ return '';
11
+ return rawSrc
12
+ .split(' ')
13
+ .filter((s) => !s.includes('data:image/gif'))
14
+ .join(' ');
15
+ }
16
+ reverse(val) {
17
+ return val;
18
+ }
19
+ }
20
+ exports.MediaFilterPipe = MediaFilterPipe;
21
+ //# sourceMappingURL=media-filter.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-filter.pipe.js","sourceRoot":"","sources":["../../src/pipes/media-filter.pipe.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AAEjD,MAAa,eAAgB,SAAQ,8BAA6B;IACvD,IAAI,GAAG,cAAuB,CAAC;IAExC,OAAO,CAAU;IAEjB,IAAI,CAAC,MAAc;QACjB,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC1C,OAAO,MAAM;aACV,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;aAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAhBD,0CAgBC"}
@@ -1,7 +1,7 @@
1
1
  import { CleansingPipe } from './cleansing-pipe';
2
2
  import { CleansingType } from '../enums/cleansing-type.enum';
3
3
  export declare class NormalizeWhitespacePipe extends CleansingPipe<string, string> {
4
- type: CleansingType;
4
+ readonly type: CleansingType.NORMALIZE_WHITESPACE;
5
5
  preserveTabs?: boolean;
6
6
  preserveLineBreaks?: boolean;
7
7
  exec(value: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-whitespace.pipe.js","sourceRoot":"","sources":["../../src/pipes/normalize-whitespace.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6C;AAC7C,qDAAiD;AACjD,sEAA6D;AAK7D,MAAa,uBAAwB,SAAQ,8BAA6B;IACxE,IAAI,GAAG,mCAAa,CAAC,oBAAoB,CAAC;IAG1C,YAAY,CAAW;IAGvB,kBAAkB,CAAW;IAE7B,IAAI,CAAC,KAAa;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC;QAGnB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QAGD,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,gDAAgD,EAChD,GAAG,CACJ,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE7B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YAEN,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QAGD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAGrC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAEvB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA3CD,0DA2CC;AAvCC;IADC,IAAA,4BAAU,GAAE;;6DACU;AAGvB;IADC,IAAA,4BAAU,GAAE;;mEACgB"}
1
+ {"version":3,"file":"normalize-whitespace.pipe.js","sourceRoot":"","sources":["../../src/pipes/normalize-whitespace.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6C;AAC7C,qDAAiD;AACjD,sEAA6D;AAK7D,MAAa,uBAAwB,SAAQ,8BAA6B;IAC/D,IAAI,GAAG,mCAAa,CAAC,oBAA6B,CAAC;IAG5D,YAAY,CAAW;IAGvB,kBAAkB,CAAW;IAE7B,IAAI,CAAC,KAAa;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC;QAGnB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QAGD,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,gDAAgD,EAChD,GAAG,CACJ,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE7B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YAEN,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QAGD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAGrC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAEvB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA3CD,0DA2CC;AAvCC;IADC,IAAA,4BAAU,GAAE;;6DACU;AAGvB;IADC,IAAA,4BAAU,GAAE;;mEACgB"}
@@ -0,0 +1,6 @@
1
+ import { CleansingPipe } from './cleansing-pipe';
2
+ export declare class NumberNormalizePipe extends CleansingPipe<string, number> {
3
+ readonly type: "num-normalize";
4
+ exec(value: string): number;
5
+ reverse(value: number): string;
6
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NumberNormalizePipe = void 0;
4
+ const cleansing_pipe_1 = require("./cleansing-pipe");
5
+ const SUFFIX_MULTIPLIERS = {
6
+ k: 1000,
7
+ m: 1000000,
8
+ b: 1000000000,
9
+ };
10
+ const REVERSE_THRESHOLDS = [
11
+ { threshold: 1000000000, suffix: 'B', divisor: 1000000000 },
12
+ { threshold: 1000000, suffix: 'M', divisor: 1000000 },
13
+ { threshold: 1000, suffix: 'K', divisor: 1000 },
14
+ ];
15
+ class NumberNormalizePipe extends cleansing_pipe_1.CleansingPipe {
16
+ type = 'num-normalize';
17
+ exec(value) {
18
+ if (typeof value !== 'string') {
19
+ return Number(value) || 0;
20
+ }
21
+ const normalized = value.toLowerCase().replace(/,/g, '.');
22
+ let result = parseFloat(normalized);
23
+ const suffix = normalized.slice(-1);
24
+ const multiplier = SUFFIX_MULTIPLIERS[suffix];
25
+ if (multiplier) {
26
+ result *= multiplier;
27
+ }
28
+ return Math.round(result) || 0;
29
+ }
30
+ reverse(value) {
31
+ const threshold = REVERSE_THRESHOLDS.find((t) => value >= t.threshold);
32
+ return threshold
33
+ ? `${(value / threshold.divisor).toFixed(1)}${threshold.suffix}`
34
+ : String(value);
35
+ }
36
+ }
37
+ exports.NumberNormalizePipe = NumberNormalizePipe;
38
+ //# sourceMappingURL=number-normalize.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-normalize.pipe.js","sourceRoot":"","sources":["../../src/pipes/number-normalize.pipe.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AAEjD,MAAM,kBAAkB,GAAG;IACzB,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,UAAU;CACL,CAAC;AAEX,MAAM,kBAAkB,GAAG;IACzB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE;IAC3D,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;IACrD,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;CACvC,CAAC;AAEX,MAAa,mBAAoB,SAAQ,8BAA6B;IAC3D,IAAI,GAAG,eAAwB,CAAC;IAEzC,IAAI,CAAC,KAAa;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1D,IAAI,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,UAAU,GACd,kBAAkB,CAAC,MAAyC,CAAC,CAAC;QAChE,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,UAAU,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;QACvE,OAAO,SAAS;YACd,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE;YAChE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;CACF;AA3BD,kDA2BC"}
@@ -0,0 +1,7 @@
1
+ import { CleansingPipe } from './cleansing-pipe';
2
+ export declare class ParseAsURLPipe extends CleansingPipe<string, string> {
3
+ readonly type: "parse-as-url";
4
+ baseUrl?: string;
5
+ exec(value: string): string;
6
+ reverse(value: string): string;
7
+ }