UNPKG

typed-patterns

Version:
27 lines 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const util_1 = require("../../util"); /** * Creates synchronous processor based on chain-of-responsibility * @param processors Chain of single-responsible processors */ function buildSyncProcessor(processors) { return function (context) { for (const operator of processors) { try { return operator(context); } catch (e) { if (e instanceof util_1.Unexpected) { continue; } else { throw e; } } } throw new util_1.Unexpected('Unexpected context'); }; } exports.buildSyncProcessor = buildSyncProcessor; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuc3luYy5wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zb3VyY2UvYmVoYXZpb3JhbC9jaGFpbi1vZi1yZXNwb25zaWJpbGl0eS9idWlsZC5zeW5jLnByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFDQUF1RDtBQUV2RDs7O0dBR0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FDaEMsVUFBc0Q7SUFFdEQsT0FBTyxVQUFTLE9BQU87UUFDckIsS0FBSyxNQUFNLFFBQVEsSUFBSSxVQUFVLEVBQUU7WUFDakMsSUFBSTtnQkFDRixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMxQjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLElBQUksQ0FBQyxZQUFZLGlCQUFVLEVBQUU7b0JBQzNCLFNBQVM7aUJBQ1Y7cUJBQU07b0JBQ0wsTUFBTSxDQUFDLENBQUM7aUJBQ1Q7YUFDRjtTQUNGO1FBQ0QsTUFBTSxJQUFJLGlCQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM3QyxDQUFDLENBQUM7QUFDSixDQUFDO0FBakJELGdEQWlCQyJ9