remult 0.23.0-exp.21 → 0.23.0-exp.22

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.
@@ -1,4 +1,6 @@
1
1
  import type { Handle, RequestEvent } from '@sveltejs/kit';
2
2
  import type { RemultServerCore, RemultServerOptions } from './server';
3
3
  export declare function remultSveltekit(options?: RemultServerOptions<RequestEvent>): RemultSveltekitServer;
4
- export type RemultSveltekitServer = RemultServerCore<RequestEvent> & Handle;
4
+ export type RemultSveltekitServer = RemultServerCore<RequestEvent> & Handle & {
5
+ withRemult<T>(request: RequestEvent, what: () => Promise<T>): Promise<T>;
6
+ };
@@ -67,5 +67,8 @@ export function remultSveltekit(options) {
67
67
  return Object.assign(handler, {
68
68
  getRemult: (req) => result.getRemult(req),
69
69
  openApiDoc: (options) => result.openApiDoc(options),
70
+ withRemult(request, what) {
71
+ return result.withRemultPromise(request, what);
72
+ },
70
73
  });
71
74
  }
@@ -112,6 +112,14 @@ export declare class EntityQueueStorage implements QueueStorage {
112
112
  getJobInfo(queuedJobId: string): Promise<queuedJobInfo>;
113
113
  createJob(url: string, userId: string): Promise<string>;
114
114
  }
115
+ export declare class RouteImplementation<RequestType> {
116
+ private coreOptions;
117
+ constructor(coreOptions: ServerCoreOptions<RequestType>);
118
+ map: Map<string, Map<string, GenericRequestHandler>>;
119
+ route(path: string): SpecificRoute;
120
+ handle(req: RequestType, gRes?: GenericResponse): Promise<ServerHandleResponse | undefined>;
121
+ middleware(origReq: RequestType, res: GenericResponse, next: VoidFunction): void;
122
+ }
115
123
  export declare class JobsInQueueEntity extends IdEntity {
116
124
  userId: string;
117
125
  url: string;
@@ -811,7 +811,7 @@ export class EntityQueueStorage {
811
811
  return q.id;
812
812
  }
813
813
  }
