Software: Apache. PHP/8.1.30 uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root) Safe-mode: OFF (not secure) /usr/share/nodejs/diff/lib/diff/ drwxr-xr-x |
Viewing file: Select action/file-type: /*istanbul ignore start*/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.canonicalize = canonicalize; exports.diffJson = diffJson; exports.jsonDiff = void 0; /*istanbul ignore end*/ var /*istanbul ignore start*/ _base = _interopRequireDefault(require("./base")) /*istanbul ignore end*/ ; var /*istanbul ignore start*/ _line = require("./line") /*istanbul ignore end*/ ; /*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _typeof(obj) { "@babel/helpers - typeof"; return (_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; })(obj); } /*istanbul ignore end*/ var objectPrototypeToString = Object.prototype.toString; var jsonDiff = new /*istanbul ignore start*/ _base /*istanbul ignore end*/ [ /*istanbul ignore start*/ "default" /*istanbul ignore end*/ ](); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a // dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output: /*istanbul ignore start*/ exports.jsonDiff = jsonDiff; /*istanbul ignore end*/ jsonDiff.useLongestToken = true; jsonDiff.tokenize = /*istanbul ignore start*/ _line /*istanbul ignore end*/ . /*istanbul ignore start*/ lineDiff /*istanbul ignore end*/ .tokenize; jsonDiff.castInput = function (value) { var /*istanbul ignore start*/ _this$options = /*istanbul ignore end*/ this.options, /*istanbul ignore start*/ /*istanbul ignore end*/ undefinedReplacement = _this$options.undefinedReplacement, /*istanbul ignore start*/ _this$options$stringi = _this$options. /*istanbul ignore end*/ stringifyReplacer, /*istanbul ignore start*/ /*istanbul ignore end*/ stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) /*istanbul ignore start*/ { return ( /*istanbul ignore end*/ typeof v === 'undefined' ? undefinedReplacement : v ); } : _this$options$stringi; return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' '); }; jsonDiff.equals = function (left, right) { return ( /*istanbul ignore start*/ _base /*istanbul ignore end*/ [ /*istanbul ignore start*/ "default" /*istanbul ignore end*/ ].prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1')) ); }; function diffJson(oldObj, newObj, options) { return jsonDiff.diff(oldObj, newObj, options); } // This function handles the presence of circular references by bailing out when encountering an // object that is already on the "stack" of items being processed. Accepts an optional replacer function canonicalize(obj, stack, replacementStack, replacer, key) { stack = stack || []; replacementStack = replacementStack || []; if (replacer) { obj = replacer(key, obj); } var i; for (i = 0; i < stack.length; i += 1) { if (stack[i] === obj) { return replacementStack[i]; } } var canonicalizedObj; if ('[object Array]' === objectPrototypeToString.call(obj)) { stack.push(obj); canonicalizedObj = new Array(obj.length); replacementStack.push(canonicalizedObj); for (i = 0; i < obj.length; i += 1) { canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key); } stack.pop(); replacementStack.pop(); return canonicalizedObj; } if (obj && obj.toJSON) { obj = obj.toJSON(); } if ( /*istanbul ignore start*/ _typeof( /*istanbul ignore end*/ obj) === 'object' && obj !== null) { stack.push(obj); canonicalizedObj = {}; replacementStack.push(canonicalizedObj); var sortedKeys = [], _key; for (_key in obj) { /* istanbul ignore else */ if (obj.hasOwnProperty(_key)) { sortedKeys.push(_key); } } sortedKeys.sort(); for (i = 0; i < sortedKeys.length; i += 1) { _key = sortedKeys[i]; canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); } stack.pop(); replacementStack.pop(); } else { canonicalizedObj = obj; } return canonicalizedObj; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL2pzb24uanMiXSwibmFtZXMiOlsib2JqZWN0UHJvdG90eXBlVG9TdHJpbmciLCJPYmplY3QiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsImpzb25EaWZmIiwiRGlmZiIsInVzZUxvbmdlc3RUb2tlbiIsInRva2VuaXplIiwibGluZURpZmYiLCJjYXN0SW5wdXQiLCJ2YWx1ZSIsIm9wdGlvbnMiLCJ1bmRlZmluZWRSZXBsYWNlbWVudCIsInN0cmluZ2lmeVJlcGxhY2VyIiwiayIsInYiLCJKU09OIiwic3RyaW5naWZ5IiwiY2Fub25pY2FsaXplIiwiZXF1YWxzIiwibGVmdCIsInJpZ2h0IiwiY2FsbCIsInJlcGxhY2UiLCJkaWZmSnNvbiIsIm9sZE9iaiIsIm5ld09iaiIsImRpZmYiLCJvYmoiLCJzdGFjayIsInJlcGxhY2VtZW50U3RhY2siLCJyZXBsYWNlciIsImtleSIsImkiLCJsZW5ndGgiLCJjYW5vbmljYWxpemVkT2JqIiwicHVzaCIsIkFycmF5IiwicG9wIiwidG9KU09OIiwic29ydGVkS2V5cyIsImhhc093blByb3BlcnR5Iiwic29ydCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7QUFFQSxJQUFNQSx1QkFBdUIsR0FBR0MsTUFBTSxDQUFDQyxTQUFQLENBQWlCQyxRQUFqRDtBQUdPLElBQU1DLFFBQVEsR0FBRztBQUFJQztBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQSxDQUFKLEVBQWpCLEMsQ0FDUDtBQUNBOzs7Ozs7QUFDQUQsUUFBUSxDQUFDRSxlQUFULEdBQTJCLElBQTNCO0FBRUFGLFFBQVEsQ0FBQ0csUUFBVDtBQUFvQkM7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQTtBQUFBLENBQVNELFFBQTdCOztBQUNBSCxRQUFRLENBQUNLLFNBQVQsR0FBcUIsVUFBU0MsS0FB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QWdCLENBQUNRLEdBQWpCO0FBQ0QsR0FuQkQsTUFtQk87QUFDTEgsSUFBQUEsZ0JBQWdCLEdBQUdQLEdBQW5CO0FBQ0Q7O0FBQ0QsU0FBT08sZ0JBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBEaWZmIGZyb20gJy4vYmFzZSc7XG5pbXBvcnQge2xpbmVEaWZmfSBmcm9tICcuL2xpbmUnO1xuXG5jb25zdCBvYmplY3RQcm90b3R5cGVUb1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG5cblxuZXhwb3J0IGNvbnN0IGpzb25EaWZmID0gbmV3IERpZmYoKTtcbi8vIERpc2NyaW1pbmF0ZSBiZXR3ZWVuIHR3byBsaW5lcyBvZiBwcmV0dHktcHJpbnRlZCwgc2VyaWFsaXplZCBKU09OIHdoZXJlIG9uZSBvZiB0aGVtIGhhcyBhXG4vLyBkYW5nbGluZyBjb21tYSBhbmQgdGhlIG90aGVyIGRvZXNuJ3QuIFR1cm5zIG91dCBpbmNsdWRpbmcgdGhlIGRhbmdsaW5nIGNvbW1hIHlpZWxkcyB0aGUgbmljZXN0IG91dHB1dDpcbmpzb25EaWZmLnVzZUxvbmdlc3RUb2tlbiA9IHRydWU7XG5cbmpzb25EaWZmLnRva2VuaXplID0gbGluZURpZmYudG9rZW5pemU7XG5qc29uRGlmZi5jYXN0SW5wdXQgPSBmdW5jdGlvbih2YWx1ZSkge1xuICBjb25zdCB7dW5kZWZpbmVkUmVwbGFjZW1lbnQsIHN0cmluZ2lmeVJlcGxhY2VyID0gKGssIHYpID0+IHR5cGVvZiB2ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZFJlcGxhY2VtZW50IDogdn0gPSB0aGlzLm9wdGlvbnM7XG5cbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA6IEpTT04uc3RyaW5naWZ5KGNhbm9uaWNhbGl6ZSh2YWx1ZSwgbnVsbCwgbnVsbCwgc3RyaW5naWZ5UmVwbGFjZXIpLCBzdHJpbmdpZnlSZXBsYWNlciwgJyAgJyk7XG59O1xuanNvbkRpZmYuZXF1YWxzID0gZnVuY3Rpb24obGVmdCwgcmlnaHQpIHtcbiAgcmV0dXJuIERpZmYucHJvdG90eXBlLmVxdWFscy5jYWxsKGpzb25EaWZmLCBsZWZ0LnJlcGxhY2UoLywoW1xcclxcbl0pL2csICckMScpLCByaWdodC5yZXBsYWNlKC8sKFtcXHJcXG5dKS9nLCAnJDEnKSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZGlmZkpzb24ob2xkT2JqLCBuZXdPYmosIG9wdGlvbnMpIHsgcmV0dXJuIGpzb25EaWZmLmRpZmYob2xkT2JqLCBuZXdPYmosIG9wdGlvbnMpOyB9XG5cbi8vIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyB0aGUgcHJlc2VuY2Ugb2YgY2lyY3VsYXIgcmVmZXJlbmNlcyBieSBiYWlsaW5nIG91dCB3aGVuIGVuY291bnRlcmluZyBhblxuLy8gb2JqZWN0IHRoYXQgaXMgYWxyZWFkeSBvbiB0aGUgXCJzdGFja1wiIG9mIGl0ZW1zIGJlaW5nIHByb2Nlc3NlZC4gQWNjZXB0cyBhbiBvcHRpb25hbCByZXBsYWNlclxuZXhwb3J0IGZ1bmN0aW9uIGNhbm9uaWNhbGl6ZShvYmosIHN0YWNrLCByZXBsYWNlbWVudFN0YWNrLCByZXBsYWNlciwga2V5KSB7XG4gIHN0YWNrID0gc3RhY2sgfHwgW107XG4gIHJlcGxhY2VtZW50U3RhY2sgPSByZXBsYWNlbWVudFN0YWNrIHx8IFtdO1xuXG4gIGlmIChyZXBsYWNlcikge1xuICAgIG9iaiA9IHJlcGxhY2VyKGtleSwgb2JqKTtcbiAgfVxuXG4gIGxldCBpO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBzdGFjay5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGlmIChzdGFja1tpXSA9PT0gb2JqKSB7XG4gICAgICByZXR1cm4gcmVwbGFjZW1lbnRTdGFja1tpXTtcbiAgICB9XG4gIH1cblxuICBsZXQgY2Fub25pY2FsaXplZE9iajtcblxuICBpZiAoJ1tvYmplY3QgQXJyYXldJyA9PT0gb2JqZWN0UHJvdG90eXBlVG9TdHJpbmcuY2FsbChvYmopKSB7XG4gICAgc3RhY2sucHVzaChvYmopO1xuICAgIGNhbm9uaWNhbGl6ZWRPYmogPSBuZXcgQXJyYXkob2JqLmxlbmd0aCk7XG4gICAgcmVwbGFjZW1lbnRTdGFjay5wdXNoKGNhbm9uaWNhbGl6ZWRPYmopO1xuICAgIGZvciAoaSA9IDA7IGkgPCBvYmoubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgIGNhbm9uaWNhbGl6ZWRPYmpbaV0gPSBjYW5vbmljYWxpemUob2JqW2ldLCBzdGFjaywgcmVwbGFjZW1lbnRTdGFjaywgcmVwbGFjZXIsIGtleSk7XG4gICAgfVxuICAgIHN0YWNrLnBvcCgpO1xuICAgIHJlcGxhY2VtZW50U3RhY2sucG9wKCk7XG4gICAgcmV0dXJuIGNhbm9uaWNhbGl6ZWRPYmo7XG4gIH1cblxuICBpZiAob2JqICYmIG9iai50b0pTT04pIHtcbiAgICBvYmogPSBvYmoudG9KU09OKCk7XG4gIH1cblxuICBpZiAodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgb2JqICE9PSBudWxsKSB7XG4gICAgc3RhY2sucHVzaChvYmopO1xuICAgIGNhbm9uaWNhbGl6ZWRPYmogPSB7fTtcbiAgICByZXBsYWNlbWVudFN0YWNrLnB1c2goY2Fub25pY2FsaXplZE9iaik7XG4gICAgbGV0IHNvcnRlZEtleXMgPSBbXSxcbiAgICAgICAga2V5O1xuICAgIGZvciAoa2V5IGluIG9iaikge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBzb3J0ZWRLZXlzLnB1c2goa2V5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgc29ydGVkS2V5cy5zb3J0KCk7XG4gICAgZm9yIChpID0gMDsgaSA8IHNvcnRlZEtleXMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgIGtleSA9IHNvcnRlZEtleXNbaV07XG4gICAgICBjYW5vbmljYWxpemVkT2JqW2tleV0gPSBjYW5vbmljYWxpemUob2JqW2tleV0sIHN0YWNrLCByZXBsYWNlbWVudFN0YWNrLCByZXBsYWNlciwga2V5KTtcbiAgICB9XG4gICAgc3RhY2sucG9wKCk7XG4gICAgcmVwbGFjZW1lbnRTdGFjay5wb3AoKTtcbiAgfSBlbHNlIHtcbiAgICBjYW5vbmljYWxpemVkT2JqID0gb2JqO1xuICB9XG4gIHJldHVybiBjYW5vbmljYWxpemVkT2JqO1xufVxuIl19 |
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0052 ]-- |