aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jest-each/build/bind.js
diff options
context:
space:
mode:
authorJoel Kronqvist <work.joelkronqvist@pm.me>2022-03-11 20:46:06 +0200
committerJoel Kronqvist <work.joelkronqvist@pm.me>2022-03-11 20:46:06 +0200
commit080c5819d87b933816d724a83f3bf4f1686770a7 (patch)
tree4a2ccc68b27edf7d4cbc586c932cc7542b655e19 /node_modules/jest-each/build/bind.js
parent5ac7049a9d30733165cc212dee308163c2a14644 (diff)
parentd003b82235a9329f912522a2f70aa950dfce4998 (diff)
downloadLYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.tar.gz
LYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.zip
Merge branch 'master' of https://github.com/JoelHMikael/FoodJS
Updating remote changes
Diffstat (limited to 'node_modules/jest-each/build/bind.js')
-rw-r--r--node_modules/jest-each/build/bind.js79
1 files changed, 79 insertions, 0 deletions
diff --git a/node_modules/jest-each/build/bind.js b/node_modules/jest-each/build/bind.js
new file mode 100644
index 0000000..5514ed4
--- /dev/null
+++ b/node_modules/jest-each/build/bind.js
@@ -0,0 +1,79 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', {
+ value: true
+});
+exports.default = bind;
+
+function _jestUtil() {
+ const data = require('jest-util');
+
+ _jestUtil = function () {
+ return data;
+ };
+
+ return data;
+}
+
+var _array = _interopRequireDefault(require('./table/array'));
+
+var _template = _interopRequireDefault(require('./table/template'));
+
+var _validation = require('./validation');
+
+function _interopRequireDefault(obj) {
+ return obj && obj.__esModule ? obj : {default: obj};
+}
+
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+function bind(cb, supportsDone = true) {
+ return (table, ...taggedTemplateData) =>
+ function eachBind(title, test, timeout) {
+ try {
+ const tests = isArrayTable(taggedTemplateData)
+ ? buildArrayTests(title, table)
+ : buildTemplateTests(title, table, taggedTemplateData);
+ return tests.forEach(row =>
+ cb(
+ row.title,
+ applyArguments(supportsDone, row.arguments, test),
+ timeout
+ )
+ );
+ } catch (e) {
+ const error = new (_jestUtil().ErrorWithStack)(e.message, eachBind);
+ return cb(title, () => {
+ throw error;
+ });
+ }
+ };
+}
+
+const isArrayTable = data => data.length === 0;
+
+const buildArrayTests = (title, table) => {
+ (0, _validation.validateArrayTable)(table);
+ return (0, _array.default)(title, table);
+};
+
+const buildTemplateTests = (title, table, taggedTemplateData) => {
+ const headings = getHeadingKeys(table[0]);
+ (0, _validation.validateTemplateTableArguments)(headings, taggedTemplateData);
+ return (0, _template.default)(title, headings, taggedTemplateData);
+};
+
+const getHeadingKeys = headings =>
+ (0, _validation.extractValidTemplateHeadings)(headings)
+ .replace(/\s/g, '')
+ .split('|');
+
+const applyArguments = (supportsDone, params, test) =>
+ supportsDone && params.length < test.length
+ ? done => test(...params, done)
+ : () => test(...params);