UNPKG

fuse-box

Version:

Fuse-Box a bundler that does it right

28 lines (25 loc) 1.07 kB
import { each } from "realm-utils"; import { FileAbstraction } from "../../core/FileAbstraction"; import { QuantumCore } from "../QuantumCore"; import { ReplaceableBlock } from "../../core/nodes/ReplaceableBlock"; export class EnvironmentConditionModification { public static perform(core: QuantumCore, file: FileAbstraction) { // FuseBox.isServer return each(file.fuseboxIsEnvConditions, (replacable: ReplaceableBlock) => { if (core.opts.isTargetUniveral()) { if (replacable.identifier === "isServer") { replacable.setFunctionName(`${core.opts.quantumVariableName}.cs`); } if (replacable.identifier === "isBrowser") { replacable.setFunctionName(`${core.opts.quantumVariableName}.cb`); } } else { if (replacable.isConditional) { replacable.handleActiveCode(); } else { replacable.replaceWithValue(); } } }); } }