-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathservice.js.map
1 lines (1 loc) · 25.3 KB
/
service.js.map
1
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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","sourcesContent":["import { first, map } from 'rxjs/operators';\nimport { Core } from './core';\nimport { IBuildedParamsCollection } from './interfaces/params-collection';\nimport { Base } from './services/base';\nimport { Resource } from './resource';\nimport { PathBuilder } from './services/path-builder';\nimport { Converter } from './services/converter';\nimport { CacheMemory } from './services/cachememory';\nimport { IParamsCollection, IParamsResource, IAttributes } from './interfaces';\nimport { DocumentCollection } from './document-collection';\nimport { isLive, relationshipsAreBuilded } from './common';\nimport { Observable, BehaviorSubject, Subject } from 'rxjs';\nimport { IDocumentResource } from './interfaces/data-object';\nimport { PathCollectionBuilder } from './services/path-collection-builder';\nimport { IDataCollection, ICacheableDataCollection } from './interfaces/data-collection';\nimport { JsonRipper } from './services/json-ripper';\nimport { DexieDataProvider } from './data-providers/dexie-data-provider';\nimport { ClonedResource } from './cloned-resource';\n\nexport class Service<R extends Resource = Resource> {\n public type: string;\n public resource = Resource;\n public collections_ttl: number;\n protected path: string; // without slashes\n\n public constructor() {\n setTimeout(() => this.register());\n }\n\n /*\n Register service on Core\n @return true if the resource don't exist and registered ok\n */\n public register(): Service<R> | false {\n if (Core.me === null) {\n throw new Error('Error: you are trying register `' + this.type + '` before inject JsonapiCore somewhere, almost one time.');\n }\n\n return Core.me.registerService<R>(this);\n }\n\n /**\n * @deprecated since 2.2.0. Use new() method.\n */\n public newResource(): R {\n return this.new();\n }\n\n public newCollection(): DocumentCollection<R> {\n return new DocumentCollection();\n }\n\n public new(): R {\n let resource = new this.resource();\n resource.type = this.type;\n // issue #36: just if service is not registered yet.\n this.getService();\n resource.reset();\n\n return <R>resource;\n }\n\n public getPrePath(): string {\n return '';\n }\n\n public getPath(): string {\n return this.path || this.type;\n }\n\n public getClone(id: string, params: IParamsResource = {}): Observable<ClonedResource<R>> {\n return this.get(id, params).pipe(\n map((resource: Resource) => {\n // return resource.clone();\n return new ClonedResource(resource);\n })\n );\n }\n\n public pathForGet(id: string, params: IParamsResource = {}): string {\n params = { ...Base.ParamsResource, ...params };\n\n let path = new PathBuilder();\n path.applyParams(this, params);\n path.appendPath(id);\n return path.get();\n }\n\n // if you change this logic, maybe you need to change all()\n public get(id: string, params: IParamsResource = {}): Observable<R> {\n params = { ...Base.ParamsResource, ...params };\n\n let path = new PathBuilder();\n path.applyParams(this, params);\n path.appendPath(id);\n\n let resource: R = this.getOrCreateResource(id);\n resource.setLoaded(false);\n\n let subject = new BehaviorSubject<R>(resource);\n\n if (Object.keys(params.fields || []).length > 0) {\n // memory/store cache doesnt support fields\n this.getGetFromServer(path, resource, subject);\n } else if (isLive(resource, params.ttl) && relationshipsAreBuilded(resource, params.include || [])) {\n // data on memory and its live\n resource.setLoaded(true);\n setTimeout(() => subject.complete(), 0);\n } else if (resource.cache_last_update === 0) {\n // we dont have any data on memory\n this.getGetFromLocal(params, path, resource)\n .then(() => {\n subject.next(resource);\n setTimeout(() => subject.complete(), 0);\n })\n .catch(() => {\n resource.setLoaded(false);\n this.getGetFromServer(path, resource, subject);\n });\n } else {\n this.getGetFromServer(path, resource, subject);\n }\n\n return subject.asObservable();\n }\n\n // if you change this logic, maybe you need to change getAllFromLocal()\n private async getGetFromLocal(params: IParamsCollection = {}, path: PathBuilder, resource: R): Promise<void> {\n // STORE\n if (!Core.injectedServices.rsJsonapiConfig.cachestore_support) {\n throw new Error('We cant handle this request');\n }\n\n resource.setLoaded(false);\n\n // STORE (individual)\n let json_ripper = new JsonRipper();\n let success = await json_ripper.getResource(JsonRipper.getResourceKey(resource), path.includes);\n\n resource.fill(success);\n resource.setSource('store');\n\n // when fields is set, get resource form server\n if (isLive(resource, params.ttl)) {\n resource.setLoadedAndPropagate(true);\n // resource.setBuildedAndPropagate(true);\n\n return;\n }\n\n throw new Error('Resource is dead!');\n }\n\n // if you change this logic, maybe you need to change getAllFromServer()\n protected getGetFromServer(path, resource: R, subject: Subject<R>): void {\n Core.get(path.get()).subscribe(\n success => {\n resource.fill(<IDocumentResource>success);\n resource.cache_last_update = Date.now();\n resource.setLoadedAndPropagate(true);\n resource.setSourceAndPropagate('server');\n\n // this.getService().cachememory.setResource(resource, true);\n if (Core.injectedServices.rsJsonapiConfig.cachestore_support) {\n let json_ripper = new JsonRipper();\n json_ripper.saveResource(resource, path.includes);\n }\n subject.next(resource);\n setTimeout(() => subject.complete(), 0);\n },\n error => {\n resource.setLoadedAndPropagate(true);\n subject.next(resource);\n subject.error(error);\n }\n );\n }\n\n public getService<T extends Service<R>>(): T {\n return <T>(Converter.getService(this.type) || this.register());\n }\n\n public getOrCreateCollection(path: PathCollectionBuilder): DocumentCollection<R> {\n const service = this.getService();\n const collection = <DocumentCollection<R>>CacheMemory.getInstance().getOrCreateCollection(path.getForCache());\n collection.ttl = service.collections_ttl;\n if (collection.source !== 'new') {\n collection.source = 'memory';\n }\n\n return collection;\n }\n\n public getOrCreateResource(id: string): R {\n let service = this.getService();\n let resource: R;\n\n resource = <R>CacheMemory.getInstance().getResource(this.type, id);\n if (resource === null) {\n resource = <R>service.new();\n resource.id = id;\n CacheMemory.getInstance().setResource(resource, false);\n }\n\n if (resource.source !== 'new') {\n resource.source = 'memory';\n }\n\n return resource;\n }\n\n public createResource(id: string): R {\n let service = Converter.getServiceOrFail(this.type);\n let resource = service.new();\n resource.id = id;\n CacheMemory.getInstance().setResource(resource, false);\n\n return <R>resource;\n }\n\n /**\n * deprecated since 2.2\n */\n public async clearCacheMemory(): Promise<boolean> {\n return this.clearCache();\n }\n\n public async clearCache(): Promise<boolean> {\n let path = new PathBuilder();\n path.applyParams(this);\n\n // @todo this code is repeated on core.clearCache()\n CacheMemory.getInstance().deprecateCollections(path.getForCache());\n\n let json_ripper = new JsonRipper();\n\n return json_ripper.deprecateCollection(path.getForCache()).then(() => true);\n }\n\n public parseToServer(attributes: IAttributes): void {\n /* */\n }\n\n public parseFromServer(attributes: IAttributes): void {\n /* */\n }\n\n public delete(id: string, params?: Object): Observable<void> {\n params = { ...{}, ...Base.ParamsResource, ...params };\n\n // http request\n let path = new PathBuilder();\n path.applyParams(this, params);\n path.appendPath(id);\n\n let subject = new Subject<void>();\n\n Core.delete(path.get()).subscribe(\n success => {\n CacheMemory.getInstance().removeResource(this.type, id);\n subject.next();\n subject.complete();\n },\n error => {\n subject.error(error);\n }\n );\n\n return subject.asObservable();\n }\n\n public pathForAll(params: IParamsCollection = {}): string {\n let builded_params: IBuildedParamsCollection = { ...Base.ParamsCollection, ...params };\n\n let path = new PathCollectionBuilder();\n path.applyParams(this, builded_params);\n\n return path.get()\n }\n\n // if you change this logic, maybe you need to change get()\n public all(params: IParamsCollection = {}): Observable<DocumentCollection<R>> {\n let builded_params: IBuildedParamsCollection = { ...Base.ParamsCollection, ...params };\n\n if (!builded_params.ttl && builded_params.ttl !== 0) {\n builded_params.ttl = this.collections_ttl;\n }\n\n let path = new PathCollectionBuilder();\n path.applyParams(this, builded_params);\n\n let temporary_collection = this.getOrCreateCollection(path);\n temporary_collection.page.number = builded_params.page.number * 1;\n\n let subject = new BehaviorSubject<DocumentCollection<R>>(temporary_collection);\n\n if (Object.keys(builded_params.fields).length > 0) {\n // memory/store cache dont suppont fields\n this.getAllFromServer(path, builded_params, temporary_collection, subject);\n } else if (isLive(temporary_collection, builded_params.ttl)) {\n // data on memory and its live\n setTimeout(() => subject.complete(), 0);\n } else if (temporary_collection.cache_last_update === 0) {\n // we dont have any data on memory\n temporary_collection.source = 'new';\n this.getAllFromLocal(builded_params, path, temporary_collection)\n .then(() => {\n subject.next(temporary_collection);\n setTimeout(() => {\n subject.complete();\n }, 0);\n })\n .catch(() => {\n temporary_collection.setLoaded(false);\n this.getAllFromServer(path, builded_params, temporary_collection, subject);\n });\n } else {\n this.getAllFromServer(path, builded_params, temporary_collection, subject);\n }\n\n return subject.asObservable();\n }\n\n // if you change this logic, maybe you need to change getGetFromLocal()\n private async getAllFromLocal(\n params: IParamsCollection = {},\n path: PathCollectionBuilder,\n temporary_collection: DocumentCollection<R>\n ): Promise<void> {\n // STORE\n if (!Core.injectedServices.rsJsonapiConfig.cachestore_support) {\n throw new Error('We cant handle this request');\n }\n\n temporary_collection.setLoaded(false);\n\n let success: ICacheableDataCollection;\n if (params.store_cache_method === 'compact') {\n // STORE (compact)\n success = await Core.injectedServices.JsonapiStoreService.getDataObject('collection', path.getForCache() + '.compact');\n } else {\n // STORE (individual)\n let json_ripper = new JsonRipper();\n success = await json_ripper.getCollection(path.getForCache(), path.includes);\n }\n temporary_collection.fill(success);\n temporary_collection.setSourceAndPropagate('store');\n\n // when fields is set, get resource form server\n if (isLive(temporary_collection, params.ttl)) {\n temporary_collection.setLoadedAndPropagate(true);\n temporary_collection.setBuildedAndPropagate(true);\n\n return;\n }\n\n throw new Error('Collection is dead!');\n }\n\n // if you change this logic, maybe you need to change getGetFromServer()\n protected getAllFromServer(\n path: PathBuilder,\n params: IParamsCollection,\n temporary_collection: DocumentCollection<R>,\n subject: BehaviorSubject<DocumentCollection<R>>\n ) {\n temporary_collection.setLoaded(false);\n Core.get(path.get()).subscribe(\n success => {\n // this create a new ID for every resource (for caching proposes)\n // for example, two URL return same objects but with different attributes\n // tslint:disable-next-line:deprecation\n if (params.cachehash) {\n for (const key in success.data) {\n let resource = success.data[key];\n // tslint:disable-next-line:deprecation\n resource.id = resource.id + params.cachehash;\n }\n }\n temporary_collection.fill(<IDataCollection>success);\n temporary_collection.cache_last_update = Date.now();\n temporary_collection.setCacheLastUpdateAndPropagate();\n temporary_collection.setSourceAndPropagate('server');\n temporary_collection.setLoadedAndPropagate(true);\n\n // this.getService().cachememory.setCollection(path.getForCache(), temporary_collection);\n if (Core.injectedServices.rsJsonapiConfig.cachestore_support) {\n let json_ripper = new JsonRipper();\n json_ripper.saveCollection(path.getForCache(), temporary_collection, path.includes);\n }\n if (Core.injectedServices.rsJsonapiConfig.cachestore_support && params.store_cache_method === 'compact') {\n // @todo migrate to dexie\n Core.injectedServices.JsonapiStoreService.saveCollection(path.getForCache() + '.compact', <ICacheableDataCollection>(\n success\n ));\n }\n subject.next(temporary_collection);\n setTimeout(() => subject.complete(), 0);\n },\n error => {\n temporary_collection.setLoadedAndPropagate(true);\n subject.next(temporary_collection);\n subject.error(error);\n }\n );\n }\n}\n"]}