@minofrk/msf-io-ts
Version:
Type utilities with io-ts for MSF format.
29 lines • 941 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var codec_1 = require("./codec");
var compliant_1 = require("../state/compliant");
function isSpecCompliantNonRootNodes(seslax) {
return seslax.every(function (x) {
return compliant_1.isSpecCompliantState(x.slax) && isSpecCompliantVariations(x.mit);
});
}
function isSpecCompliantVariations(mit) {
return mit.every(function (x) { return isSpecCompliantNonRootNodes(x.seslax); });
}
function isSpecCompliantMSFType(msf) {
if (!codec_1.MSFType.is(msf)) {
return false;
}
if (!compliant_1.isSpecCompliantState(msf.kit.slax)) {
return false;
}
if (!isSpecCompliantVariations(msf.kit.mit)) {
return false;
}
if (!isSpecCompliantNonRootNodes(msf.seslax)) {
return false;
}
return true;
}
exports.isSpecCompliantMSFType = isSpecCompliantMSFType;
//# sourceMappingURL=compliant.js.map