UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

72 lines 6.25 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { InjectionToken } from '@angular/core'; import { HttpMethod } from './ng-entity-service-notifier'; import { isObject } from '@datorama/akita'; /** * @record */ export function NgEntityServiceGlobalConfig() { } if (false) { /** @type {?|undefined} */ NgEntityServiceGlobalConfig.prototype.baseUrl; /** @type {?|undefined} */ NgEntityServiceGlobalConfig.prototype.httpMethods; } /** @type {?} */ export const NG_ENTITY_SERVICE_CONFIG = new InjectionToken('NgEntityServiceGlobalConfig'); /** @type {?} */ export const defaultConfig = { httpMethods: { GET: HttpMethod.GET, POST: HttpMethod.POST, PATCH: HttpMethod.PATCH, PUT: HttpMethod.PUT, DELETE: HttpMethod.DELETE } }; /** * @param {?} target * @param {...?} sources * @return {?} */ export function mergeDeep(target, ...sources) { if (!sources.length) return target; /** @type {?} */ const source = sources.shift(); if (isObject(target) && isObject(source)) { for (const key in source) { if (isObject(source[key])) { if (!target[key]) Object.assign(target, { [key]: {} }); mergeDeep(target[key], source[key]); } else { Object.assign(target, { [key]: source[key] }); } } } return mergeDeep(target, ...sources); } /** * @param {?=} config * @return {?} */ export function NgEntityServiceConfig(config = {}) { return (/** * @param {?} constructor * @return {?} */ function (constructor) { if (config.baseUrl) { constructor['baseUrl'] = config.baseUrl; } if (config.resourceName) { constructor['resourceName'] = config.resourceName; } }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZW50aXR5LXNlcnZpY2UuY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGRhdG9yYW1hL2FraXRhL2FuZ3VsYXIvcGxheWdyb3VuZC9wcm9qZWN0cy9uZy1lbnRpdHktc2VydmljZS8iLCJzb3VyY2VzIjpbImxpYi9uZy1lbnRpdHktc2VydmljZS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUUzQyxpREFTQzs7O0lBUkMsOENBQWlCOztJQUNqQixrREFNRzs7O0FBR0wsTUFBTSxPQUFPLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUE4Qiw2QkFBNkIsQ0FBQzs7QUFFdEgsTUFBTSxPQUFPLGFBQWEsR0FBZ0M7SUFDeEQsV0FBVyxFQUFFO1FBQ1gsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHO1FBQ25CLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtRQUNyQixLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7UUFDdkIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHO1FBQ25CLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtLQUMxQjtDQUNGOzs7Ozs7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU87SUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1FBQUUsT0FBTyxNQUFNLENBQUM7O1VBQzdCLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFO0lBRTlCLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN4QyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRTtZQUN4QixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7b0JBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDckM7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDL0M7U0FDRjtLQUNGO0lBRUQsT0FBTyxTQUFTLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7QUFDdkMsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsU0FBZ0MsRUFBRTtJQUN0RTs7OztJQUFPLFVBQVMsV0FBVztRQUN6QixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbEIsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDekM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDdkIsV0FBVyxDQUFDLGNBQWMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7U0FDbkQ7SUFDSCxDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRW50aXR5U2VydmljZVBhcmFtcyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgSHR0cE1ldGhvZCB9IGZyb20gJy4vbmctZW50aXR5LXNlcnZpY2Utbm90aWZpZXInO1xuaW1wb3J0IHsgaXNPYmplY3QgfSBmcm9tICdAZGF0b3JhbWEvYWtpdGEnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5nRW50aXR5U2VydmljZUdsb2JhbENvbmZpZyB7XG4gIGJhc2VVcmw/OiBzdHJpbmc7XG4gIGh0dHBNZXRob2RzPzogUGFydGlhbDx7XG4gICAgR0VUOiBIdHRwTWV0aG9kO1xuICAgIFBPU1Q6IEh0dHBNZXRob2Q7XG4gICAgUEFUQ0g6IEh0dHBNZXRob2Q7XG4gICAgUFVUOiBIdHRwTWV0aG9kO1xuICAgIERFTEVURTogSHR0cE1ldGhvZDtcbiAgfT47XG59XG5cbmV4cG9ydCBjb25zdCBOR19FTlRJVFlfU0VSVklDRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmdFbnRpdHlTZXJ2aWNlR2xvYmFsQ29uZmlnPignTmdFbnRpdHlTZXJ2aWNlR2xvYmFsQ29uZmlnJyk7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0Q29uZmlnOiBOZ0VudGl0eVNlcnZpY2VHbG9iYWxDb25maWcgPSB7XG4gIGh0dHBNZXRob2RzOiB7XG4gICAgR0VUOiBIdHRwTWV0aG9kLkdFVCxcbiAgICBQT1NUOiBIdHRwTWV0aG9kLlBPU1QsXG4gICAgUEFUQ0g6IEh0dHBNZXRob2QuUEFUQ0gsXG4gICAgUFVUOiBIdHRwTWV0aG9kLlBVVCxcbiAgICBERUxFVEU6IEh0dHBNZXRob2QuREVMRVRFXG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZURlZXAodGFyZ2V0LCAuLi5zb3VyY2VzKSB7XG4gIGlmICghc291cmNlcy5sZW5ndGgpIHJldHVybiB0YXJnZXQ7XG4gIGNvbnN0IHNvdXJjZSA9IHNvdXJjZXMuc2hpZnQoKTtcblxuICBpZiAoaXNPYmplY3QodGFyZ2V0KSAmJiBpc09iamVjdChzb3VyY2UpKSB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gc291cmNlKSB7XG4gICAgICBpZiAoaXNPYmplY3Qoc291cmNlW2tleV0pKSB7XG4gICAgICAgIGlmICghdGFyZ2V0W2tleV0pIE9iamVjdC5hc3NpZ24odGFyZ2V0LCB7IFtrZXldOiB7fSB9KTtcbiAgICAgICAgbWVyZ2VEZWVwKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRhcmdldCwgeyBba2V5XTogc291cmNlW2tleV0gfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1lcmdlRGVlcCh0YXJnZXQsIC4uLnNvdXJjZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTmdFbnRpdHlTZXJ2aWNlQ29uZmlnKGNvbmZpZzogTmdFbnRpdHlTZXJ2aWNlUGFyYW1zID0ge30pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKGNvbnN0cnVjdG9yKSB7XG4gICAgaWYgKGNvbmZpZy5iYXNlVXJsKSB7XG4gICAgICBjb25zdHJ1Y3RvclsnYmFzZVVybCddID0gY29uZmlnLmJhc2VVcmw7XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5yZXNvdXJjZU5hbWUpIHtcbiAgICAgIGNvbnN0cnVjdG9yWydyZXNvdXJjZU5hbWUnXSA9IGNvbmZpZy5yZXNvdXJjZU5hbWU7XG4gICAgfVxuICB9O1xufVxuIl19