ng-http-interceptor
Version:
> Http Interceptor library for Angular
44 lines • 976 B
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
export const /** @type {?} */ SAFE_PROXY_TRAPS = ['get', 'set', 'apply'];
/**
* @param {?} ref
* @return {?}
*/
export function identityFactory_(ref) {
return ref;
}
/**
* @param {?} provide
* @param {?} obj
* @return {?}
*/
export function identityFactory(provide, obj) {
return {
provide,
useFactory: identityFactory_,
deps: [obj]
};
}
/**
* @param {?} handler
* @return {?}
*/
export function safeProxyHandler_(handler) {
const /** @type {?} */ safeHandler = {};
SAFE_PROXY_TRAPS
.filter(trap => typeof handler[trap] === 'function')
.forEach(trap => safeHandler[trap] = handler[trap].bind(handler));
return safeHandler;
}
/**
* @param {?} obj
* @param {?} handler
* @return {?}
*/
export function safeProxy(obj, handler) {
return new Proxy(obj, safeProxyHandler_(handler));
}
//# sourceMappingURL=util.js.map