tscommons-esm-socket-io-ticketed 0.0.2

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.
@@ -0,0 +1,18 @@
1
+ import { TEncoded, TEncodedObject } from 'tscommons-esm-core';
2
+ import { CommonsRestClientService } from 'tscommons-esm-rest';
3
+ import { ECommonsHttpMethod, TCommonsHttpRequestOptions } from 'tscommons-esm-http';
4
+ import { TCommonsTicketedSocketIoProgress } from '../services/commons-ticketed-socket-io.service.mjs';
5
+ import { ICommonsTicketedSocketIo, ICommonsTicketedSocketIoWithAutoSetup } from '../interfaces/icommons-ticketed-socket-io.mjs';
6
+ import { TPromiseWithObservables } from '../types/tpromise-with-observables.mjs';
7
+ export declare function commonsTicketedSubmitAndWaitAsPromise<ResultT extends TEncoded = TEncoded, BodyT extends TEncodedObject = TEncodedObject, ParamsT extends TEncodedObject = TEncodedObject, HeadersT extends TEncodedObject = TEncodedObject>(restService: CommonsRestClientService, socketIoService: ICommonsTicketedSocketIo, connectCallback: (callback: (socketIoId: string) => void) => void, verb: ECommonsHttpMethod.POST | ECommonsHttpMethod.PUT | ECommonsHttpMethod.PATCH, script: string, body: BodyT, checker: (data: unknown) => data is ResultT, params?: ParamsT | undefined, // the params can be explicitly undefined (none) as well as optional
8
+ headers?: HeadersT | undefined, // the headers can be explicitly undefined (none) as well as optional
9
+ options?: TCommonsHttpRequestOptions, connectToSubmitDelay?: number, queued?: (ticketId: string) => void, dispatched?: () => void, progress?: (data: Pick<TCommonsTicketedSocketIoProgress, 'src' | 'data'>) => void, debug?: (message: string) => void): Promise<ResultT>;
10
+ export declare function commonsTicketedSubmitAndWaitAsPromiseWithAutoSocketIoSetupAndDisconnect<ResultT extends TEncoded = TEncoded, BodyT extends TEncodedObject = TEncodedObject, ParamsT extends TEncodedObject = TEncodedObject, HeadersT extends TEncodedObject = TEncodedObject>(restService: CommonsRestClientService, socketIoService: ICommonsTicketedSocketIoWithAutoSetup, verb: ECommonsHttpMethod.POST | ECommonsHttpMethod.PUT | ECommonsHttpMethod.PATCH, script: string, body: BodyT, checker: (data: unknown) => data is ResultT, params?: ParamsT | undefined, // the params can be explicitly undefined (none) as well as optional
11
+ headers?: HeadersT | undefined, // the headers can be explicitly undefined (none) as well as optional
12
+ options?: TCommonsHttpRequestOptions, connectToSubmitDelay?: number, queued?: (ticketId: string) => void, dispatched?: () => void, progress?: (data: Pick<TCommonsTicketedSocketIoProgress, 'src' | 'data'>) => void, debug?: (message: string) => void): Promise<ResultT>;
13
+ export declare function commonsTicketedSubmitAndWaitAsPromiseWithObservables<ResultT extends TEncoded = TEncoded, BodyT extends TEncodedObject = TEncodedObject, ParamsT extends TEncodedObject = TEncodedObject, HeadersT extends TEncodedObject = TEncodedObject>(restService: CommonsRestClientService, socketIoService: ICommonsTicketedSocketIo, connectCallback: (callback: (socketIoId: string) => void) => void, verb: ECommonsHttpMethod.POST | ECommonsHttpMethod.PUT | ECommonsHttpMethod.PATCH, script: string, body: BodyT, checker: (data: unknown) => data is ResultT, params?: ParamsT | undefined, // the params can be explicitly undefined (none) as well as optional
14
+ headers?: HeadersT | undefined, // the headers can be explicitly undefined (none) as well as optional
15
+ options?: TCommonsHttpRequestOptions, connectToSubmitDelay?: number, debug?: (message: string) => void): TPromiseWithObservables<ResultT, Pick<TCommonsTicketedSocketIoProgress, 'src' | 'data'>>;
16
+ export declare function commonsTicketedSubmitAndWaitAsPromiseWithObservablesWithAutoSocketIoSetupAndDisconnect<ResultT extends TEncoded = TEncoded, BodyT extends TEncodedObject = TEncodedObject, ParamsT extends TEncodedObject = TEncodedObject, HeadersT extends TEncodedObject = TEncodedObject>(restService: CommonsRestClientService, socketIoService: ICommonsTicketedSocketIoWithAutoSetup, verb: ECommonsHttpMethod.POST | ECommonsHttpMethod.PUT | ECommonsHttpMethod.PATCH, script: string, body: BodyT, checker: (data: unknown) => data is ResultT, params?: ParamsT | undefined, // the params can be explicitly undefined (none) as well as optional
17
+ headers?: HeadersT | undefined, // the headers can be explicitly undefined (none) as well as optional
18
+ options?: TCommonsHttpRequestOptions, connectToSubmitDelay?: number, debug?: (message: string) => void): TPromiseWithObservables<ResultT, Pick<TCommonsTicketedSocketIoProgress, 'src' | 'data'>>;
@@ -0,0 +1,221 @@
1
+ import { Subject } from 'rxjs';
2
+ import { commonsBase62IsLongId, commonsTypeIsString } from 'tscommons-esm-core';
3
+ import { commonsAsyncTimeout } from 'tscommons-esm-async';
4
+ import { ECommonsHttpMethod } from 'tscommons-esm-http';
5
+ export function commonsTicketedSubmitAndWaitAsPromise(restService, socketIoService, connectCallback, verb, script, body, checker, params = undefined, // the params can be explicitly undefined (none) as well as optional
6
+ headers = undefined, // the headers can be explicitly undefined (none) as well as optional
7
+ options = {}, connectToSubmitDelay = 100, queued = (_ticketId) => {
8
+ // do nothing
9
+ }, dispatched = () => {
10
+ // do nothing
11
+ }, progress = (_data) => {
12
+ // do nothing
13
+ }, debug = (_message) => {
14
+ // do nothing
15
+ }) {
16
+ return new Promise((resolve, reject) => {
17
+ const subscriptions = [];
18
+ const cleanup = () => {
19
+ for (const subscription of subscriptions)
20
+ subscription.unsubscribe();
21
+ };
22
+ connectCallback((socketIoId) => {
23
+ let ticket;
24
+ socketIoService.socketIoId = socketIoId;
25
+ subscriptions.push(socketIoService.dispatchedObservable
26
+ .subscribe((t) => {
27
+ if (t !== ticket)
28
+ return;
29
+ debug('Ticketed dispatched');
30
+ dispatched();
31
+ }));
32
+ subscriptions.push(socketIoService.timedoutObservable
33
+ .subscribe((t) => {
34
+ if (t !== ticket)
35
+ return;
36
+ debug('Ticketed timedout');
37
+ cleanup();
38
+ reject(new Error('Ticketed timedout'));
39
+ }));
40
+ subscriptions.push(socketIoService.cancelledObservable
41
+ .subscribe((t) => {
42
+ if (t !== ticket)
43
+ return;
44
+ debug('Ticketed cancelled');
45
+ cleanup();
46
+ reject(new Error('Ticketed cancelled'));
47
+ }));
48
+ subscriptions.push(socketIoService.errorObservable
49
+ .subscribe((t) => {
50
+ if (t.ticket !== ticket)
51
+ return;
52
+ debug(`Ticketed error: ${t.message}`);
53
+ cleanup();
54
+ reject(new Error(`Ticketed error: ${t.message}`));
55
+ }));
56
+ subscriptions.push(socketIoService.progressObservable
57
+ .subscribe((t) => {
58
+ if (t.ticket !== ticket)
59
+ return;
60
+ debug('Ticketed progressed');
61
+ progress({
62
+ src: t.src,
63
+ data: t.data
64
+ });
65
+ }));
66
+ subscriptions.push(socketIoService.succeededObservable
67
+ .subscribe((t) => {
68
+ if (t.ticket !== ticket)
69
+ return;
70
+ debug('Ticketed succeeded');
71
+ cleanup();
72
+ if (!checker(t.data)) {
73
+ reject(new Error('Returned data did not match expected checker value'));
74
+ return;
75
+ }
76
+ resolve(t.data);
77
+ }));
78
+ subscriptions.push(socketIoService.failedObservable
79
+ .subscribe((t) => {
80
+ if (t.ticket !== ticket)
81
+ return;
82
+ debug('Ticketed failed');
83
+ cleanup();
84
+ reject(new Error('Ticketed failed'));
85
+ }));
86
+ void (async () => {
87
+ await commonsAsyncTimeout(connectToSubmitDelay);
88
+ body = {
89
+ socketIoId: socketIoId,
90
+ ...body
91
+ };
92
+ try {
93
+ let result;
94
+ switch (verb) {
95
+ case ECommonsHttpMethod.POST:
96
+ result = await restService.postRest(script, body, params, headers, options);
97
+ break;
98
+ case ECommonsHttpMethod.PUT:
99
+ result = await restService.putRest(script, body, params, headers, options);
100
+ break;
101
+ case ECommonsHttpMethod.PATCH:
102
+ result = await restService.patchRest(script, body, params, headers, options);
103
+ break;
104
+ default:
105
+ throw new Error('Unsupported verb for commonsTicketedSubmitAndWaitAsPromise');
106
+ }
107
+ if (!commonsTypeIsString(result)) {
108
+ cleanup();
109
+ reject(new Error('Result was not a string'));
110
+ return;
111
+ }
112
+ if (!commonsBase62IsLongId(result)) {
113
+ cleanup();
114
+ reject(new Error('Result was not a base62 long ID'));
115
+ return;
116
+ }
117
+ debug(`Ticket uid is ${result}`);
118
+ ticket = result;
119
+ queued(ticket);
120
+ }
121
+ catch (e) {
122
+ reject(e); // cascade
123
+ }
124
+ })();
125
+ });
126
+ });
127
+ }
128
+ export async function commonsTicketedSubmitAndWaitAsPromiseWithAutoSocketIoSetupAndDisconnect(restService, socketIoService, verb, script, body, checker, params = undefined, // the params can be explicitly undefined (none) as well as optional
129
+ headers = undefined, // the headers can be explicitly undefined (none) as well as optional
130
+ options = {}, connectToSubmitDelay = 100, queued, dispatched, progress, debug = (_message) => {
131
+ // do nothing
132
+ }) {
133
+ try {
134
+ return await commonsTicketedSubmitAndWaitAsPromise(restService, socketIoService, (callback) => {
135
+ socketIoService.addConnectCallback(() => {
136
+ void (async () => {
137
+ const socketIoId = await socketIoService.getId();
138
+ if (!socketIoId)
139
+ throw new Error('Unable to obtain socket.io ID');
140
+ callback(socketIoId);
141
+ })();
142
+ });
143
+ socketIoService.connect();
144
+ }, verb, script, body, checker, params, headers, options, connectToSubmitDelay, queued, dispatched, progress, debug);
145
+ }
146
+ finally {
147
+ socketIoService.disconnect();
148
+ }
149
+ }
150
+ export function commonsTicketedSubmitAndWaitAsPromiseWithObservables(restService, socketIoService, connectCallback, verb, script, body, checker, params = undefined, // the params can be explicitly undefined (none) as well as optional
151
+ headers = undefined, // the headers can be explicitly undefined (none) as well as optional
152
+ options = {}, connectToSubmitDelay = 100, debug = (_message) => {
153
+ // do nothing
154
+ }) {
155
+ const queuedSubject = new Subject();
156
+ let hasQueuedSubjectCompleted = false;
157
+ const dispatchedSubject = new Subject();
158
+ let hasDispatchedSubjectCompleted = false;
159
+ const progressSubject = new Subject();
160
+ const promise = commonsTicketedSubmitAndWaitAsPromise(restService, socketIoService, connectCallback, verb, script, body, checker, params, headers, options, connectToSubmitDelay, (ticketId) => {
161
+ queuedSubject.next(ticketId);
162
+ queuedSubject.complete();
163
+ hasQueuedSubjectCompleted = true;
164
+ }, () => {
165
+ dispatchedSubject.next();
166
+ dispatchedSubject.complete();
167
+ hasDispatchedSubjectCompleted = true;
168
+ }, (data) => {
169
+ progressSubject.next(data);
170
+ }, debug);
171
+ const promiseWrapper = (async () => {
172
+ try {
173
+ return await promise;
174
+ }
175
+ finally {
176
+ progressSubject.complete();
177
+ if (!hasQueuedSubjectCompleted)
178
+ queuedSubject.complete();
179
+ if (!hasDispatchedSubjectCompleted)
180
+ dispatchedSubject.complete();
181
+ }
182
+ })();
183
+ return {
184
+ promise: promiseWrapper,
185
+ queuedObservable: queuedSubject,
186
+ dispatchedObservable: dispatchedSubject,
187
+ progressObservable: progressSubject
188
+ };
189
+ }
190
+ export function commonsTicketedSubmitAndWaitAsPromiseWithObservablesWithAutoSocketIoSetupAndDisconnect(restService, socketIoService, verb, script, body, checker, params = undefined, // the params can be explicitly undefined (none) as well as optional
191
+ headers = undefined, // the headers can be explicitly undefined (none) as well as optional
192
+ options = {}, connectToSubmitDelay = 100, debug = (_message) => {
193
+ // do nothing
194
+ }) {
195
+ const promiseWithObservables = commonsTicketedSubmitAndWaitAsPromiseWithObservables(restService, socketIoService, (callback) => {
196
+ socketIoService.addConnectCallback(() => {
197
+ void (async () => {
198
+ const socketIoId = await socketIoService.getId();
199
+ if (!socketIoId)
200
+ throw new Error('Unable to obtain socket.io ID');
201
+ callback(socketIoId);
202
+ })();
203
+ });
204
+ socketIoService.connect();
205
+ }, verb, script, body, checker, params, headers, options, connectToSubmitDelay, debug);
206
+ const promiseWrapper = (async () => {
207
+ try {
208
+ return await promiseWithObservables.promise;
209
+ }
210
+ finally {
211
+ socketIoService.disconnect();
212
+ }
213
+ })();
214
+ return {
215
+ promise: promiseWrapper,
216
+ queuedObservable: promiseWithObservables.queuedObservable,
217
+ dispatchedObservable: promiseWithObservables.dispatchedObservable,
218
+ progressObservable: promiseWithObservables.progressObservable
219
+ };
220
+ }
221
+ //# sourceMappingURL=ticketed-as-promise.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticketed-as-promise.mjs","sourceRoot":"","sources":["../../src/helpers/ticketed-as-promise.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { commonsTicketedSubmitAndWaitAsPromise, commonsTicketedSubmitAndWaitAsPromiseWithAutoSocketIoSetupAndDisconnect, commonsTicketedSubmitAndWaitAsPromiseWithObservables, commonsTicketedSubmitAndWaitAsPromiseWithObservablesWithAutoSocketIoSetupAndDisconnect } from './helpers/ticketed-as-promise.mjs';
2
+ import { TCommonsTicketedSocketIoError, TCommonsTicketedSocketIoProgress, TCommonsTicketedSocketIoSucceeded, TCommonsTicketedSocketIoFailed, CommonsTicketedSocketIoService } from './services/commons-ticketed-socket-io.service.mjs';
3
+ import { TPromiseWithObservables } from './types/tpromise-with-observables.mjs';
4
+ import { TConnectionCallback, ICommonsTicketedSocketIo, ICommonsTicketedSocketIoAutoSetup, ICommonsTicketedSocketIoWithAutoSetup } from './interfaces/icommons-ticketed-socket-io.mjs';
5
+ export { commonsTicketedSubmitAndWaitAsPromise, commonsTicketedSubmitAndWaitAsPromiseWithAutoSocketIoSetupAndDisconnect, commonsTicketedSubmitAndWaitAsPromiseWithObservables, commonsTicketedSubmitAndWaitAsPromiseWithObservablesWithAutoSocketIoSetupAndDisconnect, TCommonsTicketedSocketIoError, TCommonsTicketedSocketIoProgress, TCommonsTicketedSocketIoSucceeded, TCommonsTicketedSocketIoFailed, CommonsTicketedSocketIoService, TPromiseWithObservables, TConnectionCallback, ICommonsTicketedSocketIo, ICommonsTicketedSocketIoAutoSetup, ICommonsTicketedSocketIoWithAutoSetup };
package/dist/index.mjs ADDED
@@ -0,0 +1,4 @@
1
+ import { commonsTicketedSubmitAndWaitAsPromise, commonsTicketedSubmitAndWaitAsPromiseWithAutoSocketIoSetupAndDisconnect, commonsTicketedSubmitAndWaitAsPromiseWithObservables, commonsTicketedSubmitAndWaitAsPromiseWithObservablesWithAutoSocketIoSetupAndDisconnect } from './helpers/ticketed-as-promise.mjs';
2
+ import { CommonsTicketedSocketIoService } from './services/commons-ticketed-socket-io.service.mjs';
3
+ export { commonsTicketedSubmitAndWaitAsPromise, commonsTicketedSubmitAndWaitAsPromiseWithAutoSocketIoSetupAndDisconnect, commonsTicketedSubmitAndWaitAsPromiseWithObservables, commonsTicketedSubmitAndWaitAsPromiseWithObservablesWithAutoSocketIoSetupAndDisconnect, CommonsTicketedSocketIoService };
4
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,qCAAqC,EACrC,uEAAuE,EACvE,oDAAoD,EACpD,sFAAsF,EACvF,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAKL,8BAA8B,EAC/B,MAAM,mDAAmD,CAAC;AAQ3D,OAAO,EACN,qCAAqC,EACrC,uEAAuE,EACvE,oDAAoD,EACpD,sFAAsF,EAKtF,8BAA8B,EAM9B,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { Observable } from 'rxjs';
2
+ import { TCommonsTicketedSocketIoError, TCommonsTicketedSocketIoProgress, TCommonsTicketedSocketIoSucceeded, TCommonsTicketedSocketIoFailed } from '../services/commons-ticketed-socket-io.service.mjs';
3
+ export type TConnectionCallback = () => void;
4
+ export interface ICommonsTicketedSocketIo {
5
+ get socketIoId(): string | undefined;
6
+ set socketIoId(id: string | undefined);
7
+ get dispatchedObservable(): Observable<string>;
8
+ get timedoutObservable(): Observable<string>;
9
+ get cancelledObservable(): Observable<string>;
10
+ get errorObservable(): Observable<TCommonsTicketedSocketIoError>;
11
+ get progressObservable(): Observable<TCommonsTicketedSocketIoProgress>;
12
+ get succeededObservable(): Observable<TCommonsTicketedSocketIoSucceeded>;
13
+ get failedObservable(): Observable<TCommonsTicketedSocketIoFailed>;
14
+ }
15
+ export interface ICommonsTicketedSocketIoAutoSetup {
16
+ addConnectCallback(callback: TConnectionCallback): void;
17
+ connect(params?: {
18
+ [key: string]: string | number | boolean;
19
+ }): boolean;
20
+ getId(): Promise<string | undefined>;
21
+ disconnect(): void;
22
+ }
23
+ export interface ICommonsTicketedSocketIoWithAutoSetup extends ICommonsTicketedSocketIo, ICommonsTicketedSocketIoAutoSetup {
24
+ }
@@ -0,0 +1,3 @@
1
+ // This is a true interface
2
+ export {};
3
+ //# sourceMappingURL=icommons-ticketed-socket-io.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icommons-ticketed-socket-io.mjs","sourceRoot":"","sources":["../../src/interfaces/icommons-ticketed-socket-io.mts"],"names":[],"mappings":"AAAA,2BAA2B"}
@@ -0,0 +1,41 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ICommonsTicketedSocketIo } from '../interfaces/icommons-ticketed-socket-io.mjs';
3
+ type TSocketIoTicketData = {
4
+ ticket: string;
5
+ };
6
+ export type TCommonsTicketedSocketIoError = TSocketIoTicketData & {
7
+ message: string;
8
+ };
9
+ export type TCommonsTicketedSocketIoProgress = TSocketIoTicketData & {
10
+ src: 'stdout' | 'stderr';
11
+ data: string;
12
+ };
13
+ export type TCommonsTicketedSocketIoSucceeded = TSocketIoTicketData & {
14
+ data: string;
15
+ };
16
+ export type TCommonsTicketedSocketIoFailed = TSocketIoTicketData & {
17
+ data: string;
18
+ };
19
+ export declare class CommonsTicketedSocketIoService implements ICommonsTicketedSocketIo {
20
+ private ns;
21
+ private internalSocketIoId;
22
+ get socketIoId(): string | undefined;
23
+ set socketIoId(id: string | undefined);
24
+ private dispatchedEmitter;
25
+ get dispatchedObservable(): Observable<string>;
26
+ private timedoutEmitter;
27
+ get timedoutObservable(): Observable<string>;
28
+ private cancelledEmitter;
29
+ get cancelledObservable(): Observable<string>;
30
+ private errorEmitter;
31
+ get errorObservable(): Observable<TCommonsTicketedSocketIoError>;
32
+ private progressEmitter;
33
+ get progressObservable(): Observable<TCommonsTicketedSocketIoProgress>;
34
+ private succeededEmitter;
35
+ get succeededObservable(): Observable<TCommonsTicketedSocketIoSucceeded>;
36
+ private failedEmitter;
37
+ get failedObservable(): Observable<TCommonsTicketedSocketIoFailed>;
38
+ constructor(ns: string);
39
+ setupOns(onCallback: (command: string, callback: (data: any) => void) => void): void;
40
+ }
41
+ export {};
@@ -0,0 +1,127 @@
1
+ import { Subject } from 'rxjs';
2
+ import { commonsTypeHasPropertyString } from 'tscommons-esm-core';
3
+ function isTSocketIoTicketData(test) {
4
+ if (!commonsTypeHasPropertyString(test, 'ticket'))
5
+ return false;
6
+ return true;
7
+ }
8
+ function isTSocketIoDispatched(test) {
9
+ return isTSocketIoTicketData(test);
10
+ }
11
+ function isTSocketIoCancelled(test) {
12
+ return isTSocketIoTicketData(test);
13
+ }
14
+ function isTSocketIoTimedout(test) {
15
+ return isTSocketIoTicketData(test);
16
+ }
17
+ function isTSocketIoError(test) {
18
+ if (!isTSocketIoTicketData(test))
19
+ return false;
20
+ if (!commonsTypeHasPropertyString(test, 'message'))
21
+ return false;
22
+ return true;
23
+ }
24
+ function isTSocketIoProgress(test) {
25
+ if (!isTSocketIoTicketData(test))
26
+ return false;
27
+ if (!commonsTypeHasPropertyString(test, 'src'))
28
+ return false;
29
+ if (!['stdout', 'stderr'].includes(test.src))
30
+ return false;
31
+ if (!commonsTypeHasPropertyString(test, 'data'))
32
+ return false;
33
+ return true;
34
+ }
35
+ function isTSocketIoSucceeded(test) {
36
+ if (!isTSocketIoTicketData(test))
37
+ return false;
38
+ if (!commonsTypeHasPropertyString(test, 'data'))
39
+ return false;
40
+ return true;
41
+ }
42
+ function isTSocketIoFailed(test) {
43
+ if (!isTSocketIoTicketData(test))
44
+ return false;
45
+ if (!commonsTypeHasPropertyString(test, 'data'))
46
+ return false;
47
+ return true;
48
+ }
49
+ export class CommonsTicketedSocketIoService {
50
+ ns;
51
+ internalSocketIoId;
52
+ get socketIoId() {
53
+ return this.internalSocketIoId;
54
+ }
55
+ set socketIoId(id) {
56
+ this.internalSocketIoId = id;
57
+ }
58
+ dispatchedEmitter = new Subject();
59
+ get dispatchedObservable() {
60
+ return this.dispatchedEmitter;
61
+ }
62
+ timedoutEmitter = new Subject();
63
+ get timedoutObservable() {
64
+ return this.timedoutEmitter;
65
+ }
66
+ cancelledEmitter = new Subject();
67
+ get cancelledObservable() {
68
+ return this.cancelledEmitter;
69
+ }
70
+ errorEmitter = new Subject();
71
+ get errorObservable() {
72
+ return this.errorEmitter;
73
+ }
74
+ progressEmitter = new Subject();
75
+ get progressObservable() {
76
+ return this.progressEmitter;
77
+ }
78
+ succeededEmitter = new Subject();
79
+ get succeededObservable() {
80
+ return this.succeededEmitter;
81
+ }
82
+ failedEmitter = new Subject();
83
+ get failedObservable() {
84
+ return this.failedEmitter;
85
+ }
86
+ constructor(ns) {
87
+ this.ns = ns;
88
+ }
89
+ setupOns(onCallback) {
90
+ onCallback(`${this.ns}-ticketed-error`, (data) => {
91
+ if (!isTSocketIoError(data))
92
+ throw new Error('Data is not TSocketIoError');
93
+ this.errorEmitter.next(data);
94
+ });
95
+ onCallback(`${this.ns}-ticketed-dispatched`, (data) => {
96
+ if (!isTSocketIoDispatched(data))
97
+ throw new Error('Data is not TSocketIoDispatched');
98
+ this.dispatchedEmitter.next(data.ticket);
99
+ });
100
+ onCallback(`${this.ns}-ticketed-timedout`, (data) => {
101
+ if (!isTSocketIoTimedout(data))
102
+ throw new Error('Data is not TSocketIoTimedout');
103
+ this.timedoutEmitter.next(data.ticket);
104
+ });
105
+ onCallback(`${this.ns}-ticketed-cancelled`, (data) => {
106
+ if (!isTSocketIoCancelled(data))
107
+ throw new Error('Data is not TSocketIoCancelled');
108
+ this.cancelledEmitter.next(data.ticket);
109
+ });
110
+ onCallback(`${this.ns}-ticketed-progress`, (data) => {
111
+ if (!isTSocketIoProgress(data))
112
+ throw new Error('Data is not TSocketIoProgress');
113
+ this.progressEmitter.next(data);
114
+ });
115
+ onCallback(`${this.ns}-ticketed-succeeded`, (data) => {
116
+ if (!isTSocketIoSucceeded(data))
117
+ throw new Error('Data is not TSocketIoSucceeded');
118
+ this.succeededEmitter.next(data);
119
+ });
120
+ onCallback(`${this.ns}-ticketed-failed`, (data) => {
121
+ if (!isTSocketIoFailed(data))
122
+ throw new Error('Data is not TSocketIoFailed');
123
+ this.failedEmitter.next(data);
124
+ });
125
+ }
126
+ }
127
+ //# sourceMappingURL=commons-ticketed-socket-io.service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commons-ticketed-socket-io.service.mjs","sourceRoot":"","sources":["../../src/services/commons-ticketed-socket-io.service.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Observable } from 'rxjs';
2
+ export type TPromiseWithObservables<PromiseT, ProgressObservableT> = {
3
+ promise: Promise<PromiseT>;
4
+ queuedObservable: Observable<string>;
5
+ dispatchedObservable: Observable<void>;
6
+ progressObservable: Observable<ProgressObservableT>;
7
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tpromise-with-observables.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tpromise-with-observables.mjs","sourceRoot":"","sources":["../../src/types/tpromise-with-observables.mts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "tscommons-esm-socket-io-ticketed",
3
+ "version": "0.0.2",
4
+ "description": "",
5
+ "scripts": {
6
+ "tsc": "./node_modules/typescript/bin/tsc",
7
+ "preprepare": "rm -rf ./dist; php ~/Dev/etim.php src/ && npm run tsc",
8
+ "publish-major": "rm -rf dist; npm run tsc && npx eslint . && npm run preprepare && npm version major && npm install && npm publish && git add . && git commit -m 'publish'",
9
+ "publish-minor": "rm -rf dist; npm run tsc && npx eslint . && npm run preprepare && npm version minor && npm install && npm publish && git add . && git commit -m 'publish'",
10
+ "publish-patch": "rm -rf dist; npm run tsc && npx eslint . && npm run preprepare && npm version patch && npm install && npm publish && git add . && git commit -m 'publish'"
11
+ },
12
+ "main": "dist/index.mjs",
13
+ "types": "dist/index.d.mjs",
14
+ "type": "module",
15
+ "author": "Pete Morris",
16
+ "license": "ISC",
17
+ "devDependencies": {
18
+ "@stylistic/eslint-plugin-ts": "^2.10.1",
19
+ "eslint-plugin-import": "^2.31.0",
20
+ "eslint-plugin-prefer-arrow-functions": "^3.4.1",
21
+ "typescript": "^5.6.3",
22
+ "typescript-eslint": "^8.14.0"
23
+ },
24
+ "files": [
25
+ "dist/**/*"
26
+ ],
27
+ "dependencies": {
28
+ "rxjs": "^7.8.1",
29
+ "tscommons-esm-async": "^0.0.2",
30
+ "tscommons-esm-core": "^0.0.2",
31
+ "tscommons-esm-http": "^0.0.3",
32
+ "tscommons-esm-rest": "^0.0.3"
33
+ }
34
+ }