@futdevpro/fsm-dynamo 1.14.35 → 1.14.37

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.
@@ -0,0 +1,136 @@
1
+ /**
2
+ * String casing típusok enum
3
+ */
4
+ export declare enum DyFM_StringCase_Type {
5
+ camelCase = "camel-case",
6
+ PascalCase = "pascal-case",
7
+ kebabCase = "kebab-case",
8
+ snake_case = "snake-case"
9
+ }
10
+ /**
11
+ * String casing utility class
12
+ * Támogatja a különböző casing típusok közötti konverziót
13
+ */
14
+ export declare class DyFM_StringCase {
15
+ /**
16
+ * Bármilyen casing-ből szavak tömbjét generálja
17
+ * @param input - A bemeneti string bármilyen casing formátumban
18
+ * @returns Szavak tömbje kisbetűvel
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const words = DyFM_StringCase.parseWords('stockItemId');
23
+ * // Output: ['stock', 'item', 'id']
24
+ * ```
25
+ */
26
+ static parseWords(input: string): string[];
27
+ /**
28
+ * Bármilyen casing-ből camelCase-re konvertál
29
+ * @param input - A bemeneti string bármilyen casing formátumban
30
+ * @returns camelCase string
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const result = DyFM_StringCase.toCamelCase('stock-item-id');
35
+ * // Output: 'stockItemId'
36
+ * ```
37
+ */
38
+ static toCamelCase(input: string): string;
39
+ /**
40
+ * Bármilyen casing-ből PascalCase-re konvertál
41
+ * @param input - A bemeneti string bármilyen casing formátumban
42
+ * @returns PascalCase string
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * const result = DyFM_StringCase.toPascalCase('stock-item-id');
47
+ * // Output: 'StockItemId'
48
+ * ```
49
+ */
50
+ static toPascalCase(input: string): string;
51
+ /**
52
+ * Bármilyen casing-ből kebab-case-re konvertál
53
+ * @param input - A bemeneti string bármilyen casing formátumban
54
+ * @returns kebab-case string
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * const result = DyFM_StringCase.toKebabCase('stockItemId');
59
+ * // Output: 'stock-item-id'
60
+ * ```
61
+ */
62
+ static toKebabCase(input: string): string;
63
+ /**
64
+ * Bármilyen casing-ből snake_case-re konvertál
65
+ * @param input - A bemeneti string bármilyen casing formátumban
66
+ * @returns snake_case string
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * const result = DyFM_StringCase.toSnakeCase('stockItemId');
71
+ * // Output: 'stock_item_id'
72
+ * ```
73
+ */
74
+ static toSnakeCase(input: string): string;
75
+ /**
76
+ * Bármilyen casing-ből bármilyen más casing-re konvertál
77
+ * @param input - A bemeneti string bármilyen casing formátumban
78
+ * @param targetCase - A cél casing típus
79
+ * @returns A konvertált string a megadott casing formátumban
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * const result = DyFM_StringCase.convertTo('stockItemId', DyFM_StringCase_Type.kebabCase);
84
+ * // Output: 'stock-item-id'
85
+ * ```
86
+ */
87
+ static convertTo(input: string, targetCase: DyFM_StringCase_Type): string;
88
+ /**
89
+ * Bármilyen casing-ből bármilyen más casing-re konvertál (típus nélküli verzió)
90
+ * @param input - A bemeneti string bármilyen casing formátumban
91
+ * @param targetCase - A cél casing típus string formátumban
92
+ * @returns A konvertált string a megadott casing formátumban
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * const result = DyFM_StringCase.convertToAny('stockItemId', 'kebab-case');
97
+ * // Output: 'stock-item-id'
98
+ * ```
99
+ */
100
+ static convertToAny(input: string, targetCase: string): string;
101
+ /**
102
+ * Ellenőrzi, hogy egy string tartalmazza-e egy másik stringet bármilyen casing formátumban
103
+ * @param haystack - A string, amiben keresünk
104
+ * @param needle - A string, amit keresünk (bármilyen casing formátumban)
105
+ * @returns true, ha a haystack tartalmazza a needle-t bármilyen casing formátumban
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * const result = DyFM_StringCase.includesIgnoreCase('/:userId/item/delete/:itemId', 'stockItemId');
110
+ * // Output: true (mert 'itemId' megtalálható)
111
+ * ```
112
+ */
113
+ static includesIgnoreCase(haystack: string, needle: string): boolean;
114
+ /**
115
+ * Converts any name to a short code
116
+ * @param name - The name to convert
117
+ * @returns The short code
118
+ * examples:
119
+ * John Doe -> JD
120
+ * JohnDoe -> JD
121
+ * John_Doe -> JD
122
+ * johnDoe -> JD
123
+ * john_doe -> JD
124
+ * john-doe -> JD
125
+ *
126
+ * @example
127
+ * ```ts
128
+ * const name = 'John Doe';
129
+ * const shortCode = DyFM_StringCase.anyNameToShortCode(name);
130
+ * console.log(shortCode);
131
+ * // Output: 'JD'
132
+ * ```
133
+ */
134
+ static anyNameToShortCode(name: string): string;
135
+ }
136
+ //# sourceMappingURL=string-case.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-case.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/string-case.util.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,SAAS,eAAe;IACxB,UAAU,gBAAgB;IAC1B,SAAS,eAAe;IACxB,UAAU,eAAe;CAC1B;AAED;;;GAGG;AACH,qBAAa,eAAe;IAE1B;;;;;;;;;;OAUG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAoG1C;;;;;;;;;;OAUG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAgBzC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAW1C;;;;;;;;;;OAUG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IASzC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IASzC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,GAAG,MAAM;IAezE;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAoB9D;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAqCpE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAiBhD"}
@@ -0,0 +1,337 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyFM_StringCase = exports.DyFM_StringCase_Type = void 0;
4
+ /**
5
+ * String casing típusok enum
6
+ */
7
+ var DyFM_StringCase_Type;
8
+ (function (DyFM_StringCase_Type) {
9
+ DyFM_StringCase_Type["camelCase"] = "camel-case";
10
+ DyFM_StringCase_Type["PascalCase"] = "pascal-case";
11
+ DyFM_StringCase_Type["kebabCase"] = "kebab-case";
12
+ DyFM_StringCase_Type["snake_case"] = "snake-case";
13
+ })(DyFM_StringCase_Type || (exports.DyFM_StringCase_Type = DyFM_StringCase_Type = {}));
14
+ /**
15
+ * String casing utility class
16
+ * Támogatja a különböző casing típusok közötti konverziót
17
+ */
18
+ class DyFM_StringCase {
19
+ /**
20
+ * Bármilyen casing-ből szavak tömbjét generálja
21
+ * @param input - A bemeneti string bármilyen casing formátumban
22
+ * @returns Szavak tömbje kisbetűvel
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const words = DyFM_StringCase.parseWords('stockItemId');
27
+ * // Output: ['stock', 'item', 'id']
28
+ * ```
29
+ */
30
+ static parseWords(input) {
31
+ if (!input || input.trim().length === 0) {
32
+ return [];
33
+ }
34
+ // Normalizálás: különböző separator-eket space-re cseréljük
35
+ const normalized = input
36
+ .replace(/[\s_\-]+/g, ' ')
37
+ .replace(/[^a-zA-Z0-9\s]/g, ' ')
38
+ .trim();
39
+ // Split by spaces first
40
+ const spaceSegments = normalized.split(/\s+/).filter((s) => s.length > 0);
41
+ const allSegments = [];
42
+ // Process each space-separated segment to detect camelCase and acronyms
43
+ for (const segment of spaceSegments) {
44
+ if (segment.length === 0) {
45
+ continue;
46
+ }
47
+ // Track word boundaries: start of each word
48
+ const wordStarts = [0]; // First character is always a word start
49
+ for (let i = 1; i < segment.length; i++) {
50
+ const char = segment[i];
51
+ const prevChar = segment[i - 1];
52
+ const nextChar = i < segment.length - 1 ? segment[i + 1] : '';
53
+ const isUppercase = /[A-Z]/.test(char);
54
+ const isLowercase = /[a-z]/.test(char);
55
+ const isLetter = /[a-zA-Z]/.test(char);
56
+ const isDigit = /[0-9]/.test(char);
57
+ const prevIsUppercase = /[A-Z]/.test(prevChar);
58
+ const prevIsLowercase = /[a-z]/.test(prevChar);
59
+ const prevIsDigit = /[0-9]/.test(prevChar);
60
+ const nextIsLowercase = /[a-z]/.test(nextChar);
61
+ const nextIsUppercase = /[A-Z]/.test(nextChar);
62
+ // Number followed by letter: new word start
63
+ // This handles: john2Doe -> john, 2, Doe
64
+ if (prevIsDigit && isLetter) {
65
+ wordStarts.push(i);
66
+ }
67
+ // camelCase boundary: lowercase followed by uppercase
68
+ else if (prevIsLowercase && isUppercase) {
69
+ wordStarts.push(i);
70
+ }
71
+ // Uppercase followed by uppercase then lowercase: new word start
72
+ // This handles:
73
+ // - XMLParser -> XML (acronym ends at L, Parser starts at P) when previous is acronym (multiple uppercase)
74
+ // - AVery -> A (single letter) + Very (starts at V) when previous is single uppercase
75
+ // Pattern: ...X Y z... where X and Y are uppercase, z is lowercase
76
+ else if (isUppercase && prevIsUppercase && nextIsLowercase) {
77
+ // Check if previous characters form an acronym (multiple consecutive uppercase) or single uppercase
78
+ let acronymStart = i - 1;
79
+ while (acronymStart > 0 && /[A-Z]/.test(segment[acronymStart - 1])) {
80
+ acronymStart--;
81
+ }
82
+ // If we have multiple uppercase before this (acronym) OR single uppercase, the new word starts at this uppercase character
83
+ if (i - acronymStart >= 1) {
84
+ wordStarts.push(i);
85
+ }
86
+ }
87
+ // Acronym boundary: uppercase sequence followed by lowercase
88
+ // This handles HTMLDocument -> HTML (acronym) + Document (new word starts at D, not at o)
89
+ // Pattern: ...L D o... where L is last of acronym, D is start of new word, o is lowercase
90
+ else if (prevIsUppercase && isLowercase) {
91
+ // Check if previous characters form an acronym
92
+ let acronymStart = i - 1;
93
+ while (acronymStart > 0 && /[A-Z]/.test(segment[acronymStart - 1])) {
94
+ acronymStart--;
95
+ }
96
+ // If we have multiple uppercase before this (acronym), the new word starts at the previous uppercase
97
+ // But only if the previous uppercase wasn't already a word start
98
+ if (i - acronymStart > 1) {
99
+ // Check if the previous uppercase (i-1) is already a word start
100
+ const prevIsWordStart = wordStarts.includes(i - 1);
101
+ if (!prevIsWordStart) {
102
+ // The new word starts at the previous uppercase character (i-1), not at this lowercase
103
+ wordStarts.push(i - 1);
104
+ }
105
+ }
106
+ }
107
+ }
108
+ // Extract words based on word starts
109
+ for (let i = 0; i < wordStarts.length; i++) {
110
+ const start = wordStarts[i];
111
+ const end = i < wordStarts.length - 1 ? wordStarts[i + 1] : segment.length;
112
+ const word = segment.substring(start, end);
113
+ if (word.length > 0) {
114
+ allSegments.push(word.toLowerCase());
115
+ }
116
+ }
117
+ }
118
+ return allSegments;
119
+ }
120
+ /**
121
+ * Bármilyen casing-ből camelCase-re konvertál
122
+ * @param input - A bemeneti string bármilyen casing formátumban
123
+ * @returns camelCase string
124
+ *
125
+ * @example
126
+ * ```ts
127
+ * const result = DyFM_StringCase.toCamelCase('stock-item-id');
128
+ * // Output: 'stockItemId'
129
+ * ```
130
+ */
131
+ static toCamelCase(input) {
132
+ const words = this.parseWords(input);
133
+ if (words.length === 0) {
134
+ return '';
135
+ }
136
+ return words
137
+ .map((word, index) => {
138
+ if (index === 0) {
139
+ return word.toLowerCase();
140
+ }
141
+ return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
142
+ })
143
+ .join('');
144
+ }
145
+ /**
146
+ * Bármilyen casing-ből PascalCase-re konvertál
147
+ * @param input - A bemeneti string bármilyen casing formátumban
148
+ * @returns PascalCase string
149
+ *
150
+ * @example
151
+ * ```ts
152
+ * const result = DyFM_StringCase.toPascalCase('stock-item-id');
153
+ * // Output: 'StockItemId'
154
+ * ```
155
+ */
156
+ static toPascalCase(input) {
157
+ const words = this.parseWords(input);
158
+ if (words.length === 0) {
159
+ return '';
160
+ }
161
+ return words
162
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
163
+ .join('');
164
+ }
165
+ /**
166
+ * Bármilyen casing-ből kebab-case-re konvertál
167
+ * @param input - A bemeneti string bármilyen casing formátumban
168
+ * @returns kebab-case string
169
+ *
170
+ * @example
171
+ * ```ts
172
+ * const result = DyFM_StringCase.toKebabCase('stockItemId');
173
+ * // Output: 'stock-item-id'
174
+ * ```
175
+ */
176
+ static toKebabCase(input) {
177
+ const words = this.parseWords(input);
178
+ if (words.length === 0) {
179
+ return '';
180
+ }
181
+ return words.join('-');
182
+ }
183
+ /**
184
+ * Bármilyen casing-ből snake_case-re konvertál
185
+ * @param input - A bemeneti string bármilyen casing formátumban
186
+ * @returns snake_case string
187
+ *
188
+ * @example
189
+ * ```ts
190
+ * const result = DyFM_StringCase.toSnakeCase('stockItemId');
191
+ * // Output: 'stock_item_id'
192
+ * ```
193
+ */
194
+ static toSnakeCase(input) {
195
+ const words = this.parseWords(input);
196
+ if (words.length === 0) {
197
+ return '';
198
+ }
199
+ return words.join('_');
200
+ }
201
+ /**
202
+ * Bármilyen casing-ből bármilyen más casing-re konvertál
203
+ * @param input - A bemeneti string bármilyen casing formátumban
204
+ * @param targetCase - A cél casing típus
205
+ * @returns A konvertált string a megadott casing formátumban
206
+ *
207
+ * @example
208
+ * ```ts
209
+ * const result = DyFM_StringCase.convertTo('stockItemId', DyFM_StringCase_Type.kebabCase);
210
+ * // Output: 'stock-item-id'
211
+ * ```
212
+ */
213
+ static convertTo(input, targetCase) {
214
+ switch (targetCase) {
215
+ case DyFM_StringCase_Type.camelCase:
216
+ return this.toCamelCase(input);
217
+ case DyFM_StringCase_Type.PascalCase:
218
+ return this.toPascalCase(input);
219
+ case DyFM_StringCase_Type.kebabCase:
220
+ return this.toKebabCase(input);
221
+ case DyFM_StringCase_Type.snake_case:
222
+ return this.toSnakeCase(input);
223
+ default:
224
+ return input;
225
+ }
226
+ }
227
+ /**
228
+ * Bármilyen casing-ből bármilyen más casing-re konvertál (típus nélküli verzió)
229
+ * @param input - A bemeneti string bármilyen casing formátumban
230
+ * @param targetCase - A cél casing típus string formátumban
231
+ * @returns A konvertált string a megadott casing formátumban
232
+ *
233
+ * @example
234
+ * ```ts
235
+ * const result = DyFM_StringCase.convertToAny('stockItemId', 'kebab-case');
236
+ * // Output: 'stock-item-id'
237
+ * ```
238
+ */
239
+ static convertToAny(input, targetCase) {
240
+ const normalizedTarget = targetCase.toLowerCase().trim();
241
+ if (normalizedTarget === 'camelcase' || normalizedTarget === 'camel-case') {
242
+ return this.toCamelCase(input);
243
+ }
244
+ if (normalizedTarget === 'pascalcase' || normalizedTarget === 'pascal-case') {
245
+ return this.toPascalCase(input);
246
+ }
247
+ if (normalizedTarget === 'kebabcase' || normalizedTarget === 'kebab-case') {
248
+ return this.toKebabCase(input);
249
+ }
250
+ if (normalizedTarget === 'snakecase' || normalizedTarget === 'snake-case' || normalizedTarget === 'snake_case') {
251
+ return this.toSnakeCase(input);
252
+ }
253
+ // Ha nem ismert típus, visszaadja az eredeti stringet
254
+ return input;
255
+ }
256
+ /**
257
+ * Ellenőrzi, hogy egy string tartalmazza-e egy másik stringet bármilyen casing formátumban
258
+ * @param haystack - A string, amiben keresünk
259
+ * @param needle - A string, amit keresünk (bármilyen casing formátumban)
260
+ * @returns true, ha a haystack tartalmazza a needle-t bármilyen casing formátumban
261
+ *
262
+ * @example
263
+ * ```ts
264
+ * const result = DyFM_StringCase.includesIgnoreCase('/:userId/item/delete/:itemId', 'stockItemId');
265
+ * // Output: true (mert 'itemId' megtalálható)
266
+ * ```
267
+ */
268
+ static includesIgnoreCase(haystack, needle) {
269
+ if (!haystack || !needle) {
270
+ return false;
271
+ }
272
+ // Különböző casing formátumokban keresünk
273
+ const cases = [
274
+ needle,
275
+ this.toCamelCase(needle),
276
+ this.toPascalCase(needle),
277
+ this.toKebabCase(needle),
278
+ this.toSnakeCase(needle),
279
+ ];
280
+ // Különböző variációk: pl. stockItemId -> itemId, stock-item-id -> item-id, stb.
281
+ const words = this.parseWords(needle);
282
+ if (words.length > 1) {
283
+ // Hozzáadunk rövidített verziókat is (pl. stockItemId -> itemId)
284
+ for (let i = 1; i < words.length; i++) {
285
+ const suffix = words.slice(i).join('');
286
+ cases.push(this.toCamelCase(suffix));
287
+ cases.push(this.toKebabCase(suffix));
288
+ cases.push(this.toSnakeCase(suffix));
289
+ }
290
+ }
291
+ // Ellenőrizzük, hogy a haystack tartalmazza-e bármelyik variációt
292
+ const lowerHaystack = haystack.toLowerCase();
293
+ for (const caseVariant of cases) {
294
+ if (caseVariant && lowerHaystack.includes(caseVariant.toLowerCase())) {
295
+ return true;
296
+ }
297
+ }
298
+ return false;
299
+ }
300
+ /**
301
+ * Converts any name to a short code
302
+ * @param name - The name to convert
303
+ * @returns The short code
304
+ * examples:
305
+ * John Doe -> JD
306
+ * JohnDoe -> JD
307
+ * John_Doe -> JD
308
+ * johnDoe -> JD
309
+ * john_doe -> JD
310
+ * john-doe -> JD
311
+ *
312
+ * @example
313
+ * ```ts
314
+ * const name = 'John Doe';
315
+ * const shortCode = DyFM_StringCase.anyNameToShortCode(name);
316
+ * console.log(shortCode);
317
+ * // Output: 'JD'
318
+ * ```
319
+ */
320
+ static anyNameToShortCode(name) {
321
+ if (!name || name.trim().length === 0) {
322
+ return '';
323
+ }
324
+ const words = this.parseWords(name);
325
+ // Extract first letter of each segment, uppercase, and join
326
+ return words
327
+ .filter((segment) => segment.length > 0)
328
+ .map((segment) => {
329
+ // Get first letter (handles cases where segment might start with non-letter)
330
+ const firstLetter = segment.match(/[a-zA-Z]/)?.[0];
331
+ return firstLetter ? firstLetter.toUpperCase() : '';
332
+ })
333
+ .join('');
334
+ }
335
+ }
336
+ exports.DyFM_StringCase = DyFM_StringCase;
337
+ //# sourceMappingURL=string-case.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-case.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/string-case.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=string-case.util.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-case.util.spec.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/string-case.util.spec.ts"],"names":[],"mappings":""}