@minofrk/msf-io-ts
Version:
Type utilities with io-ts for MSF format.
26 lines • 793 B
JavaScript
import { MSFType } from './codec';
import { isSpecCompliantState } from '../state/compliant';
function isSpecCompliantNonRootNodes(seslax) {
return seslax.every(function (x) {
return isSpecCompliantState(x.slax) && isSpecCompliantVariations(x.mit);
});
}
function isSpecCompliantVariations(mit) {
return mit.every(function (x) { return isSpecCompliantNonRootNodes(x.seslax); });
}
export function isSpecCompliantMSFType(msf) {
if (!MSFType.is(msf)) {
return false;
}
if (!isSpecCompliantState(msf.kit.slax)) {
return false;
}
if (!isSpecCompliantVariations(msf.kit.mit)) {
return false;
}
if (!isSpecCompliantNonRootNodes(msf.seslax)) {
return false;
}
return true;
}
//# sourceMappingURL=compliant.js.map