@ng-atomic/common 19.34.0 → 19.36.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 (69) hide show
  1. package/fesm2022/ng-atomic-common-directives-active-control.mjs.map +1 -1
  2. package/fesm2022/ng-atomic-common-directives-molecules-column.mjs.map +1 -1
  3. package/fesm2022/ng-atomic-common-interceptors-authorization.mjs +3 -1
  4. package/fesm2022/ng-atomic-common-interceptors-authorization.mjs.map +1 -1
  5. package/fesm2022/ng-atomic-common-interceptors-throttle.mjs.map +1 -1
  6. package/fesm2022/ng-atomic-common-pipes-domain.mjs +2 -2
  7. package/fesm2022/ng-atomic-common-pipes-domain.mjs.map +1 -1
  8. package/fesm2022/ng-atomic-common-pipes-pagination.mjs.map +1 -1
  9. package/fesm2022/ng-atomic-common-pipes-smart-field.mjs +1 -1
  10. package/fesm2022/ng-atomic-common-pipes-smart-field.mjs.map +1 -1
  11. package/fesm2022/ng-atomic-common-pipes-sort-by.mjs +2 -2
  12. package/fesm2022/ng-atomic-common-pipes-sort-by.mjs.map +1 -1
  13. package/fesm2022/ng-atomic-common-services-auth.mjs.map +1 -1
  14. package/fesm2022/ng-atomic-common-services-breakpoint.mjs +3 -2
  15. package/fesm2022/ng-atomic-common-services-breakpoint.mjs.map +1 -1
  16. package/fesm2022/ng-atomic-common-services-fab.mjs.map +1 -1
  17. package/fesm2022/ng-atomic-common-services-form-columns.mjs.map +1 -1
  18. package/fesm2022/ng-atomic-common-services-form-json-schema.mjs +1 -1
  19. package/fesm2022/ng-atomic-common-services-form-json-schema.mjs.map +1 -1
  20. package/fesm2022/ng-atomic-common-services-form-sort.mjs.map +1 -1
  21. package/fesm2022/ng-atomic-common-services-form.mjs +1 -1
  22. package/fesm2022/ng-atomic-common-services-form.mjs.map +1 -1
  23. package/fesm2022/ng-atomic-common-services-root-property.mjs +10 -7
  24. package/fesm2022/ng-atomic-common-services-root-property.mjs.map +1 -1
  25. package/fesm2022/ng-atomic-common-services-side-app.mjs.map +1 -1
  26. package/fesm2022/ng-atomic-common-services-spreadsheet.mjs +4 -4
  27. package/fesm2022/ng-atomic-common-services-spreadsheet.mjs.map +1 -1
  28. package/fesm2022/ng-atomic-common-services-ui.mjs +5 -4
  29. package/fesm2022/ng-atomic-common-services-ui.mjs.map +1 -1
  30. package/fesm2022/ng-atomic-common-stores-entities.mjs +3 -1
  31. package/fesm2022/ng-atomic-common-stores-entities.mjs.map +1 -1
  32. package/fesm2022/ng-atomic-common-stores-selection.mjs.map +1 -1
  33. package/fesm2022/ng-atomic-common-stores-sort.mjs.map +1 -1
  34. package/fesm2022/ng-atomic-common-utils.mjs +5 -5
  35. package/fesm2022/ng-atomic-common-utils.mjs.map +1 -1
  36. package/fesm2022/ng-atomic-common.mjs.map +1 -1
  37. package/package.json +3 -3
  38. package/types/ng-atomic-common-directives-active-control.d.ts +2 -2
  39. package/types/ng-atomic-common-directives-molecules-column.d.ts +7 -7
  40. package/types/ng-atomic-common-interceptors-authorization.d.ts.map +1 -1
  41. package/types/ng-atomic-common-interceptors-throttle.d.ts +1 -1
  42. package/types/ng-atomic-common-interceptors-throttle.d.ts.map +1 -1
  43. package/types/ng-atomic-common-pipes-data-accessor.d.ts +1 -1
  44. package/types/ng-atomic-common-pipes-index-length.d.ts +1 -1
  45. package/types/ng-atomic-common-pipes-index.d.ts +1 -1
  46. package/types/ng-atomic-common-pipes-pagination.d.ts +1 -1
  47. package/types/ng-atomic-common-pipes-pagination.d.ts.map +1 -1
  48. package/types/ng-atomic-common-pipes-sort-by.d.ts +1 -1
  49. package/types/ng-atomic-common-pipes-sort-by.d.ts.map +1 -1
  50. package/types/ng-atomic-common-services-auth.d.ts +4 -4
  51. package/types/ng-atomic-common-services-breakpoint.d.ts +1 -1
  52. package/types/ng-atomic-common-services-breakpoint.d.ts.map +1 -1
  53. package/types/ng-atomic-common-services-fab.d.ts +1 -1
  54. package/types/ng-atomic-common-services-form-_index.d.ts +12 -12
  55. package/types/ng-atomic-common-services-form-json-schema.d.ts +1 -1
  56. package/types/ng-atomic-common-services-form-json-schema.d.ts.map +1 -1
  57. package/types/ng-atomic-common-services-form-pagination.d.ts +3 -3
  58. package/types/ng-atomic-common-services-form-sort.d.ts +3 -3
  59. package/types/ng-atomic-common-services-form-sort.d.ts.map +1 -1
  60. package/types/ng-atomic-common-services-language.d.ts +1 -1
  61. package/types/ng-atomic-common-services-root-property.d.ts +5 -65
  62. package/types/ng-atomic-common-services-root-property.d.ts.map +1 -1
  63. package/types/ng-atomic-common-services-spreadsheet.d.ts +8 -8
  64. package/types/ng-atomic-common-services-spreadsheet.d.ts.map +1 -1
  65. package/types/ng-atomic-common-services-ui.d.ts +6 -6
  66. package/types/ng-atomic-common-stores-entities.d.ts +5 -5
  67. package/types/ng-atomic-common-stores-entities.d.ts.map +1 -1
  68. package/types/ng-atomic-common-utils.d.ts +8 -8
  69. package/types/ng-atomic-common.d.ts +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-stores-entities.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/entities/proxy-id.service.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/task-composer.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/entity-store-adapter.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/entity-store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/entity-store-manager.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/di.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/ng-atomic-common-stores-entities.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n\n@Injectable({providedIn: 'root'})\nexport class ProxyIdService {\n proxyMap = new Map<string, string>();\n\n isProxyId(id: string | null): boolean {\n return !!id?.startsWith('proxy-');\n }\n\n proxyId(_id: string): string {\n const id = this.isProxyId(_id) ? _id : `proxy-${this.proxyMap.size}`;\n if (!this.proxyMap.get(id)) this.proxyMap.set(id, id);\n return id;\n }\n\n update(proxyId: string, id: string) {\n this.proxyMap.set(proxyId, id);\n }\n\n resolve(proxyIdOrId: string): string {\n return this.isProxyId(proxyIdOrId) ? this.proxyMap.get(proxyIdOrId) : proxyIdOrId;\n }\n}\n","import { Injectable, inject } from \"@angular/core\";\nimport { merge } from \"lodash-es\";\nimport { ProxyIdService } from \"./proxy-id.service\";\n\nexport type Entity = {id: string};\n\ninterface BaseTask {\n type: 'create' | 'update' | 'delete' | 'noop';\n timestamp: number;\n}\n\ninterface CreateAction<T extends Entity> extends BaseTask {\n type: 'create';\n payload: T;\n}\n\ninterface UpdateAction<T extends Entity> extends BaseTask {\n type: 'update';\n payload: Partial<T> & Entity;\n}\n\ninterface DeleteAction extends BaseTask {\n type: 'delete';\n payload: Entity;\n}\n\ninterface NoopAction extends BaseTask {\n type: 'noop';\n payload: {};\n}\n\nexport type Task<T extends Entity> = CreateAction<T> | UpdateAction<T> | DeleteAction | NoopAction;\n\nexport function pushMap<T>(map: Map<string, T[]>, id: string, item: T): Map<string, T[]> {\n const items = map.get(id) ?? [];\n items.push(item);\n map.set(id, items);\n return map;\n}\n\n@Injectable({providedIn: 'root'})\nexport class TaskComposerService {\n readonly proxyId = inject(ProxyIdService);\n\n composeTasks<T extends Entity>(tasks: Task<T>[]): Task<T>[] {\n const map = new Map<string, Task<T>[]>();\n tasks.sort((a, b) => a.timestamp - b.timestamp).forEach((task) => {\n let id = (task.payload as any)?.id;\n switch(task.type) {\n case 'noop':\n break\n case 'create':\n id = this.proxyId.proxyId(task.payload.id);\n pushMap(map, id, {...task, payload: {...task.payload, id}} as Task<T>);\n break;\n case 'update':\n case 'delete':\n pushMap(map, this.proxyId.resolve(id), task);\n break;\n }\n });\n\n const _tasks: Task<T>[] = [];\n for (const tasks of map.values()) {\n _tasks.push(this.compose(tasks));\n }\n return _tasks.filter(task => task.type !== 'noop');\n }\n\n compose<T extends Entity>(tasks: Task<T>[]): Task<T> {\n let created = false;\n return tasks.reduce((a, b) => {\n switch(b.type) {\n case 'create':\n created = true;\n return {\n type: 'create',\n payload: b.payload,\n timestamp: b.timestamp,\n } as Task<T>;\n case 'update':\n return {\n type: created ? 'create' : 'update',\n payload: merge(a.payload, b.payload),\n timestamp: b.timestamp,\n } as Task<T>;\n case 'delete':\n return {\n type: created ? 'noop' : 'delete',\n payload: b.payload,\n timestamp: b.timestamp,\n } as Task<T>;\n }\n }, {type: 'noop', payload: {}} as Task<T>)\n }\n}\n","\nimport { InjectionToken, Injector, inject } from '@angular/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { Observable } from 'rxjs';\nimport { Entity } from './task-composer';\n\nexport class EntityStoreAdapter<E extends Entity> {\n list?(): Observable<E[]> {\n throw new Error('not implemented');\n }\n\n create?(entity: E): Promise<E> {\n throw new Error('not implemented');\n }\n\n update?(entity: Partial<E> & Pick<E, 'id'>): Promise<void> {\n throw new Error('not implemented');\n }\n\n delete?(entity: Pick<E, 'id'>): Promise<void> {\n throw new Error('not implemented');\n }\n\n save?(entity: E): Promise<E> {\n throw new Error('not implemented');\n }\n}\n\nexport const ENTITY_STORE_ADAPTER = new InjectionToken<{\n entity: Type<Entity>,\n adapter: EntityStoreAdapter<Entity>\n}[]>('ENTITY_STORE_ADAPTER');\n\nexport function provideEntityStoreAdapter<E extends Entity>(\n entity: Type<E>,\n adapterFactory: (injector: Injector) => EntityStoreAdapter<E>,\n) {\n return {\n provide: ENTITY_STORE_ADAPTER,\n multi: true,\n useFactory: (injector: Injector) => {\n return { entity, adapter: adapterFactory(injector) };\n },\n deps: [Injector]\n };\n}\n\nexport function injectEntityStoreAdapter<E extends Entity>(entity: Type<E>): EntityStoreAdapter<E> {\n const adapters = inject(ENTITY_STORE_ADAPTER, {optional: true}) ?? [];\n return adapters.find(adapter => adapter.entity === entity)?.adapter as EntityStoreAdapter<E>;\n}\n","import { toSignal } from '@angular/core/rxjs-interop';\nimport { inject } from '@angular/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { EntityState, EntityAdapter, createEntityAdapter } from '@ngrx/entity';\nimport { Observable, ReplaySubject, Subject, isObservable, of } from 'rxjs';\nimport { bufferTime, distinctUntilChanged, filter, map, shareReplay, switchMap, tap } from 'rxjs/operators';\nimport { merge } from 'lodash-es';\nimport { Entity, Task, TaskComposerService } from './task-composer';\nimport { ProxyIdService } from './proxy-id.service';\nimport { EntityStoreAdapter, injectEntityStoreAdapter } from './entity-store-adapter';\n\nexport const distinctUntilChangedArray = <T>() => {\n return distinctUntilChanged<T>((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur));\n};\n\nexport class BaseEntityStore<E extends Entity> extends ComponentStore<EntityState<E>> {\n protected adapter: EntityStoreAdapter<E>;\n\n protected readonly refresh$ = new ReplaySubject<void>(1);\n protected get selectors() { return this.entityAdapter.getSelectors(); }\n readonly all$ = this.select((state) => this.selectors.selectAll(state));\n readonly all = toSignal(this.all$);\n readonly total$ = this.select((state) => this.selectors.selectTotal(state));\n readonly total = toSignal(this.total$);\n\n /** @deprecated use BaseEntityStore.all$ instead. */\n readonly entities$ = this.all$\n /** @deprecated use BaseEntityStore.all instead. */\n readonly entities = this.all;\n /** @deprecated use BaseEntityStore.total$ instead. */\n readonly size$ = this.total$;\n\n readonly addOne = this.updater((state, entity: E) => this.entityAdapter.addOne(entity, state));\n readonly addMany = this.updater((state, entities: E[]) => this.entityAdapter.addMany(entities, state));\n readonly updateOne = this.updater((state, update: {id: string, changes: Partial<E>}) => this.entityAdapter.updateOne(update, state));\n readonly updateMany = this.updater((state, updates: {id: string, changes: Partial<E>}[]) => this.entityAdapter.updateMany(updates, state));\n readonly upsertOne = this.updater((state, entity: E) => this.entityAdapter.upsertOne(entity, state));\n readonly upsertMany = this.updater((state, entities: E[]) => this.entityAdapter.upsertMany(entities, state));\n readonly removeOne = this.updater((state, id: string) => this.entityAdapter.removeOne(id, state));\n readonly removeMany = this.updater((state, ids: string[]) => this.entityAdapter.removeMany(ids, state));\n readonly removeAll = this.updater((state) => this.entityAdapter.removeAll(state));\n readonly setOne = this.updater((state, entity: E) => this.entityAdapter.setOne(entity, state));\n readonly setAll = this.updater((state, entities: E[]) => this.entityAdapter.setAll(entities, state));\n\n constructor(\n protected entity: Type<E>,\n protected entityAdapter: EntityAdapter<E> = createEntityAdapter<E>({selectId: (entity) => entity.id, sortComparer: false}),\n ) {\n super(entityAdapter.getInitialState());\n this.adapter = injectEntityStoreAdapter(entity);\n this.getEntities(this.refresh$);\n this.refresh();\n }\n\n protected getEntities = this.effect((refresh$: Observable<void>) => refresh$.pipe(\n switchMap(() => this.adapter?.list() ?? of([])),\n tap((entities: E[]) => this.setAll(entities)),\n ));\n\n refresh() {\n this.refresh$.next();\n }\n\n mapToOne(valueOrObs: string | Observable<string>): Observable<E> {\n const wrap = (valueOrObs: string | Observable<string>) => isObservable(valueOrObs) ? valueOrObs : of(valueOrObs);\n return wrap(valueOrObs).pipe(\n switchMap(id => this.select((state) => this.selectors.selectEntities(state)[id])),\n );\n }\n\n}\n\nexport class EntityStore<E extends Entity> extends BaseEntityStore<E> {\n protected proxyId = inject(ProxyIdService, {});\n protected composer = inject(TaskComposerService);\n protected taskSubject$ = new Subject<Task<E>>();\n protected task$: Observable<Task<E>> = this.taskSubject$.pipe(\n map(task => {\n switch(task.type) {\n case 'create': return merge(task, {payload: {id: this.proxyId.proxyId(task.payload.id)}});\n default: return task;\n }\n }),\n shareReplay(1),\n );\n protected composedTasks$ = this.task$.pipe(\n bufferTime(5 * 1000),\n filter(tasks => tasks.length > 0),\n map((tasks) => this.composer.composeTasks(tasks)),\n );\n\n constructor(\n protected entity: Type<E>,\n protected entityAdapter: EntityAdapter<E> = createEntityAdapter<E>({selectId: (entity) => entity.id, sortComparer: false}),\n ) {\n super(entity, entityAdapter);\n this.task$.subscribe((task: Task<E>) => this.runTask(task));\n this.composedTasks$.subscribe(tasks => this.runComposedTasks(tasks));\n }\n\n dispatch(action: Task<E>) {\n this.taskSubject$.next(action);\n }\n\n protected async runTask(task: Task<E>): Promise<any> {\n switch(task.type) {\n case 'create': return this.addOne(task.payload);\n case 'update': return this.updateOne({id: task.payload.id, changes: task.payload});\n case 'delete': return this.removeOne(task.payload.id);\n }\n }\n\n protected async runComposedTasks(tasks: Task<E>[]): Promise<void> {\n return Promise.all(tasks.map((task) => {\n switch(task.type) {\n case 'create': return this.adapter.create(task.payload)\n .then((entity) => {\n this.proxyId.update(task.payload.id, entity.id);\n const _entity = this.state().entities[task.payload.id];\n this.removeOne(task.payload.id);\n this.addOne({..._entity, id: entity.id});\n });\n case 'update': return this.adapter.update({\n ...task.payload,\n id: this.proxyId.resolve(task.payload.id),\n });\n case 'delete': return this.adapter.delete({\n ...task.payload,\n id: this.proxyId.resolve(task.payload.id),\n } as any);\n }\n }))\n .then(() => this.onSyncSucceeded())\n .catch(() => this.onSyncFailed());\n }\n\n protected onSyncFailed() { }\n protected onSyncSucceeded() { }\n\n create(payload: E): Promise<E> {\n return this.adapter.create(payload);\n }\n\n update(payload: Pick<E, 'id'> & Partial<E>): Promise<void> {\n return this.adapter.update(payload);\n }\n\n delete(payload: Pick<E, 'id'>): Promise<void> {\n return this.adapter.delete(payload);\n }\n\n save(payload: E): Promise<E> {\n return this.adapter.save(payload);\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { Entity } from './task-composer';\nimport { EntityStore } from './entity-store';\nexport { distinctUntilChangedArray } from './entity-store';\n\n@Injectable({providedIn: 'root'})\nexport class EntityStoreService {\n protected storeMap = new Map<Type<Entity>, EntityStore<Entity>>();\n\n get<E extends Entity>(Entity: Type<E>): EntityStore<E> {\n if (!this.storeMap.has(Entity)) {\n this.storeMap.set(Entity, new EntityStore(Entity));\n }\n return this.storeMap.get(Entity) as EntityStore<E>;\n }\n}\n\nexport function injectEntityStore<E extends Entity>(Entity: Type<E>): EntityStore<E> {\n return inject(EntityStoreService).get(Entity);\n}\n","import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { Signal, computed, inject } from '@angular/core';\nimport { Resolver, BaseResolver, Type } from '@nx-ddd/common/domain';\nimport { injectResolver$ } from '@ng-atomic/common/utils';\nimport { Observable, combineLatest, isObservable, of, filter, map, shareReplay, switchMap } from 'rxjs';\nimport { Entity } from './task-composer';\nimport { EntityStore } from './entity-store';\nimport { injectEntityStore } from './entity-store-manager';\nimport { derivedAsync } from 'ngxtension/derived-async';\n\ntype OneProps<V> = {id: V, [key: string]: V};\ntype AllProps<V> = {[key: string]: V};\n\nexport function injectOne$<T extends Entity>(\n Entity: Type<T>,\n params: OneProps<Observable<any>>,\n resolverType: Type<BaseResolver<T>> = Resolver\n): Observable<T> {\n if (resolverType) {\n return combineLatest({\n resolver: injectResolver$(resolverType, params),\n Entity: injectEntityStore(Entity).mapToOne(params.id).pipe(\n filter((Entity) => !!Entity)\n ),\n }).pipe(\n map(({ resolver, Entity }) => resolver.resolve(Entity)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n }\n\n return injectEntityStore(Entity).mapToOne(params.id).pipe(\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nfunction signalMapToObsMap(map: AllProps<Signal<any>>): AllProps<Observable<any>> {\n return Object.entries(map).reduce((acc, [key, value]) => {\n acc[key] = toObservable(value as any);\n return acc;\n }, {} as AllProps<Observable<any>>);\n}\n\n\nexport function injectOne<T extends Entity>(\n Entity: Type<T>,\n params: OneProps<Signal<any>>,\n resolverType: Type<BaseResolver<T>> = Resolver\n) {\n return toSignal(injectOne$(Entity, signalMapToObsMap(params) as any, resolverType));\n}\n\nexport function injectAll$<T extends Entity>(\n Entity: Type<T>,\n params: Record<string, Observable<any>> = {},\n resolverType: Type<BaseResolver<T>> = Resolver\n) {\n if (resolverType) {\n return combineLatest({\n resolver: injectResolver$(resolverType, params),\n entities: injectEntityStore(Entity).all$,\n }).pipe(\n map(({ resolver, entities }) => resolver.resolveMany(entities)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n }\n\n return injectEntityStore(Entity).entities$.pipe(\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport const callSignalMap = <T extends Record<string, Signal<any>>>(map: T): Signal<T> => {\n return computed(() => Object.entries(map).reduce((acc, [key, value]) => {\n return {...acc, [key]: value()};\n }, {} as T));\n}\n\n// export function injectAll<T extends Entity>(\n// Entity: Type<T>,\n// params: Record<string, Signal<any>> = {},\n// resolverType?: new (params: Record<string, any>) => Resolver<T>\n// ) {\n// const store = injectEntityStore(Entity);\n// if (resolverType) {\n// return computed(() => {\n// const resolver = getResolver(resolverType, callSignalMap(params)());\n// const items = resolver.resolveMany(store.all());\n// return items;\n// });\n// }\n// return computed(() => store.all());\n// }\n\nexport function injectAll<T extends Entity>(\n Entity: Type<T>,\n params: AllProps<Signal<any>> = {},\n resolverType: Type<BaseResolver<T>> = Resolver\n): Signal<T[]> {\n const $params = signalMapToObsMap(params);\n const all$ = injectAll$(Entity, $params, resolverType);\n return derivedAsync(() => all$, { initialValue: [] });\n}\n\nexport type ValueOrObservable<T> = T | Observable<T>;\n\nexport function mapToOne$<T extends {id: string}>(\n storeType: new () => EntityStore<T>,\n keyOrKey$: ValueOrObservable<string>,\n): Observable<T> {\n const store = inject<EntityStore<T>>(storeType, {});\n const key$ = isObservable(keyOrKey$) ? keyOrKey$ : of(keyOrKey$);\n return key$.pipe(switchMap(key => store.mapToOne(key)));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["filter","map","shareReplay","switchMap"],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-common-stores-entities.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/entities/proxy-id.service.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/task-composer.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/entity-store-adapter.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/entity-store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/entity-store-manager.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/di.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/ng-atomic-common-stores-entities.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n\n@Injectable({providedIn: 'root'})\nexport class ProxyIdService {\n proxyMap = new Map<string, string>();\n\n isProxyId(id: string | null): boolean {\n return !!id?.startsWith('proxy-');\n }\n\n proxyId(_id: string): string {\n const id = this.isProxyId(_id) ? _id : `proxy-${this.proxyMap.size}`;\n if (!this.proxyMap.get(id)) this.proxyMap.set(id, id);\n return id;\n }\n\n update(proxyId: string, id: string) {\n this.proxyMap.set(proxyId, id);\n }\n\n resolve(proxyIdOrId: string): string {\n return this.isProxyId(proxyIdOrId) ? this.proxyMap.get(proxyIdOrId)! : proxyIdOrId;\n }\n}\n","import { Injectable, inject } from \"@angular/core\";\nimport { merge } from \"lodash-es\";\nimport { ProxyIdService } from \"./proxy-id.service\";\n\nexport type Entity = {id: string};\n\ninterface BaseTask {\n type: 'create' | 'update' | 'delete' | 'noop';\n timestamp: number;\n}\n\ninterface CreateAction<T extends Entity> extends BaseTask {\n type: 'create';\n payload: T;\n}\n\ninterface UpdateAction<T extends Entity> extends BaseTask {\n type: 'update';\n payload: Partial<T> & Entity;\n}\n\ninterface DeleteAction extends BaseTask {\n type: 'delete';\n payload: Entity;\n}\n\ninterface NoopAction extends BaseTask {\n type: 'noop';\n payload: {};\n}\n\nexport type Task<T extends Entity> = CreateAction<T> | UpdateAction<T> | DeleteAction | NoopAction;\n\nexport function pushMap<T>(map: Map<string, T[]>, id: string, item: T): Map<string, T[]> {\n const items = map.get(id) ?? [];\n items.push(item);\n map.set(id, items);\n return map;\n}\n\n@Injectable({providedIn: 'root'})\nexport class TaskComposerService {\n readonly proxyId = inject(ProxyIdService);\n\n composeTasks<T extends Entity>(tasks: Task<T>[]): Task<T>[] {\n const map = new Map<string, Task<T>[]>();\n tasks.sort((a, b) => a.timestamp - b.timestamp).forEach((task) => {\n let id = (task.payload as any)?.id;\n switch(task.type) {\n case 'noop':\n break\n case 'create':\n id = this.proxyId.proxyId(task.payload.id);\n pushMap(map, id, {...task, payload: {...task.payload, id}} as Task<T>);\n break;\n case 'update':\n case 'delete':\n pushMap(map, this.proxyId.resolve(id), task);\n break;\n }\n });\n\n const _tasks: Task<T>[] = [];\n for (const tasks of map.values()) {\n _tasks.push(this.compose(tasks));\n }\n return _tasks.filter(task => task.type !== 'noop');\n }\n\n compose<T extends Entity>(tasks: Task<T>[]): Task<T> {\n let created = false;\n return tasks.reduce<Task<T>>((a, b) => {\n switch(b.type) {\n case 'create':\n created = true;\n return {\n type: 'create',\n payload: b.payload,\n timestamp: b.timestamp,\n } as Task<T>;\n case 'update':\n return {\n type: created ? 'create' : 'update',\n payload: merge(a.payload, b.payload),\n timestamp: b.timestamp,\n } as Task<T>;\n case 'delete':\n return {\n type: created ? 'noop' : 'delete',\n payload: b.payload,\n timestamp: b.timestamp,\n } as Task<T>;\n default:\n return a;\n }\n }, {type: 'noop', payload: {}} as Task<T>)\n }\n}\n","\nimport { InjectionToken, Injector, inject } from '@angular/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { Observable } from 'rxjs';\nimport { Entity } from './task-composer';\n\nexport class EntityStoreAdapter<E extends Entity> {\n list?(): Observable<E[]> {\n throw new Error('not implemented');\n }\n\n create?(entity: E): Promise<E> {\n throw new Error('not implemented');\n }\n\n update?(entity: Partial<E> & Pick<E, 'id'>): Promise<void> {\n throw new Error('not implemented');\n }\n\n delete?(entity: Pick<E, 'id'>): Promise<void> {\n throw new Error('not implemented');\n }\n\n save?(entity: E): Promise<E> {\n throw new Error('not implemented');\n }\n}\n\nexport const ENTITY_STORE_ADAPTER = new InjectionToken<{\n entity: Type<Entity>,\n adapter: EntityStoreAdapter<Entity>\n}[]>('ENTITY_STORE_ADAPTER');\n\nexport function provideEntityStoreAdapter<E extends Entity>(\n entity: Type<E>,\n adapterFactory: (injector: Injector) => EntityStoreAdapter<E>,\n) {\n return {\n provide: ENTITY_STORE_ADAPTER,\n multi: true,\n useFactory: (injector: Injector) => {\n return { entity, adapter: adapterFactory(injector) };\n },\n deps: [Injector]\n };\n}\n\nexport function injectEntityStoreAdapter<E extends Entity>(entity: Type<E>): EntityStoreAdapter<E> {\n const adapters = inject(ENTITY_STORE_ADAPTER, {optional: true}) ?? [];\n return adapters.find(adapter => adapter.entity === entity)?.adapter as EntityStoreAdapter<E>;\n}\n","import { toSignal } from '@angular/core/rxjs-interop';\nimport { inject } from '@angular/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { EntityState, EntityAdapter, createEntityAdapter } from '@ngrx/entity';\nimport { Observable, ReplaySubject, Subject, isObservable, of } from 'rxjs';\nimport { bufferTime, distinctUntilChanged, filter, map, shareReplay, switchMap, tap } from 'rxjs/operators';\nimport { merge } from 'lodash-es';\nimport { Entity, Task, TaskComposerService } from './task-composer';\nimport { ProxyIdService } from './proxy-id.service';\nimport { EntityStoreAdapter, injectEntityStoreAdapter } from './entity-store-adapter';\n\nexport const distinctUntilChangedArray = <T>() => {\n return distinctUntilChanged<T>((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur));\n};\n\nexport class BaseEntityStore<E extends Entity> extends ComponentStore<EntityState<E>> {\n protected adapter: EntityStoreAdapter<E>;\n\n protected readonly refresh$ = new ReplaySubject<void>(1);\n protected get selectors() { return this.entityAdapter.getSelectors(); }\n readonly all$ = this.select((state) => this.selectors.selectAll(state));\n readonly all = toSignal(this.all$);\n readonly total$ = this.select((state) => this.selectors.selectTotal(state));\n readonly total = toSignal(this.total$);\n\n /** @deprecated use BaseEntityStore.all$ instead. */\n readonly entities$ = this.all$\n /** @deprecated use BaseEntityStore.all instead. */\n readonly entities = this.all;\n /** @deprecated use BaseEntityStore.total$ instead. */\n readonly size$ = this.total$;\n\n readonly addOne = this.updater((state, entity: E) => this.entityAdapter.addOne(entity, state));\n readonly addMany = this.updater((state, entities: E[]) => this.entityAdapter.addMany(entities, state));\n readonly updateOne = this.updater((state, update: {id: string, changes: Partial<E>}) => this.entityAdapter.updateOne(update, state));\n readonly updateMany = this.updater((state, updates: {id: string, changes: Partial<E>}[]) => this.entityAdapter.updateMany(updates, state));\n readonly upsertOne = this.updater((state, entity: E) => this.entityAdapter.upsertOne(entity, state));\n readonly upsertMany = this.updater((state, entities: E[]) => this.entityAdapter.upsertMany(entities, state));\n readonly removeOne = this.updater((state, id: string) => this.entityAdapter.removeOne(id, state));\n readonly removeMany = this.updater((state, ids: string[]) => this.entityAdapter.removeMany(ids, state));\n readonly removeAll = this.updater((state) => this.entityAdapter.removeAll(state));\n readonly setOne = this.updater((state, entity: E) => this.entityAdapter.setOne(entity, state));\n readonly setAll = this.updater((state, entities: E[]) => this.entityAdapter.setAll(entities, state));\n\n constructor(\n protected entity: Type<E>,\n protected entityAdapter: EntityAdapter<E> = createEntityAdapter<E>({selectId: (entity) => entity.id, sortComparer: false}),\n ) {\n super(entityAdapter.getInitialState());\n this.adapter = injectEntityStoreAdapter(entity);\n this.getEntities(this.refresh$);\n this.refresh();\n }\n\n protected getEntities = this.effect((refresh$: Observable<void>) => refresh$.pipe(\n switchMap(() => this.adapter?.list?.() ?? of([] as E[])),\n tap((entities: E[]) => this.setAll(entities)),\n ));\n\n refresh() {\n this.refresh$.next();\n }\n\n mapToOne(valueOrObs: string | Observable<string>): Observable<E> {\n const wrap = (valueOrObs: string | Observable<string>) => isObservable(valueOrObs) ? valueOrObs : of(valueOrObs);\n return wrap(valueOrObs).pipe(\n switchMap(id => this.select((state) => this.selectors.selectEntities(state)[id])),\n ) as Observable<E>;\n }\n\n}\n\nexport class EntityStore<E extends Entity> extends BaseEntityStore<E> {\n protected proxyId = inject(ProxyIdService, {});\n protected composer = inject(TaskComposerService);\n protected taskSubject$ = new Subject<Task<E>>();\n protected task$: Observable<Task<E>> = this.taskSubject$.pipe(\n map(task => {\n switch(task.type) {\n case 'create': return merge(task, {payload: {id: this.proxyId.proxyId(task.payload.id)}});\n default: return task;\n }\n }),\n shareReplay(1),\n );\n protected composedTasks$ = this.task$.pipe(\n bufferTime(5 * 1000),\n filter(tasks => tasks.length > 0),\n map((tasks) => this.composer.composeTasks(tasks)),\n );\n\n constructor(\n protected entity: Type<E>,\n protected entityAdapter: EntityAdapter<E> = createEntityAdapter<E>({selectId: (entity) => entity.id, sortComparer: false}),\n ) {\n super(entity, entityAdapter);\n this.task$.subscribe((task: Task<E>) => this.runTask(task));\n this.composedTasks$.subscribe(tasks => this.runComposedTasks(tasks));\n }\n\n dispatch(action: Task<E>) {\n this.taskSubject$.next(action);\n }\n\n protected async runTask(task: Task<E>): Promise<any> {\n switch(task.type) {\n case 'create': return this.addOne(task.payload);\n case 'update': return this.updateOne({id: task.payload.id, changes: task.payload});\n case 'delete': return this.removeOne(task.payload.id);\n }\n }\n\n protected async runComposedTasks(tasks: Task<E>[]): Promise<void> {\n return Promise.all(tasks.map((task) => {\n switch(task.type) {\n case 'create': return this.adapter.create!(task.payload)\n .then((entity) => {\n this.proxyId.update(task.payload.id, entity.id);\n const _entity = this.state().entities[task.payload.id];\n this.removeOne(task.payload.id);\n this.addOne({..._entity, id: entity.id} as E);\n });\n case 'update': return this.adapter.update!({\n ...task.payload,\n id: this.proxyId.resolve(task.payload.id),\n });\n case 'delete': return this.adapter.delete!({\n ...task.payload,\n id: this.proxyId.resolve(task.payload.id),\n } as any);\n }\n }))\n .then(() => this.onSyncSucceeded())\n .catch(() => this.onSyncFailed());\n }\n\n protected onSyncFailed() { }\n protected onSyncSucceeded() { }\n\n create(payload: E): Promise<E> {\n return this.adapter.create!(payload);\n }\n\n update(payload: Pick<E, 'id'> & Partial<E>): Promise<void> {\n return this.adapter.update!(payload);\n }\n\n delete(payload: Pick<E, 'id'>): Promise<void> {\n return this.adapter.delete!(payload);\n }\n\n save(payload: E): Promise<E> {\n return this.adapter.save!(payload);\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { Entity } from './task-composer';\nimport { EntityStore } from './entity-store';\nexport { distinctUntilChangedArray } from './entity-store';\n\n@Injectable({providedIn: 'root'})\nexport class EntityStoreService {\n protected storeMap = new Map<Type<Entity>, EntityStore<Entity>>();\n\n get<E extends Entity>(Entity: Type<E>): EntityStore<E> {\n if (!this.storeMap.has(Entity)) {\n this.storeMap.set(Entity, new EntityStore(Entity) as unknown as EntityStore<Entity>);\n }\n return this.storeMap.get(Entity) as unknown as EntityStore<E>;\n }\n}\n\nexport function injectEntityStore<E extends Entity>(Entity: Type<E>): EntityStore<E> {\n return inject(EntityStoreService).get(Entity);\n}\n","import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { Signal, computed, inject } from '@angular/core';\nimport { Resolver, BaseResolver, Type } from '@nx-ddd/common/domain';\nimport { injectResolver$ } from '@ng-atomic/common/utils';\nimport { Observable, combineLatest, isObservable, of, filter, map, shareReplay, switchMap } from 'rxjs';\nimport { Entity } from './task-composer';\nimport { EntityStore } from './entity-store';\nimport { injectEntityStore } from './entity-store-manager';\nimport { derivedAsync } from 'ngxtension/derived-async';\n\ntype OneProps<V> = {id: V, [key: string]: V};\ntype AllProps<V> = {[key: string]: V};\n\nexport function injectOne$<T extends Entity>(\n Entity: Type<T>,\n params: OneProps<Observable<any>>,\n resolverType: Type<BaseResolver<T>> = Resolver\n): Observable<T> {\n if (resolverType) {\n return combineLatest({\n resolver: injectResolver$(resolverType, params),\n Entity: injectEntityStore(Entity).mapToOne(params.id).pipe(\n filter((Entity) => !!Entity)\n ),\n }).pipe(\n map(({ resolver, Entity }) => resolver.resolve(Entity)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n }\n\n return injectEntityStore(Entity).mapToOne(params.id).pipe(\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nfunction signalMapToObsMap(map: AllProps<Signal<any>>): AllProps<Observable<any>> {\n return Object.entries(map).reduce((acc, [key, value]) => {\n acc[key] = toObservable(value as any);\n return acc;\n }, {} as AllProps<Observable<any>>);\n}\n\n\nexport function injectOne<T extends Entity>(\n Entity: Type<T>,\n params: OneProps<Signal<any>>,\n resolverType: Type<BaseResolver<T>> = Resolver\n) {\n return toSignal(injectOne$(Entity, signalMapToObsMap(params) as any, resolverType));\n}\n\nexport function injectAll$<T extends Entity>(\n Entity: Type<T>,\n params: Record<string, Observable<any>> = {},\n resolverType: Type<BaseResolver<T>> = Resolver\n) {\n if (resolverType) {\n return combineLatest({\n resolver: injectResolver$(resolverType, params),\n entities: injectEntityStore(Entity).all$,\n }).pipe(\n map(({ resolver, entities }) => resolver.resolveMany(entities)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n }\n\n return injectEntityStore(Entity).entities$.pipe(\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport const callSignalMap = <T extends Record<string, Signal<any>>>(map: T): Signal<T> => {\n return computed(() => Object.entries(map).reduce((acc, [key, value]) => {\n return {...acc, [key]: value()};\n }, {} as T));\n}\n\n// export function injectAll<T extends Entity>(\n// Entity: Type<T>,\n// params: Record<string, Signal<any>> = {},\n// resolverType?: new (params: Record<string, any>) => Resolver<T>\n// ) {\n// const store = injectEntityStore(Entity);\n// if (resolverType) {\n// return computed(() => {\n// const resolver = getResolver(resolverType, callSignalMap(params)());\n// const items = resolver.resolveMany(store.all());\n// return items;\n// });\n// }\n// return computed(() => store.all());\n// }\n\nexport function injectAll<T extends Entity>(\n Entity: Type<T>,\n params: AllProps<Signal<any>> = {},\n resolverType: Type<BaseResolver<T>> = Resolver\n): Signal<T[]> {\n const $params = signalMapToObsMap(params);\n const all$ = injectAll$(Entity, $params, resolverType);\n return derivedAsync(() => all$, { initialValue: [] });\n}\n\nexport type ValueOrObservable<T> = T | Observable<T>;\n\nexport function mapToOne$<T extends {id: string}>(\n storeType: new () => EntityStore<T>,\n keyOrKey$: ValueOrObservable<string>,\n): Observable<T> {\n const store = inject<EntityStore<T>>(storeType, {});\n const key$ = isObservable(keyOrKey$) ? keyOrKey$ : of(keyOrKey$);\n return key$.pipe(switchMap(key => store.mapToOne(key)));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["filter","map","shareReplay","switchMap"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-stores-selection.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/selection/selection.store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/selection/ng-atomic-common-stores-selection.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { ComponentStore } from \"@ngrx/component-store\";\nimport { Observable, Subscription } from \"rxjs\";\n\nexport interface SelectionState {\n idSet: Set<string>;\n initialIdSet: Set<string> | null;\n\n}\n\n@Injectable()\nexport class SelectionStore extends ComponentStore<SelectionState> {\n get idSet(): Set<string> { return this.get(state => state.idSet); }\n get initialIdSet(): Set<string> { return this.get(state => state.initialIdSet); }\n\n constructor() {\n super({idSet: new Set(), initialIdSet: null});\n }\n\n setIdSet: (observableOrValue: Set<string> | Observable<Set<string>>) => Subscription = this.updater((state, idSet: Set<string>) => ({...state, idSet}));\n setInitialIdSet: (observableOrValue: Set<string> | Observable<Set<string>>) => Subscription = this.updater((state, initialIdSet: Set<string>) => ({...state, initialIdSet}));\n\n addIds: (ids: string[]) => Subscription = (ids: string[]) => this.setIdSet(new Set([...this.idSet, ...ids]));\n addId: (id: string) => Subscription = (id: string) => this.addIds([id]);\n\n removeId: (id: string) => Subscription = (id: string) => this.setIdSet(new Set([...this.idSet].filter(_id => _id !== id)));\n toggleId: (id: string) => Subscription = (id: string) => this.idSet.has(id) ? this.removeId(id) : this.addId(id);\n\n getSelectedAndUnselected(): [Set<string>, Set<string>] {\n const unselectedIdSet = new Set([...this.initialIdSet].filter(id => !this.idSet.has(id)));\n return [this.idSet, unselectedIdSet];\n }\n\n filterBySelectedIds<E extends {id: string}>(entities: E[]): E[] {\n return entities.filter(({id}) => this.idSet.has(id));\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAWM,MAAO,cAAe,SAAQ,cAA8B,CAAA;AAChE,IAAA,IAAI,KAAK,GAAA,EAAkB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,IAAA,IAAI,YAAY,GAAA,EAAkB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AAEhF,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAC,CAAC;QAG/C,IAAA,CAAA,QAAQ,GAA+E,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAkB,MAAM,EAAC,GAAG,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QACvJ,IAAA,CAAA,eAAe,GAA+E,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,YAAyB,MAAM,EAAC,GAAG,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;QAE5K,IAAA,CAAA,MAAM,GAAoC,CAAC,GAAa,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AAC5G,QAAA,IAAA,CAAA,KAAK,GAAiC,CAAC,EAAU,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AAEvE,QAAA,IAAA,CAAA,QAAQ,GAAiC,CAAC,EAAU,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1H,QAAA,IAAA,CAAA,QAAQ,GAAiC,CAAC,EAAU,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAThH;IAWA,wBAAwB,GAAA;AACtB,QAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACzF,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC;IACtC;AAEA,IAAA,mBAAmB,CAAyB,QAAa,EAAA;QACvD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAC,EAAE,EAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtD;8GAxBW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAd,cAAc,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-stores-selection.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/selection/selection.store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/selection/ng-atomic-common-stores-selection.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { ComponentStore } from \"@ngrx/component-store\";\nimport { Observable, Subscription } from \"rxjs\";\n\nexport interface SelectionState {\n idSet: Set<string>;\n initialIdSet: Set<string> | null;\n\n}\n\n@Injectable()\nexport class SelectionStore extends ComponentStore<SelectionState> {\n get idSet(): Set<string> { return this.get(state => state.idSet); }\n get initialIdSet(): Set<string> { return this.get(state => state.initialIdSet)!; }\n\n constructor() {\n super({idSet: new Set(), initialIdSet: null});\n }\n\n setIdSet: (observableOrValue: Set<string> | Observable<Set<string>>) => Subscription = this.updater((state, idSet: Set<string>) => ({...state, idSet}));\n setInitialIdSet: (observableOrValue: Set<string> | Observable<Set<string>>) => Subscription = this.updater((state, initialIdSet: Set<string>) => ({...state, initialIdSet}));\n\n addIds: (ids: string[]) => Subscription = (ids: string[]) => this.setIdSet(new Set([...this.idSet, ...ids]));\n addId: (id: string) => Subscription = (id: string) => this.addIds([id]);\n\n removeId: (id: string) => Subscription = (id: string) => this.setIdSet(new Set([...this.idSet].filter(_id => _id !== id)));\n toggleId: (id: string) => Subscription = (id: string) => this.idSet.has(id) ? this.removeId(id) : this.addId(id);\n\n getSelectedAndUnselected(): [Set<string>, Set<string>] {\n const unselectedIdSet = new Set([...this.initialIdSet].filter(id => !this.idSet.has(id)));\n return [this.idSet, unselectedIdSet];\n }\n\n filterBySelectedIds<E extends {id: string}>(entities: E[]): E[] {\n return entities.filter(({id}) => this.idSet.has(id));\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAWM,MAAO,cAAe,SAAQ,cAA8B,CAAA;AAChE,IAAA,IAAI,KAAK,GAAA,EAAkB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,IAAA,IAAI,YAAY,GAAA,EAAkB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAE,CAAC,CAAC;AAEjF,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAC,CAAC;QAG/C,IAAA,CAAA,QAAQ,GAA+E,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAkB,MAAM,EAAC,GAAG,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QACvJ,IAAA,CAAA,eAAe,GAA+E,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,YAAyB,MAAM,EAAC,GAAG,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;QAE5K,IAAA,CAAA,MAAM,GAAoC,CAAC,GAAa,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AAC5G,QAAA,IAAA,CAAA,KAAK,GAAiC,CAAC,EAAU,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AAEvE,QAAA,IAAA,CAAA,QAAQ,GAAiC,CAAC,EAAU,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1H,QAAA,IAAA,CAAA,QAAQ,GAAiC,CAAC,EAAU,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAThH;IAWA,wBAAwB,GAAA;AACtB,QAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACzF,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC;IACtC;AAEA,IAAA,mBAAmB,CAAyB,QAAa,EAAA;QACvD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAC,EAAE,EAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtD;8GAxBW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAd,cAAc,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B;;;ACVD;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-stores-sort.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/sort/sort.store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/sort/ng-atomic-common-stores-sort.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { ComponentStore } from \"@ngrx/component-store\";\nimport { Observable } from \"rxjs\";\n\nexport interface SortState {\n key: string;\n order: 'asc' | 'desc';\n}\n\n@Injectable()\nexport class SortStore extends ComponentStore<SortState> {\n constructor() {super({key: null, order: 'asc'})}\n\n get key() { return this.get().key; }\n get order() { return this.get().order; }\n\n state$ = this.select(state => state);\n key$ = this.select(state => state.key);\n order$ = this.select(state => state.order);\n\n setKey = this.updater((state, key: string) => ({...state, key}));\n setOrder = this.updater((state, order: 'asc' | 'desc') => ({...state, order}));\n \n changeSortFromEvent(key: string, state: SortState = this.state()) {\n const reverse = (order: 'asc' | 'desc') => order === 'asc' ? 'desc' : 'asc';\n const order = key === state.key ? reverse(state.order) : 'asc';\n this.setKey(key);\n this.setOrder(order);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAUM,MAAO,SAAU,SAAQ,cAAyB,CAAA;AACtD,IAAA,WAAA,GAAA;QAAe,KAAK,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC;QAK/C,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;AACpC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC;AACtC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;QAE1C,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAW,MAAM,EAAC,GAAG,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;QAChE,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAqB,MAAM,EAAC,GAAG,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;IAV/B;IAE/C,IAAI,GAAG,GAAA,EAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,GAAA,EAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AASvC,IAAA,mBAAmB,CAAC,GAAW,EAAE,QAAmB,IAAI,CAAC,KAAK,EAAE,EAAA;AAC9D,QAAA,MAAM,OAAO,GAAG,CAAC,KAAqB,KAAK,KAAK,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK;QAC3E,MAAM,KAAK,GAAG,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK;AAC9D,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IACtB;8GAlBW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAT,SAAS,EAAA,CAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBADrB;;;ACTD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-atomic-common-stores-sort.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/sort/sort.store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/sort/ng-atomic-common-stores-sort.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { ComponentStore } from \"@ngrx/component-store\";\nimport { Observable } from \"rxjs\";\n\nexport interface SortState {\n key: string;\n order: 'asc' | 'desc';\n}\n\n@Injectable()\nexport class SortStore extends ComponentStore<SortState> {\n constructor() {super({key: null as unknown as string, order: 'asc'})}\n\n get key() { return this.get().key; }\n get order() { return this.get().order; }\n\n state$ = this.select(state => state);\n key$ = this.select(state => state.key);\n order$ = this.select(state => state.order);\n\n setKey = this.updater((state, key: string) => ({...state, key}));\n setOrder = this.updater((state, order: 'asc' | 'desc') => ({...state, order}));\n \n changeSortFromEvent(key: string, state: SortState = this.state()) {\n const reverse = (order: 'asc' | 'desc') => order === 'asc' ? 'desc' : 'asc';\n const order = key === state.key ? reverse(state.order) : 'asc';\n this.setKey(key);\n this.setOrder(order);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAUM,MAAO,SAAU,SAAQ,cAAyB,CAAA;AACtD,IAAA,WAAA,GAAA;QAAe,KAAK,CAAC,EAAC,GAAG,EAAE,IAAyB,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC;QAKpE,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;AACpC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC;AACtC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;QAE1C,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAW,MAAM,EAAC,GAAG,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;QAChE,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAqB,MAAM,EAAC,GAAG,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;IAVV;IAEpE,IAAI,GAAG,GAAA,EAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,GAAA,EAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AASvC,IAAA,mBAAmB,CAAC,GAAW,EAAE,QAAmB,IAAI,CAAC,KAAK,EAAE,EAAA;AAC9D,QAAA,MAAM,OAAO,GAAG,CAAC,KAAqB,KAAK,KAAK,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK;QAC3E,MAAM,KAAK,GAAG,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK;AAC9D,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IACtB;8GAlBW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAT,SAAS,EAAA,CAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBADrB;;;ACTD;;AAEG;;;;"}
