@datorama/akita
Version:
State Management Tailored-Made for JS Applications
72 lines • 6.25 kB
JavaScript
/**
* @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