serve-socket 1.0.4 → 1.0.5
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.
- package/fesm2022/serve-socket.mjs +6 -6
- package/fesm2022/serve-socket.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { NgModule, InjectionToken, Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { NgModule, InjectionToken, Inject, Injectable, inject } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { HttpClientModule, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
|
|
5
5
|
import { BehaviorSubject, Subject, Observable, firstValueFrom } from 'rxjs';
|
|
@@ -300,21 +300,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
|
|
|
300
300
|
}], ctorParameters: () => [{ type: SocketService }] });
|
|
301
301
|
|
|
302
302
|
class TableStore extends BaseStore {
|
|
303
|
-
socketService;
|
|
304
|
-
constructor(
|
|
303
|
+
socketService = inject(SocketService);
|
|
304
|
+
constructor() {
|
|
305
|
+
const socketService = inject(SocketService);
|
|
305
306
|
super(socketService);
|
|
306
|
-
this.socketService = socketService;
|
|
307
307
|
this.subscribeToEvent(SocketSuccessEvents.TABLE_CREATED, (table) => this.addItem(table));
|
|
308
308
|
this.subscribeToEvent(SocketSuccessEvents.TABLE_ASSIGNED, (table) => this.updateItem(table, 'id'));
|
|
309
309
|
this.subscribeToEvent(SocketSuccessEvents.TABLE_STATUS_UPDATED, (table) => this.updateItem(table, 'id'));
|
|
310
310
|
this.subscribeToEvent(SocketSuccessEvents.TABLE_RELEASED, (table) => this.updateItem(table, 'id'));
|
|
311
311
|
}
|
|
312
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TableStore, deps: [
|
|
312
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TableStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
313
313
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TableStore });
|
|
314
314
|
}
|
|
315
315
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: TableStore, decorators: [{
|
|
316
316
|
type: Injectable
|
|
317
|
-
}], ctorParameters: () => [
|
|
317
|
+
}], ctorParameters: () => [] });
|
|
318
318
|
|
|
319
319
|
class CartStore extends BaseStore {
|
|
320
320
|
socketService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-socket.mjs","sources":["../../../projects/serve-socket/src/lib/realtime-store.module.ts","../../../projects/serve-socket/src/lib/environment/realtime-store-environment.interface.ts","../../../projects/serve-socket/src/lib/environment/realtime-store-environment.token.ts","../../../projects/serve-socket/src/lib/model/socketGateways.ts","../../../projects/serve-socket/src/lib/socket.service.ts","../../../projects/serve-socket/src/lib/base-store.ts","../../../projects/serve-socket/src/lib/stores/table.store.ts","../../../projects/serve-socket/src/lib/stores/cart.store.ts","../../../projects/serve-socket/src/lib/stores/menu.store.ts","../../../projects/serve-socket/src/lib/stores/call-waiter.store.ts","../../../projects/serve-socket/src/lib/stores/customer-login.store.ts","../../../projects/serve-socket/src/lib/providers.ts","../../../projects/serve-socket/src/lib/providers/realtime-store-environment.provider.ts","../../../projects/serve-socket/src/public-api.ts","../../../projects/serve-socket/src/serve-socket.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\n\n/**\n * @deprecated Use provideRealtimeStore() with standalone components instead\n */\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n HttpClientModule // Kept for backward compatibility with Angular <14\n ],\n exports: []\n})\nexport class RealtimeStoreModule { }\n","export interface RealtimeStoreEnvironment {\n apiUrl: string;\n}\n\nexport const defaultRealtimeStoreEnvironment: RealtimeStoreEnvironment = {\n // apiUrl: `http://${window.location.hostname}:3030`,\n apiUrl: `http://http://192.168.1.111:3030`,\n};","import { InjectionToken } from '@angular/core';\nimport { RealtimeStoreEnvironment } from './realtime-store-environment.interface';\n\nexport const REALTIME_STORE_ENVIRONMENT = new InjectionToken<RealtimeStoreEnvironment>('REALTIME_STORE_ENVIRONMENT');","/**\n * API Gateway\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface SocketGateways { \n /**\n * All possible socket success events emitted by the server\n */\n response: SocketGateways.ResponseEnum;\n /**\n * Auth message patterns for the socket gateway\n */\n request: SocketGateways.RequestEnum;\n}\nexport namespace SocketGateways {\n export const ResponseEnum = {\n CustomerCreateCartSuccess: 'customer:create:cart:success',\n CustomerRemoveFromCartSuccess: 'customer:remove:from:cart:success',\n CustomerGetMenuSuccess: 'customer:get:menu:success',\n TableJoinRequestSuccess: 'table:join:request:success',\n TableJoinRequestApprovedSuccess: 'table:join:request:approved:success',\n ErrorMessageSuccess: 'error:message:success',\n SuccessMessageSuccess: 'success:message:success',\n WarningMessageSuccess: 'warning:message:success',\n AuthCustomerLoginPendingGetSuccess: 'auth:customer:login:pending:get:success',\n CustomerUpdateIsPaidSuccess: 'customer:update:is-paid:success',\n TableCreatedSuccess: 'table:created:success',\n TableAssignedSuccess: 'table:assigned:success',\n TableStatusUpdatedSuccess: 'table:status:updated:success',\n TableReleasedSuccess: 'table:released:success'\n } as const;\n export type ResponseEnum = typeof ResponseEnum[keyof typeof ResponseEnum];\n export const RequestEnum = {\n AuthCustomerLogin: 'auth:customer:login',\n AuthCustomerLoginReconnect: 'auth:customer:login:reconnect',\n PosLogin: 'pos:login',\n CustomerGetCart: 'customer:get:cart',\n CustomerGetOneCart: 'customer:get-one:cart',\n CustomerRemoveFromCart: 'customer:remove:from:cart',\n CustomerUpdateCart: 'customer:update:cart',\n GetCartByWaiter: 'get:cart:by:waiter',\n GetAllCarts: 'get:all:carts',\n CustomerGetMenu: 'customer:get:menu',\n ErrorMessage: 'error:message',\n SuccessMessage: 'success:message',\n JoinRoom: 'join:room',\n GetTheming: 'get:theming',\n CustomerCartItemStatusUpdate: 'customer:cart:item:status:update',\n CustomerGetMenuItemReviews: 'customer:get:menu-item:reviews',\n CustomerCreateMenuItemReview: 'customer:create:menu-item:review',\n CustomerGetRequestsByTable: 'customer:get:requests:by:table',\n WaiterGetRequestsByTable: 'waiter:get:requests:by:table',\n CustomerCallWaiter: 'customer:call:waiter',\n WaiterReceiveCall: 'waiter:receive:call',\n WaiterCallAcknowledged: 'waiter:call:acknowledged',\n CustomerGetCallWaiterRequests: 'customer:get:call:waiter:requests',\n WaiterGetCalls: 'waiter:get:calls',\n WaiterGetAvailable: 'waiter:get:available',\n WaiterCallCreate: 'waiter:call:create',\n WaiterCallResolve: 'waiter:call:resolve',\n TableAssignToWaiter: 'table:assign:to:waiter',\n AuthCustomerLoginApprove: 'auth:customer:login:approve',\n AuthCustomerLoginPendingGet: 'auth:customer:login:pending:get',\n AuthCustomerApprovalPendingGetSuccess: 'auth:customer:approval:pending:get:success',\n AuthCustomerApprovalPendingGetForWaiter: 'auth:customer:approval:pending:get:for:waiter',\n PosLogin2: 'pos:login',\n PosValidateBranchCode: 'pos:validate:branch:code',\n PosWaiterLogin: 'pos:waiter:login',\n WaiterGetTables: 'waiter:get:tables',\n WaiterGetLoggedIn: 'waiter:get:logged:in',\n TableGetAll: 'table:get:all',\n TableCreate: 'table:create',\n TableAssign: 'table:assign',\n TableUpdateStatus: 'table:update:status',\n TableRelease: 'table:release',\n WaiterGetTablesDetails: 'waiter:get:tables:details',\n TableGetDetails: 'table:get:details',\n PosWaiterCreate: 'pos:waiter:create'\n } as const;\n export type RequestEnum = typeof RequestEnum[keyof typeof RequestEnum];\n}\n\n\n","import { Injectable, Inject } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { io, Socket } from 'socket.io-client';\n// import { SocketGateways } from '@serve-plus/client-api';\nimport { REALTIME_STORE_ENVIRONMENT, RealtimeStoreEnvironment, defaultRealtimeStoreEnvironment } from './environment';\nimport { SocketGateways } from './model/socketGateways';\n\n// Define string constants instead of enum to avoid type errors with string values\nexport const SocketEvents = {\n CUSTOMER_CONNECT: SocketGateways.RequestEnum.AuthCustomerLogin,\n CUSTOMER_RECONNECT: SocketGateways.RequestEnum.AuthCustomerLoginReconnect,\n CUSTOMER_GET_CART: SocketGateways.RequestEnum.CustomerGetCart,\n CUSTOMER_GET_ONE_CART: SocketGateways.RequestEnum.CustomerGetOneCart,\n CUSTOMER_REMOVE_FROM_CART: SocketGateways.RequestEnum.CustomerRemoveFromCart,\n CUSTOMER_CREATE_UPDATE_CART: SocketGateways.RequestEnum.CustomerUpdateCart,\n CUSTOMER_GET_MENU: SocketGateways.RequestEnum.CustomerGetMenu,\n ERROR_MESSAGE: SocketGateways.RequestEnum.ErrorMessage,\n SUCCESS_MESSAGE: SocketGateways.RequestEnum.SuccessMessage,\n JOIN_ROOM: SocketGateways.RequestEnum.JoinRoom,\n GET_THEMING: SocketGateways.RequestEnum.GetTheming,\n CUSTOMER_CART_ITEM_STATUS_UPDATE: SocketGateways.RequestEnum.CustomerCartItemStatusUpdate,\n CUSTOMER_GET_MENU_ITEM_REVIEWS: SocketGateways.RequestEnum.CustomerGetMenuItemReviews,\n CUSTOMER_CREATE_MENU_ITEM_REVIEW: SocketGateways.RequestEnum.CustomerCreateMenuItemReview,\n CUSTOMER_GET_REQUESTS_BY_TABLE: SocketGateways.RequestEnum.CustomerGetRequestsByTable,\n WAITER_GET_REQUESTS_BY_TABLE: SocketGateways.RequestEnum.WaiterGetRequestsByTable,\n CUSTOMER_CALL_WAITER: SocketGateways.RequestEnum.CustomerCallWaiter,\n WAITER_RECEIVE_CALL: SocketGateways.RequestEnum.WaiterReceiveCall,\n WAITER_CALL_ACKNOWLEDGED: SocketGateways.RequestEnum.WaiterCallAcknowledged,\n CUSTOMER_GET_CALL_WAITER_REQUESTS: SocketGateways.RequestEnum.CustomerGetCallWaiterRequests,\n APPROVE_CUSTOMER_LOGIN: SocketGateways.RequestEnum.AuthCustomerLoginApprove,\n GET_PENDING_CUSTOMER_LOGINS: SocketGateways.RequestEnum.AuthCustomerLoginPendingGet,\n POS_LOGIN: SocketGateways.RequestEnum.PosLogin,\n GET_ALL_TABLES: SocketGateways.RequestEnum.TableGetAll,\n CREATE_TABLE: SocketGateways.RequestEnum.TableCreate,\n ASSIGN_TABLE: SocketGateways.RequestEnum.TableAssign,\n UPDATE_TABLE_STATUS: SocketGateways.RequestEnum.TableUpdateStatus,\n RELEASE_TABLE: SocketGateways.RequestEnum.TableRelease\n};\n\nexport const SocketSuccessEvents = {\n // Map to SocketGateways.ResponseEnum\n CUSTOMER_CREATE_OR_UPDATE_CART_SUCCESS: SocketGateways.ResponseEnum.CustomerCreateCartSuccess,\n CUSTOMER_REMOVE_FROM_CART_SUCCESS: SocketGateways.ResponseEnum.CustomerRemoveFromCartSuccess,\n CUSTOMER_GET_MENU_SUCCESS: SocketGateways.ResponseEnum.CustomerGetMenuSuccess,\n TABLE_JOIN_REQUEST_SENT_SUCCESS: SocketGateways.ResponseEnum.TableJoinRequestSuccess,\n TABLE_JOIN_REQUEST_APPROVED_SUCCESS: SocketGateways.ResponseEnum.TableJoinRequestApprovedSuccess,\n ERROR_MESSAGE_SUCCESS: SocketGateways.ResponseEnum.ErrorMessageSuccess,\n SUCCESS_MESSAGE_SUCCESS: SocketGateways.ResponseEnum.SuccessMessageSuccess,\n WARNING_MESSAGE_SUCCESS: SocketGateways.ResponseEnum.WarningMessageSuccess,\n GET_PENDING_CUSTOMER_LOGINS_SUCCESS: SocketGateways.ResponseEnum.AuthCustomerLoginPendingGetSuccess,\n CUSTOMER_UPDATE_IS_PAID_SUCCESS: SocketGateways.ResponseEnum.CustomerUpdateIsPaidSuccess,\n TABLE_CREATED: SocketGateways.ResponseEnum.TableCreatedSuccess,\n TABLE_ASSIGNED: SocketGateways.ResponseEnum.TableAssignedSuccess,\n TABLE_STATUS_UPDATED: SocketGateways.ResponseEnum.TableStatusUpdatedSuccess,\n TABLE_RELEASED: SocketGateways.ResponseEnum.TableReleasedSuccess,\n\n // Add WAITER_RECEIVE_CALL which appears to be missing from the ResponseEnum\n WAITER_RECEIVE_CALL: 'waiter:receive:call'\n};\n\n@Injectable()\nexport class SocketService {\n private socket!: Socket;\n private url: string;\n\n private connectionStatusSubject = new BehaviorSubject<boolean>(false);\n public connectionStatus$ = this.connectionStatusSubject.asObservable();\n\n private reconnectSubject = new Subject<void>();\n public reconnect$ = this.reconnectSubject.asObservable();\n\n constructor(\n @Inject(REALTIME_STORE_ENVIRONMENT) private environment: RealtimeStoreEnvironment = defaultRealtimeStoreEnvironment\n ) {\n this.url = this.environment.apiUrl;\n this.setupSocketConnection();\n }\n\n private setupSocketConnection(): void {\n this.socket = io(this.url, {\n transports: ['websocket'],\n autoConnect: true\n });\n\n this.socket.on('connect', () => {\n console.log('Socket connected');\n this.connectionStatusSubject.next(true);\n });\n\n this.socket.on('disconnect', () => {\n console.log('Socket disconnected');\n this.connectionStatusSubject.next(false);\n });\n\n this.socket.on('reconnect', () => {\n console.log('Socket reconnected');\n this.connectionStatusSubject.next(true);\n this.reconnectSubject.next();\n });\n }\n\n public connect(): void {\n if (!this.socket.connected) {\n this.socket.connect();\n }\n }\n\n public disconnect(): void {\n if (this.socket.connected) {\n this.socket.disconnect();\n }\n }\n\n public emit(event: string, data?: any): void {\n this.socket.emit(event, data);\n }\n\n public on<T>(event: string): Observable<T> {\n return new Observable<T>(observer => {\n this.socket.on(event, (data: T) => {\n observer.next(data);\n });\n\n return () => {\n this.socket.off(event);\n };\n });\n }\n\n public once<T>(event: string): Observable<T> {\n return new Observable<T>(observer => {\n this.socket.once(event, (data: T) => {\n observer.next(data);\n observer.complete();\n });\n\n return () => {\n this.socket.off(event);\n };\n });\n }\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { SocketService } from './socket.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport abstract class BaseStore<T> {\n protected dataSubject = new BehaviorSubject<T[]>([]);\n public data$: Observable<T[]> = this.dataSubject.asObservable();\n\n protected loadingSubject = new BehaviorSubject<boolean>(false);\n public loading$: Observable<boolean> = this.loadingSubject.asObservable();\n\n protected errorSubject = new BehaviorSubject<string | null>(null);\n public error$: Observable<string | null> = this.errorSubject.asObservable();\n\n constructor(\n protected socketService: SocketService\n ) {\n Promise.resolve().then(() => this.refresh());\n\n this.socketService.reconnect$.subscribe(() => {\n this.refresh();\n });\n }\n\n private refresh() {\n this.preload().then(x => this.dataSubject.next(x));\n }\n\n // Abstract methods to be implemented by specific stores\n public abstract preload(): Promise<T[]>;\n\n // Helper methods for stores\n protected updateItems(items: T[]): void {\n this.dataSubject.next(items);\n }\n\n protected addItem(item: T): void {\n const currentItems = this.dataSubject.value;\n this.dataSubject.next([...currentItems, item]);\n }\n\n protected updateItem(updatedItem: Partial<T>, idField: keyof T): void {\n const currentItems = this.dataSubject.value;\n const updatedItems = currentItems.map(item =>\n item[idField] === updatedItem[idField]\n ? { ...item, ...updatedItem }\n : item\n );\n this.dataSubject.next(updatedItems);\n }\n\n protected removeItem(id: any, idField: keyof T): void {\n const currentItems = this.dataSubject.value;\n const filteredItems = currentItems.filter(item => item[idField] !== id);\n this.dataSubject.next(filteredItems);\n }\n\n protected setLoading(isLoading: boolean): void {\n this.loadingSubject.next(isLoading);\n }\n\n protected setError(error: string | null): void {\n this.errorSubject.next(error);\n }\n\n // Helper to subscribe to socket events with typesafety\n protected subscribeToEvent<R>(\n event: string,\n handler: (data: R) => void\n ): void {\n this.socketService.on<R>(event).subscribe(handler);\n }\n\n getAll(): T[] {\n return this.dataSubject.value;\n }\n\n getById(id: any, idField: keyof T): T | undefined {\n return this.dataSubject.value.find(item => item[idField] === id);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseStore } from '../base-store';\nimport { SocketService } from '../socket.service';\nimport { SocketSuccessEvents } from '../socket.service';\nimport { TableResponseDto } from '../model/tableResponseDto';\n\n@Injectable()\nexport abstract class TableStore extends BaseStore<TableResponseDto> {\n constructor(\n protected override socketService: SocketService\n ) {\n super(socketService);\n\n this.subscribeToEvent<TableResponseDto>(\n SocketSuccessEvents.TABLE_CREATED,\n (table) => this.addItem(table)\n );\n\n this.subscribeToEvent<TableResponseDto>(\n SocketSuccessEvents.TABLE_ASSIGNED,\n (table) => this.updateItem(table, 'id')\n );\n\n this.subscribeToEvent<TableResponseDto>(\n SocketSuccessEvents.TABLE_STATUS_UPDATED,\n (table) => this.updateItem(table, 'id')\n );\n\n this.subscribeToEvent<TableResponseDto>(\n SocketSuccessEvents.TABLE_RELEASED,\n (table) => this.updateItem(table, 'id')\n );\n }\n\n public abstract override preload(): Promise<TableResponseDto[]>;\n}\n","import { Injectable } from '@angular/core';\nimport { BaseStore } from '../base-store';\nimport { SocketService } from '../socket.service';\nimport { SocketSuccessEvents } from '../socket.service';\nimport { CartDto } from '../model/cartDto';\n\n@Injectable()\nexport abstract class CartStore extends BaseStore<CartDto> {\n constructor(\n protected override socketService: SocketService\n ) {\n super(socketService);\n\n // Subscribe to cart socket events\n this.subscribeToEvent<CartDto>(\n SocketSuccessEvents.CUSTOMER_CREATE_OR_UPDATE_CART_SUCCESS,\n (cart) => this.updateItem(cart, 'id')\n );\n\n this.subscribeToEvent<{ cartId: string, itemId: string }>(\n SocketSuccessEvents.CUSTOMER_REMOVE_FROM_CART_SUCCESS,\n (data) => {\n // We need to fetch the updated cart after an item is removed\n this.preload();\n }\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { BaseStore } from '../base-store';\nimport { SocketService } from '../socket.service';\nimport { SocketEvents, SocketSuccessEvents } from '../socket.service';\nimport { MenuItemDto } from '../model/menuItemDto';\n\n@Injectable()\nexport abstract class MenuStore extends BaseStore<MenuItemDto> {\n constructor(\n protected override socketService: SocketService\n ) {\n super(socketService);\n\n // Subscribe to menu socket events\n this.subscribeToEvent<MenuItemDto[]>(\n SocketSuccessEvents.CUSTOMER_GET_MENU_SUCCESS,\n (menuItems) => this.updateItems(menuItems)\n );\n }\n\n public async getMenu(branchId: string): Promise<void> {\n this.socketService.emit(SocketEvents.CUSTOMER_GET_MENU, { branchId });\n }\n\n public async getMenuItemReviews(menuItemId: string): Promise<void> {\n this.socketService.emit(SocketEvents.CUSTOMER_GET_MENU_ITEM_REVIEWS, { menuItemId });\n }\n\n public async createMenuItemReview(menuItemId: string, rating: number, comment: string): Promise<void> {\n this.socketService.emit(SocketEvents.CUSTOMER_CREATE_MENU_ITEM_REVIEW, {\n menuItemId,\n rating,\n comment\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseStore } from '../base-store';\nimport { SocketService } from '../socket.service';\nimport { SocketSuccessEvents } from '../socket.service';\nimport { CallWaiterDto } from '../model/callWaiterDto';\n\n@Injectable()\nexport abstract class CallWaiterStore extends BaseStore<CallWaiterDto> {\n constructor(\n protected override socketService: SocketService\n ) {\n super(socketService);\n\n // We need to listen for incoming waiter calls\n this.socketService.on<CallWaiterDto>(\n SocketSuccessEvents.WAITER_RECEIVE_CALL\n ).subscribe(request => {\n this.addItem(request);\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { firstValueFrom, Observable } from 'rxjs';\nimport { BaseStore } from '../base-store';\nimport { SocketService } from '../socket.service';\nimport { SocketEvents, SocketSuccessEvents } from '../socket.service';\nimport { CustomerAuthControllerApproveCustomerLoginRequest } from '../model/customerAuthControllerApproveCustomerLoginRequest';\nimport { CustomerLoginRequestDto } from '../model/customerLoginRequestDto';\n\n@Injectable()\nexport abstract class CustomerLoginStore extends BaseStore<CustomerLoginRequestDto> {\n constructor(\n protected override socketService: SocketService\n ) {\n super(socketService);\n this.subscribeToEvent<CustomerLoginRequestDto[]>(\n SocketSuccessEvents.GET_PENDING_CUSTOMER_LOGINS_SUCCESS,\n (logins) => this.updateItems(logins)\n );\n }\n\n public getPendingLogins(): void {\n this.socketService.emit(SocketEvents.GET_PENDING_CUSTOMER_LOGINS);\n }\n\n public async approveCustomerLogin(customerId: string,\n tableId: string,\n customerAuthControllerApproveCustomerLogin: (payload: CustomerAuthControllerApproveCustomerLoginRequest)\n => Observable<CustomerAuthControllerApproveCustomerLoginRequest>\n ): Promise<void> {\n const approveData: CustomerAuthControllerApproveCustomerLoginRequest = {\n customerId,\n tableId\n };\n\n try {\n await firstValueFrom(\n customerAuthControllerApproveCustomerLogin(approveData)\n );\n\n this.removeItem(customerId, 'id');\n } catch (error) {\n console.error(`Failed to approve customer login for ${customerId}:`, error);\n this.setError(`Failed to approve customer login`);\n }\n }\n}\n","import { EnvironmentProviders, importProvidersFrom } from '@angular/core';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\n\n/**\n * Provides all services needed for the realtime store to function.\n * Use this function in your standalone application's bootstrapApplication providers array.\n * \n * @example\n * ```typescript\n * bootstrapApplication(AppComponent, {\n * providers: [\n * provideRealtimeStore()\n * ]\n * });\n * ```\n */\nexport function provideRealtimeStore(): EnvironmentProviders[] {\n return [\n provideHttpClient(withInterceptorsFromDi())\n ];\n}\n","import { Provider } from '@angular/core';\nimport { REALTIME_STORE_ENVIRONMENT, RealtimeStoreEnvironment } from '../environment';\n\nexport function provideRealtimeStoreEnvironment(environment: RealtimeStoreEnvironment): Provider {\n return {\n provide: REALTIME_STORE_ENVIRONMENT,\n useValue: environment\n };\n}","/*\n * Public API Surface of realtime-store\n */\n\nexport * from './lib/realtime-store.module';\nexport * from './lib/socket.service';\nexport * from './lib/base-store';\nexport * from './lib/stores/table.store';\nexport * from './lib/stores/cart.store';\nexport * from './lib/stores/menu.store';\nexport * from './lib/stores/call-waiter.store';\nexport * from './lib/stores/customer-login.store';\nexport * from './lib/providers';\nexport * from './lib/environment';\nexport * from './lib/providers/realtime-store-environment.provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SocketService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serve-socket.mjs","sources":["../../../projects/serve-socket/src/lib/realtime-store.module.ts","../../../projects/serve-socket/src/lib/environment/realtime-store-environment.interface.ts","../../../projects/serve-socket/src/lib/environment/realtime-store-environment.token.ts","../../../projects/serve-socket/src/lib/model/socketGateways.ts","../../../projects/serve-socket/src/lib/socket.service.ts","../../../projects/serve-socket/src/lib/base-store.ts","../../../projects/serve-socket/src/lib/stores/table.store.ts","../../../projects/serve-socket/src/lib/stores/cart.store.ts","../../../projects/serve-socket/src/lib/stores/menu.store.ts","../../../projects/serve-socket/src/lib/stores/call-waiter.store.ts","../../../projects/serve-socket/src/lib/stores/customer-login.store.ts","../../../projects/serve-socket/src/lib/providers.ts","../../../projects/serve-socket/src/lib/providers/realtime-store-environment.provider.ts","../../../projects/serve-socket/src/public-api.ts","../../../projects/serve-socket/src/serve-socket.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\n\n/**\n * @deprecated Use provideRealtimeStore() with standalone components instead\n */\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n HttpClientModule // Kept for backward compatibility with Angular <14\n ],\n exports: []\n})\nexport class RealtimeStoreModule { }\n","export interface RealtimeStoreEnvironment {\n apiUrl: string;\n}\n\nexport const defaultRealtimeStoreEnvironment: RealtimeStoreEnvironment = {\n // apiUrl: `http://${window.location.hostname}:3030`,\n apiUrl: `http://http://192.168.1.111:3030`,\n};","import { InjectionToken } from '@angular/core';\nimport { RealtimeStoreEnvironment } from './realtime-store-environment.interface';\n\nexport const REALTIME_STORE_ENVIRONMENT = new InjectionToken<RealtimeStoreEnvironment>('REALTIME_STORE_ENVIRONMENT');","/**\n * API Gateway\n *\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface SocketGateways { \n /**\n * All possible socket success events emitted by the server\n */\n response: SocketGateways.ResponseEnum;\n /**\n * Auth message patterns for the socket gateway\n */\n request: SocketGateways.RequestEnum;\n}\nexport namespace SocketGateways {\n export const ResponseEnum = {\n CustomerCreateCartSuccess: 'customer:create:cart:success',\n CustomerRemoveFromCartSuccess: 'customer:remove:from:cart:success',\n CustomerGetMenuSuccess: 'customer:get:menu:success',\n TableJoinRequestSuccess: 'table:join:request:success',\n TableJoinRequestApprovedSuccess: 'table:join:request:approved:success',\n ErrorMessageSuccess: 'error:message:success',\n SuccessMessageSuccess: 'success:message:success',\n WarningMessageSuccess: 'warning:message:success',\n AuthCustomerLoginPendingGetSuccess: 'auth:customer:login:pending:get:success',\n CustomerUpdateIsPaidSuccess: 'customer:update:is-paid:success',\n TableCreatedSuccess: 'table:created:success',\n TableAssignedSuccess: 'table:assigned:success',\n TableStatusUpdatedSuccess: 'table:status:updated:success',\n TableReleasedSuccess: 'table:released:success'\n } as const;\n export type ResponseEnum = typeof ResponseEnum[keyof typeof ResponseEnum];\n export const RequestEnum = {\n AuthCustomerLogin: 'auth:customer:login',\n AuthCustomerLoginReconnect: 'auth:customer:login:reconnect',\n PosLogin: 'pos:login',\n CustomerGetCart: 'customer:get:cart',\n CustomerGetOneCart: 'customer:get-one:cart',\n CustomerRemoveFromCart: 'customer:remove:from:cart',\n CustomerUpdateCart: 'customer:update:cart',\n GetCartByWaiter: 'get:cart:by:waiter',\n GetAllCarts: 'get:all:carts',\n CustomerGetMenu: 'customer:get:menu',\n ErrorMessage: 'error:message',\n SuccessMessage: 'success:message',\n JoinRoom: 'join:room',\n GetTheming: 'get:theming',\n CustomerCartItemStatusUpdate: 'customer:cart:item:status:update',\n CustomerGetMenuItemReviews: 'customer:get:menu-item:reviews',\n CustomerCreateMenuItemReview: 'customer:create:menu-item:review',\n CustomerGetRequestsByTable: 'customer:get:requests:by:table',\n WaiterGetRequestsByTable: 'waiter:get:requests:by:table',\n CustomerCallWaiter: 'customer:call:waiter',\n WaiterReceiveCall: 'waiter:receive:call',\n WaiterCallAcknowledged: 'waiter:call:acknowledged',\n CustomerGetCallWaiterRequests: 'customer:get:call:waiter:requests',\n WaiterGetCalls: 'waiter:get:calls',\n WaiterGetAvailable: 'waiter:get:available',\n WaiterCallCreate: 'waiter:call:create',\n WaiterCallResolve: 'waiter:call:resolve',\n TableAssignToWaiter: 'table:assign:to:waiter',\n AuthCustomerLoginApprove: 'auth:customer:login:approve',\n AuthCustomerLoginPendingGet: 'auth:customer:login:pending:get',\n AuthCustomerApprovalPendingGetSuccess: 'auth:customer:approval:pending:get:success',\n AuthCustomerApprovalPendingGetForWaiter: 'auth:customer:approval:pending:get:for:waiter',\n PosLogin2: 'pos:login',\n PosValidateBranchCode: 'pos:validate:branch:code',\n PosWaiterLogin: 'pos:waiter:login',\n WaiterGetTables: 'waiter:get:tables',\n WaiterGetLoggedIn: 'waiter:get:logged:in',\n TableGetAll: 'table:get:all',\n TableCreate: 'table:create',\n TableAssign: 'table:assign',\n TableUpdateStatus: 'table:update:status',\n TableRelease: 'table:release',\n WaiterGetTablesDetails: 'waiter:get:tables:details',\n TableGetDetails: 'table:get:details',\n PosWaiterCreate: 'pos:waiter:create'\n } as const;\n export type RequestEnum = typeof RequestEnum[keyof typeof RequestEnum];\n}\n\n\n","import { Injectable, Inject } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { io, Socket } from 'socket.io-client';\n// import { SocketGateways } from '@serve-plus/client-api';\nimport { REALTIME_STORE_ENVIRONMENT, RealtimeStoreEnvironment, defaultRealtimeStoreEnvironment } from './environment';\nimport { SocketGateways } from './model/socketGateways';\n\n// Define string constants instead of enum to avoid type errors with string values\nexport const SocketEvents = {\n CUSTOMER_CONNECT: SocketGateways.RequestEnum.AuthCustomerLogin,\n CUSTOMER_RECONNECT: SocketGateways.RequestEnum.AuthCustomerLoginReconnect,\n CUSTOMER_GET_CART: SocketGateways.RequestEnum.CustomerGetCart,\n CUSTOMER_GET_ONE_CART: SocketGateways.RequestEnum.CustomerGetOneCart,\n CUSTOMER_REMOVE_FROM_CART: SocketGateways.RequestEnum.CustomerRemoveFromCart,\n CUSTOMER_CREATE_UPDATE_CART: SocketGateways.RequestEnum.CustomerUpdateCart,\n CUSTOMER_GET_MENU: SocketGateways.RequestEnum.CustomerGetMenu,\n ERROR_MESSAGE: SocketGateways.RequestEnum.ErrorMessage,\n SUCCESS_MESSAGE: SocketGateways.RequestEnum.SuccessMessage,\n JOIN_ROOM: SocketGateways.RequestEnum.JoinRoom,\n GET_THEMING: SocketGateways.RequestEnum.GetTheming,\n CUSTOMER_CART_ITEM_STATUS_UPDATE: SocketGateways.RequestEnum.CustomerCartItemStatusUpdate,\n CUSTOMER_GET_MENU_ITEM_REVIEWS: SocketGateways.RequestEnum.CustomerGetMenuItemReviews,\n CUSTOMER_CREATE_MENU_ITEM_REVIEW: SocketGateways.RequestEnum.CustomerCreateMenuItemReview,\n CUSTOMER_GET_REQUESTS_BY_TABLE: SocketGateways.RequestEnum.CustomerGetRequestsByTable,\n WAITER_GET_REQUESTS_BY_TABLE: SocketGateways.RequestEnum.WaiterGetRequestsByTable,\n CUSTOMER_CALL_WAITER: SocketGateways.RequestEnum.CustomerCallWaiter,\n WAITER_RECEIVE_CALL: SocketGateways.RequestEnum.WaiterReceiveCall,\n WAITER_CALL_ACKNOWLEDGED: SocketGateways.RequestEnum.WaiterCallAcknowledged,\n CUSTOMER_GET_CALL_WAITER_REQUESTS: SocketGateways.RequestEnum.CustomerGetCallWaiterRequests,\n APPROVE_CUSTOMER_LOGIN: SocketGateways.RequestEnum.AuthCustomerLoginApprove,\n GET_PENDING_CUSTOMER_LOGINS: SocketGateways.RequestEnum.AuthCustomerLoginPendingGet,\n POS_LOGIN: SocketGateways.RequestEnum.PosLogin,\n GET_ALL_TABLES: SocketGateways.RequestEnum.TableGetAll,\n CREATE_TABLE: SocketGateways.RequestEnum.TableCreate,\n ASSIGN_TABLE: SocketGateways.RequestEnum.TableAssign,\n UPDATE_TABLE_STATUS: SocketGateways.RequestEnum.TableUpdateStatus,\n RELEASE_TABLE: SocketGateways.RequestEnum.TableRelease\n};\n\nexport const SocketSuccessEvents = {\n // Map to SocketGateways.ResponseEnum\n CUSTOMER_CREATE_OR_UPDATE_CART_SUCCESS: SocketGateways.ResponseEnum.CustomerCreateCartSuccess,\n CUSTOMER_REMOVE_FROM_CART_SUCCESS: SocketGateways.ResponseEnum.CustomerRemoveFromCartSuccess,\n CUSTOMER_GET_MENU_SUCCESS: SocketGateways.ResponseEnum.CustomerGetMenuSuccess,\n TABLE_JOIN_REQUEST_SENT_SUCCESS: SocketGateways.ResponseEnum.TableJoinRequestSuccess,\n TABLE_JOIN_REQUEST_APPROVED_SUCCESS: SocketGateways.ResponseEnum.TableJoinRequestApprovedSuccess,\n ERROR_MESSAGE_SUCCESS: SocketGateways.ResponseEnum.ErrorMessageSuccess,\n SUCCESS_MESSAGE_SUCCESS: SocketGateways.ResponseEnum.SuccessMessageSuccess,\n WARNING_MESSAGE_SUCCESS: SocketGateways.ResponseEnum.WarningMessageSuccess,\n GET_PENDING_CUSTOMER_LOGINS_SUCCESS: SocketGateways.ResponseEnum.AuthCustomerLoginPendingGetSuccess,\n CUSTOMER_UPDATE_IS_PAID_SUCCESS: SocketGateways.ResponseEnum.CustomerUpdateIsPaidSuccess,\n TABLE_CREATED: SocketGateways.ResponseEnum.TableCreatedSuccess,\n TABLE_ASSIGNED: SocketGateways.ResponseEnum.TableAssignedSuccess,\n TABLE_STATUS_UPDATED: SocketGateways.ResponseEnum.TableStatusUpdatedSuccess,\n TABLE_RELEASED: SocketGateways.ResponseEnum.TableReleasedSuccess,\n\n // Add WAITER_RECEIVE_CALL which appears to be missing from the ResponseEnum\n WAITER_RECEIVE_CALL: 'waiter:receive:call'\n};\n\n@Injectable()\nexport class SocketService {\n private socket!: Socket;\n private url: string;\n\n private connectionStatusSubject = new BehaviorSubject<boolean>(false);\n public connectionStatus$ = this.connectionStatusSubject.asObservable();\n\n private reconnectSubject = new Subject<void>();\n public reconnect$ = this.reconnectSubject.asObservable();\n\n constructor(\n @Inject(REALTIME_STORE_ENVIRONMENT) private environment: RealtimeStoreEnvironment = defaultRealtimeStoreEnvironment\n ) {\n this.url = this.environment.apiUrl;\n this.setupSocketConnection();\n }\n\n private setupSocketConnection(): void {\n this.socket = io(this.url, {\n transports: ['websocket'],\n autoConnect: true\n });\n\n this.socket.on('connect', () => {\n console.log('Socket connected');\n this.connectionStatusSubject.next(true);\n });\n\n this.socket.on('disconnect', () => {\n console.log('Socket disconnected');\n this.connectionStatusSubject.next(false);\n });\n\n this.socket.on('reconnect', () => {\n console.log('Socket reconnected');\n this.connectionStatusSubject.next(true);\n this.reconnectSubject.next();\n });\n }\n\n public connect(): void {\n if (!this.socket.connected) {\n this.socket.connect();\n }\n }\n\n public disconnect(): void {\n if (this.socket.connected) {\n this.socket.disconnect();\n }\n }\n\n public emit(event: string, data?: any): void {\n this.socket.emit(event, data);\n }\n\n public on<T>(event: string): Observable<T> {\n return new Observable<T>(observer => {\n this.socket.on(event, (data: T) => {\n observer.next(data);\n });\n\n return () => {\n this.socket.off(event);\n };\n });\n }\n\n public once<T>(event: string): Observable<T> {\n return new Observable<T>(observer => {\n this.socket.once(event, (data: T) => {\n observer.next(data);\n observer.complete();\n });\n\n return () => {\n this.socket.off(event);\n };\n });\n }\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { SocketService } from './socket.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport abstract class BaseStore<T> {\n protected dataSubject = new BehaviorSubject<T[]>([]);\n public data$: Observable<T[]> = this.dataSubject.asObservable();\n\n protected loadingSubject = new BehaviorSubject<boolean>(false);\n public loading$: Observable<boolean> = this.loadingSubject.asObservable();\n\n protected errorSubject = new BehaviorSubject<string | null>(null);\n public error$: Observable<string | null> = this.errorSubject.asObservable();\n\n constructor(\n protected socketService: SocketService\n ) {\n Promise.resolve().then(() => this.refresh());\n\n this.socketService.reconnect$.subscribe(() => {\n this.refresh();\n });\n }\n\n private refresh() {\n this.preload().then(x => this.dataSubject.next(x));\n }\n\n // Abstract methods to be implemented by specific stores\n public abstract preload(): Promise<T[]>;\n\n // Helper methods for stores\n protected updateItems(items: T[]): void {\n this.dataSubject.next(items);\n }\n\n protected addItem(item: T): void {\n const currentItems = this.dataSubject.value;\n this.dataSubject.next([...currentItems, item]);\n }\n\n protected updateItem(updatedItem: Partial<T>, idField: keyof T): void {\n const currentItems = this.dataSubject.value;\n const updatedItems = currentItems.map(item =>\n item[idField] === updatedItem[idField]\n ? { ...item, ...updatedItem }\n : item\n );\n this.dataSubject.next(updatedItems);\n }\n\n protected removeItem(id: any, idField: keyof T): void {\n const currentItems = this.dataSubject.value;\n const filteredItems = currentItems.filter(item => item[idField] !== id);\n this.dataSubject.next(filteredItems);\n }\n\n protected setLoading(isLoading: boolean): void {\n this.loadingSubject.next(isLoading);\n }\n\n protected setError(error: string | null): void {\n this.errorSubject.next(error);\n }\n\n // Helper to subscribe to socket events with typesafety\n protected subscribeToEvent<R>(\n event: string,\n handler: (data: R) => void\n ): void {\n this.socketService.on<R>(event).subscribe(handler);\n }\n\n getAll(): T[] {\n return this.dataSubject.value;\n }\n\n getById(id: any, idField: keyof T): T | undefined {\n return this.dataSubject.value.find(item => item[idField] === id);\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { BaseStore } from '../base-store';\nimport { SocketService } from '../socket.service';\nimport { SocketSuccessEvents } from '../socket.service';\nimport { TableResponseDto } from '../model/tableResponseDto';\n\n@Injectable()\nexport abstract class TableStore extends BaseStore<TableResponseDto> {\n protected override socketService = inject(SocketService);\n\n constructor() {\n const socketService = inject(SocketService);\n super(socketService);\n\n this.subscribeToEvent<TableResponseDto>(\n SocketSuccessEvents.TABLE_CREATED,\n (table) => this.addItem(table)\n );\n\n this.subscribeToEvent<TableResponseDto>(\n SocketSuccessEvents.TABLE_ASSIGNED,\n (table) => this.updateItem(table, 'id')\n );\n\n this.subscribeToEvent<TableResponseDto>(\n SocketSuccessEvents.TABLE_STATUS_UPDATED,\n (table) => this.updateItem(table, 'id')\n );\n\n this.subscribeToEvent<TableResponseDto>(\n SocketSuccessEvents.TABLE_RELEASED,\n (table) => this.updateItem(table, 'id')\n );\n }\n\n public abstract override preload(): Promise<TableResponseDto[]>;\n}\n","import { Injectable } from '@angular/core';\nimport { BaseStore } from '../base-store';\nimport { SocketService } from '../socket.service';\nimport { SocketSuccessEvents } from '../socket.service';\nimport { CartDto } from '../model/cartDto';\n\n@Injectable()\nexport abstract class CartStore extends BaseStore<CartDto> {\n constructor(\n protected override socketService: SocketService\n ) {\n super(socketService);\n\n // Subscribe to cart socket events\n this.subscribeToEvent<CartDto>(\n SocketSuccessEvents.CUSTOMER_CREATE_OR_UPDATE_CART_SUCCESS,\n (cart) => this.updateItem(cart, 'id')\n );\n\n this.subscribeToEvent<{ cartId: string, itemId: string }>(\n SocketSuccessEvents.CUSTOMER_REMOVE_FROM_CART_SUCCESS,\n (data) => {\n // We need to fetch the updated cart after an item is removed\n this.preload();\n }\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { BaseStore } from '../base-store';\nimport { SocketService } from '../socket.service';\nimport { SocketEvents, SocketSuccessEvents } from '../socket.service';\nimport { MenuItemDto } from '../model/menuItemDto';\n\n@Injectable()\nexport abstract class MenuStore extends BaseStore<MenuItemDto> {\n constructor(\n protected override socketService: SocketService\n ) {\n super(socketService);\n\n // Subscribe to menu socket events\n this.subscribeToEvent<MenuItemDto[]>(\n SocketSuccessEvents.CUSTOMER_GET_MENU_SUCCESS,\n (menuItems) => this.updateItems(menuItems)\n );\n }\n\n public async getMenu(branchId: string): Promise<void> {\n this.socketService.emit(SocketEvents.CUSTOMER_GET_MENU, { branchId });\n }\n\n public async getMenuItemReviews(menuItemId: string): Promise<void> {\n this.socketService.emit(SocketEvents.CUSTOMER_GET_MENU_ITEM_REVIEWS, { menuItemId });\n }\n\n public async createMenuItemReview(menuItemId: string, rating: number, comment: string): Promise<void> {\n this.socketService.emit(SocketEvents.CUSTOMER_CREATE_MENU_ITEM_REVIEW, {\n menuItemId,\n rating,\n comment\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseStore } from '../base-store';\nimport { SocketService } from '../socket.service';\nimport { SocketSuccessEvents } from '../socket.service';\nimport { CallWaiterDto } from '../model/callWaiterDto';\n\n@Injectable()\nexport abstract class CallWaiterStore extends BaseStore<CallWaiterDto> {\n constructor(\n protected override socketService: SocketService\n ) {\n super(socketService);\n\n // We need to listen for incoming waiter calls\n this.socketService.on<CallWaiterDto>(\n SocketSuccessEvents.WAITER_RECEIVE_CALL\n ).subscribe(request => {\n this.addItem(request);\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { firstValueFrom, Observable } from 'rxjs';\nimport { BaseStore } from '../base-store';\nimport { SocketService } from '../socket.service';\nimport { SocketEvents, SocketSuccessEvents } from '../socket.service';\nimport { CustomerAuthControllerApproveCustomerLoginRequest } from '../model/customerAuthControllerApproveCustomerLoginRequest';\nimport { CustomerLoginRequestDto } from '../model/customerLoginRequestDto';\n\n@Injectable()\nexport abstract class CustomerLoginStore extends BaseStore<CustomerLoginRequestDto> {\n constructor(\n protected override socketService: SocketService\n ) {\n super(socketService);\n this.subscribeToEvent<CustomerLoginRequestDto[]>(\n SocketSuccessEvents.GET_PENDING_CUSTOMER_LOGINS_SUCCESS,\n (logins) => this.updateItems(logins)\n );\n }\n\n public getPendingLogins(): void {\n this.socketService.emit(SocketEvents.GET_PENDING_CUSTOMER_LOGINS);\n }\n\n public async approveCustomerLogin(customerId: string,\n tableId: string,\n customerAuthControllerApproveCustomerLogin: (payload: CustomerAuthControllerApproveCustomerLoginRequest)\n => Observable<CustomerAuthControllerApproveCustomerLoginRequest>\n ): Promise<void> {\n const approveData: CustomerAuthControllerApproveCustomerLoginRequest = {\n customerId,\n tableId\n };\n\n try {\n await firstValueFrom(\n customerAuthControllerApproveCustomerLogin(approveData)\n );\n\n this.removeItem(customerId, 'id');\n } catch (error) {\n console.error(`Failed to approve customer login for ${customerId}:`, error);\n this.setError(`Failed to approve customer login`);\n }\n }\n}\n","import { EnvironmentProviders, importProvidersFrom } from '@angular/core';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\n\n/**\n * Provides all services needed for the realtime store to function.\n * Use this function in your standalone application's bootstrapApplication providers array.\n * \n * @example\n * ```typescript\n * bootstrapApplication(AppComponent, {\n * providers: [\n * provideRealtimeStore()\n * ]\n * });\n * ```\n */\nexport function provideRealtimeStore(): EnvironmentProviders[] {\n return [\n provideHttpClient(withInterceptorsFromDi())\n ];\n}\n","import { Provider } from '@angular/core';\nimport { REALTIME_STORE_ENVIRONMENT, RealtimeStoreEnvironment } from '../environment';\n\nexport function provideRealtimeStoreEnvironment(environment: RealtimeStoreEnvironment): Provider {\n return {\n provide: REALTIME_STORE_ENVIRONMENT,\n useValue: environment\n };\n}","/*\n * Public API Surface of realtime-store\n */\n\nexport * from './lib/realtime-store.module';\nexport * from './lib/socket.service';\nexport * from './lib/base-store';\nexport * from './lib/stores/table.store';\nexport * from './lib/stores/cart.store';\nexport * from './lib/stores/menu.store';\nexport * from './lib/stores/call-waiter.store';\nexport * from './lib/stores/customer-login.store';\nexport * from './lib/providers';\nexport * from './lib/environment';\nexport * from './lib/providers/realtime-store-environment.provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SocketService"],"mappings":";;;;;;;AAIA;;AAEG;MASU,mBAAmB,CAAA;wGAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YALxB,YAAY;AACZ,YAAA,gBAAgB;;AAIX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YALxB,YAAY;AACZ,YAAA,gBAAgB;;;4FAIX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACL,YAAY;AACZ,wBAAA,gBAAgB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;AACZ,iBAAA;;;ACVM,MAAM,+BAA+B,GAA6B;;AAErE,IAAA,MAAM,EAAE,CAAA,gCAAA,CAAkC;;;MCHjC,0BAA0B,GAAG,IAAI,cAAc,CAA2B,4BAA4B;;ACHnH;;;;;;;;AAQG;AAaG,IAAW,cAAc;AAA/B,CAAA,UAAiB,cAAc,EAAA;AACd,IAAA,cAAA,CAAA,YAAY,GAAG;AACxB,QAAA,yBAAyB,EAAE,8BAA8B;AACzD,QAAA,6BAA6B,EAAE,mCAAmC;AAClE,QAAA,sBAAsB,EAAE,2BAA2B;AACnD,QAAA,uBAAuB,EAAE,4BAA4B;AACrD,QAAA,+BAA+B,EAAE,qCAAqC;AACtE,QAAA,mBAAmB,EAAE,uBAAuB;AAC5C,QAAA,qBAAqB,EAAE,yBAAyB;AAChD,QAAA,qBAAqB,EAAE,yBAAyB;AAChD,QAAA,kCAAkC,EAAE,yCAAyC;AAC7E,QAAA,2BAA2B,EAAE,iCAAiC;AAC9D,QAAA,mBAAmB,EAAE,uBAAuB;AAC5C,QAAA,oBAAoB,EAAE,wBAAwB;AAC9C,QAAA,yBAAyB,EAAE,8BAA8B;AACzD,QAAA,oBAAoB,EAAE;KAChB;AAEG,IAAA,cAAA,CAAA,WAAW,GAAG;AACvB,QAAA,iBAAiB,EAAE,qBAAqB;AACxC,QAAA,0BAA0B,EAAE,+BAA+B;AAC3D,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,eAAe,EAAE,mBAAmB;AACpC,QAAA,kBAAkB,EAAE,uBAAuB;AAC3C,QAAA,sBAAsB,EAAE,2BAA2B;AACnD,QAAA,kBAAkB,EAAE,sBAAsB;AAC1C,QAAA,eAAe,EAAE,oBAAoB;AACrC,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,eAAe,EAAE,mBAAmB;AACpC,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,cAAc,EAAE,iBAAiB;AACjC,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,4BAA4B,EAAE,kCAAkC;AAChE,QAAA,0BAA0B,EAAE,gCAAgC;AAC5D,QAAA,4BAA4B,EAAE,kCAAkC;AAChE,QAAA,0BAA0B,EAAE,gCAAgC;AAC5D,QAAA,wBAAwB,EAAE,8BAA8B;AACxD,QAAA,kBAAkB,EAAE,sBAAsB;AAC1C,QAAA,iBAAiB,EAAE,qBAAqB;AACxC,QAAA,sBAAsB,EAAE,0BAA0B;AAClD,QAAA,6BAA6B,EAAE,mCAAmC;AAClE,QAAA,cAAc,EAAE,kBAAkB;AAClC,QAAA,kBAAkB,EAAE,sBAAsB;AAC1C,QAAA,gBAAgB,EAAE,oBAAoB;AACtC,QAAA,iBAAiB,EAAE,qBAAqB;AACxC,QAAA,mBAAmB,EAAE,wBAAwB;AAC7C,QAAA,wBAAwB,EAAE,6BAA6B;AACvD,QAAA,2BAA2B,EAAE,iCAAiC;AAC9D,QAAA,qCAAqC,EAAE,4CAA4C;AACnF,QAAA,uCAAuC,EAAE,+CAA+C;AACxF,QAAA,SAAS,EAAE,WAAW;AACtB,QAAA,qBAAqB,EAAE,0BAA0B;AACjD,QAAA,cAAc,EAAE,kBAAkB;AAClC,QAAA,eAAe,EAAE,mBAAmB;AACpC,QAAA,iBAAiB,EAAE,sBAAsB;AACzC,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,iBAAiB,EAAE,qBAAqB;AACxC,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,sBAAsB,EAAE,2BAA2B;AACnD,QAAA,eAAe,EAAE,mBAAmB;AACpC,QAAA,eAAe,EAAE;KACX;AAEd,CAAC,EAlEgB,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;ACd/B;AACO,MAAM,YAAY,GAAG;AACxB,IAAA,gBAAgB,EAAE,cAAc,CAAC,WAAW,CAAC,iBAAiB;AAC9D,IAAA,kBAAkB,EAAE,cAAc,CAAC,WAAW,CAAC,0BAA0B;AACzE,IAAA,iBAAiB,EAAE,cAAc,CAAC,WAAW,CAAC,eAAe;AAC7D,IAAA,qBAAqB,EAAE,cAAc,CAAC,WAAW,CAAC,kBAAkB;AACpE,IAAA,yBAAyB,EAAE,cAAc,CAAC,WAAW,CAAC,sBAAsB;AAC5E,IAAA,2BAA2B,EAAE,cAAc,CAAC,WAAW,CAAC,kBAAkB;AAC1E,IAAA,iBAAiB,EAAE,cAAc,CAAC,WAAW,CAAC,eAAe;AAC7D,IAAA,aAAa,EAAE,cAAc,CAAC,WAAW,CAAC,YAAY;AACtD,IAAA,eAAe,EAAE,cAAc,CAAC,WAAW,CAAC,cAAc;AAC1D,IAAA,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,QAAQ;AAC9C,IAAA,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,UAAU;AAClD,IAAA,gCAAgC,EAAE,cAAc,CAAC,WAAW,CAAC,4BAA4B;AACzF,IAAA,8BAA8B,EAAE,cAAc,CAAC,WAAW,CAAC,0BAA0B;AACrF,IAAA,gCAAgC,EAAE,cAAc,CAAC,WAAW,CAAC,4BAA4B;AACzF,IAAA,8BAA8B,EAAE,cAAc,CAAC,WAAW,CAAC,0BAA0B;AACrF,IAAA,4BAA4B,EAAE,cAAc,CAAC,WAAW,CAAC,wBAAwB;AACjF,IAAA,oBAAoB,EAAE,cAAc,CAAC,WAAW,CAAC,kBAAkB;AACnE,IAAA,mBAAmB,EAAE,cAAc,CAAC,WAAW,CAAC,iBAAiB;AACjE,IAAA,wBAAwB,EAAE,cAAc,CAAC,WAAW,CAAC,sBAAsB;AAC3E,IAAA,iCAAiC,EAAE,cAAc,CAAC,WAAW,CAAC,6BAA6B;AAC3F,IAAA,sBAAsB,EAAE,cAAc,CAAC,WAAW,CAAC,wBAAwB;AAC3E,IAAA,2BAA2B,EAAE,cAAc,CAAC,WAAW,CAAC,2BAA2B;AACnF,IAAA,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,QAAQ;AAC9C,IAAA,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,WAAW;AACtD,IAAA,YAAY,EAAE,cAAc,CAAC,WAAW,CAAC,WAAW;AACpD,IAAA,YAAY,EAAE,cAAc,CAAC,WAAW,CAAC,WAAW;AACpD,IAAA,mBAAmB,EAAE,cAAc,CAAC,WAAW,CAAC,iBAAiB;AACjE,IAAA,aAAa,EAAE,cAAc,CAAC,WAAW,CAAC;;AAGvC,MAAM,mBAAmB,GAAG;;AAE/B,IAAA,sCAAsC,EAAE,cAAc,CAAC,YAAY,CAAC,yBAAyB;AAC7F,IAAA,iCAAiC,EAAE,cAAc,CAAC,YAAY,CAAC,6BAA6B;AAC5F,IAAA,yBAAyB,EAAE,cAAc,CAAC,YAAY,CAAC,sBAAsB;AAC7E,IAAA,+BAA+B,EAAE,cAAc,CAAC,YAAY,CAAC,uBAAuB;AACpF,IAAA,mCAAmC,EAAE,cAAc,CAAC,YAAY,CAAC,+BAA+B;AAChG,IAAA,qBAAqB,EAAE,cAAc,CAAC,YAAY,CAAC,mBAAmB;AACtE,IAAA,uBAAuB,EAAE,cAAc,CAAC,YAAY,CAAC,qBAAqB;AAC1E,IAAA,uBAAuB,EAAE,cAAc,CAAC,YAAY,CAAC,qBAAqB;AAC1E,IAAA,mCAAmC,EAAE,cAAc,CAAC,YAAY,CAAC,kCAAkC;AACnG,IAAA,+BAA+B,EAAE,cAAc,CAAC,YAAY,CAAC,2BAA2B;AACxF,IAAA,aAAa,EAAE,cAAc,CAAC,YAAY,CAAC,mBAAmB;AAC9D,IAAA,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,oBAAoB;AAChE,IAAA,oBAAoB,EAAE,cAAc,CAAC,YAAY,CAAC,yBAAyB;AAC3E,IAAA,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,oBAAoB;;AAGhE,IAAA,mBAAmB,EAAE;;MAIZ,aAAa,CAAA;AAW0B,IAAA,WAAA;AAVxC,IAAA,MAAM;AACN,IAAA,GAAG;AAEH,IAAA,uBAAuB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAC9D,IAAA,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE;AAE9D,IAAA,gBAAgB,GAAG,IAAI,OAAO,EAAQ;AACvC,IAAA,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;AAExD,IAAA,WAAA,CACgD,cAAwC,+BAA+B,EAAA;QAAvE,IAAA,CAAA,WAAW,GAAX,WAAW;QAEvD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM;QAClC,IAAI,CAAC,qBAAqB,EAAE;IAChC;IAEQ,qBAAqB,GAAA;QACzB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACvB,UAAU,EAAE,CAAC,WAAW,CAAC;AACzB,YAAA,WAAW,EAAE;AAChB,SAAA,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAK;AAC3B,YAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAC/B,YAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3C,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAK;AAC9B,YAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;AAClC,YAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5C,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAK;AAC7B,YAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;AACjC,YAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;AACvC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;AAChC,QAAA,CAAC,CAAC;IACN;IAEO,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACzB;IACJ;IAEO,UAAU,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;QAC5B;IACJ;IAEO,IAAI,CAAC,KAAa,EAAE,IAAU,EAAA;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;IACjC;AAEO,IAAA,EAAE,CAAI,KAAa,EAAA;AACtB,QAAA,OAAO,IAAI,UAAU,CAAI,QAAQ,IAAG;YAChC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,IAAO,KAAI;AAC9B,gBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACvB,YAAA,CAAC,CAAC;AAEF,YAAA,OAAO,MAAK;AACR,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1B,YAAA,CAAC;AACL,QAAA,CAAC,CAAC;IACN;AAEO,IAAA,IAAI,CAAI,KAAa,EAAA;AACxB,QAAA,OAAO,IAAI,UAAU,CAAI,QAAQ,IAAG;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAO,KAAI;AAChC,gBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,QAAQ,CAAC,QAAQ,EAAE;AACvB,YAAA,CAAC,CAAC;AAEF,YAAA,OAAO,MAAK;AACR,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1B,YAAA,CAAC;AACL,QAAA,CAAC,CAAC;IACN;AA/ES,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,kBAWV,0BAA0B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;4GAX7B,aAAa,EAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB;;0BAYQ,MAAM;2BAAC,0BAA0B;;;MCnEpB,SAAS,CAAA;AAWb,IAAA,aAAA;AAVJ,IAAA,WAAW,GAAG,IAAI,eAAe,CAAM,EAAE,CAAC;AAC7C,IAAA,KAAK,GAAoB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;AAErD,IAAA,cAAc,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AACvD,IAAA,QAAQ,GAAwB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;AAE/D,IAAA,YAAY,GAAG,IAAI,eAAe,CAAgB,IAAI,CAAC;AAC1D,IAAA,MAAM,GAA8B,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAE3E,IAAA,WAAA,CACc,aAA4B,EAAA;QAA5B,IAAA,CAAA,aAAa,GAAb,aAAa;AAEvB,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAE5C,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,MAAK;YACzC,IAAI,CAAC,OAAO,EAAE;AAClB,QAAA,CAAC,CAAC;IACN;IAEQ,OAAO,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD;;AAMU,IAAA,WAAW,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC;AAEU,IAAA,OAAO,CAAC,IAAO,EAAA;AACrB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK;AAC3C,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC;IAClD;IAEU,UAAU,CAAC,WAAuB,EAAE,OAAgB,EAAA;AAC1D,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK;AAC3C,QAAA,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,IACtC,IAAI,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,OAAO;AACjC,cAAE,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW;cACzB,IAAI,CACb;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;IACvC;IAEU,UAAU,CAAC,EAAO,EAAE,OAAgB,EAAA;AAC1C,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK;AAC3C,QAAA,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACvE,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;IACxC;AAEU,IAAA,UAAU,CAAC,SAAkB,EAAA;AACnC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;IACvC;AAEU,IAAA,QAAQ,CAAC,KAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;IACjC;;IAGU,gBAAgB,CACtB,KAAa,EACb,OAA0B,EAAA;AAE1B,QAAA,IAAI,CAAC,aAAa,CAAC,EAAE,CAAI,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;IACtD;IAEA,MAAM,GAAA;AACF,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK;IACjC;IAEA,OAAO,CAAC,EAAO,EAAE,OAAgB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACpE;wGA3EkB,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;4GAAT,SAAS,EAAA,CAAA;;4FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;ACGK,MAAgB,UAAW,SAAQ,SAA2B,CAAA;AAC7C,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAExD,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,KAAK,CAAC,aAAa,CAAC;AAEpB,QAAA,IAAI,CAAC,gBAAgB,CACjB,mBAAmB,CAAC,aAAa,EACjC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CACjC;QAED,IAAI,CAAC,gBAAgB,CACjB,mBAAmB,CAAC,cAAc,EAClC,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAC1C;QAED,IAAI,CAAC,gBAAgB,CACjB,mBAAmB,CAAC,oBAAoB,EACxC,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAC1C;QAED,IAAI,CAAC,gBAAgB,CACjB,mBAAmB,CAAC,cAAc,EAClC,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAC1C;IACL;wGA1BkB,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;4GAAV,UAAU,EAAA,CAAA;;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAD/B;;;ACCK,MAAgB,SAAU,SAAQ,SAAkB,CAAA;AAE/B,IAAA,aAAA;AADvB,IAAA,WAAA,CACuB,aAA4B,EAAA;QAE/C,KAAK,CAAC,aAAa,CAAC;QAFD,IAAA,CAAA,aAAa,GAAb,aAAa;;QAKhC,IAAI,CAAC,gBAAgB,CACjB,mBAAmB,CAAC,sCAAsC,EAC1D,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CACxC;QAED,IAAI,CAAC,gBAAgB,CACjB,mBAAmB,CAAC,iCAAiC,EACrD,CAAC,IAAI,KAAI;;YAEL,IAAI,CAAC,OAAO,EAAE;AAClB,QAAA,CAAC,CACJ;IACL;wGAnBkB,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;4GAAT,SAAS,EAAA,CAAA;;4FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;ACEK,MAAgB,SAAU,SAAQ,SAAsB,CAAA;AAEnC,IAAA,aAAA;AADvB,IAAA,WAAA,CACuB,aAA4B,EAAA;QAE/C,KAAK,CAAC,aAAa,CAAC;QAFD,IAAA,CAAA,aAAa,GAAb,aAAa;;AAKhC,QAAA,IAAI,CAAC,gBAAgB,CACjB,mBAAmB,CAAC,yBAAyB,EAC7C,CAAC,SAAS,KAAK,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAC7C;IACL;IAEO,MAAM,OAAO,CAAC,QAAgB,EAAA;AACjC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,CAAC;IACzE;IAEO,MAAM,kBAAkB,CAAC,UAAkB,EAAA;AAC9C,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,CAAC;IACxF;AAEO,IAAA,MAAM,oBAAoB,CAAC,UAAkB,EAAE,MAAc,EAAE,OAAe,EAAA;QACjF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,gCAAgC,EAAE;YACnE,UAAU;YACV,MAAM;YACN;AACH,SAAA,CAAC;IACN;wGA3BkB,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;4GAAT,SAAS,EAAA,CAAA;;4FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;ACAK,MAAgB,eAAgB,SAAQ,SAAwB,CAAA;AAE3C,IAAA,aAAA;AADvB,IAAA,WAAA,CACuB,aAA4B,EAAA;QAE/C,KAAK,CAAC,aAAa,CAAC;QAFD,IAAA,CAAA,aAAa,GAAb,aAAa;;AAKhC,QAAA,IAAI,CAAC,aAAa,CAAC,EAAE,CACjB,mBAAmB,CAAC,mBAAmB,CAC1C,CAAC,SAAS,CAAC,OAAO,IAAG;AAClB,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACzB,QAAA,CAAC,CAAC;IACN;wGAZkB,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;4GAAf,eAAe,EAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBADpC;;;ACGK,MAAgB,kBAAmB,SAAQ,SAAkC,CAAA;AAExD,IAAA,aAAA;AADvB,IAAA,WAAA,CACuB,aAA4B,EAAA;QAE/C,KAAK,CAAC,aAAa,CAAC;QAFD,IAAA,CAAA,aAAa,GAAb,aAAa;AAGhC,QAAA,IAAI,CAAC,gBAAgB,CACjB,mBAAmB,CAAC,mCAAmC,EACvD,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CACvC;IACL;IAEO,gBAAgB,GAAA;QACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC;IACrE;AAEO,IAAA,MAAM,oBAAoB,CAAC,UAAkB,EAChD,OAAe,EACf,0CACoE,EAAA;AAEpE,QAAA,MAAM,WAAW,GAAsD;YACnE,UAAU;YACV;SACH;AAED,QAAA,IAAI;AACA,YAAA,MAAM,cAAc,CAChB,0CAA0C,CAAC,WAAW,CAAC,CAC1D;AAED,YAAA,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC;QACrC;QAAE,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,CAAA,qCAAA,EAAwC,UAAU,CAAA,CAAA,CAAG,EAAE,KAAK,CAAC;AAC3E,YAAA,IAAI,CAAC,QAAQ,CAAC,CAAA,gCAAA,CAAkC,CAAC;QACrD;IACJ;wGAnCkB,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;4GAAlB,kBAAkB,EAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBADvC;;;ACLD;;;;;;;;;;;;AAYG;SACa,oBAAoB,GAAA;IAChC,OAAO;QACH,iBAAiB,CAAC,sBAAsB,EAAE;KAC7C;AACL;;ACjBM,SAAU,+BAA+B,CAAC,WAAqC,EAAA;IACjF,OAAO;AACH,QAAA,OAAO,EAAE,0BAA0B;AACnC,QAAA,QAAQ,EAAE;KACb;AACL;;ACRA;;AAEG;;ACFH;;AAEG;;;;"}
|
package/index.d.ts
CHANGED
|
@@ -395,7 +395,7 @@ declare namespace TableResponseDto {
|
|
|
395
395
|
|
|
396
396
|
declare abstract class TableStore extends BaseStore<TableResponseDto> {
|
|
397
397
|
protected socketService: SocketService;
|
|
398
|
-
constructor(
|
|
398
|
+
constructor();
|
|
399
399
|
abstract preload(): Promise<TableResponseDto[]>;
|
|
400
400
|
static ɵfac: i0.ɵɵFactoryDeclaration<TableStore, never>;
|
|
401
401
|
static ɵprov: i0.ɵɵInjectableDeclaration<TableStore>;
|