@pebula/metap
Version:
meta-programming tools
80 lines • 5.16 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
export var reflection = {
designType: /**
* @param {?} target
* @param {?} key
* @return {?}
*/
function (target, key) {
return ((/** @type {?} */ (Reflect))).getMetadata('design:type', target, key);
},
paramTypes: /**
* @param {?} target
* @param {?} key
* @return {?}
*/
function (target, key) {
return ((/** @type {?} */ (Reflect))).getMetadata('design:paramtypes', target, key);
}
};
/**
* @param {?} getter
* @return {?}
*/
export function LazyInit(getter) {
return (/**
* @param {?} target
* @param {?} propertyKey
* @param {?=} descriptor
* @return {?}
*/
function (target, propertyKey, descriptor) {
if (descriptor) {
throw new Error('LazyInit can only decorate properties');
}
Object.defineProperty(target, propertyKey, {
configurable: true,
get: /**
* @return {?}
*/
function () {
/** @type {?} */
var ret = getter.call(this);
Object.defineProperty(this, propertyKey, { value: ret });
return ret;
}
});
});
}
var ɵ0 = /**
* @return {?}
*/
function () {
/** @type {?} */
var findRemove = (/**
* @template T
* @param {?} arr
* @param {?} predicate
* @param {?=} thisArg
* @return {?}
*/
function (arr, predicate, thisArg) {
/** @type {?} */
var idx = arr.findIndex(predicate, thisArg);
if (idx > -1) {
return arr.splice(idx, 1)[0];
}
});
return { findRemove: findRemove };
};
/**
* \@pluginApi
* @type {?}
*/
export var array = ((ɵ0))();
export { ɵ0 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcGVidWxhL21ldGFwL2ludGVybmFsLyIsInNvdXJjZXMiOlsibGliL2Z3L3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsTUFBTSxLQUFPLFVBQVUsR0FBRztJQUN4QixVQUFVOzs7OztJQUFWLFVBQVcsTUFBVyxFQUFFLEdBQTZCO1FBQ25ELE9BQU8sQ0FBQyxtQkFBQSxPQUFPLEVBQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFDRCxVQUFVOzs7OztJQUFWLFVBQVcsTUFBVyxFQUFFLEdBQTZCO1FBQ25ELE9BQU8sQ0FBQyxtQkFBQSxPQUFPLEVBQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUNGOzs7OztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsTUFBZ0I7SUFDdkM7Ozs7OztJQUFPLFVBQUMsTUFBYyxFQUFFLFdBQTRCLEVBQUUsVUFBK0I7UUFDbkYsSUFBSSxVQUFVLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUU7WUFDekMsWUFBWSxFQUFFLElBQUk7WUFDbEIsR0FBRzs7Ozs7b0JBQ0ssR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUU3QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDekQsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7OztBQUtxQjs7UUFDZCxVQUFVOzs7Ozs7O0lBQUcsVUFBSSxHQUFRLEVBQUUsU0FBZ0MsRUFBRSxPQUFhOztZQUN4RSxHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO1FBQzdDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ1osT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUMsQ0FBQTtJQUVELE9BQU8sRUFBRSxVQUFVLFlBQUEsRUFBRSxDQUFDO0FBQ3hCLENBQUM7Ozs7O0FBVEQsTUFBTSxLQUFPLEtBQUssR0FBRyxNQVNuQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHJlZmxlY3Rpb24gPSB7XG4gIGRlc2lnblR5cGUodGFyZ2V0OiBhbnksIGtleTogc3RyaW5nIHwgc3ltYm9sIHwgbnVtYmVyKTogYW55IHtcbiAgICByZXR1cm4gKFJlZmxlY3QgYXMgYW55KS5nZXRNZXRhZGF0YSgnZGVzaWduOnR5cGUnLCB0YXJnZXQsIGtleSk7XG4gIH0sXG4gIHBhcmFtVHlwZXModGFyZ2V0OiBhbnksIGtleTogc3RyaW5nIHwgc3ltYm9sIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIChSZWZsZWN0IGFzIGFueSkuZ2V0TWV0YWRhdGEoJ2Rlc2lnbjpwYXJhbXR5cGVzJywgdGFyZ2V0LCBrZXkpO1xuICB9XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gTGF6eUluaXQoZ2V0dGVyOiBGdW5jdGlvbik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgcmV0dXJuICh0YXJnZXQ6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCwgZGVzY3JpcHRvcj86IFByb3BlcnR5RGVzY3JpcHRvcikgPT4ge1xuICAgIGlmIChkZXNjcmlwdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xhenlJbml0IGNhbiBvbmx5IGRlY29yYXRlIHByb3BlcnRpZXMnKTtcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXksIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIGdldCgpIHtcbiAgICAgICAgY29uc3QgcmV0ID0gZ2V0dGVyLmNhbGwodGhpcyk7XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5S2V5LCB7IHZhbHVlOiByZXQgfSk7XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG59XG5cbi8qKlxuICogQHBsdWdpbkFwaVxuICovXG5leHBvcnQgY29uc3QgYXJyYXkgPSAoZnVuY3Rpb24oKSB7XG4gIGNvbnN0IGZpbmRSZW1vdmUgPSA8VD4oYXJyOiBUW10sIHByZWRpY2F0ZTogKHZhbHVlOiBUKSA9PiBib29sZWFuLCB0aGlzQXJnPzogYW55KTogVCB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgaWR4ID0gYXJyLmZpbmRJbmRleChwcmVkaWNhdGUsIHRoaXNBcmcpO1xuICAgIGlmIChpZHggPiAtMSkge1xuICAgICAgcmV0dXJuIGFyci5zcGxpY2UoaWR4LCAxKVswXTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIHsgZmluZFJlbW92ZSB9O1xufSkoKTtcblxuIl19