814
- class RouteImplementation {
814
+ export class RouteImplementation {
815
815
  coreOptions;
816
816
  constructor(coreOptions) {
817
817
  this.coreOptions = coreOptions;
@@ -845,7 +845,7 @@ class RouteImplementation {
845
845
  return route;
846
846
  }
847
847
  async handle(req, gRes) {
848
- return new Promise((res) => {
848
+ return new Promise((res, rej) => {
849
849
  const response = new (class {
850
850
  write(data) {
851
851
  ;
@@ -881,7 +881,12 @@ class RouteImplementation {
881
881
  });
882
882
  }
883
883
  })();
884
- this.middleware(req, response, () => res(undefined));
884
+ try {
885
+ this.middleware(req, response, () => res(undefined));
886
+ }
887
+ catch (err) {
888
+ rej(err);
889
+ }
885
890
  });
886
891
  }
887
892
  middleware(origReq, res, next) {
@@ -929,7 +934,7 @@ class RouteImplementation {
929
934
  req.params = {};
930
935
  origReq['_tempParams'] = req.params;
931
936
  }
932
- req.params.id = path.substring(idPosition + 1);
937
+ req.params.id = path.substring(idPosition + 1).replace(/%2C/g, ',');
933
938
  h(origReq, res, next);
934
939
  return;
935
940
  }
@@ -987,3 +992,4 @@ JobsInQueueEntity = __decorate([
987
992
  ], JobsInQueueEntity);
988
993
  export { JobsInQueueEntity };
989
994
  allEntities.splice(allEntities.indexOf(JobsInQueueEntity), 1);
995
+ //p1 - https://codesandbox.io/p/sandbox/fervent-yalow-66m78n?file=%2Fsrc%2Findex.ts%3A35%2C93
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "remult",
3
- "version": "0.23.0-exp.21",
3
+ "version": "0.23.0-exp.22",
4
4
  "description": "A CRUD framework for full-stack TypeScript",
5
5
  "types": "index.d.ts",
6
6
  "module": "esm/index.js",
@@ -1,4 +1,6 @@
1
1
  import type { Handle, RequestEvent } from '@sveltejs/kit';
2
2
  import type { RemultServerCore, RemultServerOptions } from './server';
3
3
  export declare function remultSveltekit(options?: RemultServerOptions<RequestEvent>): RemultSveltekitServer;
4
- export type RemultSveltekitServer = RemultServerCore<RequestEvent> & Handle;
4
+ export type RemultSveltekitServer = RemultServerCore<RequestEvent> & Handle & {
5
+ withRemult<T>(request: RequestEvent, what: () => Promise<T>): Promise<T>;
6
+ };
@@ -105,6 +105,9 @@ function remultSveltekit(options) {
105
105
  return Object.assign(handler, {
106
106
  getRemult: function (req) { return result.getRemult(req); },
107
107
  openApiDoc: function (options) { return result.openApiDoc(options); },
108
+ withRemult: function (request, what) {
109
+ return result.withRemultPromise(request, what);
110
+ },
108
111
  });
109
112
  }
110
113
  exports.remultSveltekit = remultSveltekit;
@@ -112,6 +112,14 @@ export declare class EntityQueueStorage implements QueueStorage {
112
112
  getJobInfo(queuedJobId: string): Promise<queuedJobInfo>;
113
113
  createJob(url: string, userId: string): Promise<string>;
114
114
  }
115
+ export declare class RouteImplementation<RequestType> {
116
+ private coreOptions;
117
+ constructor(coreOptions: ServerCoreOptions<RequestType>);
118
+ map: Map<string, Map<string, GenericRequestHandler>>;
119
+ route(path: string): SpecificRoute;
120
+ handle(req: RequestType, gRes?: GenericResponse): Promise<ServerHandleResponse | undefined>;
121
+ middleware(origReq: RequestType, res: GenericResponse, next: VoidFunction): void;
122
+ }
115
123
  export declare class JobsInQueueEntity extends IdEntity {
116
124
  userId: string;
117
125
  url: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JobsInQueueEntity = exports.EntityQueueStorage = exports.RemultServerImplementation = exports.createRemultServerCore = void 0;
3
+ exports.JobsInQueueEntity = exports.RouteImplementation = exports.EntityQueueStorage = exports.RemultServerImplementation = exports.createRemultServerCore = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var SseSubscriptionServer_1 = require("../SseSubscriptionServer");
6
6
  var context_1 = require("../src/context");
@@ -1255,7 +1255,7 @@ var RouteImplementation = /** @class */ (function () {
1255
1255
  return tslib_1.__awaiter(this, void 0, void 0, function () {
1256
1256
  var _this = this;
1257
1257
  return tslib_1.__generator(this, function (_a) {
1258
- return [2 /*return*/, new Promise(function (res) {
1258
+ return [2 /*return*/, new Promise(function (res, rej) {
1259
1259
  var response = new (/** @class */ (function () {
1260
1260
  function class_1() {
1261
1261
  this.statusCode = 200;
@@ -1294,7 +1294,12 @@ var RouteImplementation = /** @class */ (function () {
1294
1294
  };
1295
1295
  return class_1;
1296
1296
  }()))();
1297
- _this.middleware(req, response, function () { return res(undefined); });
1297
+ try {
1298
+ _this.middleware(req, response, function () { return res(undefined); });
1299
+ }
1300
+ catch (err) {
1301
+ rej(err);
1302
+ }
1298
1303
  })];
1299
1304
  });
1300
1305
  });
@@ -1344,7 +1349,7 @@ var RouteImplementation = /** @class */ (function () {
1344
1349
  req.params = {};
1345
1350
  origReq['_tempParams'] = req.params;
1346
1351
  }
1347
- req.params.id = path.substring(idPosition + 1);
1352
+ req.params.id = path.substring(idPosition + 1).replace(/%2C/g, ',');
1348
1353
  h(origReq, res, next);
1349
1354
  return;
1350
1355
  }
@@ -1354,6 +1359,7 @@ var RouteImplementation = /** @class */ (function () {
1354
1359
  };
1355
1360
  return RouteImplementation;
1356
1361
  }());
1362
+ exports.RouteImplementation = RouteImplementation;
1357
1363
  var JobsInQueueEntity = /** @class */ (function (_super) {
1358
1364
  tslib_1.__extends(JobsInQueueEntity, _super);
1359
1365
  function JobsInQueueEntity() {
@@ -1400,3 +1406,4 @@ var JobsInQueueEntity = /** @class */ (function (_super) {
1400
1406
  }(IdEntity_1.IdEntity));
1401
1407
  exports.JobsInQueueEntity = JobsInQueueEntity;
1402
1408
  context_1.allEntities.splice(context_1.allEntities.indexOf(JobsInQueueEntity), 1);
1409
+ //p1 - https://codesandbox.io/p/sandbox/fervent-yalow-66m78n?file=%2Fsrc%2Findex.ts%3A35%2C93