denwa-web-shared 1.0.49 → 1.0.51
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/server/index.cjs.js +18 -11
- package/dist/server/index.es.js +18 -11
- package/package.json +1 -1
package/dist/server/index.cjs.js
CHANGED
|
@@ -429,16 +429,23 @@ const uuidToStringId = (uuid2, length = 18) => {
|
|
|
429
429
|
return cleanUuid.slice(-length);
|
|
430
430
|
};
|
|
431
431
|
const uuidToNumericId = (uuid2, maxDigits = 18) => {
|
|
432
|
-
const
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
}
|
|
439
|
-
|
|
432
|
+
const cleanUuid = uuid2.replace(/-/g, "");
|
|
433
|
+
let hash = 0;
|
|
434
|
+
for (let i = 0; i < cleanUuid.length; i++) {
|
|
435
|
+
const char = cleanUuid.charCodeAt(i);
|
|
436
|
+
hash = (hash << 5) - hash + char;
|
|
437
|
+
hash = hash & hash;
|
|
438
|
+
}
|
|
439
|
+
let result = Math.abs(hash).toString();
|
|
440
|
+
if (result.length < maxDigits) {
|
|
441
|
+
const segments = cleanUuid.match(/.{1,4}/g) || [];
|
|
442
|
+
for (const segment of segments) {
|
|
443
|
+
const segmentNum = parseInt(segment, 16);
|
|
444
|
+
result += Math.abs(segmentNum).toString();
|
|
445
|
+
if (result.length >= maxDigits) break;
|
|
446
|
+
}
|
|
440
447
|
}
|
|
441
|
-
return
|
|
448
|
+
return result.slice(0, maxDigits);
|
|
442
449
|
};
|
|
443
450
|
const escapeXml = (str) => {
|
|
444
451
|
if (!str) return "";
|
|
@@ -467,11 +474,11 @@ const generateYandexFeedXML = ({
|
|
|
467
474
|
<name>${escapeXml(item.name)}</name>
|
|
468
475
|
<vendor>${escapeXml(item.vendor)}</vendor>
|
|
469
476
|
<description>${escapeXml(item.description)}</description>
|
|
470
|
-
${item.vendorCode
|
|
477
|
+
${item.vendorCode ? `<vendorCode>${escapeXml(item.vendorCode)}</vendorCode>` : ""}
|
|
471
478
|
<pickup>${item.pickup}</pickup>
|
|
472
479
|
${(_a = item.params) == null ? void 0 : _a.map((item2) => {
|
|
473
480
|
return `<param name="${item2.name}">${escapeXml(item2.value)}</param>`;
|
|
474
|
-
})}
|
|
481
|
+
}).join("")}
|
|
475
482
|
</offer>
|
|
476
483
|
`;
|
|
477
484
|
}).join("");
|
package/dist/server/index.es.js
CHANGED
|
@@ -427,16 +427,23 @@ const uuidToStringId = (uuid2, length = 18) => {
|
|
|
427
427
|
return cleanUuid.slice(-length);
|
|
428
428
|
};
|
|
429
429
|
const uuidToNumericId = (uuid2, maxDigits = 18) => {
|
|
430
|
-
const
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
}
|
|
437
|
-
|
|
430
|
+
const cleanUuid = uuid2.replace(/-/g, "");
|
|
431
|
+
let hash = 0;
|
|
432
|
+
for (let i = 0; i < cleanUuid.length; i++) {
|
|
433
|
+
const char = cleanUuid.charCodeAt(i);
|
|
434
|
+
hash = (hash << 5) - hash + char;
|
|
435
|
+
hash = hash & hash;
|
|
436
|
+
}
|
|
437
|
+
let result = Math.abs(hash).toString();
|
|
438
|
+
if (result.length < maxDigits) {
|
|
439
|
+
const segments = cleanUuid.match(/.{1,4}/g) || [];
|
|
440
|
+
for (const segment of segments) {
|
|
441
|
+
const segmentNum = parseInt(segment, 16);
|
|
442
|
+
result += Math.abs(segmentNum).toString();
|
|
443
|
+
if (result.length >= maxDigits) break;
|
|
444
|
+
}
|
|
438
445
|
}
|
|
439
|
-
return
|
|
446
|
+
return result.slice(0, maxDigits);
|
|
440
447
|
};
|
|
441
448
|
const escapeXml = (str) => {
|
|
442
449
|
if (!str) return "";
|
|
@@ -465,11 +472,11 @@ const generateYandexFeedXML = ({
|
|
|
465
472
|
<name>${escapeXml(item.name)}</name>
|
|
466
473
|
<vendor>${escapeXml(item.vendor)}</vendor>
|
|
467
474
|
<description>${escapeXml(item.description)}</description>
|
|
468
|
-
${item.vendorCode
|
|
475
|
+
${item.vendorCode ? `<vendorCode>${escapeXml(item.vendorCode)}</vendorCode>` : ""}
|
|
469
476
|
<pickup>${item.pickup}</pickup>
|
|
470
477
|
${(_a = item.params) == null ? void 0 : _a.map((item2) => {
|
|
471
478
|
return `<param name="${item2.name}">${escapeXml(item2.value)}</param>`;
|
|
472
|
-
})}
|
|
479
|
+
}).join("")}
|
|
473
480
|
</offer>
|
|
474
481
|
`;
|
|
475
482
|
}).join("");
|