This commit is contained in:
Simon Priet
2021-09-05 22:53:58 +02:00
commit 9e2991e668
17888 changed files with 1263126 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.default =
canonicalize;var _has_property = require('./has_property');var _has_property2 = _interopRequireDefault(_has_property);var _type = require('./type');var _type2 = _interopRequireDefault(_type);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function canonicalize(value, stack) {
stack = stack || [];
function withStack(fn) {
stack.push(value);
var result = fn();
stack.pop();
return result;
}
if (stack.indexOf(value) !== -1) {
return '[Circular]';
}
switch ((0, _type2.default)(value)) {
case 'array':
return withStack(function () {
return value.map(function (item) {
return canonicalize(item, stack);
});
});
case 'function':
if (!(0, _has_property2.default)(value)) {
return '[Function]';
}
/* falls through */
case 'object':
return withStack(function () {
var canonicalizedObj = {};
Object.keys(value).sort().map(function (key) {
canonicalizedObj[key] = canonicalize(value[key], stack);
});
return canonicalizedObj;
});
case 'boolean':
case 'buffer':
case 'date':
case 'null':
case 'number':
case 'regexp':
case 'symbol':
case 'undefined':
return value;
default:
return value.toString();}
}

View File

@@ -0,0 +1,8 @@
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.default = hasProperty;function hasProperty(obj) {
for (var prop in obj) {
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
return true;
}
}
return false;
}

View File

@@ -0,0 +1,40 @@
'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.default =
inlineDiff;var _diff = require('diff');var _padRight = require('pad-right');var _padRight2 = _interopRequireDefault(_padRight);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function inlineDiff(actual, expected, colorFns) {
var msg = errorDiff(actual, expected, colorFns);
// linenos
var lines = msg.split('\n');
if (lines.length > 4) {(function () {
var width = String(lines.length).length;
msg = lines.map(function (str, i) {
return (0, _padRight2.default)(i + 1, width, ' ') + '|' + ' ' + str;
}).join('\n');})();
}
// legend
msg = '\n ' +
colorFns.diffRemoved('actual') +
' ' +
colorFns.diffAdded('expected') +
'\n\n' +
msg.replace(/^/gm, ' ') +
'\n';
return msg;
}
function errorDiff(actual, expected, colorFns) {
return (0, _diff.diffWordsWithSpace)(actual, expected).map(function (str) {
if (str.added) {
return colorFns.diffAdded(str.value);
}
if (str.removed) {
return colorFns.diffRemoved(str.value);
}
return str.value;
}).join('');
}

View File

@@ -0,0 +1,79 @@
'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.default =
jsonStringify;var _repeatString = require('repeat-string');var _repeatString2 = _interopRequireDefault(_repeatString);var _type = require('./type');var _type2 = _interopRequireDefault(_type);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function jsonStringify(object, depth) {
depth = depth || 1;
switch ((0, _type2.default)(object)) {
case 'boolean':
case 'regexp':
case 'symbol':
return object.toString();
case 'null':
case 'undefined':
return '[' + object + ']';
case 'array':
case 'object':
return jsonStringifyProperties(object, depth);
case 'number':
if (object === 0 && 1 / object === -Infinity) {
return '-0';
} else {
return object.toString();
}
case 'date':
return jsonStringifyDate(object);
case 'buffer':
return jsonStringifyBuffer(object, depth);
default:
if (object === '[Function]' || object === '[Circular]') {
return object;
} else {
return JSON.stringify(object); // string
}}
}
function jsonStringifyBuffer(object, depth) {var _object$toJSON =
object.toJSON(),data = _object$toJSON.data;
return '[Buffer: ' + jsonStringify(data, depth) + ']';
}
function jsonStringifyDate(object) {
var str = void 0;
if (isNaN(object.getTime())) {
str = object.toString();
} else {
str = object.toISOString();
}
return '[Date: ' + str + ']';
}
function jsonStringifyProperties(object, depth) {
var space = 2 * depth;
var start = (0, _type2.default)(object) === 'array' ? '[' : '{';
var end = (0, _type2.default)(object) === 'array' ? ']' : '}';
var length = typeof object.length === 'number' ? object.length : Object.keys(object).length;
var addedProperties = 0;
var str = start;
for (var prop in object) {
if (Object.prototype.hasOwnProperty.call(object, prop)) {
addedProperties += 1;
str += '\n' + (0, _repeatString2.default)(' ', space) + (
(0, _type2.default)(object) === 'array' ? '' : '"' + prop + '": ') +
jsonStringify(object[prop], depth + 1) + (
addedProperties === length ? '' : ',');
}
}
if (str.length !== 1) {
str += '\n' + (0, _repeatString2.default)(' ', space - 2);
}
return str + end;
}

View File

@@ -0,0 +1,7 @@
'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.default =
stringify;var _canonicalize = require('./canonicalize');var _canonicalize2 = _interopRequireDefault(_canonicalize);var _json_stringify = require('./json_stringify');var _json_stringify2 = _interopRequireDefault(_json_stringify);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function stringify(value) {
return (0, _json_stringify2.default)((0, _canonicalize2.default)(value)).replace(/,(\n|$)/g, '$1');
}

View File

@@ -0,0 +1,12 @@
'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.default = type;function type(value) {
if (value === undefined) {
return 'undefined';
} else if (value === null) {
return 'null';
} else if (typeof Buffer !== 'undefined' && Buffer.isBuffer(value)) {
return 'buffer';
}
return Object.prototype.toString.call(value).
replace(/^\[.+\s(.+?)\]$/, '$1').
toLowerCase();
}

View File

@@ -0,0 +1,33 @@
'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.default =
unifiedDiff;var _diff = require('diff');function unifiedDiff(actual, expected, colorFns) {
var indent = ' ';
function cleanUp(line) {
if (line.length === 0) {
return '';
}
if (line[0] === '+') {
return indent + colorFns.diffAdded(line);
}
if (line[0] === '-') {
return indent + colorFns.diffRemoved(line);
}
if (line.match(/\@\@/)) {
return null;
}
if (line.match(/\\ No newline/)) {
return null;
}
return indent + line;
}
function notBlank(line) {
return typeof line !== 'undefined' && line !== null;
}
var msg = (0, _diff.createPatch)('string', actual, expected);
var lines = msg.split('\n').splice(4);
return '\n' + indent +
colorFns.diffAdded('+ expected') + ' ' +
colorFns.diffRemoved('- actual') +
'\n\n' +
lines.map(cleanUp).filter(notBlank).join('\n');
}