RAHHH
This commit is contained in:
26
backend/frontend/node_modules/tcomb/lib/decompose.js
generated
vendored
Normal file
26
backend/frontend/node_modules/tcomb/lib/decompose.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
var isType = require('./isType');
|
||||
|
||||
function isRefinement(type) {
|
||||
return isType(type) && type.meta.kind === 'subtype';
|
||||
}
|
||||
|
||||
function getPredicates(type) {
|
||||
return isRefinement(type) ?
|
||||
[type.meta.predicate].concat(getPredicates(type.meta.type)) :
|
||||
[];
|
||||
}
|
||||
|
||||
function getUnrefinedType(type) {
|
||||
return isRefinement(type) ?
|
||||
getUnrefinedType(type.meta.type) :
|
||||
type;
|
||||
}
|
||||
|
||||
function decompose(type) {
|
||||
return {
|
||||
predicates: getPredicates(type),
|
||||
unrefinedType: getUnrefinedType(type)
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = decompose;
|
||||
Reference in New Issue
Block a user