-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcore.js.map
1 lines (1 loc) · 12.3 KB
/
core.js.map
1
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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","sourcesContent":["import { JsonRipper } from './services/json-ripper';\nimport { CacheMemory } from './services/cachememory';\nimport { Injectable, Optional, isDevMode } from '@angular/core';\nimport { serviceIsRegistered } from './common';\nimport { PathBuilder } from './services/path-builder';\nimport { Service } from './service';\nimport { Resource } from './resource';\nimport { JsonapiConfig } from './jsonapi-config';\nimport { Http as JsonapiHttpImported } from './sources/http.service';\nimport { StoreService as JsonapiStore } from './sources/store.service';\nimport { IDocumentResource } from './interfaces/data-object';\nimport { Observable, throwError, noop } from 'rxjs';\nimport { tap, catchError } from 'rxjs/operators';\nimport { IDocumentData } from './interfaces/document';\n\n@Injectable()\nexport class Core {\n public static me: Core;\n public static injectedServices: {\n JsonapiStoreService: JsonapiStore;\n JsonapiHttp: JsonapiHttpImported;\n rsJsonapiConfig: JsonapiConfig;\n };\n public loadingsCounter: number = 0;\n public loadingsStart: Function = noop;\n public loadingsDone: Function = noop;\n public loadingsError: Function = noop;\n public loadingsOffline: Function = noop;\n public config: JsonapiConfig;\n\n private resourceServices: { [type: string]: Service } = {};\n\n public constructor(@Optional() user_config: JsonapiConfig, jsonapiStoreService: JsonapiStore, jsonapiHttp: JsonapiHttpImported) {\n this.config = new JsonapiConfig();\n for (let k in this.config) {\n (<any>this.config)[k] = user_config[k] !== undefined ? user_config[k] : (<any>this.config)[k];\n }\n\n Core.me = this;\n Core.injectedServices = {\n JsonapiStoreService: jsonapiStoreService,\n JsonapiHttp: jsonapiHttp,\n rsJsonapiConfig: this.config\n };\n }\n\n public static delete(path: string): Observable<IDocumentData> {\n return Core.exec(path, 'DELETE');\n }\n\n public static get(path: string): Observable<IDocumentData> {\n return Core.exec(path, 'get');\n }\n\n public static exec(\n path: string,\n method: string,\n data?: IDocumentResource,\n call_loadings_error: boolean = true\n ): Observable<IDocumentData> {\n Core.me.refreshLoadings(1);\n\n return Core.injectedServices.JsonapiHttp.exec(path, method, data).pipe(\n // map(data => { return data.body }),\n tap(() => Core.me.refreshLoadings(-1)),\n catchError(error => {\n error = error.error || error;\n Core.me.refreshLoadings(-1);\n\n if (error.status <= 0) {\n // offline?\n if (!Core.me.loadingsOffline(error) && isDevMode()) {\n console.warn('Jsonapi.Http.exec (use JsonapiCore.loadingsOffline for catch it) error =>', error);\n }\n } else if (call_loadings_error && !Core.me.loadingsError(error) && isDevMode()) {\n console.warn('Jsonapi.Http.exec (use JsonapiCore.loadingsError for catch it) error =>', error);\n }\n\n return throwError(error);\n })\n );\n }\n\n public registerService<R extends Resource>(clase: Service): Service<R> | false {\n if (clase.type in this.resourceServices) {\n return false;\n }\n this.resourceServices[clase.type] = clase;\n\n return <Service<R>>clase;\n }\n\n // @todo this function could return an empty value, fix required\n public getResourceService(type: string): Service | undefined {\n return this.resourceServices[type];\n }\n\n public getResourceServiceOrFail(type: string): Service {\n let service = this.resourceServices[type];\n if (!service) {\n throw new Error(\n `The requested service with type ${type} has not been registered, please use register() method or @Autoregister() decorator`\n );\n }\n\n return service;\n }\n\n @serviceIsRegistered\n public static removeCachedResource(resource_type: string, resource_id: string): void {\n CacheMemory.getInstance().removeResource(resource_type, resource_id);\n if (Core.injectedServices.rsJsonapiConfig.cachestore_support) {\n // TODO: FE-85 ---> add method on JsonRipper\n }\n }\n\n @serviceIsRegistered\n public static setCachedResource(resource: Resource): void {\n CacheMemory.getInstance().setResource(resource, true);\n if (Core.injectedServices.rsJsonapiConfig.cachestore_support) {\n // TODO: FE-85 ---> add method on JsonRipper\n }\n }\n\n @serviceIsRegistered\n public static deprecateCachedCollections(type: string): void {\n let service = Core.me.getResourceServiceOrFail(type);\n let path = new PathBuilder();\n path.applyParams(service);\n CacheMemory.getInstance().deprecateCollections(path.getForCache());\n if (Core.injectedServices.rsJsonapiConfig.cachestore_support) {\n // TODO: FE-85 ---> add method on JsonRipper\n }\n }\n\n public refreshLoadings(factor: number): void {\n this.loadingsCounter += factor;\n if (this.loadingsCounter === 0) {\n this.loadingsDone();\n } else if (this.loadingsCounter === 1) {\n this.loadingsStart();\n }\n }\n\n public async clearCache(): Promise<boolean> {\n Core.injectedServices.JsonapiStoreService.clearCache();\n CacheMemory.getInstance().clearCache();\n let json_ripper = new JsonRipper();\n\n return json_ripper.deprecateCollection('').then(() => true);\n }\n\n // just an helper\n public duplicateResource<R extends Resource>(resource: R, ...relations_alias_to_duplicate_too: Array<string>): R {\n let newresource = <R>this.getResourceServiceOrFail(resource.type).new();\n newresource.id = 'new_' + Math.floor(Math.random() * 10000).toString();\n newresource.attributes = { ...newresource.attributes, ...resource.attributes };\n\n for (const alias in resource.relationships) {\n let relationship = resource.relationships[alias];\n\n if (!relationship.data) {\n newresource.relationships[alias] = resource.relationships[alias];\n continue;\n }\n\n if ('id' in relationship.data) {\n // relation hasOne\n if (relations_alias_to_duplicate_too.indexOf(alias) > -1) {\n newresource.addRelationship(this.duplicateResource(<Resource>relationship.data), alias);\n } else {\n newresource.addRelationship(<Resource>relationship.data, alias);\n }\n } else {\n // relation hasMany\n if (relations_alias_to_duplicate_too.indexOf(alias) > -1) {\n relationship.data.forEach(relationresource => {\n newresource.addRelationship(this.duplicateResource(<R>relationresource), alias);\n });\n } else {\n newresource.addRelationships(<Array<Resource>>relationship.data, alias);\n }\n }\n }\n\n return newresource;\n }\n}\n"]}