remult 0.27.21 → 0.27.22-next.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.
@@ -71,16 +71,7 @@ export function remultSveltekit(options) {
71
71
  });
72
72
  };
73
73
  const handler = async ({ event, resolve }) => {
74
- if (event.url.pathname.startsWith(options.rootPath)) {
75
- const result = await serverHandler(event);
76
- if (result != null && result?.status != 404)
77
- return result;
78
- }
79
- return new Promise((res) => {
80
- result.withRemult(event, undefined, async () => {
81
- res(await resolve(event));
82
- });
83
- });
74
+ return result.withRemultAsync(event, async () => await resolve(event));
84
75
  };
85
76
  return Object.assign(handler, {
86
77
  getRemult: (req) => result.getRemult(req),
@@ -88,6 +79,7 @@ export function remultSveltekit(options) {
88
79
  withRemult(request, what) {
89
80
  return result.withRemultAsync(request, what);
90
81
  },
82
+ hookHandler: handler,
91
83
  GET: serverHandler,
92
84
  PUT: serverHandler,
93
85
  POST: serverHandler,
@@ -154,7 +154,7 @@ export class RemultServerImplementation {
154
154
  withRemult = async (req, res, next) => {
155
155
  await this.process(async () => {
156
156
  await next();
157
- })(req, res);
157
+ }, true)(req, res);
158
158
  };
159
159
  routeImpl;
160
160
  getRouteImpl() {
@@ -293,7 +293,7 @@ export class RemultServerImplementation {
293
293
  dataProvider: dataProvider,
294
294
  });
295
295
  }
296
- process(what) {
296
+ process(what, doNotReuseInitRequest) {
297
297
  return async (req, origRes) => {
298
298
  const genReq = req ? this.coreOptions.buildGenericRequestInfo(req) : {};
299
299
  if (req) {
@@ -306,7 +306,8 @@ export class RemultServerImplementation {
306
306
  let myReq = new RequestBridgeToDataApiRequest(genReq);
307
307
  let myRes = new ResponseBridgeToDataApiResponse(origRes, req, genReq, this.options.error);
308
308
  try {
309
- if (remultStatic.asyncContext.isInInitRequest())
309
+ if (remultStatic.asyncContext.isInInitRequest() &&
310
+ !doNotReuseInitRequest)
310
311
  return await what(remultStatic.asyncContext.getStore().remult, myReq, myRes, genReq, origRes, req);
311
312
  else
312
313
  await this.runWithRemult(async (remult) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "remult",
3
- "version": "0.27.21",
3
+ "version": "0.27.22-next.0",
4
4
  "description": "A CRUD framework for full-stack TypeScript",
5
5
  "homepage": "https://remult.dev",
6
6
  "repository": {
@@ -95,35 +95,15 @@ function remultSveltekit(options) {
95
95
  });
96
96
  }); };
97
97
  var handler = function (_a) { return tslib_1.__awaiter(_this, [_a], void 0, function (_b) {
98
- var result_1;
99
98
  var _this = this;
100
99
  var event = _b.event, resolve = _b.resolve;
101
100
  return tslib_1.__generator(this, function (_c) {
102
- switch (_c.label) {
103
- case 0:
104
- if (!event.url.pathname.startsWith(options.rootPath)) return [3 /*break*/, 2];
105
- return [4 /*yield*/, serverHandler(event)];
106
- case 1:
107
- result_1 = _c.sent();
108
- if (result_1 != null && (result_1 === null || result_1 === void 0 ? void 0 : result_1.status) != 404)
109
- return [2 /*return*/, result_1];
110
- _c.label = 2;
111
- case 2: return [2 /*return*/, new Promise(function (res) {
112
- result.withRemult(event, undefined, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
113
- var _a;
114
- return tslib_1.__generator(this, function (_b) {
115
- switch (_b.label) {
116
- case 0:
117
- _a = res;
118
- return [4 /*yield*/, resolve(event)];
119
- case 1:
120
- _a.apply(void 0, [_b.sent()]);
121
- return [2 /*return*/];
122
- }
123
- });
124
- }); });
125
- })];
126
- }
101
+ return [2 /*return*/, result.withRemultAsync(event, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
102
+ switch (_a.label) {
103
+ case 0: return [4 /*yield*/, resolve(event)];
104
+ case 1: return [2 /*return*/, _a.sent()];
105
+ }
106
+ }); }); })];
127
107
  });
128
108
  }); };
129
109
  return Object.assign(handler, {
@@ -132,6 +112,7 @@ function remultSveltekit(options) {
132
112
  withRemult: function (request, what) {
133
113
  return result.withRemultAsync(request, what);
134
114
  },
115
+ hookHandler: handler,
135
116
  GET: serverHandler,
136
117
  PUT: serverHandler,
137
118
  POST: serverHandler,
@@ -155,7 +155,7 @@ var RemultServerImplementation = /** @class */ (function () {
155
155
  return [2 /*return*/];
156
156
  }
157
157
  });
158
- }); })(req, res)];
158
+ }); }, true)(req, res)];
159
159
  case 1:
160
160
  _a.sent();
161
161
  return [2 /*return*/];
@@ -574,7 +574,7 @@ var RemultServerImplementation = /** @class */ (function () {
574
574
  });
575
575
  });
576
576
  };
577
- RemultServerImplementation.prototype.process = function (what) {
577
+ RemultServerImplementation.prototype.process = function (what, doNotReuseInitRequest) {
578
578
  var _this = this;
579
579
  return function (req, origRes) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
580
580
  var genReq, myReq, myRes, err_2;
@@ -595,7 +595,8 @@ var RemultServerImplementation = /** @class */ (function () {
595
595
  _a.label = 1;
596
596
  case 1:
597
597
  _a.trys.push([1, 6, , 7]);
598
- if (!remult_static_js_1.remultStatic.asyncContext.isInInitRequest()) return [3 /*break*/, 3];
598
+ if (!(remult_static_js_1.remultStatic.asyncContext.isInInitRequest() &&
599
+ !doNotReuseInitRequest)) return [3 /*break*/, 3];
599
600
  return [4 /*yield*/, what(remult_static_js_1.remultStatic.asyncContext.getStore().remult, myReq, myRes, genReq, origRes, req)];
600
601
  case 2: return [2 /*return*/, _a.sent()];
601
602
  case 3: return [4 /*yield*/, this.runWithRemult(function (remult) { return tslib_1.__awaiter(_this, void 0, void 0, function () {