@loopstack/core 0.3.0 → 0.3.1
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/CHANGELOG.md +8 -0
- package/dist/modules/common/common.module.js +2 -1
- package/dist/modules/common/common.module.js.map +1 -1
- package/dist/modules/common/services/handlebars-helpers/comparison-handlebars-helper.service.d.ts +41 -0
- package/dist/modules/common/services/handlebars-helpers/comparison-handlebars-helper.service.js +416 -0
- package/dist/modules/common/services/handlebars-helpers/comparison-handlebars-helper.service.js.map +1 -0
- package/dist/modules/common/services/handlebars-helpers/date-formatter-helper.service.d.ts +9 -0
- package/dist/modules/common/services/handlebars-helpers/date-formatter-helper.service.js +124 -0
- package/dist/modules/common/services/handlebars-helpers/date-formatter-helper.service.js.map +1 -0
- package/dist/modules/common/services/handlebars-helpers/index.d.ts +2 -1
- package/dist/modules/common/services/handlebars-helpers/index.js +2 -1
- package/dist/modules/common/services/handlebars-helpers/index.js.map +1 -1
- package/dist/modules/common/services/handlebars-helpers/operators-helper.service.d.ts +41 -0
- package/dist/modules/common/services/handlebars-helpers/operators-helper.service.js +416 -0
- package/dist/modules/common/services/handlebars-helpers/operators-helper.service.js.map +1 -0
- package/dist/modules/common/services/handlebars-processor.service.d.ts +4 -3
- package/dist/modules/common/services/handlebars-processor.service.js +75 -7
- package/dist/modules/common/services/handlebars-processor.service.js.map +1 -1
- package/dist/modules/workflow-processor/services/state-machine-config.service.js +3 -3
- package/dist/modules/workflow-processor/services/state-machine-config.service.js.map +1 -1
- package/dist/modules/workflow-processor/tool-services/batch-create-documents.service.d.ts +2 -2
- package/dist/modules/workflow-processor/tool-services/batch-create-documents.service.js.map +1 -1
- package/dist/modules/workflow-processor/tool-services/create-document.service.d.ts +6 -6
- package/dist/modules/workflow-processor/tool-services/create-document.service.js +1 -1
- package/dist/modules/workflow-processor/tool-services/create-document.service.js.map +1 -1
- package/dist/modules/workflow-processor/tool-services/load-document.service.d.ts +42 -7
- package/dist/modules/workflow-processor/tool-services/set-target-place.service.js +6 -5
- package/dist/modules/workflow-processor/tool-services/set-target-place.service.js.map +1 -1
- package/dist/modules/workflow-processor/tool-services/update-document.service.d.ts +6 -6
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -25,7 +25,8 @@ exports.CommonModule = CommonModule = __decorate([
|
|
|
25
25
|
services_1.ObjectExpressionHandler,
|
|
26
26
|
services_1.TemplateExpressionHandler,
|
|
27
27
|
services_1.HandlebarsProcessor,
|
|
28
|
-
services_1.
|
|
28
|
+
services_1.DateFormatterHelperService,
|
|
29
|
+
services_1.OperatorsHelperService,
|
|
29
30
|
services_1.VariableSanitizerService,
|
|
30
31
|
],
|
|
31
32
|
exports: [client_message_service_1.ClientMessageService, services_1.ContextService, services_1.TemplateService],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.module.js","sourceRoot":"","sources":["../../../src/modules/common/common.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yDAA2D;AAC3D,yCAQoB;AACpB,8EAAyE;AACzE,oDAAuD;
|
|
1
|
+
{"version":3,"file":"common.module.js","sourceRoot":"","sources":["../../../src/modules/common/common.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yDAA2D;AAC3D,yCAQoB;AACpB,8EAAyE;AACzE,oDAAuD;AAiBhD,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,oCAAY;uBAAZ,YAAY;IAfxB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,mCAAmB,EAAE,kCAAkB,CAAC,OAAO,EAAE,CAAC;QAC5D,SAAS,EAAE;YACT,6CAAoB;YACpB,yBAAc;YACd,0BAAe;YACf,kCAAuB;YACvB,oCAAyB;YACzB,8BAAmB;YACnB,qCAA0B;YAC1B,iCAAsB;YACtB,mCAAwB;SACzB;QACD,OAAO,EAAE,CAAC,6CAAoB,EAAE,yBAAc,EAAE,0BAAe,CAAC;KACjE,CAAC;GACW,YAAY,CAAG"}
|
package/dist/modules/common/services/handlebars-helpers/comparison-handlebars-helper.service.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export declare class ComparisonHandlebarsHelperService {
|
|
2
|
+
getEqualsHelper(): (...args: any[]) => boolean;
|
|
3
|
+
getNotEqualsHelper(): (...args: any[]) => boolean;
|
|
4
|
+
getLooseEqualsHelper(): (...args: any[]) => boolean;
|
|
5
|
+
getLooseNotEqualsHelper(): (...args: any[]) => boolean;
|
|
6
|
+
getGreaterThanHelper(): (...args: any[]) => boolean;
|
|
7
|
+
getGreaterThanOrEqualHelper(): (...args: any[]) => boolean;
|
|
8
|
+
getLessThanHelper(): (...args: any[]) => boolean;
|
|
9
|
+
getLessThanOrEqualHelper(): (...args: any[]) => boolean;
|
|
10
|
+
getAndHelper(): (...args: any[]) => boolean;
|
|
11
|
+
getOrHelper(): (...args: any[]) => boolean;
|
|
12
|
+
getNotHelper(): (...args: any[]) => boolean;
|
|
13
|
+
getContainsHelper(): (...args: any[]) => boolean;
|
|
14
|
+
getStartsWithHelper(): (...args: any[]) => boolean;
|
|
15
|
+
getEndsWithHelper(): (...args: any[]) => boolean;
|
|
16
|
+
getRegexTestHelper(): (...args: any[]) => boolean;
|
|
17
|
+
getInHelper(): (...args: any[]) => boolean;
|
|
18
|
+
getLengthHelper(): (...args: any[]) => number;
|
|
19
|
+
getIsEmptyHelper(): (...args: any[]) => boolean;
|
|
20
|
+
getTypeOfHelper(): (...args: any[]) => string;
|
|
21
|
+
getIsNullHelper(): (...args: any[]) => boolean;
|
|
22
|
+
getIsUndefinedHelper(): (...args: any[]) => boolean;
|
|
23
|
+
getIsNumberHelper(): (...args: any[]) => boolean;
|
|
24
|
+
getIsStringHelper(): (...args: any[]) => boolean;
|
|
25
|
+
getIsBooleanHelper(): (...args: any[]) => boolean;
|
|
26
|
+
getIsArrayHelper(): (...args: any[]) => boolean;
|
|
27
|
+
getIsObjectHelper(): (...args: any[]) => boolean;
|
|
28
|
+
getAddHelper(): (...args: any[]) => number;
|
|
29
|
+
getSubtractHelper(): (...args: any[]) => number;
|
|
30
|
+
getMultiplyHelper(): (...args: any[]) => number;
|
|
31
|
+
getDivideHelper(): (...args: any[]) => number;
|
|
32
|
+
getModuloHelper(): (...args: any[]) => number;
|
|
33
|
+
getDefaultHelper(): (...args: any[]) => any;
|
|
34
|
+
private safeCompare;
|
|
35
|
+
private safeNumericCompare;
|
|
36
|
+
private safeStringOperation;
|
|
37
|
+
private sanitizeValue;
|
|
38
|
+
private sanitizeString;
|
|
39
|
+
private safeNumber;
|
|
40
|
+
private safeTruthy;
|
|
41
|
+
}
|
package/dist/modules/common/services/handlebars-helpers/comparison-handlebars-helper.service.js
ADDED
|
@@ -0,0 +1,416 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ComparisonHandlebarsHelperService = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
let ComparisonHandlebarsHelperService = class ComparisonHandlebarsHelperService {
|
|
12
|
+
getEqualsHelper() {
|
|
13
|
+
return (...args) => {
|
|
14
|
+
const [left, right] = args.slice(0, -1);
|
|
15
|
+
return this.safeCompare(left, right, (a, b) => a === b);
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
getNotEqualsHelper() {
|
|
19
|
+
return (...args) => {
|
|
20
|
+
const [left, right] = args.slice(0, -1);
|
|
21
|
+
return this.safeCompare(left, right, (a, b) => a !== b);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
getLooseEqualsHelper() {
|
|
25
|
+
return (...args) => {
|
|
26
|
+
const [left, right] = args.slice(0, -1);
|
|
27
|
+
return this.safeCompare(left, right, (a, b) => a == b);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
getLooseNotEqualsHelper() {
|
|
31
|
+
return (...args) => {
|
|
32
|
+
const [left, right] = args.slice(0, -1);
|
|
33
|
+
return this.safeCompare(left, right, (a, b) => a != b);
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
getGreaterThanHelper() {
|
|
37
|
+
return (...args) => {
|
|
38
|
+
const [left, right] = args.slice(0, -1);
|
|
39
|
+
return this.safeNumericCompare(left, right, (a, b) => a > b);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
getGreaterThanOrEqualHelper() {
|
|
43
|
+
return (...args) => {
|
|
44
|
+
const [left, right] = args.slice(0, -1);
|
|
45
|
+
return this.safeNumericCompare(left, right, (a, b) => a >= b);
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
getLessThanHelper() {
|
|
49
|
+
return (...args) => {
|
|
50
|
+
const [left, right] = args.slice(0, -1);
|
|
51
|
+
return this.safeNumericCompare(left, right, (a, b) => a < b);
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
getLessThanOrEqualHelper() {
|
|
55
|
+
return (...args) => {
|
|
56
|
+
const [left, right] = args.slice(0, -1);
|
|
57
|
+
return this.safeNumericCompare(left, right, (a, b) => a <= b);
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
getAndHelper() {
|
|
61
|
+
return (...args) => {
|
|
62
|
+
const values = args.slice(0, -1);
|
|
63
|
+
if (values.length === 0) {
|
|
64
|
+
throw new Error('AND helper requires at least one argument');
|
|
65
|
+
}
|
|
66
|
+
return values.every(val => this.safeTruthy(val));
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
getOrHelper() {
|
|
70
|
+
return (...args) => {
|
|
71
|
+
const values = args.slice(0, -1);
|
|
72
|
+
if (values.length === 0) {
|
|
73
|
+
throw new Error('OR helper requires at least one argument');
|
|
74
|
+
}
|
|
75
|
+
return values.some(val => this.safeTruthy(val));
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
getNotHelper() {
|
|
79
|
+
return (...args) => {
|
|
80
|
+
const values = args.slice(0, -1);
|
|
81
|
+
if (values.length !== 1) {
|
|
82
|
+
throw new Error('NOT helper requires exactly one argument');
|
|
83
|
+
}
|
|
84
|
+
const [value] = values;
|
|
85
|
+
return !this.safeTruthy(value);
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
getContainsHelper() {
|
|
89
|
+
return (...args) => {
|
|
90
|
+
const values = args.slice(0, -1);
|
|
91
|
+
if (values.length !== 2) {
|
|
92
|
+
throw new Error('CONTAINS helper requires exactly two arguments (haystack, needle)');
|
|
93
|
+
}
|
|
94
|
+
const [haystack, needle] = values;
|
|
95
|
+
return this.safeStringOperation(haystack, needle, (h, n) => h.includes(n));
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
getStartsWithHelper() {
|
|
99
|
+
return (...args) => {
|
|
100
|
+
const values = args.slice(0, -1);
|
|
101
|
+
if (values.length !== 2) {
|
|
102
|
+
throw new Error('STARTS_WITH helper requires exactly two arguments (string, prefix)');
|
|
103
|
+
}
|
|
104
|
+
const [str, prefix] = values;
|
|
105
|
+
return this.safeStringOperation(str, prefix, (s, p) => s.startsWith(p));
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
getEndsWithHelper() {
|
|
109
|
+
return (...args) => {
|
|
110
|
+
const values = args.slice(0, -1);
|
|
111
|
+
if (values.length !== 2) {
|
|
112
|
+
throw new Error('ENDS_WITH helper requires exactly two arguments (string, suffix)');
|
|
113
|
+
}
|
|
114
|
+
const [str, suffix] = values;
|
|
115
|
+
return this.safeStringOperation(str, suffix, (s, p) => s.endsWith(p));
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
getRegexTestHelper() {
|
|
119
|
+
return (...args) => {
|
|
120
|
+
const values = args.slice(0, -1);
|
|
121
|
+
if (values.length < 2 || values.length > 3) {
|
|
122
|
+
throw new Error('REGEX_TEST helper requires 2 or 3 arguments (string, pattern, [flags])');
|
|
123
|
+
}
|
|
124
|
+
const [str, pattern, flags] = values;
|
|
125
|
+
const safeStr = this.sanitizeString(str);
|
|
126
|
+
const safePattern = this.sanitizeString(pattern);
|
|
127
|
+
const safeFlags = flags ? this.sanitizeString(flags) : '';
|
|
128
|
+
if (safeFlags && !/^[gimuy]*$/.test(safeFlags)) {
|
|
129
|
+
throw new Error(`Invalid regex flags: ${safeFlags}. Only g, i, m, u, y are allowed.`);
|
|
130
|
+
}
|
|
131
|
+
const regex = new RegExp(safePattern, safeFlags);
|
|
132
|
+
return regex.test(safeStr);
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
getInHelper() {
|
|
136
|
+
return (...args) => {
|
|
137
|
+
const values = args.slice(0, -1);
|
|
138
|
+
if (values.length !== 2) {
|
|
139
|
+
throw new Error('IN helper requires exactly two arguments (needle, haystack)');
|
|
140
|
+
}
|
|
141
|
+
const [needle, haystack] = values;
|
|
142
|
+
if (Array.isArray(haystack)) {
|
|
143
|
+
return haystack.includes(needle);
|
|
144
|
+
}
|
|
145
|
+
if (typeof haystack === 'object' && haystack !== null) {
|
|
146
|
+
return Object.prototype.hasOwnProperty.call(haystack, needle);
|
|
147
|
+
}
|
|
148
|
+
throw new Error('IN helper: haystack must be an array or object');
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
getLengthHelper() {
|
|
152
|
+
return (...args) => {
|
|
153
|
+
const values = args.slice(0, -1);
|
|
154
|
+
if (values.length !== 1) {
|
|
155
|
+
throw new Error('LENGTH helper requires exactly one argument');
|
|
156
|
+
}
|
|
157
|
+
const [value] = values;
|
|
158
|
+
if (value === null || value === undefined) {
|
|
159
|
+
return 0;
|
|
160
|
+
}
|
|
161
|
+
if (typeof value === 'string' || Array.isArray(value)) {
|
|
162
|
+
return value.length;
|
|
163
|
+
}
|
|
164
|
+
if (typeof value === 'object') {
|
|
165
|
+
return Object.keys(value).length;
|
|
166
|
+
}
|
|
167
|
+
throw new Error(`LENGTH helper: unsupported type ${typeof value}`);
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
getIsEmptyHelper() {
|
|
171
|
+
return (...args) => {
|
|
172
|
+
const values = args.slice(0, -1);
|
|
173
|
+
if (values.length !== 1) {
|
|
174
|
+
throw new Error('IS_EMPTY helper requires exactly one argument');
|
|
175
|
+
}
|
|
176
|
+
const [value] = values;
|
|
177
|
+
if (value === null || value === undefined) {
|
|
178
|
+
return true;
|
|
179
|
+
}
|
|
180
|
+
if (typeof value === 'string' || Array.isArray(value)) {
|
|
181
|
+
return value.length === 0;
|
|
182
|
+
}
|
|
183
|
+
if (typeof value === 'object') {
|
|
184
|
+
return Object.keys(value).length === 0;
|
|
185
|
+
}
|
|
186
|
+
return false;
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
getTypeOfHelper() {
|
|
190
|
+
return (...args) => {
|
|
191
|
+
const values = args.slice(0, -1);
|
|
192
|
+
if (values.length !== 1) {
|
|
193
|
+
throw new Error('TYPE_OF helper requires exactly one argument');
|
|
194
|
+
}
|
|
195
|
+
const [value] = values;
|
|
196
|
+
if (value === null)
|
|
197
|
+
return 'null';
|
|
198
|
+
if (Array.isArray(value))
|
|
199
|
+
return 'array';
|
|
200
|
+
return typeof value;
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
getIsNullHelper() {
|
|
204
|
+
return (...args) => {
|
|
205
|
+
const values = args.slice(0, -1);
|
|
206
|
+
if (values.length !== 1) {
|
|
207
|
+
throw new Error('IS_NULL helper requires exactly one argument');
|
|
208
|
+
}
|
|
209
|
+
const [value] = values;
|
|
210
|
+
return value === null;
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
getIsUndefinedHelper() {
|
|
214
|
+
return (...args) => {
|
|
215
|
+
const values = args.slice(0, -1);
|
|
216
|
+
if (values.length !== 1) {
|
|
217
|
+
throw new Error('IS_UNDEFINED helper requires exactly one argument');
|
|
218
|
+
}
|
|
219
|
+
const [value] = values;
|
|
220
|
+
return value === undefined;
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
getIsNumberHelper() {
|
|
224
|
+
return (...args) => {
|
|
225
|
+
const values = args.slice(0, -1);
|
|
226
|
+
if (values.length !== 1) {
|
|
227
|
+
throw new Error('IS_NUMBER helper requires exactly one argument');
|
|
228
|
+
}
|
|
229
|
+
const [value] = values;
|
|
230
|
+
return typeof value === 'number' && !isNaN(value);
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
getIsStringHelper() {
|
|
234
|
+
return (...args) => {
|
|
235
|
+
const values = args.slice(0, -1);
|
|
236
|
+
if (values.length !== 1) {
|
|
237
|
+
throw new Error('IS_STRING helper requires exactly one argument');
|
|
238
|
+
}
|
|
239
|
+
const [value] = values;
|
|
240
|
+
return typeof value === 'string';
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
getIsBooleanHelper() {
|
|
244
|
+
return (...args) => {
|
|
245
|
+
const values = args.slice(0, -1);
|
|
246
|
+
if (values.length !== 1) {
|
|
247
|
+
throw new Error('IS_BOOLEAN helper requires exactly one argument');
|
|
248
|
+
}
|
|
249
|
+
const [value] = values;
|
|
250
|
+
return typeof value === 'boolean';
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
getIsArrayHelper() {
|
|
254
|
+
return (...args) => {
|
|
255
|
+
const values = args.slice(0, -1);
|
|
256
|
+
if (values.length !== 1) {
|
|
257
|
+
throw new Error('IS_ARRAY helper requires exactly one argument');
|
|
258
|
+
}
|
|
259
|
+
const [value] = values;
|
|
260
|
+
return Array.isArray(value);
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
getIsObjectHelper() {
|
|
264
|
+
return (...args) => {
|
|
265
|
+
const values = args.slice(0, -1);
|
|
266
|
+
if (values.length !== 1) {
|
|
267
|
+
throw new Error('IS_OBJECT helper requires exactly one argument');
|
|
268
|
+
}
|
|
269
|
+
const [value] = values;
|
|
270
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
getAddHelper() {
|
|
274
|
+
return (...args) => {
|
|
275
|
+
const values = args.slice(0, -1);
|
|
276
|
+
if (values.length === 0) {
|
|
277
|
+
throw new Error('ADD helper requires at least one argument');
|
|
278
|
+
}
|
|
279
|
+
return values.reduce((sum, val) => sum + this.safeNumber(val), 0);
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
getSubtractHelper() {
|
|
283
|
+
return (...args) => {
|
|
284
|
+
const values = args.slice(0, -1);
|
|
285
|
+
if (values.length !== 2) {
|
|
286
|
+
throw new Error('SUBTRACT helper requires exactly two arguments (left, right)');
|
|
287
|
+
}
|
|
288
|
+
const [left, right] = values;
|
|
289
|
+
return this.safeNumber(left) - this.safeNumber(right);
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
getMultiplyHelper() {
|
|
293
|
+
return (...args) => {
|
|
294
|
+
const values = args.slice(0, -1);
|
|
295
|
+
if (values.length !== 2) {
|
|
296
|
+
throw new Error('MULTIPLY helper requires exactly two arguments (left, right)');
|
|
297
|
+
}
|
|
298
|
+
const [left, right] = values;
|
|
299
|
+
return this.safeNumber(left) * this.safeNumber(right);
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
getDivideHelper() {
|
|
303
|
+
return (...args) => {
|
|
304
|
+
const values = args.slice(0, -1);
|
|
305
|
+
if (values.length !== 2) {
|
|
306
|
+
throw new Error('DIVIDE helper requires exactly two arguments (left, right)');
|
|
307
|
+
}
|
|
308
|
+
const [left, right] = values;
|
|
309
|
+
const rightNum = this.safeNumber(right);
|
|
310
|
+
if (rightNum === 0) {
|
|
311
|
+
throw new Error('Division by zero is not allowed');
|
|
312
|
+
}
|
|
313
|
+
return this.safeNumber(left) / rightNum;
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
getModuloHelper() {
|
|
317
|
+
return (...args) => {
|
|
318
|
+
const values = args.slice(0, -1);
|
|
319
|
+
if (values.length !== 2) {
|
|
320
|
+
throw new Error('MODULO helper requires exactly two arguments (left, right)');
|
|
321
|
+
}
|
|
322
|
+
const [left, right] = values;
|
|
323
|
+
const rightNum = this.safeNumber(right);
|
|
324
|
+
if (rightNum === 0) {
|
|
325
|
+
throw new Error('Modulo by zero is not allowed');
|
|
326
|
+
}
|
|
327
|
+
return this.safeNumber(left) % rightNum;
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
getDefaultHelper() {
|
|
331
|
+
return (...args) => {
|
|
332
|
+
const values = args.slice(0, -1);
|
|
333
|
+
if (values.length !== 2) {
|
|
334
|
+
throw new Error('DEFAULT helper requires exactly two arguments (value, defaultValue)');
|
|
335
|
+
}
|
|
336
|
+
const [value, defaultValue] = values;
|
|
337
|
+
return this.safeTruthy(value) ? value : defaultValue;
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
safeCompare(left, right, compareFn) {
|
|
341
|
+
const safeLeft = this.sanitizeValue(left);
|
|
342
|
+
const safeRight = this.sanitizeValue(right);
|
|
343
|
+
return compareFn(safeLeft, safeRight);
|
|
344
|
+
}
|
|
345
|
+
safeNumericCompare(left, right, compareFn) {
|
|
346
|
+
const leftNum = this.safeNumber(left);
|
|
347
|
+
const rightNum = this.safeNumber(right);
|
|
348
|
+
return compareFn(leftNum, rightNum);
|
|
349
|
+
}
|
|
350
|
+
safeStringOperation(str, other, operation) {
|
|
351
|
+
const safeStr = this.sanitizeString(str);
|
|
352
|
+
const safeOther = this.sanitizeString(other);
|
|
353
|
+
return operation(safeStr, safeOther);
|
|
354
|
+
}
|
|
355
|
+
sanitizeValue(value) {
|
|
356
|
+
if (value === null || value === undefined) {
|
|
357
|
+
return value;
|
|
358
|
+
}
|
|
359
|
+
if (typeof value === 'object') {
|
|
360
|
+
if (value.constructor !== Object && value.constructor !== Array) {
|
|
361
|
+
throw new Error(`Unsafe object constructor: ${value.constructor.name}`);
|
|
362
|
+
}
|
|
363
|
+
const sanitized = Array.isArray(value) ? [] : {};
|
|
364
|
+
for (const key in value) {
|
|
365
|
+
if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
|
|
366
|
+
throw new Error(`Dangerous property access attempt: ${key}`);
|
|
367
|
+
}
|
|
368
|
+
if (Object.prototype.hasOwnProperty.call(value, key)) {
|
|
369
|
+
sanitized[key] = this.sanitizeValue(value[key]);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
return sanitized;
|
|
373
|
+
}
|
|
374
|
+
return value;
|
|
375
|
+
}
|
|
376
|
+
sanitizeString(value) {
|
|
377
|
+
if (typeof value === 'string') {
|
|
378
|
+
return value;
|
|
379
|
+
}
|
|
380
|
+
if (value === null || value === undefined) {
|
|
381
|
+
return '';
|
|
382
|
+
}
|
|
383
|
+
return String(value);
|
|
384
|
+
}
|
|
385
|
+
safeNumber(value) {
|
|
386
|
+
if (typeof value === 'number') {
|
|
387
|
+
if (isNaN(value)) {
|
|
388
|
+
throw new Error('NaN is not a valid number');
|
|
389
|
+
}
|
|
390
|
+
if (!isFinite(value)) {
|
|
391
|
+
throw new Error('Infinite values are not allowed');
|
|
392
|
+
}
|
|
393
|
+
return value;
|
|
394
|
+
}
|
|
395
|
+
if (typeof value === 'string') {
|
|
396
|
+
const num = parseFloat(value);
|
|
397
|
+
if (isNaN(num)) {
|
|
398
|
+
throw new Error(`Cannot convert "${value}" to a number`);
|
|
399
|
+
}
|
|
400
|
+
if (!isFinite(num)) {
|
|
401
|
+
throw new Error(`"${value}" results in an infinite value`);
|
|
402
|
+
}
|
|
403
|
+
return num;
|
|
404
|
+
}
|
|
405
|
+
throw new Error(`Cannot convert ${typeof value} to number`);
|
|
406
|
+
}
|
|
407
|
+
safeTruthy(value) {
|
|
408
|
+
const sanitized = this.sanitizeValue(value);
|
|
409
|
+
return !!sanitized;
|
|
410
|
+
}
|
|
411
|
+
};
|
|
412
|
+
exports.ComparisonHandlebarsHelperService = ComparisonHandlebarsHelperService;
|
|
413
|
+
exports.ComparisonHandlebarsHelperService = ComparisonHandlebarsHelperService = __decorate([
|
|
414
|
+
(0, common_1.Injectable)()
|
|
415
|
+
], ComparisonHandlebarsHelperService);
|
|
416
|
+
//# sourceMappingURL=comparison-handlebars-helper.service.js.map
|
package/dist/modules/common/services/handlebars-helpers/comparison-handlebars-helper.service.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comparison-handlebars-helper.service.js","sourceRoot":"","sources":["../../../../../src/modules/common/services/handlebars-helpers/comparison-handlebars-helper.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class DateFormatterHelperService {
|
|
2
|
+
private readonly MAX_FORMAT_LENGTH;
|
|
3
|
+
private readonly ALLOWED_FORMAT_CHARS;
|
|
4
|
+
private validateFormatString;
|
|
5
|
+
private validateDateInput;
|
|
6
|
+
getCurrentDateHelper(): (...args: any[]) => string;
|
|
7
|
+
getFormatDateHelper(): (...args: any[]) => string;
|
|
8
|
+
getTimeAgoHelper(): (...args: any[]) => string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DateFormatterHelperService = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const date_fns_1 = require("date-fns");
|
|
12
|
+
let DateFormatterHelperService = class DateFormatterHelperService {
|
|
13
|
+
MAX_FORMAT_LENGTH = 100;
|
|
14
|
+
ALLOWED_FORMAT_CHARS = /^[YyMmDdHhSsaAEepdT\s\-\/:.,'"]+$/;
|
|
15
|
+
validateFormatString(formatString) {
|
|
16
|
+
if (!formatString)
|
|
17
|
+
return true;
|
|
18
|
+
if (formatString.length > this.MAX_FORMAT_LENGTH) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
if (!this.ALLOWED_FORMAT_CHARS.test(formatString)) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
validateDateInput(date) {
|
|
27
|
+
if (!date)
|
|
28
|
+
return null;
|
|
29
|
+
let dateObj;
|
|
30
|
+
try {
|
|
31
|
+
if (typeof date === 'string') {
|
|
32
|
+
if (date.length > 50)
|
|
33
|
+
return null;
|
|
34
|
+
dateObj = (0, date_fns_1.parseISO)(date);
|
|
35
|
+
}
|
|
36
|
+
else if (typeof date === 'number') {
|
|
37
|
+
if (date < 0 || date > 8640000000000000)
|
|
38
|
+
return null;
|
|
39
|
+
dateObj = new Date(date);
|
|
40
|
+
}
|
|
41
|
+
else if (date instanceof Date) {
|
|
42
|
+
dateObj = date;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
return (0, date_fns_1.isValid)(dateObj) ? dateObj : null;
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
getCurrentDateHelper() {
|
|
54
|
+
return (...args) => {
|
|
55
|
+
const [formatString] = args.slice(0, -1);
|
|
56
|
+
const now = new Date();
|
|
57
|
+
if (!formatString) {
|
|
58
|
+
return now.toISOString();
|
|
59
|
+
}
|
|
60
|
+
if (!this.validateFormatString(formatString)) {
|
|
61
|
+
throw new Error(`Invalid format string blocked: ${formatString}`);
|
|
62
|
+
}
|
|
63
|
+
const presets = {
|
|
64
|
+
iso: 'yyyy-MM-dd',
|
|
65
|
+
short: 'M/d/yyyy',
|
|
66
|
+
long: 'EEEE, MMMM d, yyyy',
|
|
67
|
+
time: 'h:mm a',
|
|
68
|
+
datetime: 'M/d/yyyy h:mm a',
|
|
69
|
+
timestamp: 'T',
|
|
70
|
+
};
|
|
71
|
+
const pattern = presets[formatString.toLowerCase()] || formatString;
|
|
72
|
+
if (pattern === 'T') {
|
|
73
|
+
return now.getTime().toString();
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
return (0, date_fns_1.format)(now, pattern);
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
throw new Error(`Error Formatting Date: "${pattern}"`);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
getFormatDateHelper() {
|
|
84
|
+
return (...args) => {
|
|
85
|
+
const [date, formatString] = args.slice(0, -1);
|
|
86
|
+
const dateObj = this.validateDateInput(date);
|
|
87
|
+
if (!dateObj) {
|
|
88
|
+
return 'Invalid Date';
|
|
89
|
+
}
|
|
90
|
+
if (!formatString) {
|
|
91
|
+
return dateObj.toISOString();
|
|
92
|
+
}
|
|
93
|
+
if (!this.validateFormatString(formatString)) {
|
|
94
|
+
throw new Error(`Invalid format string blocked: ${formatString}`);
|
|
95
|
+
}
|
|
96
|
+
try {
|
|
97
|
+
return (0, date_fns_1.format)(dateObj, formatString);
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
throw new Error(`Error Formatting Date "${formatString}"`);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
getTimeAgoHelper() {
|
|
105
|
+
return (...args) => {
|
|
106
|
+
const [date] = args.slice(0, -1);
|
|
107
|
+
const dateObj = this.validateDateInput(date);
|
|
108
|
+
if (!dateObj) {
|
|
109
|
+
throw new Error(`Invalid Date`);
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
return (0, date_fns_1.formatDistanceToNow)(dateObj, { addSuffix: true });
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
throw new Error(`Invalid Date`);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
exports.DateFormatterHelperService = DateFormatterHelperService;
|
|
121
|
+
exports.DateFormatterHelperService = DateFormatterHelperService = __decorate([
|
|
122
|
+
(0, common_1.Injectable)()
|
|
123
|
+
], DateFormatterHelperService);
|
|
124
|
+
//# sourceMappingURL=date-formatter-helper.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-formatter-helper.service.js","sourceRoot":"","sources":["../../../../../src/modules/common/services/handlebars-helpers/date-formatter-helper.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from './date-formatter-
|
|
1
|
+
export * from './date-formatter-helper.service';
|
|
2
|
+
export * from './operators-helper.service';
|