UNPKG

@zodiac-ui/ng-observable

Version:

Create powerful reactive components with Angular. AoT compatible and Ivy ready.

34 lines 2.46 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @template T * @param {?} prototype * @param {?} key * @param {?} mapper * @return {?} */ export function makePropertyMapper(prototype, key, mapper) { Object.defineProperty(prototype, key, { set: /** * @return {?} */ function () { /** @type {?} */ var getValue = mapper(); Object.defineProperty(this, key, { get: /** * @return {?} */ function () { return getValue(Object.create(this)); }, enumerable: true, }); }, enumerable: true, configurable: true, }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZS1wcm9wZXJ0eS1tYXBwZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Aem9kaWFjLXVpL25nLW9ic2VydmFibGUvIiwic291cmNlcyI6WyJsaWIvaW50ZXJuYWxzL21ha2UtcHJvcGVydHktbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsTUFBTSxVQUFVLGtCQUFrQixDQUM5QixTQUFjLEVBQ2QsR0FBVyxFQUNYLE1BQStCO0lBRS9CLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtRQUNsQyxHQUFHOzs7OztnQkFDTyxRQUFRLEdBQUcsTUFBTSxFQUFFO1lBRXpCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDN0IsR0FBRzs7OztvQkFDQyxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7Z0JBQ3hDLENBQUM7Z0JBQ0QsVUFBVSxFQUFFLElBQUk7YUFDbkIsQ0FBQyxDQUFBO1FBQ04sQ0FBQztRQUNELFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFlBQVksRUFBRSxJQUFJO0tBQ3JCLENBQUMsQ0FBQTtBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gbWFrZVByb3BlcnR5TWFwcGVyPFQ+KFxyXG4gICAgcHJvdG90eXBlOiBhbnksXHJcbiAgICBrZXk6IHN0cmluZyxcclxuICAgIG1hcHBlcjogKCkgPT4gKHN0YXRlOiBhbnkpID0+IFQsXHJcbikge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvdHlwZSwga2V5LCB7XHJcbiAgICAgICAgc2V0KCkge1xyXG4gICAgICAgICAgICBjb25zdCBnZXRWYWx1ZSA9IG1hcHBlcigpXHJcblxyXG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywga2V5LCB7XHJcbiAgICAgICAgICAgICAgICBnZXQoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldFZhbHVlKE9iamVjdC5jcmVhdGUodGhpcykpXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxyXG4gICAgfSlcclxufVxyXG4iXX0=