UNPKG

@angular-package/property

Version:
42 lines 11 kB
var _AccessorDescriptors_descriptor; import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib"; import { Property } from '../../lib'; import { callbacks } from '../../callback/src/callback.object'; export class AccessorDescriptors { constructor(descriptor, callback) { _AccessorDescriptors_descriptor.set(this, { configurable: true, enumerable: true, }); descriptor && this.set(descriptor, callback); } static define(descriptor, callback = callbacks['accessor']) { const result = { ...{ configurable: true, enumerable: true, }, ...Property.pick(descriptor, 'configurable', 'enumerable', 'get', 'set') }; callback && callback(typeof result === 'object', result); return result; } get get() { return __classPrivateFieldGet(this, _AccessorDescriptors_descriptor, "f"); } static guard(descriptor, callback = callbacks['accessor']) { let result = true; Object .keys(descriptor) .forEach(key => (result === true) && (result = key in { 'configurable': true, 'enumerable': true, 'get': true, 'set': true })); return callback(result, descriptor); } set(descriptor, callback) { __classPrivateFieldSet(this, _AccessorDescriptors_descriptor, AccessorDescriptors.define(descriptor, callback), "f"); return this; } } _AccessorDescriptors_descriptor = new WeakMap(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzb3ItZGVzY3JpcHRvcnMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcm9wZXJ0eS9zcmMvZGVzY3JpcHRvci9saWIvYWNjZXNzb3ItZGVzY3JpcHRvcnMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3JDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQW1CL0QsTUFBTSxPQUFPLG1CQUFtQjtJQTJDOUIsWUFDRSxVQUErQyxFQUMvQyxRQUF5QjtRQVgzQiwwQ0FBa0Q7WUFDaEQsWUFBWSxFQUFFLElBQUk7WUFDbEIsVUFBVSxFQUFFLElBQUk7U0FDakIsRUFBQztRQVVBLFVBQVUsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBckNNLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLFVBQThDLEVBQzlDLFdBQTJCLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFFaEQsTUFBTSxNQUFNLEdBQUc7WUFDYixHQUFHO2dCQUNELFlBQVksRUFBRSxJQUFJO2dCQUNsQixVQUFVLEVBQUUsSUFBSTthQUNqQjtZQUNELEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1NBQ3pFLENBQUM7UUFDRixRQUFRLElBQUksUUFBUSxDQUFDLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBS0QsSUFBSSxHQUFHO1FBQ0wsT0FBTyx1QkFBQSxJQUFJLHVDQUFZLENBQUM7SUFDMUIsQ0FBQztJQTRCRCxNQUFNLENBQUMsS0FBSyxDQUNWLFVBQThDLEVBQzlDLFdBQTJCLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFFaEQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE1BQU07YUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsSUFBSTtZQUNwRCxjQUFjLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSTtTQUNuRSxDQUFDLENBQUMsQ0FBQztRQUNOLE9BQU8sUUFBUSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBWU0sR0FBRyxDQUNSLFVBQThDLEVBQzlDLFFBQXlCO1FBRXpCLHVCQUFBLElBQUksbUNBQWUsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsTUFBQSxDQUFDO1FBQ3BFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ2xhc3MuXG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4uLy4uL2xpYic7XG5cbi8vIENhbGxiYWNrLlxuaW1wb3J0IHsgY2FsbGJhY2tzIH0gZnJvbSAnLi4vLi4vY2FsbGJhY2svc3JjL2NhbGxiYWNrLm9iamVjdCc7XG5cbi8vIFR5cGUuXG5pbXBvcnQgeyBSZXN1bHRDYWxsYmFjayB9IGZyb20gJy4uL3R5cGUvcmVzdWx0LWNhbGxiYWNrLnR5cGUnO1xuaW1wb3J0IHsgVGhpc0FjY2Vzc29yRGVzY3JpcHRvciB9IGZyb20gJy4uL3R5cGUvdGhpcy1hY2Nlc3Nvci1kZXNjcmlwdG9yLnR5cGUnO1xuXG4vKipcbiAqIFN0cmljdGx5IGRlZmluZXMsIHNldHMsIGFuZCBzdG9yZXMgcHJpdmF0ZWx5IHNpbmdsZSBwcm9wZXJ0eSBhY2Nlc3NvciBkZXNjcmlwdG9yIG9mIGEgYFRoaXNBY2Nlc3NvckRlc2NyaXB0b3I8VmFsdWUsIE9iaj5gIHR5cGUuXG4gKiBGZWF0dXJlczpcbiAqICsgR3VhcmRlZCBwcm9jZXNzIG9mIGRlZmluaW5nIHRoZSBvYmplY3QgZGVzY3JpcHRvciwgYnV0IHByb3BlcnRpZXMgYXJlIG5vdCBiZWluZyBjaGVja2VkIGFnYWluc3QgcHJvcGVyIHZhbHVlcy5cbiAqICsgU3RyaWN0bHkgZGVmaW5lcyBwcm9wZXJ0eSBhY2Nlc3NvciBkZXNjcmlwdG9yLlxuICogKyBTdHJpY3RseSBzZXRzLCBhbmQgc3RvcmVzIGF0IHRoZSBzYW1lIHRpbWUgc2luZ2xlIHByb3BlcnR5IGFjY2Vzc29yIGRlc2NyaXB0b3IuXG4gKiArIEFjY2Vzc29yIGRlc2NyaXB0b3IgaXMgb2YgYSBgVGhpc0FjY2Vzc29yRGVzY3JpcHRvcjxWYWx1ZSwgT2JqPmAgdHlwZTpcbiAqICAgIC0gVGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgYGdldCgpYCBmdW5jdGlvbiBpcyBvZiBhIGdlbmVyaWMgYFZhbHVlYCB0eXBlLlxuICogICAgLSBUaGUgcGFyYW1ldGVyIG9mIHRoZSBgc2V0KClgIGZ1bmN0aW9uIGlzIG9mIGEgZ2VuZXJpYyBgVmFsdWVgIHR5cGUuXG4gKiAgICAtIEtleXdvcmQgYHRoaXNgIHJlZmVycyB0byBhbiBgT2JqYCB2YXJpYWJsZSBpbiBib3RoIGBnZXQoKWAgYW5kIGBzZXQoKWAgZnVuY3Rpb25zLlxuICogTWV0aG9kcyBgc2V0KClgIGFuZCBgZGVmaW5lKClgIHBpY2tzIGBjb25maWd1cmFibGVgLCBgZW51bWVyYWJsZWAsIGBnZXRgLCBgc2V0YCBwcm9wZXJ0aWVzIGZyb20gdGhlIHByb3ZpZGVkIGRhdGEuXG4gKiBHZXQgcHJpdmF0ZWx5IHN0b3JlZCBhY2Nlc3NvciBkZXNjcmlwdG9yIGRlZmluZWQgYnkgdGhlIGBzZXQoKWAgbWV0aG9kLlxuICovXG5leHBvcnQgY2xhc3MgQWNjZXNzb3JEZXNjcmlwdG9yczxWYWx1ZSwgT2JqIGV4dGVuZHMgb2JqZWN0PiB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHN0cmljdGx5IGRlZmluZWQgYWNjZXNzb3IgZGVzY3JpcHRvciBvZiBhIGBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+YCB0eXBlIG9uIGBnZXRgIG9yIGBzZXRgIHByb3BlcnR5IGRldGVjdGVkLlxuICAgKiBAcGFyYW0gZGVzY3JpcHRvciBBbiBgb2JqZWN0YCBvZiBhIGBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+YCB0eXBlLCB0byBkZWZpbmUgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZXMgb2YgdGhlXG4gICAqIGBDb21tb25EZXNjcmlwdG9yYC5cbiAgICogQHBhcmFtIGNhbGxiYWNrIEEgYFJlc3VsdENhbGxiYWNrYCBmdW5jdGlvbiB0byBoYW5kbGUgdGhlIHJlc3VsdCBvZiB0aGUgY2hlY2sgd2hldGhlciBvciBub3QgdGhlIGBkZXNjcmlwdG9yYCBpcyBhbiBgb2JqZWN0YFxuICAgKiB3aXRoIGBnZXRgIG9yIGBzZXRgIHByb3BlcnR5LCBieSBkZWZhdWx0IGl0IHVzZXMgYGFjY2Vzc29yQ2FsbGJhY2soKWAgZnVuY3Rpb24uXG4gICAqIEB0aHJvd3MgVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBkZXNjcmlwdG9yIGlzIG5vdCBhbiBvYmplY3Qgb2YgYSBgVGhpc0FjY2Vzc29yRGVzY3JpcHRvcjxWYWx1ZSwgT2JqPmAgdHlwZSwgd2hpY2ggbWVhbnMgaXRcbiAgICogZG9lc24ndCBjb250YWluIGBnZXRgIG9yIGBzZXRgIHByb3BlcnR5LlxuICAgKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlIGlzIGFuIGBvYmplY3RgIG9mIGEgYFRoaXNBY2Nlc3NvckRlc2NyaXB0b3I8VmFsdWUsIE9iaj5gIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRlZmluZTxWYWx1ZSwgT2JqIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PihcbiAgICBkZXNjcmlwdG9yOiBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+LFxuICAgIGNhbGxiYWNrOiBSZXN1bHRDYWxsYmFjayA9IGNhbGxiYWNrc1snYWNjZXNzb3InXVxuICApOiBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+IHtcbiAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAuLi57XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICAuLi5Qcm9wZXJ0eS5waWNrKGRlc2NyaXB0b3IsICdjb25maWd1cmFibGUnLCAnZW51bWVyYWJsZScsICdnZXQnLCAnc2V0JylcbiAgICB9O1xuICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHR5cGVvZiByZXN1bHQgPT09ICdvYmplY3QnLCByZXN1bHQpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByaXZhdGVseSBzdG9yZWQgYWNjZXNzb3IgZGVzY3JpcHRvciBvZiBhIGBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+YCB0eXBlIGRlZmluZWQgYnkgdGhlIGBzZXQoKWAgbWV0aG9kLlxuICAgKi9cbiAgZ2V0IGdldCgpOiBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+IHtcbiAgICByZXR1cm4gdGhpcy4jZGVzY3JpcHRvcjtcbiAgfVxuXG4gIC8vIFNpbmdsZSBwcml2YXRlIGFjY2Vzc29yIGRlc2NyaXB0b3IuXG4gICNkZXNjcmlwdG9yOiBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+ID0ge1xuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICB9O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlLCBhbmQgb3B0aW9uYWxseSBzZXRzIGFuIGFjY2Vzc29yIGRlc2NyaXB0b3Igb2YgYSBgVGhpc0FjY2Vzc29yRGVzY3JpcHRvcjxWYWx1ZSwgT2JqPmAgdHlwZS5cbiAgICogQHBhcmFtIGRlc2NyaXB0b3IgQW4gb3B0aW9uYWwgYG9iamVjdGAgb2YgYSBgVGhpc0FjY2Vzc29yRGVzY3JpcHRvcjxWYWx1ZSwgT2JqPmAgdHlwZSB0byBpbml0aWFsbHkgc2V0IGFjY2Vzc29yIGRlc2NyaXB0b3IuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBkZXNjcmlwdG9yPzogVGhpc0FjY2Vzc29yRGVzY3JpcHRvcjxWYWx1ZSwgT2JqPixcbiAgICBjYWxsYmFjaz86IFJlc3VsdENhbGxiYWNrXG4gICkge1xuICAgIGRlc2NyaXB0b3IgJiYgdGhpcy5zZXQoZGVzY3JpcHRvciwgY2FsbGJhY2spO1xuICB9XG5cbiAgLyoqXG4gICAqIEd1YXJkcyB0aGUgYGRlc2NyaXB0b3JgIHRvIGJlIGFuIGBvYmplY3RgIG9mIGEgYFRoaXNBY2Nlc3NvckRlc2NyaXB0b3I8VmFsdWUsIE9iaj5gIHR5cGUuXG4gICAqIEBwYXJhbSBkZXNjcmlwdG9yIFRoZSBvYmplY3Qgb2YgYSBgVGhpc0FjY2Vzc29yRGVzY3JpcHRvcjxWYWx1ZSwgT2JqPmAgdHlwZSB0byBndWFyZC5cbiAgICogQHBhcmFtIGNhbGxiYWNrIEEgYFJlc3VsdENhbGxiYWNrYCBmdW5jdGlvbiB0byBoYW5kbGUgdGhlIHJlc3VsdCBvZiB0aGUgY2hlY2sgd2hldGhlciBvciBub3QgdGhlIGRlc2NyaXB0b3IgaXMgYW4gYG9iamVjdGBcbiAgICogY29udGFpbmluZyB0aGUgYGdldGAgb3IgYHNldGAgcHJvcGVydHkuXG4gICAqIEB0aHJvd3MgVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBkZXNjcmlwdG9yIGlzIG5vdCBhbiBvYmplY3Qgb2YgYSBgVGhpc0FjY2Vzc29yRGVzY3JpcHRvcjxWYWx1ZSwgT2JqPmAgdHlwZSwgd2hpY2ggbWVhbnMgaXRcbiAgICogZG9lc24ndCBjb250YWluIGBnZXRgIG9yIGBzZXRgIHByb3BlcnR5LlxuICAgKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlIGlzIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGBkZXNjcmlwdG9yYCBpcyBhbiBgb2JqZWN0YCB3aXRoIHRoZSBgZ2V0YCBvciBgc2V0YCBwcm9wZXJ0eS5cbiAgICovXG4gIHN0YXRpYyBndWFyZDxWYWx1ZSwgT2JqIGV4dGVuZHMgb2JqZWN0PihcbiAgICBkZXNjcmlwdG9yOiBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+LFxuICAgIGNhbGxiYWNrOiBSZXN1bHRDYWxsYmFjayA9IGNhbGxiYWNrc1snYWNjZXNzb3InXVxuICApOiBkZXNjcmlwdG9yIGlzIFRoaXNBY2Nlc3NvckRlc2NyaXB0b3I8VmFsdWUsIE9iaj4ge1xuICAgIGxldCByZXN1bHQgPSB0cnVlO1xuICAgIE9iamVjdFxuICAgICAgLmtleXMoZGVzY3JpcHRvcilcbiAgICAgIC5mb3JFYWNoKGtleSA9PiAocmVzdWx0ID09PSB0cnVlKSAmJiAocmVzdWx0ID0ga2V5IGluIHtcbiAgICAgICAgJ2NvbmZpZ3VyYWJsZSc6IHRydWUsICdlbnVtZXJhYmxlJzogdHJ1ZSwgJ2dldCc6IHRydWUsICdzZXQnOiB0cnVlXG4gICAgICB9KSk7XG4gICAgcmV0dXJuIGNhbGxiYWNrKHJlc3VsdCwgZGVzY3JpcHRvcik7XG4gIH1cblxuICAvKipcbiAgICogU3RyaWN0bHkgc2V0cyB3aXRoIHRoZSBsYXN0IHNhdmVkIGRlc2NyaXB0b3IgdmFsdWVzLCBhbmQgc3RvcmVzIHByaXZhdGVseSBzaW5nbGUgYWNjZXNzb3IgZGVzY3JpcHRvci5cbiAgICogU3RyaWN0bHkgbWVhbnMsIG1ldGhvZCBwaWNrcyBgY29uZmlndXJhYmxlYCwgYGVudW1lcmFibGVgLCBgZ2V0YCwgYHNldGAgcHJvcGVydGllcyBmcm9tIHRoZSBgZGVzY3JpcHRvcmAgdG8gc2V0LlxuICAgKiBAcGFyYW0gZGVzY3JpcHRvciBBbiBgb2JqZWN0YCBvZiBhIGBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+YCB0eXBlLCB0byBzZXQgd2l0aCB0aGUgbGFzdCBzYXZlZCBkZXNjcmlwdG9yLlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgQW4gb3B0aW9uYWwgYFJlc3VsdENhbGxiYWNrYCBmdW5jdGlvbiB0byBoYW5kbGUgdGhlIHJlc3VsdCBvZiB0aGUgY2hlY2sgd2hldGhlciBvciBub3QgdGhlIGRlc2NyaXB0b3IgaXMgYW4gYG9iamVjdGBcbiAgICogY29udGFpbmluZyB0aGUgYGdldGAgb3IgYHNldGAgcHJvcGVydHksIGJ5IGRlZmF1bHQgaXQgdXNlcyBgYWNjZXNzb3JDYWxsYmFjaygpYCBmcm9tIHRoZSBzdGF0aWMgYGd1YXJkKClgIG1ldGhvZC5cbiAgICogQHRocm93cyBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGRlc2NyaXB0b3IgaXMgbm90IGFuIG9iamVjdCBvZiBhIGBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+YCB0eXBlLCB3aGljaCBtZWFucyBpdFxuICAgKiBkb2Vzbid0IGNvbnRhaW4gYGdldGAgb3IgYHNldGAgcHJvcGVydHkuXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIGBBY2Nlc3NvckRlc2NyaXB0b3JzYCBpbnN0YW5jZSBmb3IgdGhlIGNoYWluaW5nLlxuICAgKi9cbiAgcHVibGljIHNldChcbiAgICBkZXNjcmlwdG9yOiBUaGlzQWNjZXNzb3JEZXNjcmlwdG9yPFZhbHVlLCBPYmo+LFxuICAgIGNhbGxiYWNrPzogUmVzdWx0Q2FsbGJhY2tcbiAgKTogdGhpcyB7XG4gICAgdGhpcy4jZGVzY3JpcHRvciA9IEFjY2Vzc29yRGVzY3JpcHRvcnMuZGVmaW5lKGRlc2NyaXB0b3IsIGNhbGxiYWNrKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19