@datorama/akita
Version:
State Management Tailored-Made for JS Applications
79 lines • 6.53 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
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 var NG_ENTITY_SERVICE_CONFIG = new InjectionToken('NgEntityServiceGlobalConfig');
/** @type {?} */
export var 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) {
var sources = [];
for (var _i = 1; _i < arguments.length; _i++) {
sources[_i - 1] = arguments[_i];
}
var _a, _b;
if (!sources.length)
return target;
/** @type {?} */
var source = sources.shift();
if (isObject(target) && isObject(source)) {
for (var key in source) {
if (isObject(source[key])) {
if (!target[key])
Object.assign(target, (_a = {}, _a[key] = {}, _a));
mergeDeep(target[key], source[key]);
}
else {
Object.assign(target, (_b = {}, _b[key] = source[key], _b));
}
}
}
return mergeDeep.apply(void 0, tslib_1.__spread([target], sources));
}
/**
* @param {?=} config
* @return {?}
*/
export function NgEntityServiceConfig(config) {
if (config === void 0) { 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZW50aXR5LXNlcnZpY2UuY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGRhdG9yYW1hL2FraXRhL2FuZ3VsYXIvcGxheWdyb3VuZC9wcm9qZWN0cy9uZy1lbnRpdHktc2VydmljZS8iLCJzb3VyY2VzIjpbImxpYi9uZy1lbnRpdHktc2VydmljZS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFFM0MsaURBU0M7OztJQVJDLDhDQUFpQjs7SUFDakIsa0RBTUc7OztBQUdMLE1BQU0sS0FBTyx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBOEIsNkJBQTZCLENBQUM7O0FBRXRILE1BQU0sS0FBTyxhQUFhLEdBQWdDO0lBQ3hELFdBQVcsRUFBRTtRQUNYLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRztRQUNuQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7UUFDckIsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLO1FBQ3ZCLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRztRQUNuQixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07S0FDMUI7Q0FDRjs7Ozs7O0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxNQUFNO0lBQUUsaUJBQVU7U0FBVixVQUFVLEVBQVYscUJBQVUsRUFBVixJQUFVO1FBQVYsZ0NBQVU7OztJQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07UUFBRSxPQUFPLE1BQU0sQ0FBQzs7UUFDN0IsTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUU7SUFFOUIsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3hDLEtBQUssSUFBTSxHQUFHLElBQUksTUFBTSxFQUFFO1lBQ3hCLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztvQkFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sWUFBSSxHQUFDLEdBQUcsSUFBRyxFQUFFLE1BQUcsQ0FBQztnQkFDdkQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNyQztpQkFBTTtnQkFDTCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sWUFBSSxHQUFDLEdBQUcsSUFBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQUcsQ0FBQzthQUMvQztTQUNGO0tBQ0Y7SUFFRCxPQUFPLFNBQVMsaUNBQUMsTUFBTSxHQUFLLE9BQU8sR0FBRTtBQUN2QyxDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxNQUFrQztJQUFsQyx1QkFBQSxFQUFBLFdBQWtDO0lBQ3RFOzs7O0lBQU8sVUFBUyxXQUFXO1FBQ3pCLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNsQixXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUN6QztRQUVELElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtZQUN2QixXQUFXLENBQUMsY0FBYyxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUNuRDtJQUNILENBQUMsRUFBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdFbnRpdHlTZXJ2aWNlUGFyYW1zIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBIdHRwTWV0aG9kIH0gZnJvbSAnLi9uZy1lbnRpdHktc2VydmljZS1ub3RpZmllcic7XG5pbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJ0BkYXRvcmFtYS9ha2l0YSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmdFbnRpdHlTZXJ2aWNlR2xvYmFsQ29uZmlnIHtcbiAgYmFzZVVybD86IHN0cmluZztcbiAgaHR0cE1ldGhvZHM/OiBQYXJ0aWFsPHtcbiAgICBHRVQ6IEh0dHBNZXRob2Q7XG4gICAgUE9TVDogSHR0cE1ldGhvZDtcbiAgICBQQVRDSDogSHR0cE1ldGhvZDtcbiAgICBQVVQ6IEh0dHBNZXRob2Q7XG4gICAgREVMRVRFOiBIdHRwTWV0aG9kO1xuICB9Pjtcbn1cblxuZXhwb3J0IGNvbnN0IE5HX0VOVElUWV9TRVJWSUNFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ0VudGl0eVNlcnZpY2VHbG9iYWxDb25maWc+KCdOZ0VudGl0eVNlcnZpY2VHbG9iYWxDb25maWcnKTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb25maWc6IE5nRW50aXR5U2VydmljZUdsb2JhbENvbmZpZyA9IHtcbiAgaHR0cE1ldGhvZHM6IHtcbiAgICBHRVQ6IEh0dHBNZXRob2QuR0VULFxuICAgIFBPU1Q6IEh0dHBNZXRob2QuUE9TVCxcbiAgICBQQVRDSDogSHR0cE1ldGhvZC5QQVRDSCxcbiAgICBQVVQ6IEh0dHBNZXRob2QuUFVULFxuICAgIERFTEVURTogSHR0cE1ldGhvZC5ERUxFVEVcbiAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcCh0YXJnZXQsIC4uLnNvdXJjZXMpIHtcbiAgaWYgKCFzb3VyY2VzLmxlbmd0aCkgcmV0dXJuIHRhcmdldDtcbiAgY29uc3Qgc291cmNlID0gc291cmNlcy5zaGlmdCgpO1xuXG4gIGlmIChpc09iamVjdCh0YXJnZXQpICYmIGlzT2JqZWN0KHNvdXJjZSkpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2UpIHtcbiAgICAgIGlmIChpc09iamVjdChzb3VyY2Vba2V5XSkpIHtcbiAgICAgICAgaWYgKCF0YXJnZXRba2V5XSkgT2JqZWN0LmFzc2lnbih0YXJnZXQsIHsgW2tleV06IHt9IH0pO1xuICAgICAgICBtZXJnZURlZXAodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGFyZ2V0LCB7IFtrZXldOiBzb3VyY2Vba2V5XSB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWVyZ2VEZWVwKHRhcmdldCwgLi4uc291cmNlcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBOZ0VudGl0eVNlcnZpY2VDb25maWcoY29uZmlnOiBOZ0VudGl0eVNlcnZpY2VQYXJhbXMgPSB7fSkge1xuICByZXR1cm4gZnVuY3Rpb24oY29uc3RydWN0b3IpIHtcbiAgICBpZiAoY29uZmlnLmJhc2VVcmwpIHtcbiAgICAgIGNvbnN0cnVjdG9yWydiYXNlVXJsJ10gPSBjb25maWcuYmFzZVVybDtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLnJlc291cmNlTmFtZSkge1xuICAgICAgY29uc3RydWN0b3JbJ3Jlc291cmNlTmFtZSddID0gY29uZmlnLnJlc291cmNlTmFtZTtcbiAgICB9XG4gIH07XG59XG4iXX0=