topsyde-utils 1.0.91 → 1.0.93

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/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export * from "./types";
7
7
  export * from "./throwable";
8
8
  export * from "./enums";
9
9
  export * from "./server/controller";
10
+ export * from "./server/service";
10
11
  export * from "./server/bun/router/routes";
11
12
  export * from "./server/bun/router/router";
12
13
  export * from "./server/bun/router/router.internal";
@@ -24,6 +25,7 @@ export { default as Initializable } from "./initializable";
24
25
  export { default as Application } from "./application";
25
26
  export { default as Throwable } from "./throwable";
26
27
  export { default as Controller } from "./server/controller";
28
+ export { default as Service } from "./server/service";
27
29
  export { default as Router } from "./server/bun/router/router";
28
30
  export { default as Router_Internal } from "./server/bun/router/router.internal";
29
31
  export { default as Client } from "./server/bun/websocket/Client";
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  return (mod && mod.__esModule) ? mod : { "default": mod };
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.E_WebsocketMessagePriority = exports.E_WebsocketMessageType = exports.E_ENVIRONMENTS = exports.E_IS = exports.LOG_ICONS = exports.LOG_COLORS = exports.DEFAULT_FALSE_RESPONSE = exports.RESPONSE_METHOD_OPTIONS = exports.RESPONSE_INIT = exports.WS_ERROR_CODE = exports.HTTP_ERROR_CODE = exports.ERROR_CODE = exports.Console = exports.Lib = exports.Guards = exports.Channel = exports.Websocket = exports.Client = exports.Router_Internal = exports.Router = exports.Controller = exports.Throwable = exports.Application = exports.Initializable = exports.Singleton = void 0;
22
+ exports.E_WebsocketMessagePriority = exports.E_WebsocketMessageType = exports.E_ENVIRONMENTS = exports.E_IS = exports.LOG_ICONS = exports.LOG_COLORS = exports.DEFAULT_FALSE_RESPONSE = exports.RESPONSE_METHOD_OPTIONS = exports.RESPONSE_INIT = exports.WS_ERROR_CODE = exports.HTTP_ERROR_CODE = exports.ERROR_CODE = exports.Console = exports.Lib = exports.Guards = exports.Channel = exports.Websocket = exports.Client = exports.Router_Internal = exports.Router = exports.Service = exports.Controller = exports.Throwable = exports.Application = exports.Initializable = exports.Singleton = void 0;
23
23
  // Export all modules
24
24
  __exportStar(require("./errors"), exports);
25
25
  __exportStar(require("./singleton"), exports);
@@ -30,6 +30,7 @@ __exportStar(require("./types"), exports);
30
30
  __exportStar(require("./throwable"), exports);
31
31
  __exportStar(require("./enums"), exports);
32
32
  __exportStar(require("./server/controller"), exports);
33
+ __exportStar(require("./server/service"), exports);
33
34
  __exportStar(require("./server/bun/router/routes"), exports);
34
35
  __exportStar(require("./server/bun/router/router"), exports);
35
36
  __exportStar(require("./server/bun/router/router.internal"), exports);
@@ -53,6 +54,8 @@ var throwable_1 = require("./throwable");
53
54
  Object.defineProperty(exports, "Throwable", { enumerable: true, get: function () { return __importDefault(throwable_1).default; } });
54
55
  var controller_1 = require("./server/controller");
55
56
  Object.defineProperty(exports, "Controller", { enumerable: true, get: function () { return __importDefault(controller_1).default; } });
57
+ var service_1 = require("./server/service");
58
+ Object.defineProperty(exports, "Service", { enumerable: true, get: function () { return __importDefault(service_1).default; } });
56
59
  var router_1 = require("./server/bun/router/router");
57
60
  Object.defineProperty(exports, "Router", { enumerable: true, get: function () { return __importDefault(router_1).default; } });
