twing
Version:
First-class Twig engine for Node.js
65 lines (64 loc) • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createSynchronousArrayLoader = exports.createArrayLoader = void 0;
const source_1 = require("../source");
const createArrayLoader = (templates) => {
const loader = {
setTemplate: (name, template) => {
templates[name] = template;
},
getSource: (name, from) => {
return loader.exists(name, from)
.then((exists) => {
if (!exists) {
return null;
}
return (0, source_1.createSource)(name, templates[name]);
});
},
exists(name) {
return Promise.resolve(templates[name] !== undefined);
},
resolve: (name, from) => {
return loader.exists(name, from)
.then((exists) => {
if (!exists) {
return null;
}
return name;
});
},
isFresh: () => {
return Promise.resolve(true);
}
};
return loader;
};
exports.createArrayLoader = createArrayLoader;
const createSynchronousArrayLoader = (templates) => {
const loader = {
setTemplate: (name, template) => {
templates[name] = template;
},
getSource: (name, from) => {
if (loader.exists(name, from)) {
return (0, source_1.createSource)(name, templates[name]);
}
return null;
},
exists(name) {
return templates[name] !== undefined;
},
resolve: (name, from) => {
if (loader.exists(name, from)) {
return name;
}
return null;
},
isFresh: () => {
return true;
}
};
return loader;
};
exports.createSynchronousArrayLoader = createSynchronousArrayLoader;