UNPKG

multitude

Version:

Comprehensive streams for push and pull

28 lines (23 loc) 2.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Accessor = void 0; class Accessor { static define(obj, key, value) { Object.defineProperty(obj, key, { enumerable: false, writable: true, value }); } static fallback(obj, key, fn) { const response = obj[key]; if (response !== undefined) return response; const value = fn(); this.define(obj, key, value); return value; } } exports.Accessor = Accessor; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXJzL0FjY2Vzc29yLnRzIl0sIm5hbWVzIjpbIkFjY2Vzc29yIiwiZGVmaW5lIiwib2JqIiwia2V5IiwidmFsdWUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImZhbGxiYWNrIiwiZm4iLCJyZXNwb25zZSIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVPLE1BQU1BLFFBQU4sQ0FBZTtBQUNBLFNBQU5DLE1BQU0sQ0FDbEJDLEdBRGtCLEVBRWxCQyxHQUZrQixFQUdsQkMsS0FIa0IsRUFJWjtBQUNOQyxJQUFBQSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JKLEdBQXRCLEVBQTJCQyxHQUEzQixFQUFnQztBQUM5QkksTUFBQUEsVUFBVSxFQUFFLEtBRGtCO0FBRTlCQyxNQUFBQSxRQUFRLEVBQUUsSUFGb0I7QUFHOUJKLE1BQUFBO0FBSDhCLEtBQWhDO0FBS0Q7O0FBQ3FCLFNBQVJLLFFBQVEsQ0FDcEJQLEdBRG9CLEVBRXBCQyxHQUZvQixFQUdwQk8sRUFIb0IsRUFJakI7QUFDSCxVQUFNQyxRQUFRLEdBQUlULEdBQUQsQ0FBYUMsR0FBYixDQUFqQjtBQUNBLFFBQUlRLFFBQVEsS0FBS0MsU0FBakIsRUFBNEIsT0FBT0QsUUFBUDtBQUU1QixVQUFNUCxLQUFLLEdBQUdNLEVBQUUsRUFBaEI7QUFDQSxTQUFLVCxNQUFMLENBQVlDLEdBQVosRUFBaUJDLEdBQWpCLEVBQXNCQyxLQUF0QjtBQUNBLFdBQU9BLEtBQVA7QUFDRDs7QUF2Qm1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSwgTnVsbGFyeUZuIH0gZnJvbSAndHlwZS1jb3JlJztcblxuZXhwb3J0IGNsYXNzIEFjY2Vzc29yIHtcbiAgcHVibGljIHN0YXRpYyBkZWZpbmU8VD4oXG4gICAgb2JqOiBEaWN0aW9uYXJ5LFxuICAgIGtleTogc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sLFxuICAgIHZhbHVlOiBUXG4gICk6IHZvaWQge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlXG4gICAgfSk7XG4gIH1cbiAgcHVibGljIHN0YXRpYyBmYWxsYmFjazxUPihcbiAgICBvYmo6IERpY3Rpb25hcnksXG4gICAga2V5OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2wsXG4gICAgZm46IE51bGxhcnlGbjxUPlxuICApOiBUIHtcbiAgICBjb25zdCByZXNwb25zZSA9IChvYmogYXMgYW55KVtrZXldO1xuICAgIGlmIChyZXNwb25zZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gcmVzcG9uc2U7XG5cbiAgICBjb25zdCB2YWx1ZSA9IGZuKCk7XG4gICAgdGhpcy5kZWZpbmUob2JqLCBrZXksIHZhbHVlKTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cbiJdfQ==