UNPKG

@angular-package/property

Version:
39 lines 9.34 kB
var _a, _Descriptor_detectObject; import { __classPrivateFieldGet } from "tslib"; import { AccessorDescriptors } from './accessor-descriptors.class'; import { DataDescriptors } from './data-descriptors.class'; export class Descriptor { static defineAccessor(descriptor, callback) { return AccessorDescriptors.define(descriptor, callback); } static defineData(descriptor, callback) { return DataDescriptors.define(descriptor, callback); } static get(object, name) { return (Object.getOwnPropertyDescriptor(object, name) || Object.getOwnPropertyDescriptor(__classPrivateFieldGet(this, _a, "m", _Descriptor_detectObject).call(this, object), name)); } static getAll(object) { return { ...Object.getOwnPropertyDescriptors(object), ...Object.getOwnPropertyDescriptors(__classPrivateFieldGet(this, _a, "m", _Descriptor_detectObject).call(this, object)), }; } static pick(object, ...names) { const pickedDescriptors = {}; const descriptors = this.getAll(object); typeof descriptors === 'object' && Object.keys(descriptors) .filter(key => names.includes(key)) .forEach(key => Object.assign(pickedDescriptors, { [key]: descriptors[key], })); return pickedDescriptors; } } _a = Descriptor, _Descriptor_detectObject = function _Descriptor_detectObject(object) { return typeof object === 'object' ? object['__proto__'] : object.prototype; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3Byb3BlcnR5L3NyYy9kZXNjcmlwdG9yL2xpYi9kZXNjcmlwdG9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYTNELE1BQU0sT0FBTyxVQUFVO0lBV3JCLE1BQU0sQ0FBQyxjQUFjLENBQ25CLFVBQThDLEVBQzlDLFFBQXlCO1FBRXpCLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBVUQsTUFBTSxDQUFDLFVBQVUsQ0FDZixVQUFpQyxFQUNqQyxRQUF5QjtRQUV6QixPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFTTSxNQUFNLENBQUMsR0FBRyxDQUNmLE1BQVcsRUFDWCxJQUFVO1FBRVYsT0FBTyxDQUNMLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQzdDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBQSxJQUFJLG9DQUFjLE1BQWxCLElBQUksRUFBZSxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FDbEUsQ0FBQztJQUNKLENBQUM7SUFRTSxNQUFNLENBQUMsTUFBTSxDQUNsQixNQUFXO1FBRVgsT0FBTztZQUNMLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQztZQUMzQyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyx1QkFBQSxJQUFJLG9DQUFjLE1BQWxCLElBQUksRUFBZSxNQUFNLENBQUMsQ0FBQztTQUNoRSxDQUFDO0lBQ0osQ0FBQztJQVNNLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE1BQVcsRUFDWCxHQUFHLEtBQWM7UUFHakIsTUFBTSxpQkFBaUIsR0FHbkIsRUFBUyxDQUFDO1FBR2QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUd4QyxPQUFPLFdBQVcsS0FBSyxRQUFRO1lBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2lCQUNyQixNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQVUsQ0FBQyxDQUFDO2lCQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDYixNQUFNLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFO2dCQUMvQixDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUM7YUFDeEIsQ0FBQyxDQUNILENBQUM7UUFDTixPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7Q0FhRjs4RUFMc0IsTUFBVztJQUM5QixPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVE7UUFDL0IsQ0FBQyxDQUFFLE1BQWMsQ0FBQyxXQUFXLENBQUM7UUFDOUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENsYXNzLlxuaW1wb3J0IHsgQWNjZXNzb3JEZXNjcmlwdG9ycyB9IGZyb20gJy4vYWNjZXNzb3ItZGVzY3JpcHRvcnMuY2xhc3MnO1xuaW1wb3J0IHsgRGF0YURlc2NyaXB0b3JzIH0gZnJvbSAnLi9kYXRhLWRlc2NyaXB0b3JzLmNsYXNzJztcblxuLy8gSW50ZXJmYWNlLlxuaW1wb3J0IHsgRGF0YURlc2NyaXB0b3IgfSBmcm9tICcuLi9pbnRlcmZhY2UnO1xuXG4vLyBUeXBlLlxuaW1wb3J0IHsgVGhpc0FjY2Vzc29yRGVzY3JpcHRvciB9IGZyb20gJy4uL3R5cGUnO1xuaW1wb3J0IHsgT2JqZWN0UHJvcGVydHlEZXNjcmlwdG9ycyB9IGZyb20gJy4uL3R5cGUvb2JqZWN0LXByb3BlcnR5LWRlc2NyaXB0b3JzLnR5cGUnO1xuaW1wb3J0IHsgUmVzdWx0Q2FsbGJhY2sgfSBmcm9tICcuLi90eXBlL3Jlc3VsdC1jYWxsYmFjay50eXBlJztcblxuLyoqXG4gKlxuICovXG5leHBvcnQgY2xhc3MgRGVzY3JpcHRvciB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIGRlZmluZWQgYWNjZXNzb3IgZGVzY3JpcHRvciBvZiBhIGBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+YCB0eXBlLCBvbiBgZ2V0YCBvciBgc2V0YCBwcm9wZXJ0eSBkZXRlY3RlZC5cbiAgICogQHBhcmFtIGRlc2NyaXB0b3IgQW4gYG9iamVjdGAgb2YgYSBgVGhpc0FjY2Vzc29yRGVzY3JpcHRvcjxWYWx1ZSwgT2JqPmAgdHlwZSwgdG8gZGVmaW5lIHdpdGggdGhlIGRlZmF1bHQgdmFsdWVzIG9mIHRoZVxuICAgKiBgQ29tbW9uRGVzY3JpcHRvcmAuXG4gICAqIEBwYXJhbSBjYWxsYmFjayBBbiBvcHRpb25hbCBgUmVzdWx0Q2FsbGJhY2tgIGZ1bmN0aW9uIHRvIGhhbmRsZSB0aGUgcmVzdWx0IG9mIHRoZSBjaGVjayB3aGV0aGVyIG9yIG5vdCB0aGUgYGRlc2NyaXB0b3JgIGlzIGFuXG4gICAqIGBvYmplY3RgIHdpdGggYGdldGAgb3IgYHNldGAgcHJvcGVydHksIGJ5IGRlZmF1bHQgaXQgdXNlcyAgYGFjY2Vzc29yQ2FsbGJhY2soKWAgZnVuY3Rpb24gZnJvbSB0aGUgYGd1YXJkYC5cbiAgICogQHRocm93cyBUaHJvd3MgYW4gYEVycm9yYCBpZiB0aGUgYGRlc2NyaXB0b3JgIGlzIG5vdCBhbiBgb2JqZWN0YCBvZiBhIGBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+YCB0eXBlLFxuICAgKiB3aGljaCBtZWFucyBpdCBkb2Vzbid0IGNvbnRhaW4gYGdldGAgb3IgYHNldGAgcHJvcGVydHkuXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgaXMgYW4gYG9iamVjdGAgb2YgYSBgVGhpc0FjY2Vzc29yRGVzY3JpcHRvcjxWYWx1ZSwgT2JqPmAgdHlwZS5cbiAgICovXG4gIHN0YXRpYyBkZWZpbmVBY2Nlc3NvcjxWYWx1ZSwgT2JqIGV4dGVuZHMgb2JqZWN0PihcbiAgICBkZXNjcmlwdG9yOiBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+LFxuICAgIGNhbGxiYWNrPzogUmVzdWx0Q2FsbGJhY2tcbiAgKTogVGhpc0FjY2Vzc29yRGVzY3JpcHRvcjxWYWx1ZSwgT2JqPiB7XG4gICAgcmV0dXJuIEFjY2Vzc29yRGVzY3JpcHRvcnMuZGVmaW5lKGRlc2NyaXB0b3IsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGRlZmluZWQgZGF0YSBkZXNjcmlwdG9yIG9mIGEgYERhdGFEZXNjcmlwdG9yPFZhbHVlPmAgaW50ZXJmYWNlLCBvbiBgd3JpdGFibGVgIG9yIGB2YWx1ZWAgcHJvcGVydHkgZGV0ZWN0ZWQuXG4gICAqIEBwYXJhbSBkZXNjcmlwdG9yIEFuIGBvYmplY3RgIG9mIGEgYERhdGFEZXNjcmlwdG9yPFZhbHVlPmAgaW50ZXJmYWNlLCB0byBzZXQgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZXMgb2YgdGhlXG4gICAqIGBDb21tb25EZXNjcmlwdG9yYC5cbiAgICogQHBhcmFtIGNhbGxiYWNrIEFuIG9wdGlvbmFsIGBSZXN1bHRDYWxsYmFja2AgZnVuY3Rpb24gdG8gaGFuZGxlIHRoZSByZXN1bHQgb2YgdGhlIGNoZWNrIHdoZXRoZXIgb3Igbm90IHRoZSBgZGVzY3JpcHRvcmAgaXMgYW4gYG9iamVjdGBcbiAgICogd2l0aCB0aGUgYHdyaXRhYmxlYCBvciBgdmFsdWVgIHByb3BlcnR5LCBieSBkZWZhdWx0IGl0IHVzZXMgYGRhdGFDYWxsYmFjaygpYCBmdW5jdGlvbiBmcm9tIHRoZSBzdGF0aWMgYERhdGFEZXNjcmlwdG9ycy5ndWFyZCgpYCBtZXRob2QuXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgaXMgYW4gYG9iamVjdGAgb2YgYSBgRGF0YURlc2NyaXB0b3I8VmFsdWU+YCBpbnRlcmZhY2UuXG4gICAqL1xuICBzdGF0aWMgZGVmaW5lRGF0YTxWYWx1ZT4oXG4gICAgZGVzY3JpcHRvcjogRGF0YURlc2NyaXB0b3I8VmFsdWU+LFxuICAgIGNhbGxiYWNrPzogUmVzdWx0Q2FsbGJhY2tcbiAgKTogRGF0YURlc2NyaXB0b3I8VmFsdWU+IHtcbiAgICByZXR1cm4gRGF0YURlc2NyaXB0b3JzLmRlZmluZShkZXNjcmlwdG9yLCBjYWxsYmFjayk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIG9iamVjdFxuICAgKiBAcGFyYW0gbmFtZVxuICAgKiBAcmV0dXJuc1xuICAgKiBAYW5ndWxhcnBhY2thZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0PE9iaiwgTmFtZSBleHRlbmRzIGtleW9mIE9iaj4oXG4gICAgb2JqZWN0OiBPYmosXG4gICAgbmFtZTogTmFtZVxuICApOiBQcm9wZXJ0eURlc2NyaXB0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgbmFtZSkgfHxcbiAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGhpcy4jZGV0ZWN0T2JqZWN0KG9iamVjdCksIG5hbWUpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gb2JqZWN0XG4gICAqIEByZXR1cm5zXG4gICAqIEBhbmd1bGFycGFja2FnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRBbGw8T2JqIGV4dGVuZHMgb2JqZWN0IHwgRnVuY3Rpb24+KFxuICAgIG9iamVjdDogT2JqXG4gICk6IE9iamVjdFByb3BlcnR5RGVzY3JpcHRvcnM8T2JqPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG9iamVjdCksXG4gICAgICAuLi5PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0aGlzLiNkZXRlY3RPYmplY3Qob2JqZWN0KSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gb2JqZWN0XG4gICAqIEBwYXJhbSBuYW1lc1xuICAgKiBAcmV0dXJuc1xuICAgKiBAYW5ndWxhcnBhY2thZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcGljazxPYmogZXh0ZW5kcyBvYmplY3QgfCBGdW5jdGlvbiwgTmFtZXMgZXh0ZW5kcyBrZXlvZiBPYmo+KFxuICAgIG9iamVjdDogT2JqLFxuICAgIC4uLm5hbWVzOiBOYW1lc1tdXG4gICk6IFBpY2s8T2JqZWN0UHJvcGVydHlEZXNjcmlwdG9yczxPYmo+LCBOYW1lcz4ge1xuICAgIC8vIFByZXBhcmUgY29uc3RhbnQgdG8gYXNzaWduIGRlc2NyaXB0b3JzIG9mIHBpY2tlZCBrZXlzLlxuICAgIGNvbnN0IHBpY2tlZERlc2NyaXB0b3JzOiBQaWNrPFxuICAgICAgT2JqZWN0UHJvcGVydHlEZXNjcmlwdG9yczxPYmo+LFxuICAgICAgTmFtZXNcbiAgICA+ID0ge30gYXMgYW55O1xuXG4gICAgLy8gR2V0IGFsbCBkZXNjcmlwdG9ycy5cbiAgICBjb25zdCBkZXNjcmlwdG9ycyA9IHRoaXMuZ2V0QWxsKG9iamVjdCk7XG5cbiAgICAvLyBJZiBkZXNjcmlwdG9ycyBleGlzdHMgdGhlbiBzZXQgcGlja2VkIGRlc2NyaXB0b3IgaW50byB0aGUgbWFwIHN0b3JhZ2UuXG4gICAgdHlwZW9mIGRlc2NyaXB0b3JzID09PSAnb2JqZWN0JyAmJlxuICAgICAgT2JqZWN0LmtleXMoZGVzY3JpcHRvcnMpXG4gICAgICAgIC5maWx0ZXIoa2V5ID0+IG5hbWVzLmluY2x1ZGVzKGtleSBhcyBhbnkpKVxuICAgICAgICAuZm9yRWFjaChrZXkgPT5cbiAgICAgICAgICBPYmplY3QuYXNzaWduKHBpY2tlZERlc2NyaXB0b3JzLCB7XG4gICAgICAgICAgICBba2V5XTogZGVzY3JpcHRvcnNba2V5XSxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIHJldHVybiBwaWNrZWREZXNjcmlwdG9ycztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgX19wcm90b19fYCBvciBgcHJvdG90eXBlYCBvZiB0aGUgZ2l2ZW4gYG9iamVjdGAgZGVwZW5kaW5nIG9uIHRoZSBkZXRlY3RlZCB0eXBlLlxuICAgKiBAcGFyYW0gb2JqZWN0XG4gICAqIEByZXR1cm5zXG4gICAqIEBhbmd1bGFycGFja2FnZVxuICAgKi9cbiAgc3RhdGljICNkZXRlY3RPYmplY3Qob2JqZWN0OiBhbnkpOiBvYmplY3Qge1xuICAgIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0J1xuICAgICAgPyAob2JqZWN0IGFzIGFueSlbJ19fcHJvdG9fXyddXG4gICAgICA6IG9iamVjdC5wcm90b3R5cGU7XG4gIH1cbn1cbiJdfQ==