This commit is contained in:
nicco
2018-02-07 11:46:19 +01:00
parent d5850aca68
commit ec9590ba12
6 changed files with 372 additions and 0 deletions

26
dist/parser.js vendored Normal file
View File

@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const options_1 = require("./options");
function computeParts(parts, data = {}) {
if (parts.length === 0)
return '';
return computePart(parts[0], data) + computeParts(parts.slice(1), data);
}
exports.computeParts = computeParts;
function computePart(part, data = {}) {
if (options_1.isRender(part))
return part;
else
return computePartFunction(part, data);
}
function computePartFunction(func, data = {}) {
if (options_1.isRender(func))
return func;
else {
const ret = func(data);
if (options_1.isRender(ret))
return ret;
else
return computeParts(ret, data);
}
}