nav tabs on admin dashboard
This commit is contained in:
42
node_modules/serialize-javascript/index.js
generated
vendored
42
node_modules/serialize-javascript/index.js
generated
vendored
@@ -11,8 +11,11 @@ var UID = Math.floor(Math.random() * 0x10000000000).toString(16)
|
||||
var PLACE_HOLDER_REGEXP = new RegExp('"@__(F|R|D)-' + UID + '-(\\d+)__@"', 'g');
|
||||
|
||||
var IS_NATIVE_CODE_REGEXP = /\{\s*\[native code\]\s*\}/g;
|
||||
var IS_PURE_FUNCTION = /function.*?\(/;
|
||||
var UNSAFE_CHARS_REGEXP = /[<>\/\u2028\u2029]/g;
|
||||
|
||||
var RESERVED_SYMBOLS = ['*', 'async'];
|
||||
|
||||
// Mapping of unsafe HTML and invalid JavaScript line terminator chars to their
|
||||
// Unicode char counterparts which are safe to use in JavaScript strings.
|
||||
var ESCAPED_CHARS = {
|
||||
@@ -68,6 +71,38 @@ module.exports = function serialize(obj, options) {
|
||||
return value;
|
||||
}
|
||||
|
||||
function serializeFunc(fn) {
|
||||
var serializedFn = fn.toString();
|
||||
if (IS_NATIVE_CODE_REGEXP.test(serializedFn)) {
|
||||
throw new TypeError('Serializing native function: ' + fn.name);
|
||||
}
|
||||
|
||||
// pure functions, example: {key: function() {}}
|
||||
if(IS_PURE_FUNCTION.test(serializedFn)) {
|
||||
return serializedFn;
|
||||
}
|
||||
|
||||
var argsStartsAt = serializedFn.indexOf('(');
|
||||
var def = serializedFn.substr(0, argsStartsAt)
|
||||
.trim()
|
||||
.split(' ')
|
||||
.filter(function(val) { return val.length > 0 });
|
||||
|
||||
var nonReservedSymbols = def.filter(function(val) {
|
||||
return RESERVED_SYMBOLS.indexOf(val) === -1
|
||||
});
|
||||
|
||||
// enhanced literal objects, example: {key() {}}
|
||||
if(nonReservedSymbols.length > 0) {
|
||||
return (def.indexOf('async') > -1 ? 'async ' : '') + 'function'
|
||||
+ (def.join('').indexOf('*') > -1 ? '*' : '')
|
||||
+ serializedFn.substr(argsStartsAt);
|
||||
}
|
||||
|
||||
// arrow functions
|
||||
return serializedFn;
|
||||
}
|
||||
|
||||
var str;
|
||||
|
||||
// Creates a JSON string representation of the value.
|
||||
@@ -108,12 +143,7 @@ module.exports = function serialize(obj, options) {
|
||||
}
|
||||
|
||||
var fn = functions[valueIndex];
|
||||
var serializedFn = fn.toString();
|
||||
|
||||
if (IS_NATIVE_CODE_REGEXP.test(serializedFn)) {
|
||||
throw new TypeError('Serializing native function: ' + fn.name);
|
||||
}
|
||||
|
||||
return serializedFn;
|
||||
return serializeFunc(fn);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user