node-web-mvc
Version:
node spring mvc
35 lines (34 loc) • 1.21 kB
JavaScript
;
/**
* @module ResourceTransformerChain
*/
Object.defineProperty(exports, "__esModule", { value: true });
class DefaultResourceTransformerChain {
get invokeable() {
return this.tramformer != null && this.nextChain != null;
}
constructor(resolveChain, transformers, nextChain) {
if (transformers instanceof Array) {
let chain = new DefaultResourceTransformerChain(null, null);
const elements = (transformers || []);
elements.forEach((tramformer) => {
chain = new DefaultResourceTransformerChain(resolveChain, tramformer, chain);
});
this.tramformer = chain.tramformer;
this.resolveCahin = chain.resolveCahin;
this.nextChain = chain.nextChain;
}
else {
this.resolveCahin = resolveChain;
this.tramformer = transformers;
this.nextChain = nextChain;
}
}
async transform(request, resource) {
if (!this.invokeable) {
return resource;
}
return await this.tramformer.transform(request, resource, this.nextChain);
}
}
exports.default = DefaultResourceTransformerChain;