@typetron/framework 0.5.40 → 0.5.41

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/Router/Readme.md CHANGED
@@ -136,6 +136,10 @@ Messages sent or published through the injected `WebSocket` while handling an ac
136
136
  clients to correlate every streamed message with the action that initiated it, including when multiple actions run concurrently on one
137
137
  connection. Messages initiated outside an action may omit `$id`.
138
138
 
139
+ To publish from work that may outlive its connection, inject `WebSocketServer`. Unlike `WebSocket.publish`, which skips the sending
140
+ connection and needs that connection to be open, `WebSocketServer.publish(topic, action, body)` reaches every subscriber. Its messages have
141
+ no `$id`.
142
+
139
143
  ## Loading Controllers and Starting Servers
140
144
 
141
145
  `Router.loadControllers(directory)` imports TypeScript controller files recursively. Importing decorated classes registers their routes and
@@ -1 +1 @@
1
- {"version":3,"file":"WebsocketsProvider.d.ts","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAGrC,OAAO,EAAE,qBAAqB,EAAuB,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAuB,OAAO,EAAa,MAAM,yBAAyB,CAAA;AASjF,qBAAa,kBAAmB,SAAQ,QAAQ;IAG5C,SAAS,EAAE,SAAS,CAAA;IAGpB,OAAO,EAAE,OAAO,CAAA;IAGhB,YAAY,EAAE,qBAAqB,CAAA;IAEnC,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAqIlB,YAAY;CAS7B"}
1
+ {"version":3,"file":"WebsocketsProvider.d.ts","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAGrC,OAAO,EAAE,qBAAqB,EAAuB,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAuB,OAAO,EAA8B,MAAM,yBAAyB,CAAA;AASlG,qBAAa,kBAAmB,SAAQ,QAAQ;IAG5C,SAAS,EAAE,SAAS,CAAA;IAGpB,OAAO,EAAE,OAAO,CAAA;IAGhB,YAAY,EAAE,qBAAqB,CAAA;IAEnC,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAuIlB,YAAY;CAS7B"}
@@ -147,6 +147,7 @@ class WebsocketsProvider extends Provider_1.Provider {
147
147
  console.info(`Websocket server started on port ${port}`);
148
148
  }
149
149
  });
150
+ this.app.set(Websockets_1.WebSocketServer, new Websockets_1.WebSocketServer(app));
150
151
  }