58
61
  var router_internal_1 = require("./server/bun/router/router.internal");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;AAEjC,qBAAqB;AACrB,2CAAyB;AACzB,8CAA4B;AAC5B,kDAAgC;AAChC,gDAA8B;AAC9B,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B;AAC5B,0CAAwB;AACxB,sDAAoC;AACpC,6DAA2C;AAC3C,6DAA2C;AAC3C,sEAAoD;AACpD,0EAAwD;AACxD,gEAA8C;AAC9C,mEAAiD;AACjD,yEAAuD;AACvD,yEAAuD;AACvD,iEAA+C;AAC/C,iDAA+B;AAC/B,8CAA4B;AAC5B,kDAAgC;AAEhC,yBAAyB;AACzB,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,kDAA4D;AAAnD,yHAAA,OAAO,OAAc;AAC9B,qDAA+D;AAAtD,iHAAA,OAAO,OAAU;AAC1B,uEAAiF;AAAxE,mIAAA,OAAO,OAAmB;AACnC,wDAAkE;AAAzD,iHAAA,OAAO,OAAU;AAC1B,8DAAwE;AAA/D,uHAAA,OAAO,OAAa;AAC7B,0DAAoE;AAA3D,mHAAA,OAAO,OAAW;AAC3B,yCAAmD;AAA1C,iHAAA,OAAO,OAAU;AAC1B,mCAA6C;AAApC,2GAAA,OAAO,OAAO;AACvB,2CAAqD;AAA5C,mHAAA,OAAO,OAAW;AAE3B,sDAAsD;AACtD,mCAAsE;AAA7D,oGAAA,UAAU,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,uGAAA,aAAa,OAAA;AAEnD,6CAAuE;AAA9D,4GAAA,aAAa,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAC/C,mCAAyE;AAAhE,gHAAA,sBAAsB,OAAA;AAAE,oGAAA,UAAU,OAAA;AAAE,mGAAA,SAAS,OAAA;AAEtD,iCAA+C;AAAtC,6FAAA,IAAI,OAAA;AAAE,uGAAA,cAAc,OAAA;AAI7B,0EAA4G;AAAnG,yHAAA,sBAAsB,OAAA;AAAE,6HAAA,0BAA0B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;AAEjC,qBAAqB;AACrB,2CAAyB;AACzB,8CAA4B;AAC5B,kDAAgC;AAChC,gDAA8B;AAC9B,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B;AAC5B,0CAAwB;AACxB,sDAAoC;AACpC,mDAAiC;AACjC,6DAA2C;AAC3C,6DAA2C;AAC3C,sEAAoD;AACpD,0EAAwD;AACxD,gEAA8C;AAC9C,mEAAiD;AACjD,yEAAuD;AACvD,yEAAuD;AACvD,iEAA+C;AAC/C,iDAA+B;AAC/B,8CAA4B;AAC5B,kDAAgC;AAEhC,yBAAyB;AACzB,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,kDAA4D;AAAnD,yHAAA,OAAO,OAAc;AAC9B,4CAAsD;AAA7C,mHAAA,OAAO,OAAW;AAC3B,qDAA+D;AAAtD,iHAAA,OAAO,OAAU;AAC1B,uEAAiF;AAAxE,mIAAA,OAAO,OAAmB;AACnC,wDAAkE;AAAzD,iHAAA,OAAO,OAAU;AAC1B,8DAAwE;AAA/D,uHAAA,OAAO,OAAa;AAC7B,0DAAoE;AAA3D,mHAAA,OAAO,OAAW;AAC3B,yCAAmD;AAA1C,iHAAA,OAAO,OAAU;AAC1B,mCAA6C;AAApC,2GAAA,OAAO,OAAO;AACvB,2CAAqD;AAA5C,mHAAA,OAAO,OAAW;AAE3B,sDAAsD;AACtD,mCAAsE;AAA7D,oGAAA,UAAU,OAAA;AAAE,yGAAA,eAAe,OAAA;AAAE,uGAAA,aAAa,OAAA;AAEnD,6CAAuE;AAA9D,4GAAA,aAAa,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAC/C,mCAAyE;AAAhE,gHAAA,sBAAsB,OAAA;AAAE,oGAAA,UAAU,OAAA;AAAE,mGAAA,SAAS,OAAA;AAEtD,iCAA+C;AAAtC,6FAAA,IAAI,OAAA;AAAE,uGAAA,cAAc,OAAA;AAI7B,0EAA4G;AAAnG,yHAAA,sBAAsB,OAAA;AAAE,6HAAA,0BAA0B,OAAA"}
@@ -20,7 +20,7 @@ class Websocket extends singleton_1.default {
20
20
  if (setup && setup.message)
21
21
  return setup.message(ws, message);
22
22
  ws.send("This is the message from the server: " + message);
23
- Websocket.BraodcastAll({ type: "client.message.received", content: message });
23
+ Websocket.BraodcastAll({ type: "client.message.received", content: { message } });
24
24
  };
