This commit is contained in:
2022-07-18 02:50:52 +00:00
parent befd344ab0
commit 06181b34d6
8569 changed files with 818704 additions and 352705 deletions
+14 -2
View File
@@ -11,7 +11,7 @@ var randomBytes = require('randombytes');
// Generate an internal UID to make the regexp pattern harder to guess.
var UID_LENGTH = 16;
var UID = generateUID();
var PLACE_HOLDER_REGEXP = new RegExp('(\\\\)?"@__(F|R|D|M|S|U|I|B)-' + UID + '-(\\d+)__@"', 'g');
var PLACE_HOLDER_REGEXP = new RegExp('(\\\\)?"@__(F|R|D|M|S|A|U|I|B)-' + UID + '-(\\d+)__@"', 'g');
var IS_NATIVE_CODE_REGEXP = /\{\s*\[native code\]\s*\}/g;
var IS_PURE_FUNCTION = /function.*?\(/;
@@ -68,6 +68,7 @@ module.exports = function serialize(obj, options) {
var dates = [];
var maps = [];
var sets = [];
var arrays = [];
var undefs = [];
var infinities= [];
var bigInts = [];
@@ -106,6 +107,13 @@ module.exports = function serialize(obj, options) {
if(origValue instanceof Set) {
return '@__S-' + UID + '-' + (sets.push(origValue) - 1) + '__@';
}
if(origValue instanceof Array) {
var isSparse = origValue.filter(function(){return true}).length !== origValue.length;
if (isSparse) {
return '@__A-' + UID + '-' + (arrays.push(origValue) - 1) + '__@';
}
}
}
if (type === 'function') {
@@ -197,7 +205,7 @@ module.exports = function serialize(obj, options) {
str = str.replace(UNSAFE_CHARS_REGEXP, escapeUnsafeChars);
}
if (functions.length === 0 && regexps.length === 0 && dates.length === 0 && maps.length === 0 && sets.length === 0 && undefs.length === 0 && infinities.length === 0 && bigInts.length === 0) {
if (functions.length === 0 && regexps.length === 0 && dates.length === 0 && maps.length === 0 && sets.length === 0 && arrays.length === 0 && undefs.length === 0 && infinities.length === 0 && bigInts.length === 0) {
return str;
}
@@ -228,6 +236,10 @@ module.exports = function serialize(obj, options) {
return "new Set(" + serialize(Array.from(sets[valueIndex].values()), options) + ")";
}
if (type === 'A') {
return "Array.prototype.slice.call(" + serialize(Object.assign({ length: arrays[valueIndex].length }, arrays[valueIndex]), options) + ")";
}
if (type === 'U') {
return 'undefined'
}
+15 -14
View File
@@ -1,33 +1,34 @@
{
"_args": [
[
"serialize-javascript@4.0.0",
"/mnt/Foxconn/Digitalent/Deverloper/liff-push_2series"
"serialize-javascript@5.0.1",
"/home/node/nuxt"
]
],
"_from": "serialize-javascript@4.0.0",
"_id": "serialize-javascript@4.0.0",
"_from": "serialize-javascript@5.0.1",
"_id": "serialize-javascript@5.0.1",
"_inBundle": false,
"_integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
"_integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
"_location": "/serialize-javascript",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
"raw": "serialize-javascript@4.0.0",
"raw": "serialize-javascript@5.0.1",
"name": "serialize-javascript",
"escapedName": "serialize-javascript",
"rawSpec": "4.0.0",
"rawSpec": "5.0.1",
"saveSpec": null,
"fetchSpec": "4.0.0"
"fetchSpec": "5.0.1"
},
"_requiredBy": [
"/@nuxt/builder",
"/@nuxt/utils"
"/@nuxt/utils",
"/terser-webpack-plugin"
],
"_resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
"_spec": "4.0.0",
"_where": "/mnt/Foxconn/Digitalent/Deverloper/liff-push_2series",
"_resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
"_spec": "5.0.1",
"_where": "/home/node/nuxt",
"author": {
"name": "Eric Ferraiuolo",
"email": "edf@ericf.me"
@@ -42,7 +43,7 @@
"devDependencies": {
"benchmark": "^2.1.4",
"chai": "^4.1.0",
"mocha": "^7.0.0",
"mocha": "^8.0.1",
"nyc": "^15.0.0"
},
"homepage": "https://github.com/yahoo/serialize-javascript",
@@ -64,5 +65,5 @@
"benchmark": "node -v && node test/benchmark/serialize.js",
"test": "nyc --reporter=lcov mocha test/unit"
},
"version": "4.0.0"
"version": "5.0.1"
}