twing
Version:
First-class Twig engine for Node.js
50 lines (49 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getValues = exports.getEntries = exports.createContext = void 0;
const createContext = (container = new Map()) => {
const context = {
get size() {
return container.size;
},
[Symbol.iterator]: () => {
return container[Symbol.iterator]();
},
clone: () => {
const clonedContainer = new Map();
for (const [key, value] of container) {
clonedContainer.set(key, value);
}
return (0, exports.createContext)(clonedContainer);
},
delete: (key) => {
return container.delete(key);
},
entries: () => {
return container.entries();
},
get: (key) => {
return container.get(key);
},
has: (key) => {
return container.has(key);
},
set: (key, value) => {
container.set(key, value);
return context;
},
values: () => {
return container.values();
}
};
return context;
};
exports.createContext = createContext;
const getEntries = (context) => {
return Object.entries(context)[Symbol.iterator]();
};
exports.getEntries = getEntries;
const getValues = (context) => {
return Object.values(context);
};
exports.getValues = getValues;