UNPKG

4.48 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/utility.js"],"names":[],"mappings":"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","file":"utility.js","sourcesContent":["// Checks whether the return value is a valid primary or secondary\n// index value\nfunction validIndexValue(val) {\n if (val === null) {\n return false\n }\n if ([ 'boolean', 'number', 'string' ].indexOf(typeof val) !== -1) {\n return true\n }\n if (Array.isArray(val)) {\n let containsBad = false\n val.forEach(v => {\n containsBad = containsBad || validIndexValue(v)\n })\n return containsBad\n }\n return false\n}\n\nfunction assign(...args) {\n return Object.assign({}, ...args)\n}\n\nfunction ordinal(x) {\n if ([ 11, 12, 13 ].indexOf(x) !== -1) {\n return `${x}th`\n } else if (x % 10 === 1) {\n return `${x}st`\n } else if (x % 10 === 2) {\n return `${x}nd`\n } else if (x % 10 === 3) {\n return `${x}rd`\n }\n return `${x}th`\n}\n\n// Validation helper\nfunction checkArgs(name, args, {\n nullable: nullable = false,\n minArgs: minArgs = 1,\n maxArgs: maxArgs = 1 } = {}) {\n if (minArgs === maxArgs && args.length !== minArgs) {\n const plural = minArgs === 1 ? '' : 's'\n throw new Error(`${name} must receive exactly ${minArgs} argument${plural}`)\n }\n if (args.length < minArgs) {\n const plural = minArgs === 1 ? '' : 's'\n throw new Error(\n `${name} must receive at least ${minArgs} argument${plural}.`\n )\n }\n if (args.length > maxArgs) {\n const plural = maxArgs === 1 ? '' : 's'\n throw new Error(`${name} accepts at most ${maxArgs} argument${plural}.`)\n }\n for (let i = 0; i < args.length; i++) {\n if (!nullable && args[i] === null) {\n const ordinality = maxArgs !== 1 ? ` ${ordinal(i + 1)}` : ''\n throw new Error(`The${ordinality} argument to ${name} must be non-null`)\n }\n if (args[i] === undefined) {\n throw new Error(\n `The ${ordinal(i + 1)} argument to ${name} must be defined`\n )\n }\n }\n}\n\nfunction subscribeOrObservable(observable) {\n return (...args) => {\n if (args.length > 0) {\n return observable.subscribe(...args)\n } else {\n return observable\n }\n }\n}\n\n\nObject.assign(module.exports, {\n validIndexValue,\n assign,\n ordinal,\n checkArgs,\n subscribeOrObservable,\n})\n"]}
\No newline at end of file