@@ -29,10 +29,10 @@ const removeComma = (str) => str.replace(/\,/g, '');
29
29
  const DATE_FORMAT = 'YYYY-MM-DDTHH:mm:ss';
30
30
  const DATE_REGEX = /^[0-9]{4}\/(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])$/;
31
31
  const DATETIME_REGEX = /^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\+([+-][0-2]\d:[0-5]\d)$/;
32
- const isDateStr = (str) => str && !!str.match(DATE_REGEX);
33
- const isDateTimeStr = (str) => str && !!str.match(DATE_REGEX);
32
+ const isDateStr = (str) => !!str && !!str.match(DATE_REGEX);
33
+ const isDateTimeStr = (str) => !!str && !!str.match(DATE_REGEX);
34
34
  const ISO_REGEX = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/;
35
- const isIsoString = (str) => str && !!str.match(ISO_REGEX);
35
+ const isIsoString = (str) => !!str && !!str.match(ISO_REGEX);
36
36
  function timestampToDayjs(timestamp) {
37
37
  return timestamp ? dayjs(timestamp.toDate()) : null;
38
38
  }
@@ -164,7 +164,7 @@ function injectChildRouteParam(key) {
164
164
  return toSignal(injectChildRouteParam$(key));
165
165
  }
166
166
  function injectChildRoute$() {
167
- return injectRouteNavigated$().pipe(map((route) => route?.firstChild?.firstChild), shareReplay(1), takeUntilDestroyed());
167
+ return injectRouteNavigated$().pipe(map((route) => (route?.firstChild?.firstChild ?? null)), shareReplay(1), takeUntilDestroyed());
168
168
  }
