@microphi/store 0.2.10 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/esm2020/lib/effect/effect.mjs +75 -0
  2. package/esm2020/lib/list/list.mjs +75 -0
  3. package/esm2020/lib/reduce/reduce.mjs +26 -0
  4. package/esm2020/lib/store/store.mjs +101 -0
  5. package/esm2020/lib/utilities/scan-instance.mjs +19 -0
  6. package/esm2020/microphi-store.mjs +5 -0
  7. package/esm2020/public-api.mjs +8 -0
  8. package/fesm2015/microphi-store.mjs +305 -0
  9. package/fesm2015/microphi-store.mjs.map +1 -0
  10. package/fesm2020/microphi-store.mjs +303 -0
  11. package/fesm2020/microphi-store.mjs.map +1 -0
  12. package/index.d.ts +6 -0
  13. package/lib/effect/effect.d.ts +62 -0
  14. package/lib/effect/effect.d.ts.map +1 -0
  15. package/lib/list/list.d.ts +2 -1
  16. package/lib/list/list.d.ts.map +1 -0
  17. package/lib/reduce/reduce.d.ts +12 -0
  18. package/lib/reduce/reduce.d.ts.map +1 -0
  19. package/lib/store/store.d.ts +39 -0
  20. package/lib/store/store.d.ts.map +1 -0
  21. package/lib/utilities/scan-instance.d.ts +3 -0
  22. package/lib/utilities/scan-instance.d.ts.map +1 -0
  23. package/microphi-store.d.ts.map +1 -0
  24. package/package.json +23 -17
  25. package/public-api.d.ts +4 -8
  26. package/public-api.d.ts.map +1 -0
  27. package/bundles/microphi-store.umd.js +0 -996
  28. package/bundles/microphi-store.umd.js.map +0 -1
  29. package/bundles/microphi-store.umd.min.js +0 -16
  30. package/bundles/microphi-store.umd.min.js.map +0 -1
  31. package/esm2015/lib/actions.js +0 -105
  32. package/esm2015/lib/base-store.js +0 -156
  33. package/esm2015/lib/effect.js +0 -11
  34. package/esm2015/lib/http-status/http-status.interceptor.js +0 -31
  35. package/esm2015/lib/http-status/http-status.store.js +0 -63
  36. package/esm2015/lib/list/list.js +0 -80
  37. package/esm2015/lib/observable-list/observable-list.js +0 -119
  38. package/esm2015/lib/reduce.js +0 -15
  39. package/esm2015/lib/store.js +0 -13
  40. package/esm2015/microphi-store.js +0 -5
  41. package/esm2015/public-api.js +0 -13
  42. package/esm5/lib/actions.js +0 -110
  43. package/esm5/lib/base-store.js +0 -177
  44. package/esm5/lib/effect.js +0 -11
  45. package/esm5/lib/http-status/http-status.interceptor.js +0 -33
  46. package/esm5/lib/http-status/http-status.store.js +0 -66
  47. package/esm5/lib/list/list.js +0 -126
  48. package/esm5/lib/observable-list/observable-list.js +0 -250
  49. package/esm5/lib/reduce.js +0 -15
  50. package/esm5/lib/store.js +0 -13
  51. package/esm5/microphi-store.js +0 -5
  52. package/esm5/public-api.js +0 -13
  53. package/fesm2015/microphi-store.js +0 -586
  54. package/fesm2015/microphi-store.js.map +0 -1
  55. package/fesm5/microphi-store.js +0 -788
  56. package/fesm5/microphi-store.js.map +0 -1
  57. package/lib/actions.d.ts +0 -77
  58. package/lib/base-store.d.ts +0 -31
  59. package/lib/effect.d.ts +0 -2
  60. package/lib/http-status/http-status.interceptor.d.ts +0 -7
  61. package/lib/http-status/http-status.store.d.ts +0 -17
  62. package/lib/observable-list/observable-list.d.ts +0 -29
  63. package/lib/reduce.d.ts +0 -7
  64. package/lib/store.d.ts +0 -9
  65. package/microphi-store.d.ts +0 -4
  66. package/microphi-store.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"microphi-store.js","sources":["ng://@microphi/store/lib/actions.ts","ng://@microphi/store/lib/store.ts","ng://@microphi/store/lib/reduce.ts","ng://@microphi/store/lib/base-store.ts","ng://@microphi/store/lib/effect.ts","ng://@microphi/store/lib/observable-list/observable-list.ts","ng://@microphi/store/lib/http-status/http-status.store.ts","ng://@microphi/store/lib/http-status/http-status.interceptor.ts","ng://@microphi/store/lib/list/list.ts","ng://@microphi/store/public-api.ts","ng://@microphi/store/microphi-store.ts"],"sourcesContent":["export const REQUEST_SUFFIX = '_REQUEST';\nexport const RESPONSE_SUFFIX = '_RESPONSE';\nexport const ERROR_SUFFIX = '_ERROR';\n\nexport interface Action {\n type: string;\n payload: any;\n}\n\nexport interface RestActions {\n request: string;\n response: string;\n error: string;\n}\n\n\n/**\n * Action are defined with an enum. Such as:\n *\n * emun {\n * GET_ALL,\n * GET_ONE,\n * DELETE,\n * }\n *\n * For each action defined a REQUEST, a RESPONSE and an ERROR are associated to it.\n *\n *\n */\nexport class Actions<A extends any> {\n\n /**\n * Example:\n * {\n * 0: { request: 'ACTION_NAME_REQUEST', response: 'ACTION_NAME_RESPONSE', error: 'ACTION_NAME_ERROR' }\n * [....]\n * }\n */\n public actions: {\n [k: number]: RestActions;\n } = {};\n\n /**\n * Example:\n * {\n * ACTION_NAME: 0\n * [....]\n * }\n *\n */\n public names: {\n [actionName: string]: number;\n } = {};\n\n /**\n * Example:\n * {\n * 0: 'ACTION_NAME',\n * [....]\n *\n * }\n */\n public codes: {\n [actionCode: number]: string\n } = {};\n\n /**\n * Example:\n * {\n * ACTION_NAME': { request: 'ACTION_NAME_REQUEST', response: 'ACTION_NAME_RESPONSE', error: 'ACTION_NAME_ERROR' }\n * [....]\n * }\n */\n public restActionsByName: {\n [name: string]: RestActions;\n } = {};\n\n constructor(actions: A) {\n Object.keys(actions).forEach((key) => {\n if (+key >= 0) {\n\n this.codes[key] = actions[key];\n\n this.actions[key] = Actions.createAction(actions[key]);\n\n } else {\n this.names[key] = actions[key];\n\n this.restActionsByName[key] = Actions.createAction(key);\n }\n\n });\n }\n\n private static createAction(key: string): RestActions {\n return {\n request: `${key}${REQUEST_SUFFIX}`,\n response: `${key}${RESPONSE_SUFFIX}`,\n error: `${key}${ERROR_SUFFIX}`,\n };\n }\n\n public getByName(actionName: string) {\n return this.names[actionName];\n }\n\n public getByCode(code: number) {\n return this.codes[code];\n }\n\n public getActionsByCode(key: number) {\n return this.actions[key];\n }\n\n public getActionsByName(actionName: string) {\n const code = this.getByName(actionName);\n return this.getActionsByCode(code);\n }\n\n public getActionNameFromChild(childAction: string): string {\n let actionName;\n\n Object.keys(this.restActionsByName).forEach((restAction) => {\n const restActions = this.restActionsByName[restAction];\n if (restActions.response === childAction || restActions.request === childAction || restActions.error === childAction) {\n actionName = restAction;\n }\n });\n\n return actionName;\n }\n\n public getActionCodeFromChild(childAction: string): number {\n let actionCode;\n\n Object.keys(this.actions).forEach((restAction) => {\n const restActions = this.actions[restAction];\n if (restActions.response === childAction || restActions.request === childAction || restActions.error === childAction) {\n actionCode = restAction;\n }\n });\n\n return Number(actionCode);\n }\n\n}\n","import { getDebugger } from '@microgamma/loggator';\n\nexport const StoreMetadata = '@Store';\n\nexport interface StoreOptions {\n initialState: any;\n name: string;\n actions: any;\n useLocalStorage?: boolean;\n}\n\nexport function Store(options: StoreOptions) {\n\n const d = getDebugger(`microphi:@Store:${options.name}`);\n\n return (target) => {\n\n d('running store decorator');\n\n Reflect.defineMetadata(StoreMetadata, options, target);\n };\n}\n\nexport function getStoreMetadata(instance): StoreOptions {\n return Reflect.getMetadata(StoreMetadata, instance.constructor);\n}\n\n\n","import { BaseStore } from './base-store';\nimport { getDebugger } from '@microgamma/loggator';\n\nexport const ReduceMetadata = '@Reduce';\n\nexport interface Reducers {\n [actionName: number]: string;\n}\n\nexport function Reduce(onAction: number) {\n return <Store extends BaseStore<any>>(target: Store, key: string) => {\n const d = getDebugger(`microphi:@Reduce:${target.constructor.name}`);\n\n const reducer = Reflect.getMetadata(ReduceMetadata, target) || {};\n\n reducer[onAction] = key;\n\n d('stored reducers', reducer);\n\n return Reflect.defineMetadata(ReduceMetadata, reducer, target);\n\n };\n}\n\nexport function getReduceMetadata(instance): Reducers {\n return Reflect.getMetadata(ReduceMetadata, instance) || {};\n}\n","import { getDebugger } from '@microgamma/loggator';\nimport { BehaviorSubject, Observable, Subject, throwError } from 'rxjs';\nimport { getStoreMetadata, StoreOptions } from './store';\nimport { Action, Actions, REQUEST_SUFFIX, RESPONSE_SUFFIX } from './actions';\nimport { getReduceMetadata } from './reduce';\nimport { catchError, takeUntil, tap } from 'rxjs/operators';\nimport { OnDestroy } from '@angular/core';\n\nexport abstract class BaseStore<T extends {}> implements OnDestroy {\n\n private logger = getDebugger(`microphi:BaseStore:${this.constructor.name}`);\n\n private readonly storeMetadata: StoreOptions;\n private readonly actionsMetadata: Actions<any>;\n\n private _state: T;\n private get state(): T {\n return this._state;\n }\n private set state(value: T) {\n this.logger('setting new state', value);\n this._state = value;\n this._store$.next(value);\n if (this.storeMetadata.useLocalStorage) {\n this.logger('saving on localStorage');\n localStorage.setItem(this.storeMetadata.name, JSON.stringify(value));\n }\n }\n\n private _store$: BehaviorSubject<T>;\n\n public get store$(): Observable<T> {\n return this._store$.asObservable();\n }\n\n private actions$ = new Subject<{\n type: string,\n payload: any\n }>();\n\n private _loading$ = new Subject<{\n type: string,\n code?: number,\n payload: any,\n status: boolean\n }>();\n\n get loading$(): Observable<{ type: string; code?: number; payload: any; status: boolean }> {\n return this._loading$.asObservable();\n }\n\n private _error$ = new Subject<{\n action: number,\n error: any\n }>();\n\n get error$(): Observable<{ action: number; error: any }> {\n return this._error$.asObservable();\n }\n\n private destroy$: Subject<any> = new Subject<any>();\n\n constructor() {\n\n this.storeMetadata = getStoreMetadata(this);\n this.logger('@Store', this.storeMetadata);\n\n this._store$ = new BehaviorSubject(this.storeMetadata.initialState);\n // dereference initial state so that is does not leak between instances\n this._state = Object.assign( {}, this.storeMetadata.initialState);\n this.logger('InitialState', this.state);\n\n this.actionsMetadata = new Actions(this.storeMetadata.actions);\n\n const reducerMetadata = getReduceMetadata(this);\n this.logger('Reducers', reducerMetadata);\n const remappedReducers = this.parseReducers(reducerMetadata);\n this.logger('remapped reducers', remappedReducers);\n\n\n const effectsMetadata = Reflect.getMetadata('@Effect', this) || {};\n this.logger('Effects', effectsMetadata);\n const remappedEffects = this.remapEffects(effectsMetadata);\n this.logger('remapped effects', remappedEffects);\n\n this.actions$.pipe(\n tap((action: Action) => {\n this._loading$.next({\n type: action.type,\n code: this.actionsMetadata.getActionCodeFromChild(action.type),\n payload: action.payload,\n status: action.type.endsWith('_REQUEST')\n });\n\n }),\n takeUntil(this.destroy$),\n ).subscribe( (action: Action) => {\n this.logger('got type', action);\n\n const type = action.type;\n\n // effects are associated with requests\n if (type.endsWith(REQUEST_SUFFIX)) {\n if (remappedEffects.hasOwnProperty(type)) {\n\n const effectName = remappedEffects[type];\n this.logger('should call', effectName);\n\n\n if (this[effectName] instanceof Function) {\n\n const retValue = this[effectName](action.payload) as Observable<any>;\n\n if (retValue instanceof Observable) {\n retValue.pipe(\n catchError((err) => {\n console.error(`@Effect: ${effectName} thrown the following error`);\n console.error(err);\n this._loading$.next({\n status: false,\n payload: action.payload,\n code: this.actionsMetadata.getActionCodeFromChild(action.type),\n type: action.type,\n });\n this._error$.next({action: this.actionsMetadata.getActionCodeFromChild(action.type), error: err});\n return throwError(err);\n }),\n takeUntil(this.destroy$)\n ).subscribe((value) => {\n this.logger('got data', value);\n\n this.actions$.next({\n type: remappedEffects[effectName],\n payload: value\n });\n });\n }\n\n }\n\n } else {\n // if there is no effect associated with this action then we can proceed calling the reducer associated\n this.actions$.next({\n type: type.replace(REQUEST_SUFFIX, RESPONSE_SUFFIX),\n payload: action.payload\n });\n\n }\n } else if (type.endsWith(RESPONSE_SUFFIX)) {\n\n const fn = remappedReducers[action.type];\n this.logger('should call fn', fn);\n\n if (this[remappedReducers[action.type]]) {\n try {\n this.state = this[remappedReducers[action.type]](this.state, action.payload);\n } catch (e) {\n\n // we don't need to stop loading here at it has already been stopped\n\n console.error(`@Reduce ${fn} thrown an error`, e);\n this._error$.next({action: this.actionsMetadata.getActionCodeFromChild(action.type), error: e});\n }\n }\n\n }\n\n }, (err) => {\n this.logger('got error', err);\n // TODO should handle the error or should we change loading$ to a more generic status$ so we can pass altogether\n // loadings and errors events?\n this._error$.next(err);\n console.error(err);\n });\n\n }\n\n public dispatch(type: number, payload?: any) {\n\n const requestAction = this.actionsMetadata.getActionsByCode(type).request;\n this.logger('dispatching type', requestAction);\n\n this.actions$.next({type: requestAction, payload});\n }\n\n private parseReducers(reducers) {\n const remappedReducers = {};\n\n Object.keys(reducers).forEach((action) => {\n if (+action >= 0) {\n const _action: number = Number(action);\n // this.logger('remapping', type, 'to');\n const realAction = this.actionsMetadata.getActionsByCode(_action).response;\n // this.logger('real type to map to', realAction);\n remappedReducers[realAction] = reducers[action];\n }\n });\n\n return remappedReducers;\n }\n\n private remapEffects(effectsMetadata: {}) {\n const remappedEffects = {};\n\n Object.keys(effectsMetadata).forEach((action) => {\n // effects should react to REQUEST events\n\n if (+action >= 0) {\n const _action = Number(action);\n\n const realAction = this.actionsMetadata.getActionsByCode(_action).request;\n\n remappedEffects[realAction] = effectsMetadata[action];\n // mapping the effect function so that it can return a response type\n remappedEffects[effectsMetadata[action]] = this.actionsMetadata.getActionsByCode(_action).response;\n }\n });\n\n return remappedEffects;\n }\n\n public ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n}\n","import { getDebugger } from '@microgamma/loggator';\nimport { BaseStore } from './base-store';\n\nexport function Effect(onAction: number) {\n\n return <Store extends BaseStore<any>>(target: Store, key: string) => {\n\n const d = getDebugger(`microphi:@Effect:${target.constructor.name}`);\n\n d('decorating', key, 'with type', onAction);\n\n const effects = Reflect.getMetadata('@Effect', target) || {};\n\n effects[onAction] = key;\n\n return Reflect.defineMetadata('@Effect', effects, target);\n };\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class ObservableList<T extends {}> {\n private readonly ids: Set<string> = new Set<string>();\n private data: Map<string, BehaviorSubject<T>> = new Map();\n\n private static difference(setA, setB): Set<string> {\n const _difference: Set<string> = new Set(setA);\n for (const elem of setB) {\n _difference.delete(elem);\n }\n return _difference;\n }\n\n private static intersection(setA, setB): Set<string> {\n const _intersection: Set<string> = new Set();\n for (const elem of setB) {\n if (setA.has(elem)) {\n _intersection.add(elem);\n }\n }\n return _intersection;\n }\n\n private static symmetricDifference(setA, setB): Set<string> {\n const _difference: Set<string> = new Set(setA);\n for (const elem of setB) {\n if (_difference.has(elem)) {\n _difference.delete(elem);\n } else {\n _difference.add(elem);\n }\n }\n return _difference;\n }\n\n constructor(items: T[], private idFieldName = 'id') {\n const ids = items.map((i) => i[this.idFieldName]);\n this.ids = new Set(ids);\n for (const id of ids) {\n this.data.set(id, new BehaviorSubject(items[id]));\n }\n\n\n }\n\n *[Symbol.iterator](): IterableIterator<BehaviorSubject<T>> {\n\n\n // tslint:disable-next-line:forin\n for (const id of this.ids.values()) {\n yield this.data.get(id);\n // yield this.data[id];\n }\n\n }\n\n public push(...items: T[]) {\n const id = this.idFieldName;\n\n for (const item of items) {\n\n if (this.data.has(item[id])) {\n // check whether the item changed;\n\n const storedItem = this.data.get(item[id]).getValue();\n const shouldUpdate = Object.keys(storedItem).some((key) => {\n return storedItem[key] !== item[key];\n });\n\n if (shouldUpdate) {\n this.data.get(item[id]).next(item);\n }\n } else {\n this.ids.add(item[id]);\n this.data.set(item[id], new BehaviorSubject(item));\n }\n\n }\n\n }\n\n public updateOne(item: T) {\n if (this.data.has(item[this.idFieldName])) {\n\n this.data.get(item[this.idFieldName]).next(item);\n } else {\n console.warn('item not found', item);\n }\n }\n\n public toJSON() {\n\n const data = [];\n\n this.data.forEach((value) => {\n data.push(value.getValue());\n });\n\n return data;\n }\n\n /**\n * Will update items that are already present only if they need to be updated and remove items that are not present.\n * @param items items of the list\n */\n public set(...items: T[]): void {\n const newIds: string[] = items.map((i) => i[this.idFieldName]);\n\n const intersection: Set<string> = ObservableList.intersection(this.ids, newIds);\n\n for (const id of intersection) {\n this.updateOne(items[id]);\n }\n\n const itemsToRemove: Set<string> = ObservableList.difference(this.ids, newIds);\n\n for (const id of itemsToRemove) {\n this.removeItem(id);\n }\n\n const itemsToAdd: Set<string> = ObservableList.difference(newIds, this.ids);\n\n for (const id of itemsToAdd) {\n this.addItem(items[id]);\n }\n\n }\n\n /**\n * Remove an item from the list given its id\n * @param id id of the item to remove\n */\n public removeItem(id: string) {\n this.ids.delete(id);\n this.data.delete(id);\n }\n\n /**\n * Adds an new item to the list\n * @param item the item to be added\n */\n private addItem(item: T) {\n const id = item[this.idFieldName];\n this.ids.add(id);\n this.data.set(id, new BehaviorSubject(item));\n\n }\n}\n","import { map } from 'rxjs/operators';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '../store';\nimport { BaseStore } from '../base-store';\nimport { Reduce } from '../reduce';\n\nexport interface HttpState {\n isLoading: boolean;\n error?: HttpErrorResponse;\n}\n\nexport enum HttpActions {\n REQUEST,\n RESPONSE,\n ERROR\n}\n\n@Store({\n name: 'httpStatusStore',\n initialState: {\n isLoading: false,\n error: null\n },\n actions: HttpActions\n})\n@Injectable({\n providedIn: 'root'\n})\nexport class HttpStatusStore extends BaseStore<HttpState> {\n // TODO: add explicit constructor\n\n\n\n public isLoading$ = this.store$.pipe(\n map((state) => {\n return state.isLoading;\n })\n );\n\n\n @Reduce(HttpActions.REQUEST)\n private onRequest(): HttpState {\n return {\n isLoading: true\n };\n }\n\n @Reduce(HttpActions.RESPONSE)\n private onResponse(): HttpState {\n return {\n isLoading: false\n };\n }\n\n @Reduce(HttpActions.ERROR)\n public onError(state: HttpState, err): HttpState {\n return {\n isLoading: false,\n error: err\n };\n }\n\n}\n","import { delay, tap } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { HttpActions, HttpStatusStore } from './http-status.store';\n\n@Injectable()\nexport class HttpStatusInterceptor implements HttpInterceptor {\n constructor(private httpStatusStore: HttpStatusStore) {}\n\n intercept(req: HttpRequest<any>, next: HttpHandler) {\n\n this.httpStatusStore.dispatch(HttpActions.REQUEST);\n\n // extend server response observable with logging\n return next.handle(req)\n .pipe(\n delay(100),\n tap(\n // Succeeds when there is a response; ignore other events\n () => {\n this.httpStatusStore.dispatch(HttpActions.RESPONSE);\n\n },\n // Operation failed; error is an HttpErrorResponse\n (error) => {\n this.httpStatusStore.dispatch(HttpActions.ERROR, error);\n }\n )\n );\n }\n}\n","import { $Keys } from 'utility-types';\n\nexport class List<EntityType extends {}> implements Iterable<EntityType> {\n\n public readonly entities = new Map<any, EntityType>();\n\n /**\n * maps entities position from the original array to their ids\n */\n private readonly ids: any[] = [];\n\n public get size() {\n if (this.ids.length !== this.entities.size) {\n\n throw new Error(`Size Mismatch ${this.ids.length} !== ${this.entities.size}`);\n }\n\n return this.entities.size;\n }\n\n public get(id) {\n return this.entities.get(id);\n }\n private getId(entity: EntityType) {\n return entity[this.IDField];\n }\n\n constructor(entities: EntityType[], private IDField: $Keys<EntityType>) {\n\n this.ids = entities.map((e) => this.getId(e));\n\n entities\n .forEach((item, idx) => {\n const id = item[IDField];\n this.entities.set(id, item);\n });\n }\n\n *[Symbol.iterator](): IterableIterator<EntityType> {\n // tslint:disable-next-line:forin\n for (const idx in this.ids) {\n const id = this.ids[idx];\n yield this.entities.get(id);\n }\n }\n\n public upsert(...entities: EntityType[]) {\n entities.forEach((e) => {\n const id = this.getId(e);\n\n if (!this.entities.has(id)) {\n this.ids.push(id);\n }\n\n this.entities.set(id, e);\n });\n }\n\n public prepend(...entities: EntityType[]) {\n entities.reverse().forEach((e) => {\n const id = this.getId(e);\n\n if (this.entities.has(id)) {\n console.warn(`Entity with id '${id}' already exists, moving to the top of the list. Entity will be updated`);\n this.delete(e);\n }\n\n this.ids.unshift(id);\n\n this.entities.set(id, e);\n\n });\n }\n\n public delete(...entities: EntityType[]) {\n entities.forEach((e) => {\n const id = this.getId(e);\n const indexOfId = this.ids.findIndex((_id) => _id === id);\n\n if (indexOfId < 0) {\n console.warn(`Cannot find id: ${id}`);\n } else {\n this.ids.splice(indexOfId, 1);\n this.entities.delete(id);\n }\n\n });\n }\n\n public append(...entities: EntityType[]) {\n entities.forEach((e) => {\n const id = this.getId(e);\n if (this.entities.has(id)) {\n console.warn(`Entity with id '${id}' already exists, moving to the end of the list. Entity will be updated.`);\n this.delete(e);\n }\n\n this.ids.push(id);\n this.entities.set(id, e);\n });\n }\n}\n","/*\n * Public API Surface of store\n */\n\nexport * from './lib/actions';\nexport * from './lib/base-store';\nexport * from './lib/effect';\nexport * from './lib/reduce';\nexport * from './lib/store';\nexport * from './lib/observable-list/observable-list';\n\nexport * from './lib/http-status/http-status.interceptor';\nexport * from './lib/http-status/http-status.store';\nexport * from './lib/list/list';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/lib/actions.d.ts DELETED
@@ -1,77 +0,0 @@
1
- export declare const REQUEST_SUFFIX = "_REQUEST";
2
- export declare const RESPONSE_SUFFIX = "_RESPONSE";
3
- export declare const ERROR_SUFFIX = "_ERROR";
4
- export interface Action {
5
- type: string;
6
- payload: any;
7
- }
8
- export interface RestActions {
9
- request: string;
10
- response: string;
11
- error: string;
12
- }
13
- /**
14
- * Action are defined with an enum. Such as:
15
- *
16
- * emun {
17
- * GET_ALL,
18
- * GET_ONE,
19
- * DELETE,
20
- * }
21
- *
22
- * For each action defined a REQUEST, a RESPONSE and an ERROR are associated to it.
23
- *
24
- *
25
- */
26
- export declare class Actions<A extends any> {
27
- /**
28
- * Example:
29
- * {
30
- * 0: { request: 'ACTION_NAME_REQUEST', response: 'ACTION_NAME_RESPONSE', error: 'ACTION_NAME_ERROR' }
31
- * [....]
32
- * }
33
- */
34
- actions: {
35
- [k: number]: RestActions;
36
- };
37
- /**
38
- * Example:
39
- * {
40
- * ACTION_NAME: 0
41
- * [....]
42
- * }
43
- *
44
- */
45
- names: {
46
- [actionName: string]: number;
47
- };
48
- /**
49
- * Example:
50
- * {
51
- * 0: 'ACTION_NAME',
52
- * [....]
53
- *
54
- * }
55
- */
56
- codes: {
57
- [actionCode: number]: string;
58
- };
59
- /**
60
- * Example:
61
- * {
62
- * ACTION_NAME': { request: 'ACTION_NAME_REQUEST', response: 'ACTION_NAME_RESPONSE', error: 'ACTION_NAME_ERROR' }
63
- * [....]
64
- * }
65
- */
66
- restActionsByName: {
67
- [name: string]: RestActions;
68
- };
69
- constructor(actions: A);
70
- private static createAction;
71
- getByName(actionName: string): number;
72
- getByCode(code: number): string;
73
- getActionsByCode(key: number): RestActions;
74
- getActionsByName(actionName: string): RestActions;
75
- getActionNameFromChild(childAction: string): string;
76
- getActionCodeFromChild(childAction: string): number;
77
- }
@@ -1,31 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { OnDestroy } from '@angular/core';
3
- export declare abstract class BaseStore<T extends {}> implements OnDestroy {
4
- private logger;
5
- private readonly storeMetadata;
6
- private readonly actionsMetadata;
7
- private _state;
8
- private get state();
9
- private set state(value);
10
- private _store$;
11
- get store$(): Observable<T>;
12
- private actions$;
13
- private _loading$;
14
- get loading$(): Observable<{
15
- type: string;
16
- code?: number;
17
- payload: any;
18
- status: boolean;
19
- }>;
20
- private _error$;
21
- get error$(): Observable<{
22
- action: number;
23
- error: any;
24
- }>;
25
- private destroy$;
26
- constructor();
27
- dispatch(type: number, payload?: any): void;
28
- private parseReducers;
29
- private remapEffects;
30
- ngOnDestroy(): void;
31
- }
package/lib/effect.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { BaseStore } from './base-store';
2
- export declare function Effect(onAction: number): <Store extends BaseStore<any>>(target: Store, key: string) => void;
@@ -1,7 +0,0 @@
1
- import { HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
2
- import { HttpStatusStore } from './http-status.store';
3
- export declare class HttpStatusInterceptor implements HttpInterceptor {
4
- private httpStatusStore;
5
- constructor(httpStatusStore: HttpStatusStore);
6
- intercept(req: HttpRequest<any>, next: HttpHandler): import("rxjs").Observable<import("@angular/common/http").HttpEvent<any>>;
7
- }
@@ -1,17 +0,0 @@
1
- import { HttpErrorResponse } from '@angular/common/http';
2
- import { BaseStore } from '../base-store';
3
- export interface HttpState {
4
- isLoading: boolean;
5
- error?: HttpErrorResponse;
6
- }
7
- export declare enum HttpActions {
8
- REQUEST = 0,
9
- RESPONSE = 1,
10
- ERROR = 2
11
- }
12
- export declare class HttpStatusStore extends BaseStore<HttpState> {
13
- isLoading$: import("rxjs").Observable<boolean>;
14
- private onRequest;
15
- private onResponse;
16
- onError(state: HttpState, err: any): HttpState;
17
- }
@@ -1,29 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- export declare class ObservableList<T extends {}> {
3
- private idFieldName;
4
- private readonly ids;
5
- private data;
6
- private static difference;
7
- private static intersection;
8
- private static symmetricDifference;
9
- constructor(items: T[], idFieldName?: string);
10
- [Symbol.iterator](): IterableIterator<BehaviorSubject<T>>;
11
- push(...items: T[]): void;
12
- updateOne(item: T): void;
13
- toJSON(): any[];
14
- /**
15
- * Will update items that are already present only if they need to be updated and remove items that are not present.
16
- * @param items items of the list
17
- */
18
- set(...items: T[]): void;
19
- /**
20
- * Remove an item from the list given its id
21
- * @param id id of the item to remove
22
- */
23
- removeItem(id: string): void;
24
- /**
25
- * Adds an new item to the list
26
- * @param item the item to be added
27
- */
28
- private addItem;
29
- }
package/lib/reduce.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import { BaseStore } from './base-store';
2
- export declare const ReduceMetadata = "@Reduce";
3
- export interface Reducers {
4
- [actionName: number]: string;
5
- }
6
- export declare function Reduce(onAction: number): <Store extends BaseStore<any>>(target: Store, key: string) => void;
7
- export declare function getReduceMetadata(instance: any): Reducers;
package/lib/store.d.ts DELETED
@@ -1,9 +0,0 @@
1
- export declare const StoreMetadata = "@Store";
2
- export interface StoreOptions {
3
- initialState: any;
4
- name: string;
5
- actions: any;
6
- useLocalStorage?: boolean;
7
- }
8
- export declare function Store(options: StoreOptions): (target: any) => void;
9
- export declare function getStoreMetadata(instance: any): StoreOptions;
@@ -1,4 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
@@ -1 +0,0 @@
1
- {"__symbolic":"module","version":4,"metadata":{"REQUEST_SUFFIX":"_REQUEST","RESPONSE_SUFFIX":"_RESPONSE","ERROR_SUFFIX":"_ERROR","Action":{"__symbolic":"interface"},"RestActions":{"__symbolic":"interface"},"Actions":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":77,"character":23,"context":{"typeName":"A"},"module":"./lib/actions"}]}],"getByName":[{"__symbolic":"method"}],"getByCode":[{"__symbolic":"method"}],"getActionsByCode":[{"__symbolic":"method"}],"getActionsByName":[{"__symbolic":"method"}],"getActionNameFromChild":[{"__symbolic":"method"}],"getActionCodeFromChild":[{"__symbolic":"method"}]},"statics":{"createAction":{"__symbolic":"function","parameters":["key"],"value":{"request":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"reference","name":"key"},"right":"_REQUEST"},"response":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"reference","name":"key"},"right":"_RESPONSE"},"error":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"reference","name":"key"},"right":"_ERROR"}}}}},"BaseStore":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor"}],"dispatch":[{"__symbolic":"method"}],"parseReducers":[{"__symbolic":"method"}],"remapEffects":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"Effect":{"__symbolic":"function","parameters":["onAction"],"value":{"__symbolic":"error","message":"Lambda not supported","line":5,"character":9,"module":"./lib/effect"}},"ReduceMetadata":"@Reduce","Reducers":{"__symbolic":"interface"},"Reduce":{"__symbolic":"function","parameters":["onAction"],"value":{"__symbolic":"error","message":"Lambda not supported","line":10,"character":9,"module":"./lib/reduce"}},"getReduceMetadata":{"__symbolic":"function","parameters":["instance"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Reflect"},"member":"getMetadata"},"arguments":["@Reduce",{"__symbolic":"reference","name":"instance"}]},"right":{}}},"StoreMetadata":"@Store","StoreOptions":{"__symbolic":"interface"},"Store":{"__symbolic":"function"},"getStoreMetadata":{"__symbolic":"function","parameters":["instance"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Reflect"},"member":"getMetadata"},"arguments":["@Store",{"__symbolic":"select","expression":{"__symbolic":"reference","name":"instance"},"member":"constructor"}]}},"ObservableList":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":36,"character":21,"context":{"typeName":"T"},"module":"./lib/observable-list/observable-list"}]},null]}],"push":[{"__symbolic":"method"}],"updateOne":[{"__symbolic":"method"}],"toJSON":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}],"addItem":[{"__symbolic":"method"}]}},"HttpStatusInterceptor":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"HttpStatusStore"}]}],"intercept":[{"__symbolic":"method"}]}},"HttpState":{"__symbolic":"interface"},"HttpActions":{"REQUEST":0,"RESPONSE":1,"ERROR":2},"HttpStatusStore":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseStore"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Store"},"arguments":[{"name":"httpStatusStore","initialState":{"isLoading":false,"error":null},"actions":{"__symbolic":"reference","name":"HttpActions"}}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":26,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"onRequest":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Reduce"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"HttpActions"},"member":"REQUEST"}]}]}],"onResponse":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Reduce"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"HttpActions"},"member":"RESPONSE"}]}]}],"onError":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Reduce"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"HttpActions"},"member":"ERROR"}]}]}]},"statics":{"ɵprov":{}}},"List":{"__symbolic":"class","arity":1,"members":{"get":[{"__symbolic":"method"}],"getId":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":27,"character":24,"context":{"typeName":"EntityType"},"module":"./lib/list/list"}]},{"__symbolic":"reference","name":"$Keys","module":"utility-types","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":27,"character":61,"context":{"typeName":"EntityType"},"module":"./lib/list/list"}]}]}],"upsert":[{"__symbolic":"method"}],"prepend":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"append":[{"__symbolic":"method"}]}}},"origins":{"REQUEST_SUFFIX":"./lib/actions","RESPONSE_SUFFIX":"./lib/actions","ERROR_SUFFIX":"./lib/actions","Action":"./lib/actions","RestActions":"./lib/actions","Actions":"./lib/actions","BaseStore":"./lib/base-store","Effect":"./lib/effect","ReduceMetadata":"./lib/reduce","Reducers":"./lib/reduce","Reduce":"./lib/reduce","getReduceMetadata":"./lib/reduce","StoreMetadata":"./lib/store","StoreOptions":"./lib/store","Store":"./lib/store","getStoreMetadata":"./lib/store","ObservableList":"./lib/observable-list/observable-list","HttpStatusInterceptor":"./lib/http-status/http-status.interceptor","HttpState":"./lib/http-status/http-status.store","HttpActions":"./lib/http-status/http-status.store","HttpStatusStore":"./lib/http-status/http-status.store","List":"./lib/list/list"},"importAs":"@microphi/store"}