Sha256: 4b8c1d9377673d90779c62fd180160ab8f65409638593c6ecfc18967a16eddb6
Contents?: true
Size: 1.29 KB
Versions: 1
Compression:
Stored size: 1.29 KB
Contents
'use strict' module.exports = convert function convert(test) { if (test == null) { return ok } if (typeof test === 'string') { return typeFactory(test) } if (typeof test === 'object') { return 'length' in test ? anyFactory(test) : allFactory(test) } if (typeof test === 'function') { return test } throw new Error('Expected function, string, or object as test') } // Utility assert each property in `test` is represented in `node`, and each // values are strictly equal. function allFactory(test) { return all function all(node) { var key for (key in test) { if (node[key] !== test[key]) return false } return true } } function anyFactory(tests) { var checks = [] var index = -1 while (++index < tests.length) { checks[index] = convert(tests[index]) } return any function any() { var index = -1 while (++index < checks.length) { if (checks[index].apply(this, arguments)) { return true } } return false } } // Utility to convert a string into a function which checks a given node’s type // for said string. function typeFactory(test) { return type function type(node) { return Boolean(node && node.type === test) } } // Utility to return true. function ok() { return true }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
trusty-cms-6.3.1 | node_modules/unist-util-is/convert.js |