@fivem-nui/core 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/EventBus.js CHANGED
@@ -27,7 +27,7 @@ export class EventBus {
27
27
  set.add(listener);
28
28
  return () => {
29
29
  set.delete(listener);
30
- if (set.size === 0) {
30
+ if (set.size === 0 && this.listeners.get(eventName) === set) {
31
31
  this.listeners.delete(eventName);
32
32
  }
33
33
  };
@@ -54,7 +54,7 @@ export class EventBus {
54
54
  }
55
55
  if (handler) {
56
56
  set.delete(handler);
57
- if (set.size === 0) {
57
+ if (set.size === 0 && this.listeners.get(eventName) === set) {
58
58
  this.listeners.delete(eventName);
59
59
  }
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EventBus.js","sourceRoot":"","sources":["../src/EventBus.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,MAAM,OAAO,QAAQ;IACF,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,MAAM,CAAY;IAEnC,YAAY,MAAiB;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,EAAE,CAAI,SAAiB,EAAE,OAA0B;QACjD,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAExC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,QAAQ,GAAG,OAAuB,CAAC;QACzC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAElB,OAAO,GAAG,EAAE;YACV,GAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEtB,IAAI,GAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI,CAAI,SAAiB,EAAE,OAA0B;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAI,SAAS,EAAE,IAAI,CAAC,EAAE;YAC/C,WAAW,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,SAAiB,EAAE,OAAsB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEpB,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,SAAiB,EAAE,OAAgB;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,aAAa;QACf,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;QACpB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"EventBus.js","sourceRoot":"","sources":["../src/EventBus.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,MAAM,OAAO,QAAQ;IACF,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,MAAM,CAAY;IAEnC,YAAY,MAAiB;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,EAAE,CAAI,SAAiB,EAAE,OAA0B;QACjD,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAExC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,QAAQ,GAAG,OAAuB,CAAC;QACzC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAElB,OAAO,GAAG,EAAE;YACV,GAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEtB,IAAI,GAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC7D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI,CAAI,SAAiB,EAAE,OAA0B;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAI,SAAS,EAAE,IAAI,CAAC,EAAE;YAC/C,WAAW,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,SAAiB,EAAE,OAAsB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEpB,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC5D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,SAAiB,EAAE,OAAgB;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,aAAa;QACf,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;QACpB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageTransport.d.ts","sourceRoot":"","sources":["../src/MessageTransport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE5F;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC,YACE,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EAOrB;IAED,yCAAyC;IACzC,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,qEAAqE;IACrE,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAExC;IAED;;;;;;OAMG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCpD;CACF"}
1
+ {"version":3,"file":"MessageTransport.d.ts","sourceRoot":"","sources":["../src/MessageTransport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE5F;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC,YACE,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EAOrB;IAED,yCAAyC;IACzC,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,qEAAqE;IACrE,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAExC;IAED;;;;;;OAMG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCpD;CACF"}
@@ -42,12 +42,15 @@ export class MessageTransport {
42
42
  const controller = new AbortController();
43
43
  const deadline = setTimeout(() => controller.abort(), this.postTimeoutMs);
44
44
  try {
45
- await this.fetchImpl(url, {
45
+ const response = await this.fetchImpl(url, {
46
46
  method: 'POST',
47
47
  headers: { 'Content-Type': 'application/json; charset=UTF-8' },
48
48
  body: JSON.stringify(body),
49
49
  signal: controller.signal,
50
50
  });
51
+ if (!response.ok) {
52
+ throw new NuiRequestError(NuiErrorCodes.Transport, `POST ${url} failed with HTTP ${response.status}`);
53
+ }
51
54
  }
52
55
  catch (error) {
53
56
  // A timeout abort surfaces as an error whose `name` is 'AbortError'.
@@ -60,6 +63,8 @@ export class MessageTransport {
60
63
  if (isAbortError) {
61
64
  throw new NuiRequestError(NuiErrorCodes.PostTimeout, `POST ${url} timed out after ${this.postTimeoutMs}ms`);
62
65
  }
66
+ if (error instanceof NuiRequestError)
67
+ throw error;
63
68
  throw new NuiRequestError(NuiErrorCodes.Transport, String(error));
64
69
  }
65
70
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"MessageTransport.js","sourceRoot":"","sources":["../src/MessageTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM1D;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAgB;IACV,QAAQ,CAAS;IACjB,YAAY,CAAS;IACrB,aAAa,CAAS;IACtB,MAAM,CAAY;IAClB,SAAS,CAAY;IAEtC,YACE,QAAgB,EAChB,YAAoB,EACpB,aAAqB,EACrB,MAAiB,EACjB,SAAoB;QAEpB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,yCAAyC;IACzC,IAAI,eAAe;QACjB,OAAO,WAAW,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,qEAAqE;IACrE,WAAW,CAAC,YAAoB;QAC9B,OAAO,WAAW,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;IACxE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,IAAa;QACnC,wEAAwE;QACxE,wDAAwD;QACxD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;gBACxB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,iCAAiC,EAAE;gBAC9D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qEAAqE;YACrE,uEAAuE;YACvE,yEAAyE;YACzE,0EAA0E;YAC1E,sEAAsE;YACtE,yBAAyB;YACzB,MAAM,YAAY,GAAI,KAAkC,EAAE,IAAI,KAAK,YAAY,CAAC;YAEhF,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,eAAe,CACvB,aAAa,CAAC,WAAW,EACzB,QAAQ,GAAG,oBAAoB,IAAI,CAAC,aAAa,IAAI,CACtD,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,eAAe,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"MessageTransport.js","sourceRoot":"","sources":["../src/MessageTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM1D;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAgB;IACV,QAAQ,CAAS;IACjB,YAAY,CAAS;IACrB,aAAa,CAAS;IACtB,MAAM,CAAY;IAClB,SAAS,CAAY;IAEtC,YACE,QAAgB,EAChB,YAAoB,EACpB,aAAqB,EACrB,MAAiB,EACjB,SAAoB;QAEpB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,yCAAyC;IACzC,IAAI,eAAe;QACjB,OAAO,WAAW,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,qEAAqE;IACrE,WAAW,CAAC,YAAoB;QAC9B,OAAO,WAAW,IAAI,CAAC,QAAQ,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;IACxE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,IAAa;QACnC,wEAAwE;QACxE,wDAAwD;QACxD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;gBACzC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,iCAAiC,EAAE;gBAC9D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,eAAe,CACvB,aAAa,CAAC,SAAS,EACvB,QAAQ,GAAG,qBAAqB,QAAQ,CAAC,MAAM,EAAE,CAClD,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qEAAqE;YACrE,uEAAuE;YACvE,yEAAyE;YACzE,0EAA0E;YAC1E,sEAAsE;YACtE,yBAAyB;YACzB,MAAM,YAAY,GAAI,KAAkC,EAAE,IAAI,KAAK,YAAY,CAAC;YAEhF,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,eAAe,CACvB,aAAa,CAAC,WAAW,EACzB,QAAQ,GAAG,oBAAoB,IAAI,CAAC,aAAa,IAAI,CACtD,CAAC;YACJ,CAAC;YAED,IAAI,KAAK,YAAY,eAAe;gBAAE,MAAM,KAAK,CAAC;YAClD,MAAM,IAAI,eAAe,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
@@ -5,15 +5,15 @@ import type { NuiEventKey, NuiEventMap, NuiEventPayload, NuiEventRequest, NuiEve
5
5
  export type { NuiClientOptions } from './NuiClientOptions';
6
6
  type WindowHandler = (action: NuiWindowAction, window: string | undefined) => void;
7
7
  /**
8
- * `NuiClient` is **thin façade** it composes four collaborators and
8
+ * `NuiClient` is **thin façade** it composes four collaborators and
9
9
  * orchestrates their interaction:
10
10
  *
11
11
  * | Collaborator | Responsibility |
12
12
  * |------------------------|----------------------------------------|
13
13
  * | `MessageTransport` | Raw HTTP POST to `https://<res>/<cb>` |
14
- * | `RequestCoordinator` | Correlation ID ↔ Promise resolution |
14
+ * | `RequestCoordinator` | Correlation ID ↔ Promise resolution |
15
15
  * | `CallbackRegistry` | C#-request handler lookup |
16
- * | `EventBus` | C#→UI event subscription / dispatch |
16
+ * | `EventBus` | C#→UI event subscription / dispatch |
17
17
  *
18
18
  * Window lifecycle listeners (`onWindow`) and the browser `message`
19
19
  * listener (`listen`) stay here because they are browser-integration glue.
@@ -1 +1 @@
1
- {"version":3,"file":"NuiClient.d.ts","sourceRoot":"","sources":["../src/NuiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NuiClient.d.ts","sourceRoot":"","sources":["../src/NuiClient.ts"],"names":[],"mappings":"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"}
package/dist/NuiClient.js CHANGED
@@ -12,15 +12,15 @@ const WINDOW_ACTIONS = new Set([
12
12
  'unfocus',
13
13
  ]);
14
14
  /**
15
- * `NuiClient` is **thin façade** it composes four collaborators and
15
+ * `NuiClient` is **thin façade** it composes four collaborators and
16
16
  * orchestrates their interaction:
17
17
  *
18
18
  * | Collaborator | Responsibility |
19
19
  * |------------------------|----------------------------------------|
20
20
  * | `MessageTransport` | Raw HTTP POST to `https://<res>/<cb>` |
21
- * | `RequestCoordinator` | Correlation ID ↔ Promise resolution |
21
+ * | `RequestCoordinator` | Correlation ID ↔ Promise resolution |
22
22
  * | `CallbackRegistry` | C#-request handler lookup |
23
- * | `EventBus` | C#→UI event subscription / dispatch |
23
+ * | `EventBus` | C#→UI event subscription / dispatch |
24
24
  *
25
25
  * Window lifecycle listeners (`onWindow`) and the browser `message`
26
26
  * listener (`listen`) stay here because they are browser-integration glue.
@@ -280,14 +280,19 @@ export class NuiClient {
280
280
  this.handleMessage(message);
281
281
  };
282
282
  target.addEventListener('message', listener);
283
- this.stopListening = () => {
283
+ let stopped = false;
284
+ const stop = () => {
285
+ if (stopped)
286
+ return;
287
+ stopped = true;
284
288
  target.removeEventListener('message', listener);
285
- this.listening = false;
286
- this.stopListening = null;
287
- };
288
- return () => {
289
- this.stopListening?.();
289
+ if (this.stopListening === stop) {
290
+ this.listening = false;
291
+ this.stopListening = null;
292
+ }
290
293
  };
294
+ this.stopListening = stop;
295
+ return stop;
291
296
  }
292
297
  /** Handles incoming requests from C#. */
293
298
  async handleRequest(message) {
@@ -1 +1 @@
1
- {"version":3,"file":"NuiClient.js","sourceRoot":"","sources":["../src/NuiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NuiClient.js","sourceRoot":"","sources":["../src/NuiClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fivem-nui/core",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Framework-agnostic TypeScript bridge for FiveM NUI communication",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,46 +1,46 @@
1
- import type { NuiMessage } from './types';
2
-
3
- /** Internal storage shape for a registered callback handler. */
4
- export type CallbackHandler = (request: unknown) => Promise<NuiMessage>;
5
-
6
- /**
7
- * Registry for C# request handlers.
8
- *
9
- * Stores handlers keyed by event name, providing typ safe registration
10
- * and O(1) lookup by name. A handler that throws is caught by the caller
11
- * (via {@link NuiClient.handleRequest}) and reported back to C# as
12
- * `CALLBACK_ERROR` instead of being left unanswered.
13
- *
14
- * Mirrors C# `NuiCallbackRegistry`.
15
- */
16
- export class CallbackRegistry {
17
- private callbacks = new Map<string, CallbackHandler>();
18
-
19
- /** Registers (or replaces) a handler for `eventName`. */
20
- register(eventName: string, handler: CallbackHandler): void {
21
- this.callbacks.set(eventName, handler);
22
- }
23
-
24
- /**
25
- * Removes the handler for `eventName`.
26
- * @returns `true` if a handler was removed.
27
- */
28
- unregister(eventName: string): boolean {
29
- return this.callbacks.delete(eventName);
30
- }
31
-
32
- /** Retrieves the handler for `eventName`, or `undefined` if none. */
33
- get(eventName: string): CallbackHandler | undefined {
34
- return this.callbacks.get(eventName);
35
- }
36
-
37
- /** Number of registered callbacks. */
38
- get count(): number {
39
- return this.callbacks.size;
40
- }
41
-
42
- /** Removes every registered callback. Called during `dispose()`. */
43
- clear(): void {
44
- this.callbacks.clear();
45
- }
46
- }
1
+ import type { NuiMessage } from './types';
2
+
3
+ /** Internal storage shape for a registered callback handler. */
4
+ export type CallbackHandler = (request: unknown) => Promise<NuiMessage>;
5
+
6
+ /**
7
+ * Registry for C# request handlers.
8
+ *
9
+ * Stores handlers keyed by event name, providing typ safe registration
10
+ * and O(1) lookup by name. A handler that throws is caught by the caller
11
+ * (via {@link NuiClient.handleRequest}) and reported back to C# as
12
+ * `CALLBACK_ERROR` instead of being left unanswered.
13
+ *
14
+ * Mirrors C# `NuiCallbackRegistry`.
15
+ */
16
+ export class CallbackRegistry {
17
+ private callbacks = new Map<string, CallbackHandler>();
18
+
19
+ /** Registers (or replaces) a handler for `eventName`. */
20
+ register(eventName: string, handler: CallbackHandler): void {
21
+ this.callbacks.set(eventName, handler);
22
+ }
23
+
24
+ /**
25
+ * Removes the handler for `eventName`.
26
+ * @returns `true` if a handler was removed.
27
+ */
28
+ unregister(eventName: string): boolean {
29
+ return this.callbacks.delete(eventName);
30
+ }
31
+
32
+ /** Retrieves the handler for `eventName`, or `undefined` if none. */
33
+ get(eventName: string): CallbackHandler | undefined {
34
+ return this.callbacks.get(eventName);
35
+ }
36
+
37
+ /** Number of registered callbacks. */
38
+ get count(): number {
39
+ return this.callbacks.size;
40
+ }
41
+
42
+ /** Removes every registered callback. Called during `dispose()`. */
43
+ clear(): void {
44
+ this.callbacks.clear();
45
+ }
46
+ }
package/src/EventBus.ts CHANGED
@@ -1,119 +1,119 @@
1
- import type { NuiLogger } from './logger';
2
-
3
- /** Internal listener type: accepts any payload, callers cast as needed. */
4
- export type EventHandler = (data: unknown) => void;
5
-
6
- /**
7
- * Type safe event subscription and dispatch.
8
- *
9
- * Maintains multiple listeners per event name, supports one-shot
10
- * subscriptions (`once`), and isolates handler errors so a throwing
11
- * listener cannot prevent its siblings from receiving the payload.
12
- *
13
- * Mirrors C# `EventManager`.
14
- */
15
- export class EventBus {
16
- private readonly listeners = new Map<string, Set<EventHandler>>();
17
- private readonly logger: NuiLogger;
18
-
19
- constructor(logger: NuiLogger) {
20
- this.logger = logger;
21
- }
22
-
23
- /**
24
- * Subscribes to `eventName`.
25
- * @returns an unsubscribe function.
26
- */
27
- on<T>(eventName: string, handler: (data: T) => void): () => void {
28
- let set = this.listeners.get(eventName);
29
-
30
- if (!set) {
31
- set = new Set();
32
- this.listeners.set(eventName, set);
33
- }
34
-
35
- const listener = handler as EventHandler;
36
- set.add(listener);
37
-
38
- return () => {
39
- set!.delete(listener);
40
-
41
- if (set!.size === 0) {
42
- this.listeners.delete(eventName);
43
- }
44
- };
45
- }
46
-
47
- /**
48
- * Subscribes to the next occurrence of `eventName` only.
49
- * @returns an unsubscribe function (also valid after the handler fired).
50
- */
51
- once<T>(eventName: string, handler: (data: T) => void): () => void {
52
- const unsubscribe = this.on<T>(eventName, data => {
53
- unsubscribe();
54
- handler(data);
55
- });
56
-
57
- return unsubscribe;
58
- }
59
-
60
- /**
61
- * Unsubscribes from `eventName`.
62
- * If `handler` is omitted, removes every listener for that event.
63
- */
64
- off(eventName: string, handler?: EventHandler): void {
65
- const set = this.listeners.get(eventName);
66
-
67
- if (!set) {
68
- return;
69
- }
70
-
71
- if (handler) {
72
- set.delete(handler);
73
-
74
- if (set.size === 0) {
75
- this.listeners.delete(eventName);
76
- }
77
- } else {
78
- this.listeners.delete(eventName);
79
- }
80
- }
81
-
82
- /**
83
- * Dispatches `payload` to every listener of `eventName`.
84
- *
85
- * Copies the listener set first so a handler that unsubscribes itself
86
- * (or removes a sibling) cannot skip the next listener.
87
- */
88
- emit(eventName: string, payload: unknown): void {
89
- const set = this.listeners.get(eventName);
90
-
91
- if (!set) {
92
- return;
93
- }
94
-
95
- for (const listener of [...set]) {
96
- try {
97
- listener(payload);
98
- } catch (error) {
99
- this.logger.error(`Error in event handler for: ${eventName}`, error);
100
- }
101
- }
102
- }
103
-
104
- /** Total listeners across all events. */
105
- get listenerCount(): number {
106
- let total = 0;
107
-
108
- for (const set of this.listeners.values()) {
109
- total += set.size;
110
- }
111
-
112
- return total;
113
- }
114
-
115
- /** Removes every listener. Called during `dispose()`. */
116
- clear(): void {
117
- this.listeners.clear();
118
- }
119
- }
1
+ import type { NuiLogger } from './logger';
2
+
3
+ /** Internal listener type: accepts any payload, callers cast as needed. */
4
+ export type EventHandler = (data: unknown) => void;
5
+
6
+ /**
7
+ * Type safe event subscription and dispatch.
8
+ *
9
+ * Maintains multiple listeners per event name, supports one-shot
10
+ * subscriptions (`once`), and isolates handler errors so a throwing
11
+ * listener cannot prevent its siblings from receiving the payload.
12
+ *
13
+ * Mirrors C# `EventManager`.
14
+ */
15
+ export class EventBus {
16
+ private readonly listeners = new Map<string, Set<EventHandler>>();
17
+ private readonly logger: NuiLogger;
18
+
19
+ constructor(logger: NuiLogger) {
20
+ this.logger = logger;
21
+ }
22
+
23
+ /**
24
+ * Subscribes to `eventName`.
25
+ * @returns an unsubscribe function.
26
+ */
27
+ on<T>(eventName: string, handler: (data: T) => void): () => void {
28
+ let set = this.listeners.get(eventName);
29
+
30
+ if (!set) {
31
+ set = new Set();
32
+ this.listeners.set(eventName, set);
33
+ }
34
+
35
+ const listener = handler as EventHandler;
36
+ set.add(listener);
37
+
38
+ return () => {
39
+ set!.delete(listener);
40
+
41
+ if (set!.size === 0 && this.listeners.get(eventName) === set) {
42
+ this.listeners.delete(eventName);
43
+ }
44
+ };
45
+ }
46
+
47
+ /**
48
+ * Subscribes to the next occurrence of `eventName` only.
49
+ * @returns an unsubscribe function (also valid after the handler fired).
50
+ */
51
+ once<T>(eventName: string, handler: (data: T) => void): () => void {
52
+ const unsubscribe = this.on<T>(eventName, data => {
53
+ unsubscribe();
54
+ handler(data);
55
+ });
56
+
57
+ return unsubscribe;
58
+ }
59
+
60
+ /**
61
+ * Unsubscribes from `eventName`.
62
+ * If `handler` is omitted, removes every listener for that event.
63
+ */
64
+ off(eventName: string, handler?: EventHandler): void {
65
+ const set = this.listeners.get(eventName);
66
+
67
+ if (!set) {
68
+ return;
69
+ }
70
+
71
+ if (handler) {
72
+ set.delete(handler);
73
+
74
+ if (set.size === 0 && this.listeners.get(eventName) === set) {
75
+ this.listeners.delete(eventName);
76
+ }
77
+ } else {
78
+ this.listeners.delete(eventName);
79
+ }
80
+ }
81
+
82
+ /**
83
+ * Dispatches `payload` to every listener of `eventName`.
84
+ *
85
+ * Copies the listener set first so a handler that unsubscribes itself
86
+ * (or removes a sibling) cannot skip the next listener.
87
+ */
88
+ emit(eventName: string, payload: unknown): void {
89
+ const set = this.listeners.get(eventName);
90
+
91
+ if (!set) {
92
+ return;
93
+ }
94
+
95
+ for (const listener of [...set]) {
96
+ try {
97
+ listener(payload);
98
+ } catch (error) {
99
+ this.logger.error(`Error in event handler for: ${eventName}`, error);
100
+ }
101
+ }
102
+ }
103
+
104
+ /** Total listeners across all events. */
105
+ get listenerCount(): number {
106
+ let total = 0;
107
+
108
+ for (const set of this.listeners.values()) {
109
+ total += set.size;
110
+ }
111
+
112
+ return total;
113
+ }
114
+
115
+ /** Removes every listener. Called during `dispose()`. */
116
+ clear(): void {
117
+ this.listeners.clear();
118
+ }
119
+ }