All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
18 lines
739 B
JavaScript
18 lines
739 B
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.assertType = assertType;
|
|
var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
|
|
var _castArray2 = _interopRequireDefault(require("lodash/castArray"));
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
function assertType(nodes, type) {
|
|
const nodesArray = (0, _castArray2.default)(nodes);
|
|
const validate = (0, _isArray2.default)(type) ? node => type.includes(node.type) : node => type === node.type;
|
|
const invalidNode = nodesArray.find(node => !validate(node));
|
|
if (invalidNode) {
|
|
throw Error(`Expected node of type "${type}", received "${invalidNode.type}".`);
|
|
}
|
|
return true;
|
|
} |