@wikicasa-dev/node-common 4.0.11 → 4.1.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.
- package/dist/src/common.d.ts +6 -0
- package/dist/src/common.js +19 -3
- package/dist/src/common.js.map +1 -1
- package/dist/src/utils.d.ts +12 -4
- package/dist/src/utils.js +56 -16
- package/dist/src/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/src/common.d.ts
CHANGED
|
@@ -12,3 +12,9 @@ export declare function readCSV(path: string, delimiter?: string, strict?: boole
|
|
|
12
12
|
export declare function groupBy<T>(list: any, keyGetter: any): Map<string, T>;
|
|
13
13
|
export declare function sleep(ms: any, feedback?: boolean): Promise<void>;
|
|
14
14
|
export declare function unique<T>(array: Array<T>): Array<T> | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Verifica se una stringa è un JSON valido
|
|
17
|
+
* @param str stringa da verificare
|
|
18
|
+
* @returns boolean
|
|
19
|
+
*/
|
|
20
|
+
export declare function isValidJSON(str: string): boolean;
|
package/dist/src/common.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
1
|
import { PromisePool } from "@supercharge/promise-pool";
|
|
3
|
-
import { Console } from "./Console.js";
|
|
4
|
-
import { brotliCompressSync, brotliDecompressSync } from "zlib";
|
|
5
2
|
import { parse } from "csv-parse/sync";
|
|
3
|
+
import fs from "fs";
|
|
4
|
+
import { brotliCompressSync, brotliDecompressSync } from "zlib";
|
|
5
|
+
import { Console } from "./Console.js";
|
|
6
6
|
export class CustomError extends Error {
|
|
7
7
|
critical;
|
|
8
8
|
constructor(message, critical = false) {
|
|
@@ -148,4 +148,20 @@ export function unique(array) {
|
|
|
148
148
|
return;
|
|
149
149
|
return Array.from(new Set(array));
|
|
150
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Verifica se una stringa è un JSON valido
|
|
153
|
+
* @param str stringa da verificare
|
|
154
|
+
* @returns boolean
|
|
155
|
+
*/
|
|
156
|
+
export function isValidJSON(str) {
|
|
157
|
+
if (typeof str !== "string")
|
|
158
|
+
return false;
|
|
159
|
+
try {
|
|
160
|
+
JSON.parse(str);
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
catch (e) {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
151
167
|
//# sourceMappingURL=common.js.map
|
package/dist/src/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -22,8 +22,16 @@ export declare function shuffleArray<T>(array: T[]): T[];
|
|
|
22
22
|
export declare function extractNumbers(str: string): string | undefined;
|
|
23
23
|
export declare function parseFloatFromString(str: string): number | undefined;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
25
|
+
* Converte vari formati di input in un array di coordinate {lat, lng}
|
|
26
|
+
* Formati supportati:
|
|
27
|
+
* 1. POLYGON MySQL: "POLYGON((lon1 lat1, lon2 lat2))"
|
|
28
|
+
* 2. JSON Array con oggetti {LAT,LNG} (case insensitive)
|
|
29
|
+
* 3. URL encoded JSON Array
|
|
30
|
+
*
|
|
31
|
+
* @param {string} input - Stringa nel formato POLYGON, JSON o URL encoded
|
|
32
|
+
* @returns {Array<{lat: number, lng: number}>} Array di coordinate nel formato [{lat, lng}]
|
|
28
33
|
*/
|
|
29
|
-
export declare function convertPolygonStringToArray(
|
|
34
|
+
export declare function convertPolygonStringToArray(input: string): Array<{
|
|
35
|
+
lat: number;
|
|
36
|
+
lng: number;
|
|
37
|
+
}>;
|
package/dist/src/utils.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import hash from "object-hash";
|
|
2
|
+
import { isValidJSON } from "./common.js";
|
|
2
3
|
export function arrayRotate(arr, n) {
|
|
3
4
|
Array.from(Array(n)).forEach((x, i) => {
|
|
4
5
|
arr.push(arr.shift());
|
|
@@ -6,10 +7,10 @@ export function arrayRotate(arr, n) {
|
|
|
6
7
|
return arr;
|
|
7
8
|
}
|
|
8
9
|
export function cleanASCII(str) {
|
|
9
|
-
return str.replace(/[\uA78C\uA78B]/g, "'").replace(/[
|
|
10
|
+
return str.replace(/[\uA78C\uA78B]/g, "'").replace(/[""]/g, "\"").replace(/[^\x00-\x7F]/g, "");
|
|
10
11
|
}
|
|
11
12
|
export function cleanUpSpecialChars(str) {
|
|
12
|
-
return str.replace(/[\uA78C\uA78B]/g, "'").replace(/[
|
|
13
|
+
return str.replace(/[\uA78C\uA78B]/g, "'").replace(/[""]/g, "\"");
|
|
13
14
|
}
|
|
14
15
|
export function normalizeString(str) {
|
|
15
16
|
return cleanUpSpecialChars(str).replace(/\W/g, "");
|
|
@@ -178,20 +179,59 @@ export function parseFloatFromString(str) {
|
|
|
178
179
|
return parseFloat(str);
|
|
179
180
|
}
|
|
180
181
|
/**
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
182
|
+
* Converte vari formati di input in un array di coordinate {lat, lng}
|
|
183
|
+
* Formati supportati:
|
|
184
|
+
* 1. POLYGON MySQL: "POLYGON((lon1 lat1, lon2 lat2))"
|
|
185
|
+
* 2. JSON Array con oggetti {LAT,LNG} (case insensitive)
|
|
186
|
+
* 3. URL encoded JSON Array
|
|
187
|
+
*
|
|
188
|
+
* @param {string} input - Stringa nel formato POLYGON, JSON o URL encoded
|
|
189
|
+
* @returns {Array<{lat: number, lng: number}>} Array di coordinate nel formato [{lat, lng}]
|
|
184
190
|
*/
|
|
185
|
-
export function convertPolygonStringToArray(
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
191
|
+
export function convertPolygonStringToArray(input) {
|
|
192
|
+
if (!input)
|
|
193
|
+
return [];
|
|
194
|
+
// Step 1: Decodifica URL se necessario
|
|
195
|
+
if (input.includes("%")) {
|
|
196
|
+
try {
|
|
197
|
+
input = decodeURIComponent(input);
|
|
198
|
+
}
|
|
199
|
+
catch (e) {
|
|
200
|
+
return [];
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
// Step 2: Gestione formato JSON (incluso quello decodificato)
|
|
204
|
+
if (isValidJSON(input)) {
|
|
205
|
+
try {
|
|
206
|
+
const points = JSON.parse(input);
|
|
207
|
+
// Verifica che sia un array di punti validi
|
|
208
|
+
if (!Array.isArray(points) || !points.every(p => {
|
|
209
|
+
const keys = Object.keys(p).map(k => k.toUpperCase());
|
|
210
|
+
return keys.includes("LAT") && keys.includes("LNG");
|
|
211
|
+
})) {
|
|
212
|
+
return [];
|
|
213
|
+
}
|
|
214
|
+
// Converte i punti nel formato {lat, lng}
|
|
215
|
+
return points.map(point => ({
|
|
216
|
+
lat: point.LAT ?? point.lat,
|
|
217
|
+
lng: point.LNG ?? point.lng
|
|
218
|
+
}));
|
|
219
|
+
}
|
|
220
|
+
catch {
|
|
221
|
+
return [];
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
// Step 3: Gestione formato POLYGON MySQL
|
|
225
|
+
if (input.startsWith("POLYGON")) {
|
|
226
|
+
return input
|
|
227
|
+
.replace("POLYGON((", "")
|
|
228
|
+
.replace("))", "")
|
|
229
|
+
.split(",")
|
|
230
|
+
.map(coord => {
|
|
231
|
+
const [lng, lat] = coord.trim().split(" ").map(Number);
|
|
232
|
+
return { lat, lng };
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
return [];
|
|
196
236
|
}
|
|
197
237
|
//# sourceMappingURL=utils.js.map
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|