25
25
  this.clientConnected = (ws) => {
26
26
  utils_1.Lib.Log("Client connected", ws.data);
@@ -30,11 +30,10 @@ class Websocket extends singleton_1.default {
30
30
  const global = this._channels.get("global");
31
31
  if (!global)
32
32
  throw new Error("Global channel not found");
33
- //TODO: handshake
34
33
  const client = Websocket.CreateClient({ id: ws.data.id, ws: ws, name: ws.data.name });
35
34
  this._clients.set(client.id, client);
36
- global.addMember(client);
37
35
  client.send({ type: websocket_enums_1.E_WebsocketMessageType.CLIENT_CONNECTED, content: { message: "Welcome to the server", client: client.whoami() } });
36
+ global.addMember(client);
38
37
  };
39
38
  this.clientDisconnected = (ws, code, reason) => {
40
39
  utils_1.Lib.Log("Client disconnected", ws.data);
@@ -51,7 +50,7 @@ class Websocket extends singleton_1.default {
51
50
  };
52
51
  this.handleHeartbeat = (ws, message) => {
53
52
  if (message === "ping") {
54
- const pong = { type: "pong", content: "pong" };
53
+ const pong = { type: "pong", content: { message: "pong" } };
55
54
  ws.send(JSON.stringify(pong));
56
55
  return true;
57
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Websocket.js","sourceRoot":"","sources":["../../../../src/server/bun/websocket/Websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Websocket.js","sourceRoot":"","sources":["../../../../src/server/bun/websocket/Websocket.ts"],"names":[],"mappings":";;;;;AACA,mEAA2C;AAC3C,0CAAqC;AACrC,oDAAiD;AACjD,wDAAgC;AAChC,sDAA8B;AAW9B,uDAA2D;AAS3D,MAAqB,SAAU,SAAQ,mBAAS;IAO/C,YAAsB,OAAgC;QACrD,KAAK,EAAE,CAAC;QANC,aAAQ,GAAmC,IAAI,GAAG,EAAE,CAAC;QAmDvD,0BAAqB,GAAG,CAAC,EAAwC,EAAE,OAAyB,EAAE,EAAE;YACvG,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC;gBAAE,OAAO;YAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvE,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAE9D,EAAE,CAAC,IAAI,CAAC,uCAAuC,GAAG,OAAO,CAAC,CAAC;YAC3D,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAC,EAAwC,EAAE,EAAE;YACtE,WAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACtF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,wCAAsB,CAAC,gBAAgB,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACvI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEM,uBAAkB,GAAG,CAAC,EAAwC,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE;YACvG,WAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvE,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAE/D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAC,EAAwC,EAAE,OAAyB,EAAE,EAAE;YACjG,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,GAA+B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;gBACxF,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACb,CAAC;YACD,OAAO,KAAK,CAAC;QACd,CAAC,CAAC;QAvFD,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,YAAY,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,GAAG,EAAmB,CAAC;QACjE,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,WAAW,IAAI,gBAAM,CAAC;QACnD,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,YAAY,IAAI,iBAAO,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxF,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,IAAc,MAAM,CAAC,KAAa;QACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAEM,GAAG,CAAC,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,iBAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACzC,CAAC;IAEM,aAAa,CAAC,EAAU,EAAE,IAAY,EAAE,KAAc;QAC5D,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAuB,CAAC;QAChF,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC;IAChB,CAAC;IAEM,aAAa,CAAC,EAAU;QAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,EAAU,EAAE,IAAY,EAAE,KAAc;QACnE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACzC,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEM,KAAK;QACX,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,OAAO,EAAE,IAAI,CAAC,qBAAqB;YACnC,KAAK,EAAE,IAAI,CAAC,kBAAkB;SAC9B,CAAC;IACH,CAAC;IA+CS,YAAY,CAAC,MAAyB;QAC/C,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,EAAwC,EAAE,OAAyB;QAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QAC3C,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,MAAM,CAAC,MAAM;QACnB,OAAO,IAAI,CAAC,WAAW,EAAa,CAAC,MAAM,CAAC;IAC7C,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,OAAe,EAAE,OAAmC,EAAE,GAAG,IAAW;QAC3F,6CAA6C;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACzC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC7C,CAAC;QACD,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,OAAmC,EAAE,GAAG,IAAW;QAC7E,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACzC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,OAAe,EAAE,MAAyB;QAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACzC,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,OAAe,EAAE,MAAyB;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACzC,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,EAAU;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACzC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,EAAU;QAClC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACzC,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,WAAW;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEM,MAAM,CAAC,UAAU;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,cAAc;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACzC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,eAAe;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACzC,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,MAAyB;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACzC,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACD;AA7KD,4BA6KC"}
@@ -4,7 +4,7 @@ import Websocket from "./Websocket";
4
4
  export type WebsocketMessage = string | Buffer<ArrayBufferLike>;
5
5
  export type WebsocketChannel<T extends I_WebsocketChannel = Channel> = Map<string, T>;
6
6
  export type WebsocketClients = Map<string, I_WebsocketClient>;
7
- export type WebsocketStructuredMessage<T = any> = {
7
+ export type WebsocketStructuredMessage<T extends Record<string, any> = Record<string, any>> = {
8
8
  /**
9
9
  * Message type identifier used for client-side routing
10
10
  */
@@ -1,2 +1,4 @@
1
1
  export * from './controller';
2
+ export * from './service';
2
3
  export { default as Controller } from './controller';
4
+ export { default as Service } from './service';
@@ -19,8 +19,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  return (mod && mod.__esModule) ? mod : { "default": mod };
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.Controller = void 0;
22
+ exports.Service = exports.Controller = void 0;
23
23
  __exportStar(require("./controller"), exports);
24
+ __exportStar(require("./service"), exports);
24
25
  var controller_1 = require("./controller");
25
26
  Object.defineProperty(exports, "Controller", { enumerable: true, get: function () { return __importDefault(controller_1).default; } });
27
+ var service_1 = require("./service");
28
+ Object.defineProperty(exports, "Service", { enumerable: true, get: function () { return __importDefault(service_1).default; } });
26
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;AAEjC,+CAA6B;AAC7B,2CAAqD;AAA5C,yHAAA,OAAO,OAAc"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,iCAAiC;;;;;;;;;;;;;;;;;;;;AAEjC,+CAA6B;AAC7B,4CAA0B;AAC1B,2CAAqD;AAA5C,yHAAA,OAAO,OAAc;AAC9B,qCAA+C;AAAtC,mHAAA,OAAO,OAAW"}
@@ -0,0 +1,5 @@
1
+ import Initializable from "../initializable";
2
+ export default abstract class Service extends Initializable {
3
+ validateRequestBody<T>(request: Request, keys: (keyof T)[]): Promise<T>;
4
+ static validateRequestBody<T>(request: Request, keys: (keyof T)[]): Promise<T>;
5
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const errors_1 = require("../errors");
7
+ const initializable_1 = __importDefault(require("../initializable"));
8
+ const utils_1 = require("../utils");
9
+ class Service extends initializable_1.default {
10
+ async validateRequestBody(request, keys) {
11
+ return await Service.validateRequestBody(request, keys);
12
+ }
13
+ static async validateRequestBody(request, keys) {
14
+ try {
15
+ let body;
16
+ try {
17
+ body = await request.json();
18
+ }
19
+ catch (e) {
20
+ body = await request.text();
21
+ const cleanedBody = body
22
+ .replace(/\/\/.*$/gm, "") // Remove comments
23
+ .replace(/\n/g, "") // Remove newlines
24
+ .replace(/\s+/g, " ") // Replace multiple spaces with single space
25
+ .trim(); // Remove leading/trailing whitespace
26
+ body = JSON.parse(cleanedBody);
27
+ }
28
+ if (utils_1.Guards.IsNil(body))
29
+ throw errors_1.ERROR_CODE.REQ_BODY_EMPTY;
30
+ if (!utils_1.Guards.IsType(body, keys)) {
31
+ console.error(`Expected keys: ${keys.join(", ")}`);
32
+ throw errors_1.ERROR_CODE.INVALID_METHOD_INPUT;
33
+ }
34
+ return body;
35
+ }
36
+ catch (e) {
37
+ if (e instanceof Error || e instanceof SyntaxError)
38
+ throw "Could not parse request body: " + e;
39
+ throw e;
40
+ }
41
+ }
42
+ }
43
+ exports.default = Service;
44
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/server/service.ts"],"names":[],"mappings":";;;;;AAAA,sCAAuC;AACvC,qEAA6C;AAC7C,oCAAkC;AAElC,MAA8B,OAAQ,SAAQ,uBAAa;IAC1D,KAAK,CAAC,mBAAmB,CAAI,OAAgB,EAAE,IAAiB;QAC/D,OAAO,MAAM,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAI,OAAgB,EAAE,IAAiB;QACtE,IAAI,CAAC;YACJ,IAAI,IAAI,CAAC;YACT,IAAI,CAAC;gBACJ,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,WAAW,GAAG,IAAI;qBACtB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,kBAAkB;qBAC3C,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,kBAAkB;qBACrC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,4CAA4C;qBACjE,IAAI,EAAE,CAAC,CAAC,qCAAqC;gBAE/C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;YACD,IAAI,cAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,MAAM,mBAAU,CAAC,cAAc,CAAC;YACxD,IAAI,CAAC,cAAM,CAAC,MAAM,CAAI,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnD,MAAM,mBAAU,CAAC,oBAAoB,CAAC;YACvC,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,WAAW;gBAAE,MAAM,gCAAgC,GAAG,CAAC,CAAC;YAC/F,MAAM,CAAC,CAAC;QACT,CAAC;IACF,CAAC;CACD;AA/BD,0BA+BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "topsyde-utils",
3
- "version": "1.0.91",
3
+ "version": "1.0.93",
4
4
  "description": "A bundle of TypeScript utility classes and functions",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",