Server IP : 108.163.255.210 / Your IP : 3.145.35.234 Web Server : Apache System : Linux blossom.urlnameserver.com 3.10.0-1160.80.1.el7.x86_64 #1 SMP Tue Nov 8 15:48:59 UTC 2022 x86_64 User : ( 1172) PHP Version : 7.2.34 Disable Function : eval,escapeshellarg,proc_close,proc_get_status,proc_nice,proc_open,symlink,system,pcntl_exec,getrusage,chown,chgp,closelog,openlog,syslog,define_syslog_variables,php_ini_loaded_file,getservbyname,getservbyport,posix_getgid,posix_getgrgid,proc_terminate,pfsockopen,apache_child_terminate,posix_mkfifo,posix_setpgid,posix_setuid,hypot,pg_host,pos,posix_access,posix_getcwd,posix_getservbyname,myshellexec,getpid,posix_getsid,posix_isatty,posix_kill,posix_mknod,posix_setgid,posix_setsid,posix_setuid,posix_times,posix_uname,ps_fill,posix_getpwuid,global,ini_restore,zip_open,zip_read,rar_open,bzopen,bzread,bzwrite,apache_get_modules,apache_get_version,phpversionphpinfo,php_ini_scanned_files,get_current_user,disk_total_space,diskfreespace,leak,imap_list,hypo,filedump,safe_mode,getmygid,apache_getenv,apache_setenv,bzread,bzwrite,bzopen,phpini,higlight_file,dos_conv,get_cwd,er_log,cmd,e_name,vdir,get_dir,only_read,ftok,ftpexec,posix_getpwnam,mysql_list_dbs,disk_free_space,session_save_path,confirm_phpdoc_compiled,zip_entry_rea,php_u,psockopen,crack_opendict,crack_getlastmessage,crack_closedict,crack_check,fpassthru,posix_get_last_error,posix_getlogin,posix_getgroups,posix_strerror,posix_getrlimit,posix_getpgrp,posix_getgrnam,pos,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/unilinki/public_html/indijourneys.com/node_modules/json5/lib/ |
Upload File : |
const util = require('./util') module.exports = function stringify (value, replacer, space) { const stack = [] let indent = '' let propertyList let replacerFunc let gap = '' let quote if ( replacer != null && typeof replacer === 'object' && !Array.isArray(replacer) ) { space = replacer.space quote = replacer.quote replacer = replacer.replacer } if (typeof replacer === 'function') { replacerFunc = replacer } else if (Array.isArray(replacer)) { propertyList = [] for (const v of replacer) { let item if (typeof v === 'string') { item = v } else if ( typeof v === 'number' || v instanceof String || v instanceof Number ) { item = String(v) } if (item !== undefined && propertyList.indexOf(item) < 0) { propertyList.push(item) } } } if (space instanceof Number) { space = Number(space) } else if (space instanceof String) { space = String(space) } if (typeof space === 'number') { if (space > 0) { space = Math.min(10, Math.floor(space)) gap = ' '.substr(0, space) } } else if (typeof space === 'string') { gap = space.substr(0, 10) } return serializeProperty('', {'': value}) function serializeProperty (key, holder) { let value = holder[key] if (value != null) { if (typeof value.toJSON5 === 'function') { value = value.toJSON5(key) } else if (typeof value.toJSON === 'function') { value = value.toJSON(key) } } if (replacerFunc) { value = replacerFunc.call(holder, key, value) } if (value instanceof Number) { value = Number(value) } else if (value instanceof String) { value = String(value) } else if (value instanceof Boolean) { value = value.valueOf() } switch (value) { case null: return 'null' case true: return 'true' case false: return 'false' } if (typeof value === 'string') { return quoteString(value, false) } if (typeof value === 'number') { return String(value) } if (typeof value === 'object') { return Array.isArray(value) ? serializeArray(value) : serializeObject(value) } return undefined } function quoteString (value) { const quotes = { "'": 0.1, '"': 0.2, } const replacements = { "'": "\\'", '"': '\\"', '\\': '\\\\', '\b': '\\b', '\f': '\\f', '\n': '\\n', '\r': '\\r', '\t': '\\t', '\v': '\\v', '\0': '\\0', '\u2028': '\\u2028', '\u2029': '\\u2029', } let product = '' for (const c of value) { switch (c) { case "'": case '"': quotes[c]++ product += c continue } if (replacements[c]) { product += replacements[c] continue } if (c < ' ') { let hexString = c.charCodeAt(0).toString(16) product += '\\x' + ('00' + hexString).substring(hexString.length) continue } product += c } const quoteChar = quote || Object.keys(quotes).reduce((a, b) => (quotes[a] < quotes[b]) ? a : b) product = product.replace(new RegExp(quoteChar, 'g'), replacements[quoteChar]) return quoteChar + product + quoteChar } function serializeObject (value) { if (stack.indexOf(value) >= 0) { throw TypeError('Converting circular structure to JSON5') } stack.push(value) let stepback = indent indent = indent + gap let keys = propertyList || Object.keys(value) let partial = [] for (const key of keys) { const propertyString = serializeProperty(key, value) if (propertyString !== undefined) { let member = serializeKey(key) + ':' if (gap !== '') { member += ' ' } member += propertyString partial.push(member) } } let final if (partial.length === 0) { final = '{}' } else { let properties if (gap === '') { properties = partial.join(',') final = '{' + properties + '}' } else { let separator = ',\n' + indent properties = partial.join(separator) final = '{\n' + indent + properties + ',\n' + stepback + '}' } } stack.pop() indent = stepback return final } function serializeKey (key) { if (key.length === 0) { return quoteString(key, true) } const firstChar = String.fromCodePoint(key.codePointAt(0)) if (!util.isIdStartChar(firstChar)) { return quoteString(key, true) } for (let i = firstChar.length; i < key.length; i++) { if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) { return quoteString(key, true) } } return key } function serializeArray (value) { if (stack.indexOf(value) >= 0) { throw TypeError('Converting circular structure to JSON5') } stack.push(value) let stepback = indent indent = indent + gap let partial = [] for (let i = 0; i < value.length; i++) { const propertyString = serializeProperty(String(i), value) partial.push((propertyString !== undefined) ? propertyString : 'null') } let final if (partial.length === 0) { final = '[]' } else { if (gap === '') { let properties = partial.join(',') final = '[' + properties + ']' } else { let separator = ',\n' + indent let properties = partial.join(separator) final = '[\n' + indent + properties + ',\n' + stepback + ']' } } stack.pop() indent = stepback return final } }