UNPKG

testcafe

Version:

Automated browser testing for the modern web development stack.

62 lines 8.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCommonElement = exports.equals = exports.remove = exports.find = exports.from = exports.isArray = exports.every = exports.join = exports.concat = exports.reduce = exports.reverse = exports.some = exports.indexOf = exports.forEach = exports.unshift = exports.splice = exports.slice = exports.map = exports.filter = void 0; const hammerhead_1 = require("../deps/hammerhead"); const ARRAY_METHODS_PREFIX = 'array'; function createNativeMethodWrapper(methodName) { const nativeMethodName = ARRAY_METHODS_PREFIX + methodName.charAt(0).toUpperCase() + methodName.slice(1); const nativeMethod = hammerhead_1.nativeMethods[nativeMethodName]; return (...args) => nativeMethod.call(...args); } exports.filter = createNativeMethodWrapper('filter'); exports.map = createNativeMethodWrapper('map'); exports.slice = createNativeMethodWrapper('slice'); exports.splice = createNativeMethodWrapper('splice'); exports.unshift = createNativeMethodWrapper('unshift'); exports.forEach = createNativeMethodWrapper('forEach'); exports.indexOf = createNativeMethodWrapper('indexOf'); exports.some = createNativeMethodWrapper('some'); exports.reverse = createNativeMethodWrapper('reverse'); exports.reduce = createNativeMethodWrapper('reduce'); exports.concat = createNativeMethodWrapper('concat'); exports.join = createNativeMethodWrapper('join'); exports.every = createNativeMethodWrapper('every'); function isArray(arg) { return hammerhead_1.nativeMethods.objectToString.call(arg) === '[object Array]'; } exports.isArray = isArray; function from(arg, ...args) { return hammerhead_1.nativeMethods.arrayFrom(arg, ...args); } exports.from = from; function find(arr, callback) { return hammerhead_1.nativeMethods.arrayFind.call(arr, callback); } exports.find = find; function remove(arr, item) { const index = hammerhead_1.nativeMethods.arrayIndexOf.call(arr, item); if (index > -1) hammerhead_1.nativeMethods.arraySplice.call(arr, index, 1); } exports.remove = remove; function equals(arr1, arr2) { if (arr1.length !== arr2.length) return false; for (let i = 0, l = arr1.length; i < l; i++) { if (arr1[i] !== arr2[i]) return false; } return true; } exports.equals = equals; function getCommonElement(arr1, arr2) { for (let i = 0; i < arr1.length; i++) { for (let t = 0; t < arr2.length; t++) { if (arr1[i] === arr2[t]) return arr1[i]; } } return null; } exports.getCommonElement = getCommonElement; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvcmUvdXRpbHMvYXJyYXkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQW1EO0FBRW5ELE1BQU0sb0JBQW9CLEdBQUcsT0FBTyxDQUFDO0FBRXJDLFNBQVMseUJBQXlCLENBQUUsVUFBVTtJQUMxQyxNQUFNLGdCQUFnQixHQUFHLG9CQUFvQixHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RyxNQUFNLFlBQVksR0FBTywwQkFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFekQsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFJLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzlDLFFBQUEsR0FBRyxHQUFPLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzNDLFFBQUEsS0FBSyxHQUFLLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzdDLFFBQUEsTUFBTSxHQUFJLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzlDLFFBQUEsT0FBTyxHQUFHLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQy9DLFFBQUEsT0FBTyxHQUFHLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQy9DLFFBQUEsT0FBTyxHQUFHLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQy9DLFFBQUEsSUFBSSxHQUFNLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLFFBQUEsT0FBTyxHQUFHLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQy9DLFFBQUEsTUFBTSxHQUFJLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzlDLFFBQUEsTUFBTSxHQUFJLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzlDLFFBQUEsSUFBSSxHQUFNLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLFFBQUEsS0FBSyxHQUFLLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRTFELFNBQWdCLE9BQU8sQ0FBRSxHQUFHO0lBQ3hCLE9BQU8sMEJBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLGdCQUFnQixDQUFDO0FBQ3ZFLENBQUM7QUFGRCwwQkFFQztBQUVELFNBQWdCLElBQUksQ0FBRSxHQUFHLEVBQUUsR0FBRyxJQUFJO0lBQzlCLE9BQU8sMEJBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUZELG9CQUVDO0FBRUQsU0FBZ0IsSUFBSSxDQUFFLEdBQUcsRUFBRSxRQUFRO0lBQy9CLE9BQU8sMEJBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRkQsb0JBRUM7QUFFRCxTQUFnQixNQUFNLENBQUUsR0FBRyxFQUFFLElBQUk7SUFDN0IsTUFBTSxLQUFLLEdBQUcsMEJBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUV6RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDViwwQkFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBTEQsd0JBS0M7QUFFRCxTQUFnQixNQUFNLENBQUUsSUFBSSxFQUFFLElBQUk7SUFDOUIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNO1FBQzNCLE9BQU8sS0FBSyxDQUFDO0lBRWpCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDekMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQztLQUNwQjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFWRCx3QkFVQztBQUVELFNBQWdCLGdCQUFnQixDQUFFLElBQUksRUFBRSxJQUFJO0lBQ3hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ2xDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RCO0tBQ0o7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBVEQsNENBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBuYXRpdmVNZXRob2RzIH0gZnJvbSAnLi4vZGVwcy9oYW1tZXJoZWFkJztcblxuY29uc3QgQVJSQVlfTUVUSE9EU19QUkVGSVggPSAnYXJyYXknO1xuXG5mdW5jdGlvbiBjcmVhdGVOYXRpdmVNZXRob2RXcmFwcGVyIChtZXRob2ROYW1lKSB7XG4gICAgY29uc3QgbmF0aXZlTWV0aG9kTmFtZSA9IEFSUkFZX01FVEhPRFNfUFJFRklYICsgbWV0aG9kTmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG1ldGhvZE5hbWUuc2xpY2UoMSk7XG4gICAgY29uc3QgbmF0aXZlTWV0aG9kICAgICA9IG5hdGl2ZU1ldGhvZHNbbmF0aXZlTWV0aG9kTmFtZV07XG5cbiAgICByZXR1cm4gKC4uLmFyZ3MpID0+IG5hdGl2ZU1ldGhvZC5jYWxsKC4uLmFyZ3MpO1xufVxuXG5leHBvcnQgY29uc3QgZmlsdGVyICA9IGNyZWF0ZU5hdGl2ZU1ldGhvZFdyYXBwZXIoJ2ZpbHRlcicpO1xuZXhwb3J0IGNvbnN0IG1hcCAgICAgPSBjcmVhdGVOYXRpdmVNZXRob2RXcmFwcGVyKCdtYXAnKTtcbmV4cG9ydCBjb25zdCBzbGljZSAgID0gY3JlYXRlTmF0aXZlTWV0aG9kV3JhcHBlcignc2xpY2UnKTtcbmV4cG9ydCBjb25zdCBzcGxpY2UgID0gY3JlYXRlTmF0aXZlTWV0aG9kV3JhcHBlcignc3BsaWNlJyk7XG5leHBvcnQgY29uc3QgdW5zaGlmdCA9IGNyZWF0ZU5hdGl2ZU1ldGhvZFdyYXBwZXIoJ3Vuc2hpZnQnKTtcbmV4cG9ydCBjb25zdCBmb3JFYWNoID0gY3JlYXRlTmF0aXZlTWV0aG9kV3JhcHBlcignZm9yRWFjaCcpO1xuZXhwb3J0IGNvbnN0IGluZGV4T2YgPSBjcmVhdGVOYXRpdmVNZXRob2RXcmFwcGVyKCdpbmRleE9mJyk7XG5leHBvcnQgY29uc3Qgc29tZSAgICA9IGNyZWF0ZU5hdGl2ZU1ldGhvZFdyYXBwZXIoJ3NvbWUnKTtcbmV4cG9ydCBjb25zdCByZXZlcnNlID0gY3JlYXRlTmF0aXZlTWV0aG9kV3JhcHBlcigncmV2ZXJzZScpO1xuZXhwb3J0IGNvbnN0IHJlZHVjZSAgPSBjcmVhdGVOYXRpdmVNZXRob2RXcmFwcGVyKCdyZWR1Y2UnKTtcbmV4cG9ydCBjb25zdCBjb25jYXQgID0gY3JlYXRlTmF0aXZlTWV0aG9kV3JhcHBlcignY29uY2F0Jyk7XG5leHBvcnQgY29uc3Qgam9pbiAgICA9IGNyZWF0ZU5hdGl2ZU1ldGhvZFdyYXBwZXIoJ2pvaW4nKTtcbmV4cG9ydCBjb25zdCBldmVyeSAgID0gY3JlYXRlTmF0aXZlTWV0aG9kV3JhcHBlcignZXZlcnknKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXkgKGFyZykge1xuICAgIHJldHVybiBuYXRpdmVNZXRob2RzLm9iamVjdFRvU3RyaW5nLmNhbGwoYXJnKSA9PT0gJ1tvYmplY3QgQXJyYXldJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb20gKGFyZywgLi4uYXJncykge1xuICAgIHJldHVybiBuYXRpdmVNZXRob2RzLmFycmF5RnJvbShhcmcsIC4uLmFyZ3MpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZCAoYXJyLCBjYWxsYmFjaykge1xuICAgIHJldHVybiBuYXRpdmVNZXRob2RzLmFycmF5RmluZC5jYWxsKGFyciwgY2FsbGJhY2spO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlIChhcnIsIGl0ZW0pIHtcbiAgICBjb25zdCBpbmRleCA9IG5hdGl2ZU1ldGhvZHMuYXJyYXlJbmRleE9mLmNhbGwoYXJyLCBpdGVtKTtcblxuICAgIGlmIChpbmRleCA+IC0xKVxuICAgICAgICBuYXRpdmVNZXRob2RzLmFycmF5U3BsaWNlLmNhbGwoYXJyLCBpbmRleCwgMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlcXVhbHMgKGFycjEsIGFycjIpIHtcbiAgICBpZiAoYXJyMS5sZW5ndGggIT09IGFycjIubGVuZ3RoKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGFycjEubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGlmIChhcnIxW2ldICE9PSBhcnIyW2ldKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29tbW9uRWxlbWVudCAoYXJyMSwgYXJyMikge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyMS5sZW5ndGg7IGkrKykge1xuICAgICAgICBmb3IgKGxldCB0ID0gMDsgdCA8IGFycjIubGVuZ3RoOyB0KyspIHtcbiAgICAgICAgICAgIGlmIChhcnIxW2ldID09PSBhcnIyW3RdKVxuICAgICAgICAgICAgICAgIHJldHVybiBhcnIxW2ldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbiJdfQ==