UNPKG

node-web-mvc

Version:
35 lines (34 loc) 1.21 kB
"use strict"; /** * @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;