UNPKG

@intuitionrobotics/push-pub-sub

Version:
46 lines 1.71 kB
import { type DB_Object } from "@intuitionrobotics/ts-common"; export type SubscribeProps = { [prop: string]: string | number; }; export type BaseSubscriptionData = { props?: SubscribeProps; pushKey: string; }; export type SubscriptionDataRegistration<D = any> = BaseSubscriptionData & { callBack: (data?: D) => void; }; export type SubscriptionData = BaseSubscriptionData & { data?: any; }; export type Language = { language?: string; }; export type Request_PushRegister = FirebaseToken & PushSessionId & Language & { subscriptions: BaseSubscriptionData[]; }; export type Request_ReadPush = DB_Object & { read: boolean; }; export type Response_PushRegister = DB_Notifications[]; export type DB_PushSession = FirebaseToken & PushSessionId & Language & { timestamp: number; userId?: string; }; export type DB_Notifications = DB_Object & SubscriptionData & { userId?: string; timestamp: number; read: boolean; persistent?: boolean; }; export type DB_PushKeys = PushSessionId & BaseSubscriptionData; export type FirebaseToken = { firebaseToken: string; }; export type PushSessionId = { pushSessionId: string; }; export type MessageType<_S extends string, _P extends SubscribeProps, _D> = {}; export type IFP<Binder extends MessageType<any, any, any>> = Binder extends MessageType<infer S, any, any> ? S extends string ? S : never : never; export type ISP<Binder extends MessageType<any, any, any>> = Binder extends MessageType<any, infer P, any> ? P extends SubscribeProps ? P : never : never; export type ITP<Binder extends MessageType<any, any, any>> = Binder extends MessageType<any, any, infer D> ? D : never; //# sourceMappingURL=types.d.ts.map