UNPKG

lasso

Version:

Lasso.js is a build tool and runtime library for building and bundling all of the resources needed by a web application

36 lines (29 loc) 987 B
exports.ifCondition = function(condition) { // This is a hack because we moved from "flags" to "extensions" // We create a function that introduces two scoped variables: flags, extensions const conditionFunc = eval('(function(flags, extensions) { return ' + condition + ';})'); return function(flags) { return conditionFunc(flags, flags); }; }; exports.ifFlag = function(flag) { return function(flags) { return flags.contains(flag); }; }; exports.ifNotFlag = function(flag) { return function(flags) { return !flags.contains(flag); }; }; exports.fromObject = function(o) { let condition; if ((condition = o.if)) { return exports.ifCondition(condition); } else if ((condition = o['if-flag'] || o['if-extension'])) { return exports.ifFlag(condition); } else if ((condition = o['if-not-flag'] || o['if-not-extension'])) { return exports.ifNotFlag(condition); } return null; };