169
169
  function injectChildRoute() {
170
170
  return toSignal(injectChildRoute$());
@@ -602,7 +602,7 @@ const getAllProps = (obj, keys = Object.keys(obj)) => {
602
602
  const proto = Object.getPrototypeOf(obj);
603
603
  keys = Object.getOwnPropertyNames(proto)
604
604
  .filter(v => v !== '__proto__')
605
- .filter(v => Object.getOwnPropertyDescriptor(proto, v).get instanceof Function)
605
+ .filter(v => Object.getOwnPropertyDescriptor(proto, v)?.get instanceof Function)
606
606
  .concat(keys);
607
607
  return proto.constructor.name === 'Object' ? keys : getAllProps(proto, keys);
608
608
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-common-utils.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/utils/comma/comma.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/compare-by-id/compare-by-id.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/date-utils/date-utils.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/diff/diff.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/form/form.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/get/get.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/route-params.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/route-query.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/route-navigation.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/route-data.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/resolver.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/inject.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.adapter.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.formats.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-jp-providers.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.module.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/page/page.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/router/router.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/expression/expression.transformer.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/to-object/to-object.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/time.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/index.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/ng-atomic-common-utils.ts"],"sourcesContent":["export const comma = (n: number | null): string => n === null ? '0' : n.toLocaleString();\nexport const commaStr = (n: number, unit = '円') => n < 0 ? `-${comma(abs(n))}${unit}` : `${comma(n)}${unit}`;\nexport const abs = (n: number) => Math.abs(n);","export type HasId = { id: string };\nexport function compareByIdFactory(key: string) {\n return (a: any, b: any) => parseInt(a?.[key], 10) - parseInt(b?.[key], 10);\n}\nexport const compareById = compareByIdFactory('id');\n","import dayjs from 'dayjs';\n\nexport const removeComma = (str: string) => str.replace(/\\,/g, '');\n\nexport const DATE_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\nconst DATE_REGEX = /^[0-9]{4}\\/(0[1-9]|1[0-2])\\/(0[1-9]|[12][0-9]|3[01])$/;\nconst DATETIME_REGEX = /^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\+([+-][0-2]\\d:[0-5]\\d)$/;\nexport const isDateStr = (str: string | null): str is string => str && !!str.match(DATE_REGEX);\nexport const isDateTimeStr = (str: string | null): str is string => str && !!str.match(DATE_REGEX);\n\nconst ISO_REGEX = /\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z)/;\nexport const isIsoString = (str: string | null): str is string => str && !!str.match(ISO_REGEX);\n\n\nexport interface Timestamp {\n toDate: () => Date;\n}\n\nexport function timestampToDayjs(timestamp: Timestamp | null): dayjs.Dayjs | null {\n return timestamp ? dayjs(timestamp.toDate()) : null;\n}","import { SelectionModel } from \"@angular/cdk/collections\";\n\nexport function diff<T = any>(initial: SelectionModel<T>, current: SelectionModel<T>): {\n selectedIds: T[],\n unselectedIds: T[],\n} {\n return {\n selectedIds: current.selected.filter((id: T) => !initial.isSelected(id)),\n unselectedIds: initial.selected.filter((id: T) => !current.isSelected(id)),\n }\n}\n","import { Signal } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { AbstractControl } from \"@angular/forms\";\nimport { Observable, distinctUntilChanged, map, merge, of, startWith } from \"rxjs\";\nimport { computedAsync } from \"ngxtension/computed-async\";\nimport { computeFake } from \"@ng-atomic/core\";\n\nexport function getValue$<T>(control: AbstractControl<T>): Observable<T> {\n return merge(of(control.value), control.valueChanges).pipe(\n distinctUntilChanged((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur)),\n );\n}\n\nexport function getValue<T>(control: AbstractControl<T>): Signal<T> {\n return toSignal(getValue$(control));\n}\n\nexport function getRawValue$<T>(control: AbstractControl<T>): Observable<T> {\n return merge(of(control.getRawValue()), control.valueChanges.pipe(map(() => control.getRawValue())));\n}\n\nexport function getRawValue<T>(control: AbstractControl<T>): Signal<T> {\n return toSignal(getRawValue$(control));\n}\n\nexport function computedRawValue<T>(controlFactory: () => AbstractControl<T>): Signal<T> {\n return computedAsync(() => controlFactory().valueChanges.pipe(\n startWith(null),\n map(() => controlFactory().getRawValue()),\n ), { initialValue: computeFake(controlFactory()).getRawValue() });\n}\n\nexport function getInvalid$<T>(control: AbstractControl<T>): Observable<boolean> {\n return control.statusChanges.pipe(\n startWith(null),\n map(() => control.invalid),\n );\n}\n\nexport function getInvalid<T>(form: AbstractControl<T>): Signal<boolean> {\n return toSignal(getInvalid$(form));\n}\n\n","import { get as _get } from 'lodash-es';\n\n// ネストされたオブジェクトのキーの組み合わせを生成する型ヘルパー\nexport type PathKeys<T> = T extends object ? {\n [K in keyof T]-?: K extends string | number ?\n T[K] extends object ? [K] | [K, ...PathKeys<T[K]>] : [K]\n : never\n}[keyof T] : [];\n\n// ネストされたパスに対応する型を抽出するための型ヘルパー\nexport type NestedGetType<T, P extends any[]> = \n P extends [infer F, ...infer R]\n ? F extends keyof T\n ? NestedGetType<T[F], R>\n : never\n : T;\n\n/** @deprecated use lodash-es */\nexport function get<T, P extends PathKeys<T>>(obj: T, path: P): NestedGetType<T, P> {\n return _get(obj, path as any);\n}","import { Signal, inject } from \"@angular/core\";\nimport { takeUntilDestroyed, toSignal } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute, ParamMap, Params } from \"@angular/router\";\nimport { Observable, combineLatest, map, of, shareReplay } from \"rxjs\";\nimport { unflatten } from 'flat';\n\nexport function injectRouterParam$(key: string): Observable<string> {\n return inject(ActivatedRoute).paramMap.pipe(\n map((params) => params.get(key)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\n/** @deprecated */\nexport function injectRouterParam(key: string): Signal<string> {\n return toSignal(injectRouterParam$(key));\n}\n\nexport function injectRouteParams$({\n merge = true,\n route = inject(ActivatedRoute),\n}: {\n merge?: boolean,\n route?: ActivatedRoute,\n} = {}): Observable<Params> {\n const parentParams = (merge && route.parent) ? injectRouteParams$({merge, route: route.parent}) : of(new Map<string, string>());\n return combineLatest({\n parentParams,\n params: route.params\n }).pipe(\n map(({parentParams, params}) => ({\n ...parentParams,\n ...params,\n })),\n shareReplay(1),\n takeUntilDestroyed(),\n )\n}\n\nexport function injectUnflattenRouteParams$({\n merge = true,\n route = inject(ActivatedRoute),\n}: {\n merge?: boolean,\n route?: ActivatedRoute,\n} = {}) {\n return injectRouteParams$({merge, route}).pipe(\n map((params) => (unflatten(params) as any)),\n );\n}\n\nexport function injectUnflattenRouteParam$<T = any>(key?: string): Observable<T> {\n return injectUnflattenRouteParams$().pipe(\n map((params) => key ? params[key]: params),\n );\n}\n\nexport function injectUnflattenRouteParam<T = any>(key?: string): Signal<T> {\n return toSignal(injectUnflattenRouteParam$(key));\n}\n\nexport function injectUnflattenRouteParams({\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Signal<any> {\n return toSignal(injectUnflattenRouteParams$({merge}), {initialValue: {}});\n}\n\nexport function injectRouteParamMap$({\n merge = true,\n}: {\n merge?: boolean,\n} = {}) {\n return injectRouteParams$({merge}).pipe(\n map((params) => new Map(Object.entries(params)) as never as ParamMap),\n );\n}\n\nexport function injectRouteParamMap({\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Signal<ParamMap> {\n return toSignal(injectRouteParamMap$({merge}));\n}\n\nexport function injectRouteParams({\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Signal<Record<string, string>> {\n return toSignal(injectRouteParams$({merge}));\n}\n\nexport function injectRouteParam$(key: string, {\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Observable<string> {\n return injectRouteParamMap$({merge}).pipe(\n map((params) => params.get(key)),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouteParam(key: string, injector?: import(\"@angular/core\").Injector): Signal<string> {\n return toSignal(injectRouteParam$(key), {injector});\n}\n\nexport function injectRouteSkip$(): Observable<boolean> {\n return injectRouteParam$('skip', {merge: false}).pipe(\n map((skip) => skip === 'true'),\n shareReplay(1),\n takeUntilDestroyed(),\n )\n}\n\nexport function injectRouteSkip(): Signal<boolean> {\n return toSignal(injectRouteSkip$());\n}\n","import { Signal, inject } from \"@angular/core\";\nimport { takeUntilDestroyed, toSignal } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Observable, map, shareReplay } from \"rxjs\";\n\nexport function injectRouteQueryParam$<T extends string = string>(key: string): Observable<T> {\n return inject(ActivatedRoute).queryParamMap.pipe(\n map((params) => params.get(key) as T),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouteQueryParam(key: string): Signal<string> {\n return toSignal(injectRouteQueryParam$(key));\n}\n\nexport function injectRouterQueryParam$<T extends string = string>(key: string): Observable<T> {\n return inject(ActivatedRoute).queryParamMap.pipe(\n map((params) => params.get(key) as T),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouterQueryParam<T extends string = string>(key: string): Signal<T> {\n return toSignal(injectRouterQueryParam$(key));\n}\n","import { Signal, computed, inject } from \"@angular/core\";\nimport { takeUntilDestroyed, toSignal } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute, NavigationEnd, NavigationExtras, Router } from \"@angular/router\";\nimport { Observable, filter, map, of, shareReplay, startWith, switchMap } from \"rxjs\";\n\nexport function injectRouteNavigated$() {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => route),\n );\n}\n\nexport function injectRouteNavigated() {\n return toSignal(injectRouteNavigated$());\n}\n\nexport function injectPrimaryPaths$() {\n return injectRouteNavigated$().pipe(\n map(route => {\n const paths = [];\n let current = route.root;\n while (current) {\n paths.push(current?.routeConfig?.path ?? null);\n current = current.firstChild;\n }\n return paths.filter(Boolean);\n }),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectPrimaryPaths() {\n return toSignal(injectPrimaryPaths$());\n}\n\nexport function injectChildRouteParam$(key: string): Observable<string> {\n return injectRouteNavigated$().pipe(\n switchMap((route) => route?.firstChild ? route.firstChild.paramMap : of(new Map<string, string>())),\n map((params) => params.get(key)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectChildRouteParam(key: string): Signal<string> {\n return toSignal(injectChildRouteParam$(key));\n}\n\nexport function injectChildRoute$() {\n return injectRouteNavigated$().pipe(\n map((route) => route?.firstChild?.firstChild),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectChildRoute(): Signal<ActivatedRoute> {\n return toSignal(injectChildRoute$());\n}\n\nexport function injectHasNext$() {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n startWith(null),\n map(() => !!route?.firstChild?.firstChild),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectHasNext() {\n return toSignal(injectHasNext$());\n}\n\nexport function injectNavigationExtras(): Signal<NavigationExtras> {\n const relativeTo = inject(ActivatedRoute);\n const hasNext = injectHasNext();\n return computed(() => ({ relativeTo, replaceUrl: hasNext() }));\n}\n","import { Injector, Signal, computed, inject } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Observable, map } from \"rxjs\";\nimport { get } from \"lodash-es\";\n\nexport function injectRouteData$<T>(path: string): Observable<T> {\n return inject(ActivatedRoute).data.pipe(map(data => get(data, path) as T));\n}\n\nexport function injectRouteData<T>(key: string): Signal<T> {\n return toSignal(injectRouteData$(key));\n}\n\nexport function injectRouteDataSnapshot<T>(key: string): Signal<T> {\n const route = inject(ActivatedRoute);\n return computed(() => route.snapshot.data[key] as T);\n}\n\nexport function injectActivatedComponents(injector: Injector = inject(Injector)): any[] {\n const components = [];\n let route = injector.get(ActivatedRoute, {optional: true}) ?? null;\n while(route) {\n if (route.component) components.push(route.component);\n route = route.parent;\n }\n return components;\n}\n","import { Injectable } from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { Observable, combineLatest, map, of, shareReplay } from \"rxjs\";\nimport { BaseResolver, Type } from \"@nx-ddd/common/domain\";\n\nexport interface Resolver<T> {\n resolve(entry: T): T;\n resolveMany(entities: T[]): T[];\n}\n\nexport function provideResolver(\n Entity: Type<{id: string}>,\n ResolverType: new (params: Record<string, Observable<any>>) => Resolver<any>,\n) {\n return {\n provide: Entity,\n deps: [],\n multi: true,\n };\n}\n\n@Injectable({providedIn: 'root'})\nexport class ResolverManager {\n protected map = new Map<string, Resolver<any>>();\n\n get(Entity: Type<{id: string}>) {\n if (!this.map.has(Entity.name)) {\n // placeholder for future implementation\n }\n return this.map.get(Entity.name);\n }\n}\n\nexport function injectResolver$<T>(\n ResolverType: Type<BaseResolver<T>>,\n params: Record<string, Observable<any>>,\n): Observable<BaseResolver<T>> {\n const params$ = Object.keys(params).length > 0 ? combineLatest(params) : of({});\n return params$.pipe(\n map((params) => new ResolverType(params)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function getResolver<T>(\n ResolverType: new (params: Record<string, any>) => Resolver<T>,\n params: Record<string, any>,\n): Resolver<T> {\n return new ResolverType(params);\n}\n","/**\n * Angular injection utilities for routing and resolvers\n *\n * Re-exports all utilities from split files for backward compatibility\n */\n\n// Route parameter utilities\nexport {\n injectRouterParam$,\n injectRouterParam,\n injectRouteParams$,\n injectRouteParams,\n injectRouteParamMap$,\n injectRouteParamMap,\n injectRouteParam$,\n injectRouteParam,\n injectRouteSkip$,\n injectRouteSkip,\n injectUnflattenRouteParams$,\n injectUnflattenRouteParams,\n injectUnflattenRouteParam$,\n injectUnflattenRouteParam,\n} from './route-params';\n\n// Query parameter utilities\nexport {\n injectRouteQueryParam$,\n injectRouteQueryParam,\n injectRouterQueryParam$,\n injectRouterQueryParam,\n} from './route-query';\n\n// Navigation utilities\nexport {\n injectRouteNavigated$,\n injectRouteNavigated,\n injectPrimaryPaths$,\n injectPrimaryPaths,\n injectChildRouteParam$,\n injectChildRouteParam,\n injectChildRoute$,\n injectChildRoute,\n injectHasNext$,\n injectHasNext,\n injectNavigationExtras,\n} from './route-navigation';\n\n// Route data utilities\nexport {\n injectRouteData$,\n injectRouteData,\n injectRouteDataSnapshot,\n injectActivatedComponents,\n} from './route-data';\n\n// Resolver utilities\nexport {\n Resolver,\n provideResolver,\n ResolverManager,\n injectResolver$,\n getResolver,\n} from './resolver';\n","\nimport { Optional, Inject, InjectionToken } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport { Dayjs } from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport localeData from 'dayjs/plugin/localeData';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\n\nexport interface DayJsDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n * {@default false}\n */\n useUtc?: boolean;\n}\n\n/** InjectionToken for Dayjs date adapter to configure options. */\nexport const MAT_DAYJS_DATE_ADAPTER_OPTIONS = new InjectionToken<DayJsDateAdapterOptions>(\n 'MAT_DAYJS_DATE_ADAPTER_OPTIONS', {\n providedIn: 'root',\n factory: MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY\n});\n\nexport function MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY(): DayJsDateAdapterOptions {\n return {\n useUtc: false\n };\n}\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts Dayjs Dates for use with Angular Material. */\nexport class DayjsDateAdapter extends DateAdapter<Dayjs> {\n private localeData!: {\n firstDayOfWeek: number,\n longMonths: string[],\n shortMonths: string[],\n dates: string[],\n longDaysOfWeek: string[],\n shortDaysOfWeek: string[],\n narrowDaysOfWeek: string[]\n };\n\n constructor(\n @Optional() @Inject(MAT_DATE_LOCALE) public dateLocale: string,\n @Optional() @Inject(MAT_DAYJS_DATE_ADAPTER_OPTIONS) private options?: DayJsDateAdapterOptions\n ) {\n super();\n this.initializeParser(dateLocale);\n }\n\n // TODO: Implement\n override setLocale(locale: string) {\n super.setLocale(locale);\n\n const dayJsLocaleData = this.dayJs().localeData();\n this.localeData = {\n firstDayOfWeek: dayJsLocaleData.firstDayOfWeek(),\n longMonths: dayJsLocaleData.months(),\n shortMonths: dayJsLocaleData.monthsShort(),\n dates: range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\n longDaysOfWeek: range(7, (i) => this.dayJs().set('day', i).format('dddd')),\n shortDaysOfWeek: dayJsLocaleData.weekdaysShort(),\n narrowDaysOfWeek: dayJsLocaleData.weekdaysMin(),\n };\n }\n\n getYear(date: Dayjs): number {\n return this.dayJs(date).year();\n }\n\n getMonth(date: Dayjs): number {\n return this.dayJs(date).month();\n }\n\n getDate(date: Dayjs): number {\n return this.dayJs(date).date();\n }\n\n getDayOfWeek(date: Dayjs): number {\n return this.dayJs(date).day();\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return style === 'long' ? this.localeData.longMonths : this.localeData.shortMonths;\n }\n\n getDateNames(): string[] {\n return this.localeData.dates;\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n if (style === 'long') {\n return this.localeData.longDaysOfWeek;\n }\n if (style === 'short') {\n return this.localeData.shortDaysOfWeek;\n }\n return this.localeData.narrowDaysOfWeek;\n }\n\n getYearName(date: Dayjs): string {\n return this.dayJs(date).format('YYYY');\n }\n\n getFirstDayOfWeek(): number {\n return this.localeData.firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: Dayjs): number {\n return this.dayJs(date).daysInMonth();\n }\n\n clone(date: Dayjs): Dayjs {\n return date.clone();\n }\n\n createDate(year: number, month: number, date: number): Dayjs {\n const returnDayjs = this.dayJs()\n .set('year', year)\n .set('month', month)\n .set('date', date);\n return returnDayjs;\n }\n\n today(): Dayjs {\n return this.dayJs();\n }\n\n parse(value: any, parseFormat: string): Dayjs | null {\n if (value && typeof value === 'string') {\n return this.dayJs(value, dayjs().localeData().longDateFormat(parseFormat), this.locale);\n }\n return value ? this.dayJs(value).locale(this.locale) : null;\n }\n\n format(date: Dayjs, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('DayjsDateAdapter: Cannot format invalid date.');\n }\n return date.locale(this.locale).format(displayFormat);\n }\n\n addCalendarYears(date: Dayjs, years: number): Dayjs {\n return date.add(years, 'year');\n }\n\n addCalendarMonths(date: Dayjs, months: number): Dayjs {\n return date.add(months, 'month');\n }\n\n addCalendarDays(date: Dayjs, days: number): Dayjs {\n return date.add(days, 'day');\n }\n\n toIso8601(date: Dayjs): string {\n return date.toISOString();\n }\n\n /**\n * Attempts to deserialize a value to a valid date object. This is different from parsing in that\n * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601\n * string). The default implementation does not allow any deserialization, it simply checks that\n * the given value is already a valid date object or null. The `<mat-datepicker>` will call this\n * method on all of it's `@Input()` properties that accept dates. It is therefore possible to\n * support passing values from your backend directly to these properties by overriding this method\n * to also deserialize the format used by your backend.\n * @param value The value to be deserialized into a date object.\n * @returns The deserialized date object, either a valid date, null if the value can be\n * deserialized into a null date (e.g. the empty string), or an invalid date.\n */\n override deserialize(value: any): Dayjs | null {\n let date;\n if (value instanceof Date) {\n date = this.dayJs(value);\n } else if (this.isDateInstance(value)) {\n // NOTE: assumes that cloning also sets the correct locale.\n return this.clone(value);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = this.dayJs(value).toISOString();\n }\n if (date && this.isValid(date as Dayjs)) {\n return this.dayJs(date); // NOTE: Is this necessary since Dayjs is immutable and Moment was not?\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return dayjs.isDayjs(obj);\n }\n\n isValid(date: Dayjs): boolean {\n return this.dayJs(date).isValid();\n }\n\n invalid(): Dayjs {\n return this.dayJs(null);\n }\n\n private dayJs(input?: any, format?: string, locale?: string): Dayjs {\n if (!this.shouldUseUtc) {\n return dayjs(input, { format, locale }, locale);\n }\n return dayjs(input, { format, locale, utc: this.shouldUseUtc }, locale).utc();\n }\n\n private get shouldUseUtc(): boolean {\n const { useUtc }: DayJsDateAdapterOptions = this.options || {};\n return !!useUtc;\n }\n\n private initializeParser(dateLocale: string) {\n if (this.shouldUseUtc) {\n dayjs.extend(utc);\n }\n\n dayjs.extend(LocalizedFormat);\n dayjs.extend(customParseFormat);\n dayjs.extend(localeData);\n\n this.setLocale(dateLocale);\n }\n}","import { MatDateFormats } from '@angular/material/core';\n\n/**\n * Custom Date-Formats and Adapter (using https://github.com/iamkun/dayjs)\n */\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'MM/DD/YYYY',\n },\n display: {\n dateInput: 'MM/DD/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};","import { MatDateFormats, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport 'dayjs/locale/ja'\ndayjs.locale('ja');\n\nexport const MAT_DAYJS_DATE_FORMATS_FOR_JP: MatDateFormats = {\n parse: {\n dateInput: 'YYYY/MM/DD',\n },\n display: {\n dateInput: 'YYYY/MM/DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};\n\nexport const MAT_DAYJS_JP_PROVIDERS = [\n { provide: MAT_DATE_LOCALE, useValue: 'ja' },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS_FOR_JP },\n];\n","import { NgModule, Provider } from '@angular/core';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DayjsDateAdapter, MAT_DAYJS_DATE_ADAPTER_OPTIONS } from './dayjs-date.adapter';\nimport { MAT_DAYJS_DATE_FORMATS } from './dayjs-date.formats';\n\n@NgModule({\n providers: [\n provideDayjsDateAdapter(),\n ],\n})\nexport class DayjsDateModule { }\n\nexport function provideDayjsDateAdapter(): Provider[] {\n return [\n {\n provide: DateAdapter,\n useClass: DayjsDateAdapter,\n deps: [\n MAT_DATE_LOCALE, \n MAT_DAYJS_DATE_ADAPTER_OPTIONS,\n ]\n },\n {\n provide: MAT_DATE_FORMATS,\n useValue: MAT_DAYJS_DATE_FORMATS,\n }, \n ]\n}\n","import { PageEvent } from '@angular/material/paginator';\n\nexport interface Page extends PageEvent {\n sortKey: string;\n sortOrder: 'asc' | 'desc';\n}\n\nexport class Page {\n static from(event: Partial<Page> = {}): Page {\n return Object.assign(new Page(), {\n pageSize: 50,\n pageIndex: 0,\n length: 100,\n ...event\n });\n }\n\n get start(): number {\n return this.pageIndex * this.pageSize;\n }\n\n get end(): number {\n return Math.min((this.pageIndex + 1) * this.pageSize, this.length);\n }\n\n patch(obj: Partial<Page>): Page {\n return Page.from({...this, ...obj});\n }\n}\n","import { ActivatedRouteSnapshot, RouterStateSnapshot, Routes } from \"@angular/router\";\n\nexport function walkActivatedRouteSnapshot(\n snapshot: ActivatedRouteSnapshot,\n callback: (snapshot: ActivatedRouteSnapshot) => boolean,\n target: 'children' | 'parent' = 'children',\n): void {\n if(callback(snapshot)) return;\n if (target === 'children') {\n snapshot.children.forEach(child => walkActivatedRouteSnapshot(child, callback, target));\n }\n}\n\n\nexport function skippedResolver(outlet = 'primary') {\n\tlet skipped: boolean;\n\n\treturn (route: ActivatedRouteSnapshot, snapshot: RouterStateSnapshot) => {\n\t\tconst routes = [];\n\t\twalkActivatedRouteSnapshot(snapshot.root, snapshot => {\n\t\t\tif (snapshot.outlet === outlet) {\n\t\t\t\troutes.push(snapshot);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\n\t\tif (route === routes.at(-1)) {\n\t\t\treturn skipped = false;\n\t\t}\n\n\t\treturn skipped ??= route !== routes.at(-1);\n\t}\n}\n\nfunction resolveModule(m: any) {\n if (m.default) {\n return m.default;\n }\n return m;\n}\n\nexport function wrapRoutes(routes: Routes) {\n return (routes ?? []).map(route => {\n if (route.loadChildren) {\n return {\n ...route,\n loadChildren: () => (route.loadChildren() as Promise<Routes>).then(routes => {\n\t\t\t\t\treturn wrapRoutes(resolveModule(routes))\n\t\t\t\t}),\n resolve: {\n ...(route?.resolve || {}),\n skipped: skippedResolver(),\n }\n };\n }\n return {\n ...route,\n resolve: {\n ...(route?.resolve || {}),\n skipped: skippedResolver(),\n },\n };\n });\n}","import { inject, InjectionToken } from '@angular/core';\nimport dayjs from 'dayjs';\nimport { comma } from '../comma';\n\nexport const yenTransform = (value: number, _unit = ''): string => {\n return `${comma(value)} ${_unit}`;\n}\n\nexport type ExpressionTransformer = (value: string | number | dayjs.Dayjs | any, context?: any) => string;\nexport const defaultExpressionTransformer: ExpressionTransformer = input => {\n if (dayjs.isDayjs(input)) {\n return input.format('YY/MM/DD');\n } else if (Array.isArray(input)) {\n return `${input.length}個のアイテム`;\n } else if (typeof input === 'object') {\n return JSON.stringify(input);\n } else if (typeof input === 'string') {\n return input;\n } else if (typeof input === 'number') {\n return yenTransform(input);\n } else {\n return input;\n }\n}\n\nexport const EXPRESSION_TRANSFORMER = new InjectionToken<ExpressionTransformer>('[@ng-atomic/common] Expression Transformer', {\n providedIn: 'root',\n factory: () => defaultExpressionTransformer,\n});\n\nexport function provideExpressionTransformer(useFactory: () => ExpressionTransformer) {\n return { provide: EXPRESSION_TRANSFORMER, useFactory };\n}\n\nexport function injectParentExpressionTransformer() {\n return inject(EXPRESSION_TRANSFORMER, {skipSelf: true, optional: true}) ?? defaultExpressionTransformer\n}\n\nexport const smartExpTransformer: ExpressionTransformer = defaultExpressionTransformer;\n","const getAllProps = (obj: object, keys: string[] = Object.keys(obj)): string[] => {\n const proto = Object.getPrototypeOf(obj);\n keys = Object.getOwnPropertyNames(proto)\n .filter(v => v !== '__proto__')\n .filter(v => Object.getOwnPropertyDescriptor(proto, v)!.get instanceof Function)\n .concat(keys);\n\n return proto.constructor.name === 'Object' ? keys : getAllProps(proto, keys);\n}\n\nexport const toObject = (obj: object): object => getAllProps(obj).reduce((p, k) => ({...p, [k]: obj[k]}), {});\n","// 秒数をhh:mm:ssの形にフォーマットする\nexport function formatSeconds(seconds: number): string {\n const h = `${Math.floor(seconds / 3600)}`.padStart(2, '0');\n const m = `${Math.floor(seconds % 3600 / 60)}`.padStart(2, '0');\n const s = `${Math.floor(seconds % 3600 % 60)}`.padStart(2, '0');\n return `${h}:${m}:${s}`;\n}","export * from './comma';\nexport * from './compare-by-id';\nexport * from './date-utils';\nexport * from './diff';\nexport * from './form';\nexport * from './get';\nexport * from './inject';\nexport * from './mat-dayjs-date';\nexport * from './page';\nexport * from './router';\nexport * from './expression';\nexport * from './to-object';\n\nexport * from './time';\n// export * from './define-element';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_get","get"],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-common-utils.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/utils/comma/comma.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/compare-by-id/compare-by-id.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/date-utils/date-utils.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/diff/diff.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/form/form.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/get/get.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/route-params.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/route-query.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/route-navigation.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/route-data.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/resolver.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/inject.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.adapter.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.formats.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-jp-providers.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.module.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/page/page.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/router/router.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/expression/expression.transformer.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/to-object/to-object.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/time.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/index.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/ng-atomic-common-utils.ts"],"sourcesContent":["export const comma = (n: number | null): string => n === null ? '0' : n.toLocaleString();\nexport const commaStr = (n: number, unit = '円') => n < 0 ? `-${comma(abs(n))}${unit}` : `${comma(n)}${unit}`;\nexport const abs = (n: number) => Math.abs(n);","export type HasId = { id: string };\nexport function compareByIdFactory(key: string) {\n return (a: any, b: any) => parseInt(a?.[key], 10) - parseInt(b?.[key], 10);\n}\nexport const compareById = compareByIdFactory('id');\n","import dayjs from 'dayjs';\n\nexport const removeComma = (str: string) => str.replace(/\\,/g, '');\n\nexport const DATE_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\nconst DATE_REGEX = /^[0-9]{4}\\/(0[1-9]|1[0-2])\\/(0[1-9]|[12][0-9]|3[01])$/;\nconst DATETIME_REGEX = /^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\+([+-][0-2]\\d:[0-5]\\d)$/;\nexport const isDateStr = (str: string | null): str is string => !!str && !!str.match(DATE_REGEX);\nexport const isDateTimeStr = (str: string | null): str is string => !!str && !!str.match(DATE_REGEX);\n\nconst ISO_REGEX = /\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z)/;\nexport const isIsoString = (str: string | null): str is string => !!str && !!str.match(ISO_REGEX);\n\n\nexport interface Timestamp {\n toDate: () => Date;\n}\n\nexport function timestampToDayjs(timestamp: Timestamp | null): dayjs.Dayjs | null {\n return timestamp ? dayjs(timestamp.toDate()) : null;\n}","import { SelectionModel } from \"@angular/cdk/collections\";\n\nexport function diff<T = any>(initial: SelectionModel<T>, current: SelectionModel<T>): {\n selectedIds: T[],\n unselectedIds: T[],\n} {\n return {\n selectedIds: current.selected.filter((id: T) => !initial.isSelected(id)),\n unselectedIds: initial.selected.filter((id: T) => !current.isSelected(id)),\n }\n}\n","import { Signal } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { AbstractControl } from \"@angular/forms\";\nimport { Observable, distinctUntilChanged, map, merge, of, startWith } from \"rxjs\";\nimport { computedAsync } from \"ngxtension/computed-async\";\nimport { computeFake } from \"@ng-atomic/core\";\n\nexport function getValue$<T>(control: AbstractControl<T>): Observable<T> {\n return merge(of(control.value), control.valueChanges).pipe(\n distinctUntilChanged((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur)),\n );\n}\n\nexport function getValue<T>(control: AbstractControl<T>): Signal<T> {\n return toSignal(getValue$(control)) as Signal<T>;\n}\n\nexport function getRawValue$<T>(control: AbstractControl<T>): Observable<T> {\n return merge(of(control.getRawValue()), control.valueChanges.pipe(map(() => control.getRawValue())));\n}\n\nexport function getRawValue<T>(control: AbstractControl<T>): Signal<T> {\n return toSignal(getRawValue$(control)) as Signal<T>;\n}\n\nexport function computedRawValue<T>(controlFactory: () => AbstractControl<T>): Signal<T> {\n return computedAsync(() => controlFactory().valueChanges.pipe(\n startWith(null),\n map(() => controlFactory().getRawValue()),\n ), { initialValue: computeFake(controlFactory()).getRawValue() });\n}\n\nexport function getInvalid$<T>(control: AbstractControl<T>): Observable<boolean> {\n return control.statusChanges.pipe(\n startWith(null),\n map(() => control.invalid),\n );\n}\n\nexport function getInvalid<T>(form: AbstractControl<T>): Signal<boolean> {\n return toSignal(getInvalid$(form)) as Signal<boolean>;\n}\n\n","import { get as _get } from 'lodash-es';\n\n// ネストされたオブジェクトのキーの組み合わせを生成する型ヘルパー\nexport type PathKeys<T> = T extends object ? {\n [K in keyof T]-?: K extends string | number ?\n T[K] extends object ? [K] | [K, ...PathKeys<T[K]>] : [K]\n : never\n}[keyof T] : [];\n\n// ネストされたパスに対応する型を抽出するための型ヘルパー\nexport type NestedGetType<T, P extends any[]> = \n P extends [infer F, ...infer R]\n ? F extends keyof T\n ? NestedGetType<T[F], R>\n : never\n : T;\n\n/** @deprecated use lodash-es */\nexport function get<T, P extends PathKeys<T>>(obj: T, path: P): NestedGetType<T, P> {\n return _get(obj, path as any);\n}","import { Signal, inject } from \"@angular/core\";\nimport { takeUntilDestroyed, toSignal } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute, ParamMap, Params } from \"@angular/router\";\nimport { Observable, OperatorFunction, combineLatest, map, of, shareReplay } from \"rxjs\";\nimport { unflatten } from 'flat';\n\nexport function injectRouterParam$(key: string): Observable<string> {\n return inject(ActivatedRoute).paramMap.pipe(\n map((params) => params.get(key)) as OperatorFunction<ParamMap, string>,\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\n/** @deprecated */\nexport function injectRouterParam(key: string): Signal<string> {\n return toSignal(injectRouterParam$(key)) as Signal<string>;\n}\n\nexport function injectRouteParams$({\n merge = true,\n route = inject(ActivatedRoute),\n}: {\n merge?: boolean,\n route?: ActivatedRoute,\n} = {}): Observable<Params> {\n const parentParams = (merge && route.parent) ? injectRouteParams$({merge, route: route.parent}) : of(new Map<string, string>());\n return combineLatest({\n parentParams,\n params: route.params\n }).pipe(\n map(({parentParams, params}) => ({\n ...parentParams,\n ...params,\n })),\n shareReplay(1),\n takeUntilDestroyed(),\n )\n}\n\nexport function injectUnflattenRouteParams$({\n merge = true,\n route = inject(ActivatedRoute),\n}: {\n merge?: boolean,\n route?: ActivatedRoute,\n} = {}) {\n return injectRouteParams$({merge, route}).pipe(\n map((params) => (unflatten(params) as any)),\n );\n}\n\nexport function injectUnflattenRouteParam$<T = any>(key?: string): Observable<T> {\n return injectUnflattenRouteParams$().pipe(\n map((params) => key ? params[key]: params),\n );\n}\n\nexport function injectUnflattenRouteParam<T = any>(key?: string): Signal<T> {\n return toSignal(injectUnflattenRouteParam$(key)) as Signal<T>;\n}\n\nexport function injectUnflattenRouteParams({\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Signal<any> {\n return toSignal(injectUnflattenRouteParams$({merge}), {initialValue: {}});\n}\n\nexport function injectRouteParamMap$({\n merge = true,\n}: {\n merge?: boolean,\n} = {}) {\n return injectRouteParams$({merge}).pipe(\n map((params) => new Map(Object.entries(params)) as never as ParamMap),\n );\n}\n\nexport function injectRouteParamMap({\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Signal<ParamMap> {\n return toSignal(injectRouteParamMap$({merge})) as Signal<ParamMap>;\n}\n\nexport function injectRouteParams({\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Signal<Record<string, string>> {\n return toSignal(injectRouteParams$({merge})) as Signal<Record<string, string>>;\n}\n\nexport function injectRouteParam$(key: string, {\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Observable<string> {\n return injectRouteParamMap$({merge}).pipe(\n map((params) => params.get(key)) as OperatorFunction<ParamMap, string>,\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouteParam(key: string, injector?: import(\"@angular/core\").Injector): Signal<string> {\n return toSignal(injectRouteParam$(key), {injector}) as Signal<string>;\n}\n\nexport function injectRouteSkip$(): Observable<boolean> {\n return injectRouteParam$('skip', {merge: false}).pipe(\n map((skip) => skip === 'true'),\n shareReplay(1),\n takeUntilDestroyed(),\n )\n}\n\nexport function injectRouteSkip(): Signal<boolean> {\n return toSignal(injectRouteSkip$()) as Signal<boolean>;\n}\n","import { Signal, inject } from \"@angular/core\";\nimport { takeUntilDestroyed, toSignal } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Observable, map, shareReplay } from \"rxjs\";\n\nexport function injectRouteQueryParam$<T extends string = string>(key: string): Observable<T> {\n return inject(ActivatedRoute).queryParamMap.pipe(\n map((params) => params.get(key) as T),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouteQueryParam(key: string): Signal<string> {\n return toSignal(injectRouteQueryParam$(key)) as Signal<string>;\n}\n\nexport function injectRouterQueryParam$<T extends string = string>(key: string): Observable<T> {\n return inject(ActivatedRoute).queryParamMap.pipe(\n map((params) => params.get(key) as T),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouterQueryParam<T extends string = string>(key: string): Signal<T> {\n return toSignal(injectRouterQueryParam$(key)) as Signal<T>;\n}\n","import { Signal, computed, inject } from \"@angular/core\";\nimport { takeUntilDestroyed, toSignal } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute, NavigationEnd, NavigationExtras, Router } from \"@angular/router\";\nimport { Observable, filter, map, of, shareReplay, startWith, switchMap } from \"rxjs\";\n\nexport function injectRouteNavigated$() {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => route),\n );\n}\n\nexport function injectRouteNavigated() {\n return toSignal(injectRouteNavigated$());\n}\n\nexport function injectPrimaryPaths$() {\n return injectRouteNavigated$().pipe(\n map(route => {\n const paths: (string | null)[] = [];\n let current: ActivatedRoute | null = route.root;\n while (current) {\n paths.push(current?.routeConfig?.path ?? null);\n current = current.firstChild;\n }\n return paths.filter(Boolean);\n }),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectPrimaryPaths() {\n return toSignal(injectPrimaryPaths$());\n}\n\nexport function injectChildRouteParam$(key: string): Observable<string> {\n return injectRouteNavigated$().pipe(\n switchMap((route) => route?.firstChild ? route.firstChild.paramMap : of(new Map<string, string>())),\n map((params) => params.get(key) as string),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectChildRouteParam(key: string): Signal<string> {\n return toSignal(injectChildRouteParam$(key)) as Signal<string>;\n}\n\nexport function injectChildRoute$() {\n return injectRouteNavigated$().pipe(\n map((route) => (route?.firstChild?.firstChild ?? null) as ActivatedRoute),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectChildRoute(): Signal<ActivatedRoute> {\n return toSignal(injectChildRoute$()) as Signal<ActivatedRoute>;\n}\n\nexport function injectHasNext$() {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n startWith(null),\n map(() => !!route?.firstChild?.firstChild),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectHasNext() {\n return toSignal(injectHasNext$());\n}\n\nexport function injectNavigationExtras(): Signal<NavigationExtras> {\n const relativeTo = inject(ActivatedRoute);\n const hasNext = injectHasNext();\n return computed(() => ({ relativeTo, replaceUrl: hasNext() }));\n}\n","import { Injector, Signal, computed, inject } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Observable, map } from \"rxjs\";\nimport { get } from \"lodash-es\";\n\nexport function injectRouteData$<T>(path: string): Observable<T> {\n return inject(ActivatedRoute).data.pipe(map(data => get(data, path) as T));\n}\n\nexport function injectRouteData<T>(key: string): Signal<T> {\n return toSignal(injectRouteData$<T>(key)) as Signal<T>;\n}\n\nexport function injectRouteDataSnapshot<T>(key: string): Signal<T> {\n const route = inject(ActivatedRoute);\n return computed(() => route.snapshot.data[key] as T);\n}\n\nexport function injectActivatedComponents(injector: Injector = inject(Injector)): any[] {\n const components = [];\n let route = injector.get(ActivatedRoute, {optional: true}) ?? null;\n while(route) {\n if (route.component) components.push(route.component);\n route = route.parent;\n }\n return components;\n}\n","import { Injectable } from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { Observable, combineLatest, map, of, shareReplay } from \"rxjs\";\nimport { BaseResolver, Type } from \"@nx-ddd/common/domain\";\n\nexport interface Resolver<T> {\n resolve(entry: T): T;\n resolveMany(entities: T[]): T[];\n}\n\nexport function provideResolver(\n Entity: Type<{id: string}>,\n ResolverType: new (params: Record<string, Observable<any>>) => Resolver<any>,\n) {\n return {\n provide: Entity,\n deps: [],\n multi: true,\n };\n}\n\n@Injectable({providedIn: 'root'})\nexport class ResolverManager {\n protected map = new Map<string, Resolver<any>>();\n\n get(Entity: Type<{id: string}>) {\n if (!this.map.has(Entity.name)) {\n // placeholder for future implementation\n }\n return this.map.get(Entity.name);\n }\n}\n\nexport function injectResolver$<T>(\n ResolverType: Type<BaseResolver<T>>,\n params: Record<string, Observable<any>>,\n): Observable<BaseResolver<T>> {\n const params$ = Object.keys(params).length > 0 ? combineLatest(params) : of({});\n return params$.pipe(\n map((params) => new ResolverType(params)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function getResolver<T>(\n ResolverType: new (params: Record<string, any>) => Resolver<T>,\n params: Record<string, any>,\n): Resolver<T> {\n return new ResolverType(params);\n}\n","/**\n * Angular injection utilities for routing and resolvers\n *\n * Re-exports all utilities from split files for backward compatibility\n */\n\n// Route parameter utilities\nexport {\n injectRouterParam$,\n injectRouterParam,\n injectRouteParams$,\n injectRouteParams,\n injectRouteParamMap$,\n injectRouteParamMap,\n injectRouteParam$,\n injectRouteParam,\n injectRouteSkip$,\n injectRouteSkip,\n injectUnflattenRouteParams$,\n injectUnflattenRouteParams,\n injectUnflattenRouteParam$,\n injectUnflattenRouteParam,\n} from './route-params';\n\n// Query parameter utilities\nexport {\n injectRouteQueryParam$,\n injectRouteQueryParam,\n injectRouterQueryParam$,\n injectRouterQueryParam,\n} from './route-query';\n\n// Navigation utilities\nexport {\n injectRouteNavigated$,\n injectRouteNavigated,\n injectPrimaryPaths$,\n injectPrimaryPaths,\n injectChildRouteParam$,\n injectChildRouteParam,\n injectChildRoute$,\n injectChildRoute,\n injectHasNext$,\n injectHasNext,\n injectNavigationExtras,\n} from './route-navigation';\n\n// Route data utilities\nexport {\n injectRouteData$,\n injectRouteData,\n injectRouteDataSnapshot,\n injectActivatedComponents,\n} from './route-data';\n\n// Resolver utilities\nexport {\n Resolver,\n provideResolver,\n ResolverManager,\n injectResolver$,\n getResolver,\n} from './resolver';\n","\nimport { Optional, Inject, InjectionToken } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport { Dayjs } from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport localeData from 'dayjs/plugin/localeData';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\n\nexport interface DayJsDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n * {@default false}\n */\n useUtc?: boolean;\n}\n\n/** InjectionToken for Dayjs date adapter to configure options. */\nexport const MAT_DAYJS_DATE_ADAPTER_OPTIONS = new InjectionToken<DayJsDateAdapterOptions>(\n 'MAT_DAYJS_DATE_ADAPTER_OPTIONS', {\n providedIn: 'root',\n factory: MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY\n});\n\nexport function MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY(): DayJsDateAdapterOptions {\n return {\n useUtc: false\n };\n}\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts Dayjs Dates for use with Angular Material. */\nexport class DayjsDateAdapter extends DateAdapter<Dayjs> {\n private localeData!: {\n firstDayOfWeek: number,\n longMonths: string[],\n shortMonths: string[],\n dates: string[],\n longDaysOfWeek: string[],\n shortDaysOfWeek: string[],\n narrowDaysOfWeek: string[]\n };\n\n constructor(\n @Optional() @Inject(MAT_DATE_LOCALE) public dateLocale: string,\n @Optional() @Inject(MAT_DAYJS_DATE_ADAPTER_OPTIONS) private options?: DayJsDateAdapterOptions\n ) {\n super();\n this.initializeParser(dateLocale);\n }\n\n // TODO: Implement\n override setLocale(locale: string) {\n super.setLocale(locale);\n\n const dayJsLocaleData = this.dayJs().localeData();\n this.localeData = {\n firstDayOfWeek: dayJsLocaleData.firstDayOfWeek(),\n longMonths: dayJsLocaleData.months(),\n shortMonths: dayJsLocaleData.monthsShort(),\n dates: range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\n longDaysOfWeek: range(7, (i) => this.dayJs().set('day', i).format('dddd')),\n shortDaysOfWeek: dayJsLocaleData.weekdaysShort(),\n narrowDaysOfWeek: dayJsLocaleData.weekdaysMin(),\n };\n }\n\n getYear(date: Dayjs): number {\n return this.dayJs(date).year();\n }\n\n getMonth(date: Dayjs): number {\n return this.dayJs(date).month();\n }\n\n getDate(date: Dayjs): number {\n return this.dayJs(date).date();\n }\n\n getDayOfWeek(date: Dayjs): number {\n return this.dayJs(date).day();\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return style === 'long' ? this.localeData.longMonths : this.localeData.shortMonths;\n }\n\n getDateNames(): string[] {\n return this.localeData.dates;\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n if (style === 'long') {\n return this.localeData.longDaysOfWeek;\n }\n if (style === 'short') {\n return this.localeData.shortDaysOfWeek;\n }\n return this.localeData.narrowDaysOfWeek;\n }\n\n getYearName(date: Dayjs): string {\n return this.dayJs(date).format('YYYY');\n }\n\n getFirstDayOfWeek(): number {\n return this.localeData.firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: Dayjs): number {\n return this.dayJs(date).daysInMonth();\n }\n\n clone(date: Dayjs): Dayjs {\n return date.clone();\n }\n\n createDate(year: number, month: number, date: number): Dayjs {\n const returnDayjs = this.dayJs()\n .set('year', year)\n .set('month', month)\n .set('date', date);\n return returnDayjs;\n }\n\n today(): Dayjs {\n return this.dayJs();\n }\n\n parse(value: any, parseFormat: string): Dayjs | null {\n if (value && typeof value === 'string') {\n return this.dayJs(value, dayjs().localeData().longDateFormat(parseFormat), this.locale);\n }\n return value ? this.dayJs(value).locale(this.locale) : null;\n }\n\n format(date: Dayjs, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('DayjsDateAdapter: Cannot format invalid date.');\n }\n return date.locale(this.locale).format(displayFormat);\n }\n\n addCalendarYears(date: Dayjs, years: number): Dayjs {\n return date.add(years, 'year');\n }\n\n addCalendarMonths(date: Dayjs, months: number): Dayjs {\n return date.add(months, 'month');\n }\n\n addCalendarDays(date: Dayjs, days: number): Dayjs {\n return date.add(days, 'day');\n }\n\n toIso8601(date: Dayjs): string {\n return date.toISOString();\n }\n\n /**\n * Attempts to deserialize a value to a valid date object. This is different from parsing in that\n * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601\n * string). The default implementation does not allow any deserialization, it simply checks that\n * the given value is already a valid date object or null. The `<mat-datepicker>` will call this\n * method on all of it's `@Input()` properties that accept dates. It is therefore possible to\n * support passing values from your backend directly to these properties by overriding this method\n * to also deserialize the format used by your backend.\n * @param value The value to be deserialized into a date object.\n * @returns The deserialized date object, either a valid date, null if the value can be\n * deserialized into a null date (e.g. the empty string), or an invalid date.\n */\n override deserialize(value: any): Dayjs | null {\n let date;\n if (value instanceof Date) {\n date = this.dayJs(value);\n } else if (this.isDateInstance(value)) {\n // NOTE: assumes that cloning also sets the correct locale.\n return this.clone(value);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = this.dayJs(value).toISOString();\n }\n if (date && this.isValid(date as Dayjs)) {\n return this.dayJs(date); // NOTE: Is this necessary since Dayjs is immutable and Moment was not?\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return dayjs.isDayjs(obj);\n }\n\n isValid(date: Dayjs): boolean {\n return this.dayJs(date).isValid();\n }\n\n invalid(): Dayjs {\n return this.dayJs(null);\n }\n\n private dayJs(input?: any, format?: string, locale?: string): Dayjs {\n if (!this.shouldUseUtc) {\n return dayjs(input, { format, locale }, locale);\n }\n return dayjs(input, { format, locale, utc: this.shouldUseUtc }, locale).utc();\n }\n\n private get shouldUseUtc(): boolean {\n const { useUtc }: DayJsDateAdapterOptions = this.options || {};\n return !!useUtc;\n }\n\n private initializeParser(dateLocale: string) {\n if (this.shouldUseUtc) {\n dayjs.extend(utc);\n }\n\n dayjs.extend(LocalizedFormat);\n dayjs.extend(customParseFormat);\n dayjs.extend(localeData);\n\n this.setLocale(dateLocale);\n }\n}","import { MatDateFormats } from '@angular/material/core';\n\n/**\n * Custom Date-Formats and Adapter (using https://github.com/iamkun/dayjs)\n */\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'MM/DD/YYYY',\n },\n display: {\n dateInput: 'MM/DD/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};","import { MatDateFormats, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport 'dayjs/locale/ja'\ndayjs.locale('ja');\n\nexport const MAT_DAYJS_DATE_FORMATS_FOR_JP: MatDateFormats = {\n parse: {\n dateInput: 'YYYY/MM/DD',\n },\n display: {\n dateInput: 'YYYY/MM/DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};\n\nexport const MAT_DAYJS_JP_PROVIDERS = [\n { provide: MAT_DATE_LOCALE, useValue: 'ja' },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS_FOR_JP },\n];\n","import { NgModule, Provider } from '@angular/core';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DayjsDateAdapter, MAT_DAYJS_DATE_ADAPTER_OPTIONS } from './dayjs-date.adapter';\nimport { MAT_DAYJS_DATE_FORMATS } from './dayjs-date.formats';\n\n@NgModule({\n providers: [\n provideDayjsDateAdapter(),\n ],\n})\nexport class DayjsDateModule { }\n\nexport function provideDayjsDateAdapter(): Provider[] {\n return [\n {\n provide: DateAdapter,\n useClass: DayjsDateAdapter,\n deps: [\n MAT_DATE_LOCALE, \n MAT_DAYJS_DATE_ADAPTER_OPTIONS,\n ]\n },\n {\n provide: MAT_DATE_FORMATS,\n useValue: MAT_DAYJS_DATE_FORMATS,\n }, \n ]\n}\n","import { PageEvent } from '@angular/material/paginator';\n\nexport interface Page extends PageEvent {\n sortKey: string;\n sortOrder: 'asc' | 'desc';\n}\n\nexport class Page {\n static from(event: Partial<Page> = {}): Page {\n return Object.assign(new Page(), {\n pageSize: 50,\n pageIndex: 0,\n length: 100,\n ...event\n });\n }\n\n get start(): number {\n return this.pageIndex * this.pageSize;\n }\n\n get end(): number {\n return Math.min((this.pageIndex + 1) * this.pageSize, this.length);\n }\n\n patch(obj: Partial<Page>): Page {\n return Page.from({...this, ...obj});\n }\n}\n","import { ActivatedRouteSnapshot, RouterStateSnapshot, Routes } from \"@angular/router\";\n\nexport function walkActivatedRouteSnapshot(\n snapshot: ActivatedRouteSnapshot,\n callback: (snapshot: ActivatedRouteSnapshot) => boolean,\n target: 'children' | 'parent' = 'children',\n): void {\n if(callback(snapshot)) return;\n if (target === 'children') {\n snapshot.children.forEach(child => walkActivatedRouteSnapshot(child, callback, target));\n }\n}\n\n\nexport function skippedResolver(outlet = 'primary') {\n\tlet skipped: boolean | undefined;\n\n\treturn (route: ActivatedRouteSnapshot, snapshot: RouterStateSnapshot) => {\n\t\tconst routes: ActivatedRouteSnapshot[] = [];\n\t\twalkActivatedRouteSnapshot(snapshot.root, snapshot => {\n\t\t\tif (snapshot.outlet === outlet) {\n\t\t\t\troutes.push(snapshot);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\n\t\tif (route === routes.at(-1)) {\n\t\t\treturn skipped = false;\n\t\t}\n\n\t\treturn skipped ??= route !== routes.at(-1);\n\t}\n}\n\nfunction resolveModule(m: any) {\n if (m.default) {\n return m.default;\n }\n return m;\n}\n\nexport function wrapRoutes(routes: Routes): Routes {\n return (routes ?? []).map(route => {\n if (route.loadChildren) {\n return {\n ...route,\n loadChildren: () => (route.loadChildren!() as Promise<Routes>).then(routes => {\n\t\t\t\t\treturn wrapRoutes(resolveModule(routes))\n\t\t\t\t}),\n resolve: {\n ...(route?.resolve || {}),\n skipped: skippedResolver(),\n }\n };\n }\n return {\n ...route,\n resolve: {\n ...(route?.resolve || {}),\n skipped: skippedResolver(),\n },\n };\n });\n}","import { inject, InjectionToken } from '@angular/core';\nimport dayjs from 'dayjs';\nimport { comma } from '../comma';\n\nexport const yenTransform = (value: number, _unit = ''): string => {\n return `${comma(value)} ${_unit}`;\n}\n\nexport type ExpressionTransformer = (value: string | number | dayjs.Dayjs | any, context?: any) => string;\nexport const defaultExpressionTransformer: ExpressionTransformer = input => {\n if (dayjs.isDayjs(input)) {\n return input.format('YY/MM/DD');\n } else if (Array.isArray(input)) {\n return `${input.length}個のアイテム`;\n } else if (typeof input === 'object') {\n return JSON.stringify(input);\n } else if (typeof input === 'string') {\n return input;\n } else if (typeof input === 'number') {\n return yenTransform(input);\n } else {\n return input;\n }\n}\n\nexport const EXPRESSION_TRANSFORMER = new InjectionToken<ExpressionTransformer>('[@ng-atomic/common] Expression Transformer', {\n providedIn: 'root',\n factory: () => defaultExpressionTransformer,\n});\n\nexport function provideExpressionTransformer(useFactory: () => ExpressionTransformer) {\n return { provide: EXPRESSION_TRANSFORMER, useFactory };\n}\n\nexport function injectParentExpressionTransformer() {\n return inject(EXPRESSION_TRANSFORMER, {skipSelf: true, optional: true}) ?? defaultExpressionTransformer\n}\n\nexport const smartExpTransformer: ExpressionTransformer = defaultExpressionTransformer;\n","const getAllProps = (obj: object, keys: string[] = Object.keys(obj)): string[] => {\n const proto = Object.getPrototypeOf(obj);\n keys = Object.getOwnPropertyNames(proto)\n .filter(v => v !== '__proto__')\n .filter(v => Object.getOwnPropertyDescriptor(proto, v)?.get instanceof Function)\n .concat(keys);\n\n return proto.constructor.name === 'Object' ? keys : getAllProps(proto, keys);\n}\n\nexport const toObject = (obj: object): object => getAllProps(obj).reduce((p, k) => ({...p, [k]: (obj as Record<string, unknown>)[k]}), {});\n","// 秒数をhh:mm:ssの形にフォーマットする\nexport function formatSeconds(seconds: number): string {\n const h = `${Math.floor(seconds / 3600)}`.padStart(2, '0');\n const m = `${Math.floor(seconds % 3600 / 60)}`.padStart(2, '0');\n const s = `${Math.floor(seconds % 3600 % 60)}`.padStart(2, '0');\n return `${h}:${m}:${s}`;\n}","export * from './comma';\nexport * from './compare-by-id';\nexport * from './date-utils';\nexport * from './diff';\nexport * from './form';\nexport * from './get';\nexport * from './inject';\nexport * from './mat-dayjs-date';\nexport * from './page';\nexport * from './router';\nexport * from './expression';\nexport * from './to-object';\n\nexport * from './time';\n// export * from './define-element';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_get","get"],"mappings":"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"}