151
152
  async handleAction(container, { action, message, '$id': id }) {
152
153
  const request = new Request_1.Request(action, message?.body, id);
@@ -1 +1 @@
1
- {"version":3,"file":"WebsocketsProvider.js","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAsC;AACtC,+CAAmD;AACnD,sCAAqC;AACrC,mDAA6D;AAC7D,+BAAkC;AAClC,4CAA8E;AAC9E,wDAAiF;AAEjF,iEAA6D;AAE7D,IAAK,sBAGJ;AAHD,WAAK,sBAAsB;IACvB,mCAAS,CAAA;IACT,yCAAe,CAAA;AACnB,CAAC,EAHI,sBAAsB,KAAtB,sBAAsB,QAG1B;AAED,MAAa,kBAAmB,SAAQ,mBAAQ;IAG5C,SAAS,CAAW;IAGpB,OAAO,CAAS;IAGhB,YAAY,CAAuB;IAEnC,QAAQ;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAA;QAE1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACtE,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,kBAAW,EAAE,CAAA;QAEvC,wIAAwI;QACxI,yIAAyI;QACzI,MAAM,aAAa,GAAG,IAAI,OAAO,EAAmB,CAAA;QAEpD,MAAM,GAAG,GAAG,IAAA,oBAAG,GAAE,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YAC9B,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;gBACV,GAAG,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAA;YACvF,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE;YAEP,2CAA2C;YAC3C,WAAW,EAAE,EAAE;YACf,eAAe,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC,EAAI,0BAA0B;YAC9D,2DAA2D;YAC3D,yCAAyC;YACzC,yBAAyB;YACzB,gBAAgB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAElC,IAAI,EAAE,CAAC,MAAuB,EAAE,EAAE;gBAC9B,MAAM,aAAa,GAAG,IAAI,sBAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAA;gBACxF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YACpE,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,MAAuB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;gBACpD,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACzB,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACxE,MAAM,cAAc,GAAG,MAAkD,CAAA;gBACzE,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBACxE,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;gBAChD,CAAC,CAAC,CAAA;YACN,CAAC;YAED,8EAA8E;YAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;gBACzC,IAAI,IAAmB,CAAA;gBACvB,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBAC9C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC/B,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBACd,MAAM,KAAK,GAAG,MAAe,CAAA;oBAC7B,MAAM,YAAY,GAAG;wBACjB,OAAO,EAAE;4BACL,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC;yBACpE;wBACD,MAAM,EAAE,sBAAsB,CAAC,KAAK;qBACvC,CAAA;oBACD,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5B,OAAM;oBACV,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;wBACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;oBAC7D,CAAC,CAAC,CAAA;oBACF,OAAM;gBACV,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,cAAc,GAAG,MAAkD,CAAA;oBACzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;oBACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;oBAC1B,MAAM,YAAY,GAA4B;wBAE1C,MAAM;wBACN,OAAO,EAAE,QAAQ,CAAC,IAAI;wBACtB,MAAM,EAAE,sBAAsB,CAAC,EAAE;wBAEjC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;qBACnB,CAAA;oBACD,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;wBACnD,YAAY,CAAC,MAAM,GAAG,sBAAsB,CAAC,EAAE,CAAA;oBACnD,CAAC;yBAAM,CAAC;wBACJ,YAAY,CAAC,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAA;oBACtD,CAAC;oBAED,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5B,OAAM;oBACV,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;wBACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;oBAC7D,CAAC,CAAC,CAAA;gBAEN,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,MAAM,KAAK,GAAG,GAAgB,CAAA;oBAC9B,MAAM,YAAY,GAAwB;wBACtC,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,MAAM,EAAE,sBAAsB,CAAC,KAAK;wBACpC,OAAO,EAAE;4BACL,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;4BAC/C,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;yBAClE;wBACD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;qBACrB,CAAA;oBACD,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;wBACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAoB,CAAA;wBACzE,YAAY,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;oBACxD,CAAC;oBACD,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;oBAC3B,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5B,OAAM;oBACV,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;wBACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;oBAC7D,CAAC,CAAC,CAAA;gBACN,CAAC;YAEL,CAAC;YACD,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;gBACrB,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACpD,IAAI,aAAsB,CAAA;gBAC1B,IAAI,CAAC;oBACD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,KAAc,EAAE,EAAE,CAChE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBAChE,CAAC;gBAAC,MAAM,CAAC;oBACL,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;gBAChD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;YACnE,CAAC;SAEJ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE;YAC7B,IAAI,YAAY,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAA;YAC5D,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,SAAoB,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAgB;QACxF,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAEtD,+HAA+H;QAC/H,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE;YACrC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;QACrD,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;CACJ;AAzJD,gDAyJC;AAtJG;IADC,IAAA,kBAAM,GAAE;8BACE,kBAAS;qDAAA;AAGpB;IADC,IAAA,kBAAM,GAAE;8BACA,oBAAO;mDAAA;AAGhB;IADC,IAAA,kBAAM,GAAE;8BACK,4BAAqB;wDAAA"}
1
+ {"version":3,"file":"WebsocketsProvider.js","sourceRoot":"","sources":["../../../Framework/Providers/WebsocketsProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAsC;AACtC,+CAAmD;AACnD,sCAAqC;AACrC,mDAA6D;AAC7D,+BAAkC;AAClC,4CAA8E;AAC9E,wDAAkG;AAElG,iEAA6D;AAE7D,IAAK,sBAGJ;AAHD,WAAK,sBAAsB;IACvB,mCAAS,CAAA;IACT,yCAAe,CAAA;AACnB,CAAC,EAHI,sBAAsB,KAAtB,sBAAsB,QAG1B;AAED,MAAa,kBAAmB,SAAQ,mBAAQ;IAG5C,SAAS,CAAW;IAGpB,OAAO,CAAS;IAGhB,YAAY,CAAuB;IAEnC,QAAQ;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAA;QAE1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACtE,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,kBAAW,EAAE,CAAA;QAEvC,wIAAwI;QACxI,yIAAyI;QACzI,MAAM,aAAa,GAAG,IAAI,OAAO,EAAmB,CAAA;QAEpD,MAAM,GAAG,GAAG,IAAA,oBAAG,GAAE,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YAC9B,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;gBACV,GAAG,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAA;YACvF,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE;YAEP,2CAA2C;YAC3C,WAAW,EAAE,EAAE;YACf,eAAe,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC,EAAI,0BAA0B;YAC9D,2DAA2D;YAC3D,yCAAyC;YACzC,yBAAyB;YACzB,gBAAgB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAElC,IAAI,EAAE,CAAC,MAAuB,EAAE,EAAE;gBAC9B,MAAM,aAAa,GAAG,IAAI,sBAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAA;gBACxF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YACpE,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,MAAuB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;gBACpD,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACzB,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACxE,MAAM,cAAc,GAAG,MAAkD,CAAA;gBACzE,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBACxE,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;gBAChD,CAAC,CAAC,CAAA;YACN,CAAC;YAED,8EAA8E;YAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;gBACzC,IAAI,IAAmB,CAAA;gBACvB,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBAC9C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC/B,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBACd,MAAM,KAAK,GAAG,MAAe,CAAA;oBAC7B,MAAM,YAAY,GAAG;wBACjB,OAAO,EAAE;4BACL,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC;yBACpE;wBACD,MAAM,EAAE,sBAAsB,CAAC,KAAK;qBACvC,CAAA;oBACD,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5B,OAAM;oBACV,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;wBACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;oBAC7D,CAAC,CAAC,CAAA;oBACF,OAAM;gBACV,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,cAAc,GAAG,MAAkD,CAAA;oBACzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;oBACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;oBAC1B,MAAM,YAAY,GAA4B;wBAE1C,MAAM;wBACN,OAAO,EAAE,QAAQ,CAAC,IAAI;wBACtB,MAAM,EAAE,sBAAsB,CAAC,EAAE;wBAEjC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;qBACnB,CAAA;oBACD,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;wBACnD,YAAY,CAAC,MAAM,GAAG,sBAAsB,CAAC,EAAE,CAAA;oBACnD,CAAC;yBAAM,CAAC;wBACJ,YAAY,CAAC,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAA;oBACtD,CAAC;oBAED,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5B,OAAM;oBACV,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;wBACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;oBAC7D,CAAC,CAAC,CAAA;gBAEN,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,MAAM,KAAK,GAAG,GAAgB,CAAA;oBAC9B,MAAM,YAAY,GAAwB;wBACtC,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,MAAM,EAAE,sBAAsB,CAAC,KAAK;wBACpC,OAAO,EAAE;4BACL,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;4BAC/C,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;yBAClE;wBACD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;qBACrB,CAAA;oBACD,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;wBACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAoB,CAAA;wBACzE,YAAY,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;oBACxD,CAAC;oBACD,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;oBAC3B,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5B,OAAM;oBACV,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;wBACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;oBAC7D,CAAC,CAAC,CAAA;gBACN,CAAC;YAEL,CAAC;YACD,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;gBACrB,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACpD,IAAI,aAAsB,CAAA;gBAC1B,IAAI,CAAC;oBACD,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,KAAc,EAAE,EAAE,CAChE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBAChE,CAAC;gBAAC,MAAM,CAAC;oBACL,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;gBAChD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;YACnE,CAAC;SAEJ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE;YAC7B,IAAI,YAAY,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAA;YAC5D,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,4BAAe,EAAE,IAAI,4BAAe,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,SAAoB,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAgB;QACxF,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAEtD,+HAA+H;QAC/H,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE;YACrC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;QACrD,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;CACJ;AA3JD,gDA2JC;AAxJG;IADC,IAAA,kBAAM,GAAE;8BACE,kBAAS;qDAAA;AAGpB;IADC,IAAA,kBAAM,GAAE;8BACA,oBAAO;mDAAA;AAGhB;IADC,IAAA,kBAAM,GAAE;8BACK,4BAAqB;wDAAA"}
@@ -0,0 +1,12 @@
1
+ import { TemplatedApp } from 'uWebSockets.js';
2
+ /**
3
+ * Publishes to a topic without going through a connection, so work that outlives
4
+ * the connection that started it can still reach subscribers. Every subscriber
5
+ * receives the message.
6
+ */
7
+ export declare class WebSocketServer {
8
+ private readonly app;
9
+ constructor(app: TemplatedApp);
10
+ publish(topic: string, action: string, body?: unknown): void;
11
+ }
12
+ //# sourceMappingURL=WebSocketServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebSocketServer.d.ts","sourceRoot":"","sources":["../../../Router/Websockets/WebSocketServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C;;;;GAIG;AACH,qBAAa,eAAe;IAEZ,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,YAAY;IAE9C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;CAQxD"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebSocketServer = void 0;
4
+ const types_1 = require("./types");
5
+ /**
6
+ * Publishes to a topic without going through a connection, so work that outlives
7
+ * the connection that started it can still reach subscribers. Every subscriber
8
+ * receives the message.
9
+ */
10
+ class WebSocketServer {
11
+ app;
12
+ constructor(app) {
13
+ this.app = app;
14
+ }
15
+ publish(topic, action, body) {
16
+ const sentResponse = {
17
+ action,
18
+ message: body,
19
+ status: types_1.WebsocketMessageStatus.OK,
20
+ };
21
+ this.app.publish(topic, JSON.stringify(sentResponse), false, true);
22
+ }
23
+ }
24
+ exports.WebSocketServer = WebSocketServer;
25
+ //# sourceMappingURL=WebSocketServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebSocketServer.js","sourceRoot":"","sources":["../../../Router/Websockets/WebSocketServer.ts"],"names":[],"mappings":";;;AACA,mCAAgE;AAEhE;;;;GAIG;AACH,MAAa,eAAe;IAEK;IAA7B,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAElD,OAAO,CAAC,KAAa,EAAE,MAAc,EAAE,IAAc;QACjD,MAAM,YAAY,GAA4B;YAC1C,MAAM;YACN,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,8BAAsB,CAAC,EAAE;SACpC,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACtE,CAAC;CACJ;AAZD,0CAYC"}
@@ -1,4 +1,5 @@
1
1
  export * from './Handler';
2
2
  export * from './types';
3
3
  export * from './WebSocket';
4
+ export * from './WebSocketServer';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA"}
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Handler"), exports);
18
18
  __exportStar(require("./types"), exports);
19
19
  __exportStar(require("./WebSocket"), exports);
20
+ __exportStar(require("./WebSocketServer"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,0CAAuB;AACvB,8CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Router/Websockets/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,0CAAuB;AACvB,8CAA2B;AAC3B,oDAAiC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@typetron/framework",
3
3
  "description": "Modern Node.js framework for modern apps written in Typescript",
4
4
  "license": "MIT",
5
- "version": "0.5.40",
5
+ "version": "0.5.41",
6
6
  "keywords": [
7
7
  "typetron",
8
8
  "framework",