UNPKG

@selfage/observable

Version:

Runtime lib for generated observables.

37 lines 4.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.copyObservable = exports.OBSERVABLE_COPIER = exports.copyField = exports.popArrayUntilTargetLength = exports.nullifyArray = exports.checkArrayNonNull = exports.nullifyOutput = exports.checkSourceNonNull = void 0; const copier_1 = require("@selfage/message/copier"); const assembler_1 = require("./assembler"); function checkSourceNonNull(source) { return Boolean(source); } exports.checkSourceNonNull = checkSourceNonNull; function nullifyOutput() { return undefined; } exports.nullifyOutput = nullifyOutput; function checkArrayNonNull(sourceField) { return Boolean(sourceField); } exports.checkArrayNonNull = checkArrayNonNull; function nullifyArray(ret, fieldName) { ret[fieldName] = undefined; } exports.nullifyArray = nullifyArray; function popArrayUntilTargetLength(retArrayField, targetLength) { for (let i = retArrayField.length; i > targetLength; i--) { retArrayField.pop(); } } exports.popArrayUntilTargetLength = popArrayUntilTargetLength; function copyField(sourceField) { return sourceField; } exports.copyField = copyField; exports.OBSERVABLE_COPIER = new assembler_1.ObservableAssembler(checkSourceNonNull, nullifyOutput, checkArrayNonNull, nullifyArray, popArrayUntilTargetLength, copyField, copyField, copier_1.copyMessage); function copyObservable(from, descriptor, to) { return exports.OBSERVABLE_COPIER.processObservableType(from, descriptor, to); } exports.copyObservable = copyObservable; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29waWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUFzRDtBQUV0RCwyQ0FBa0Q7QUFFbEQsU0FBZ0Isa0JBQWtCLENBQUMsTUFBVztJQUM1QyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRkQsZ0RBRUM7QUFFRCxTQUFnQixhQUFhO0lBQzNCLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFGRCxzQ0FFQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLFdBQWdCO0lBQ2hELE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzlCLENBQUM7QUFGRCw4Q0FFQztBQUVELFNBQWdCLFlBQVksQ0FBQyxHQUFRLEVBQUUsU0FBaUI7SUFDdEQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUM3QixDQUFDO0FBRkQsb0NBRUM7QUFFRCxTQUFnQix5QkFBeUIsQ0FDdkMsYUFBa0IsRUFDbEIsWUFBb0I7SUFFcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxZQUFZLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDeEQsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO0tBQ3JCO0FBQ0gsQ0FBQztBQVBELDhEQU9DO0FBRUQsU0FBZ0IsU0FBUyxDQUFDLFdBQWdCO0lBQ3hDLE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFGRCw4QkFFQztBQUVVLFFBQUEsaUJBQWlCLEdBQUcsSUFBSSwrQkFBbUIsQ0FDcEQsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLHlCQUF5QixFQUN6QixTQUFTLEVBQ1QsU0FBUyxFQUNULG9CQUFXLENBQ1osQ0FBQztBQUVGLFNBQWdCLGNBQWMsQ0FDNUIsSUFBTyxFQUNQLFVBQW1DLEVBQ25DLEVBQU07SUFFTixPQUFPLHlCQUFpQixDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQU5ELHdDQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29weU1lc3NhZ2UgfSBmcm9tIFwiQHNlbGZhZ2UvbWVzc2FnZS9jb3BpZXJcIjtcbmltcG9ydCB7IE9ic2VydmFibGVEZXNjcmlwdG9yIH0gZnJvbSBcIi4vZGVzY3JpcHRvclwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUFzc2VtYmxlciB9IGZyb20gXCIuL2Fzc2VtYmxlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tTb3VyY2VOb25OdWxsKHNvdXJjZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKHNvdXJjZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBudWxsaWZ5T3V0cHV0KCk6IGFueSB7XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0FycmF5Tm9uTnVsbChzb3VyY2VGaWVsZDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuKHNvdXJjZUZpZWxkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG51bGxpZnlBcnJheShyZXQ6IGFueSwgZmllbGROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgcmV0W2ZpZWxkTmFtZV0gPSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwb3BBcnJheVVudGlsVGFyZ2V0TGVuZ3RoKFxuICByZXRBcnJheUZpZWxkOiBhbnksXG4gIHRhcmdldExlbmd0aDogbnVtYmVyXG4pOiB2b2lkIHtcbiAgZm9yIChsZXQgaSA9IHJldEFycmF5RmllbGQubGVuZ3RoOyBpID4gdGFyZ2V0TGVuZ3RoOyBpLS0pIHtcbiAgICByZXRBcnJheUZpZWxkLnBvcCgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3B5RmllbGQoc291cmNlRmllbGQ6IGFueSk6IGFueSB7XG4gIHJldHVybiBzb3VyY2VGaWVsZDtcbn1cblxuZXhwb3J0IGxldCBPQlNFUlZBQkxFX0NPUElFUiA9IG5ldyBPYnNlcnZhYmxlQXNzZW1ibGVyKFxuICBjaGVja1NvdXJjZU5vbk51bGwsXG4gIG51bGxpZnlPdXRwdXQsXG4gIGNoZWNrQXJyYXlOb25OdWxsLFxuICBudWxsaWZ5QXJyYXksXG4gIHBvcEFycmF5VW50aWxUYXJnZXRMZW5ndGgsXG4gIGNvcHlGaWVsZCxcbiAgY29weUZpZWxkLFxuICBjb3B5TWVzc2FnZVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvcHlPYnNlcnZhYmxlPFQ+KFxuICBmcm9tOiBULFxuICBkZXNjcmlwdG9yOiBPYnNlcnZhYmxlRGVzY3JpcHRvcjxUPixcbiAgdG8/OiBUXG4pOiBUIHtcbiAgcmV0dXJuIE9CU0VSVkFCTEVfQ09QSUVSLnByb2Nlc3NPYnNlcnZhYmxlVHlwZShmcm9tLCBkZXNjcmlwdG9yLCB0byk7XG59XG4iXX0=