exisjs 0.7.6 → 0.7.8

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.
Files changed (211) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +12 -0
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/clean.d.ts +5 -0
  5. package/dist/cli/commands/clean.d.ts.map +1 -0
  6. package/dist/cli/commands/clean.js +30 -0
  7. package/dist/cli/commands/clean.js.map +1 -0
  8. package/dist/cli/commands/dev.d.ts.map +1 -1
  9. package/dist/cli/commands/dev.js +15 -1
  10. package/dist/cli/commands/dev.js.map +1 -1
  11. package/dist/cli/commands/generate.d.ts +6 -1
  12. package/dist/cli/commands/generate.d.ts.map +1 -1
  13. package/dist/cli/commands/generate.js +57 -2
  14. package/dist/cli/commands/generate.js.map +1 -1
  15. package/dist/cli/index.js +16 -2
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/manifest.d.ts +1 -0
  18. package/dist/cli/manifest.d.ts.map +1 -1
  19. package/dist/cli/manifest.js +161 -23
  20. package/dist/cli/manifest.js.map +1 -1
  21. package/dist/config/config.d.ts.map +1 -1
  22. package/dist/config/config.js +9 -0
  23. package/dist/config/config.js.map +1 -1
  24. package/dist/config/types.d.ts +4 -0
  25. package/dist/config/types.d.ts.map +1 -1
  26. package/dist/cron/expressions.d.ts +45 -0
  27. package/dist/cron/expressions.d.ts.map +1 -0
  28. package/dist/cron/expressions.js +87 -0
  29. package/dist/cron/expressions.js.map +1 -0
  30. package/dist/cron/index.d.ts +6 -0
  31. package/dist/cron/index.d.ts.map +1 -0
  32. package/dist/cron/index.js +22 -0
  33. package/dist/cron/index.js.map +1 -0
  34. package/dist/cron/job.d.ts +50 -0
  35. package/dist/cron/job.d.ts.map +1 -0
  36. package/dist/cron/job.js +247 -0
  37. package/dist/cron/job.js.map +1 -0
  38. package/dist/cron/manager.d.ts +105 -0
  39. package/dist/cron/manager.d.ts.map +1 -0
  40. package/dist/cron/manager.js +245 -0
  41. package/dist/cron/manager.js.map +1 -0
  42. package/dist/cron/parser.d.ts +22 -0
  43. package/dist/cron/parser.d.ts.map +1 -0
  44. package/dist/cron/parser.js +269 -0
  45. package/dist/cron/parser.js.map +1 -0
  46. package/dist/cron/types.d.ts +76 -0
  47. package/dist/cron/types.d.ts.map +1 -0
  48. package/dist/cron/types.js +3 -0
  49. package/dist/cron/types.js.map +1 -0
  50. package/dist/decorators/constants.d.ts +2 -0
  51. package/dist/decorators/constants.d.ts.map +1 -1
  52. package/dist/decorators/constants.js +3 -1
  53. package/dist/decorators/constants.js.map +1 -1
  54. package/dist/decorators/core.d.ts +29 -11
  55. package/dist/decorators/core.d.ts.map +1 -1
  56. package/dist/decorators/core.js +49 -11
  57. package/dist/decorators/core.js.map +1 -1
  58. package/dist/decorators/cron.d.ts +57 -0
  59. package/dist/decorators/cron.d.ts.map +1 -0
  60. package/dist/decorators/cron.js +143 -0
  61. package/dist/decorators/cron.js.map +1 -0
  62. package/dist/decorators/index.d.ts +2 -0
  63. package/dist/decorators/index.d.ts.map +1 -1
  64. package/dist/decorators/index.js +2 -0
  65. package/dist/decorators/index.js.map +1 -1
  66. package/dist/decorators/params.d.ts +97 -2
  67. package/dist/decorators/params.d.ts.map +1 -1
  68. package/dist/decorators/params.js +94 -2
  69. package/dist/decorators/params.js.map +1 -1
  70. package/dist/decorators/routing.d.ts +81 -16
  71. package/dist/decorators/routing.d.ts.map +1 -1
  72. package/dist/decorators/routing.js +81 -16
  73. package/dist/decorators/routing.js.map +1 -1
  74. package/dist/docs/content/cron.mdx +196 -0
  75. package/dist/docs/content/errors.mdx +58 -9
  76. package/dist/docs/content/structure.mdx +1 -1
  77. package/dist/docs/content/swagger.mdx +289 -0
  78. package/dist/docs/reference/cron.mdx +300 -0
  79. package/dist/docs/reference/decorators.mdx +8 -0
  80. package/dist/docs/reference/error.mdx +44 -0
  81. package/dist/docs/reference/swagger.mdx +226 -0
  82. package/dist/docs/reference/validator.mdx +1 -1
  83. package/dist/router/boundary.d.ts +24 -2
  84. package/dist/router/boundary.d.ts.map +1 -1
  85. package/dist/router/boundary.js +24 -2
  86. package/dist/router/boundary.js.map +1 -1
  87. package/dist/router/controller-registrar.d.ts.map +1 -1
  88. package/dist/router/controller-registrar.js +52 -3
  89. package/dist/router/controller-registrar.js.map +1 -1
  90. package/dist/router/route-builder.d.ts +196 -33
  91. package/dist/router/route-builder.d.ts.map +1 -1
  92. package/dist/router/route-builder.js +171 -11
  93. package/dist/router/route-builder.js.map +1 -1
  94. package/dist/router/route-scanner.d.ts +6 -0
  95. package/dist/router/route-scanner.d.ts.map +1 -1
  96. package/dist/router/route-scanner.js +69 -812
  97. package/dist/router/route-scanner.js.map +1 -1
  98. package/dist/router/router.d.ts.map +1 -1
  99. package/dist/router/router.js +27 -0
  100. package/dist/router/router.js.map +1 -1
  101. package/dist/router/scanner/boundary-loader.d.ts +18 -0
  102. package/dist/router/scanner/boundary-loader.d.ts.map +1 -0
  103. package/dist/router/scanner/boundary-loader.js +539 -0
  104. package/dist/router/scanner/boundary-loader.js.map +1 -0
  105. package/dist/router/scanner/cron-mounter.d.ts +15 -0
  106. package/dist/router/scanner/cron-mounter.d.ts.map +1 -0
  107. package/dist/router/scanner/cron-mounter.js +216 -0
  108. package/dist/router/scanner/cron-mounter.js.map +1 -0
  109. package/dist/router/scanner/error-mounter.d.ts +14 -0
  110. package/dist/router/scanner/error-mounter.d.ts.map +1 -0
  111. package/dist/router/scanner/error-mounter.js +200 -0
  112. package/dist/router/scanner/error-mounter.js.map +1 -0
  113. package/dist/router/scanner/fs-scanner.d.ts +25 -0
  114. package/dist/router/scanner/fs-scanner.d.ts.map +1 -0
  115. package/dist/router/scanner/fs-scanner.js +115 -0
  116. package/dist/router/scanner/fs-scanner.js.map +1 -0
  117. package/dist/router/scanner/functional-compiler.d.ts +9 -0
  118. package/dist/router/scanner/functional-compiler.d.ts.map +1 -0
  119. package/dist/router/scanner/functional-compiler.js +233 -0
  120. package/dist/router/scanner/functional-compiler.js.map +1 -0
  121. package/dist/router/scanner/index.d.ts +9 -0
  122. package/dist/router/scanner/index.d.ts.map +1 -0
  123. package/dist/router/scanner/index.js +19 -0
  124. package/dist/router/scanner/index.js.map +1 -0
  125. package/dist/router/types.d.ts +15 -0
  126. package/dist/router/types.d.ts.map +1 -1
  127. package/dist/server/app.d.ts +2 -0
  128. package/dist/server/app.d.ts.map +1 -1
  129. package/dist/server/app.js +3 -0
  130. package/dist/server/app.js.map +1 -1
  131. package/dist/server/helpers/body-parser.d.ts +18 -0
  132. package/dist/server/helpers/body-parser.d.ts.map +1 -0
  133. package/dist/server/helpers/body-parser.js +246 -0
  134. package/dist/server/helpers/body-parser.js.map +1 -0
  135. package/dist/server/helpers/cookie.d.ts +4 -0
  136. package/dist/server/helpers/cookie.d.ts.map +1 -0
  137. package/dist/server/helpers/cookie.js +61 -0
  138. package/dist/server/helpers/cookie.js.map +1 -0
  139. package/dist/server/helpers/etag.d.ts +3 -0
  140. package/dist/server/helpers/etag.d.ts.map +1 -0
  141. package/dist/server/helpers/etag.js +25 -0
  142. package/dist/server/helpers/etag.js.map +1 -0
  143. package/dist/server/helpers/index.d.ts +6 -0
  144. package/dist/server/helpers/index.d.ts.map +1 -0
  145. package/dist/server/helpers/index.js +21 -0
  146. package/dist/server/helpers/index.js.map +1 -0
  147. package/dist/server/helpers/ip.d.ts +9 -0
  148. package/dist/server/helpers/ip.d.ts.map +1 -0
  149. package/dist/server/helpers/ip.js +62 -0
  150. package/dist/server/helpers/ip.js.map +1 -0
  151. package/dist/server/helpers/stream.d.ts +4 -0
  152. package/dist/server/helpers/stream.d.ts.map +1 -0
  153. package/dist/server/helpers/stream.js +193 -0
  154. package/dist/server/helpers/stream.js.map +1 -0
  155. package/dist/server/request.d.ts +1 -139
  156. package/dist/server/request.d.ts.map +1 -1
  157. package/dist/server/request.js +19 -433
  158. package/dist/server/request.js.map +1 -1
  159. package/dist/server/response.d.ts +105 -158
  160. package/dist/server/response.d.ts.map +1 -1
  161. package/dist/server/response.js +121 -423
  162. package/dist/server/response.js.map +1 -1
  163. package/dist/swagger/decorators.d.ts +81 -0
  164. package/dist/swagger/decorators.d.ts.map +1 -0
  165. package/dist/swagger/decorators.js +172 -0
  166. package/dist/swagger/decorators.js.map +1 -0
  167. package/dist/swagger/generator.d.ts +19 -0
  168. package/dist/swagger/generator.d.ts.map +1 -0
  169. package/dist/swagger/generator.js +344 -0
  170. package/dist/swagger/generator.js.map +1 -0
  171. package/dist/swagger/index.d.ts +31 -0
  172. package/dist/swagger/index.d.ts.map +1 -0
  173. package/dist/swagger/index.js +53 -0
  174. package/dist/swagger/index.js.map +1 -0
  175. package/dist/swagger/mounter.d.ts +7 -0
  176. package/dist/swagger/mounter.d.ts.map +1 -0
  177. package/dist/swagger/mounter.js +56 -0
  178. package/dist/swagger/mounter.js.map +1 -0
  179. package/dist/swagger/types.d.ts +190 -0
  180. package/dist/swagger/types.d.ts.map +1 -0
  181. package/dist/swagger/types.js +3 -0
  182. package/dist/swagger/types.js.map +1 -0
  183. package/dist/swagger/ui.d.ts +6 -0
  184. package/dist/swagger/ui.d.ts.map +1 -0
  185. package/dist/swagger/ui.js +118 -0
  186. package/dist/swagger/ui.js.map +1 -0
  187. package/dist/validator/builder.d.ts +223 -0
  188. package/dist/validator/builder.d.ts.map +1 -0
  189. package/dist/validator/builder.js +517 -0
  190. package/dist/validator/builder.js.map +1 -0
  191. package/dist/validator/engine.d.ts +19 -0
  192. package/dist/validator/engine.d.ts.map +1 -0
  193. package/dist/validator/engine.js +568 -0
  194. package/dist/validator/engine.js.map +1 -0
  195. package/dist/validator/error.d.ts +12 -0
  196. package/dist/validator/error.d.ts.map +1 -0
  197. package/dist/validator/error.js +63 -0
  198. package/dist/validator/error.js.map +1 -0
  199. package/dist/validator/pagination.d.ts +40 -0
  200. package/dist/validator/pagination.d.ts.map +1 -0
  201. package/dist/validator/pagination.js +60 -0
  202. package/dist/validator/pagination.js.map +1 -0
  203. package/dist/validator/tex.d.ts +6 -158
  204. package/dist/validator/tex.d.ts.map +1 -1
  205. package/dist/validator/tex.js +14 -971
  206. package/dist/validator/tex.js.map +1 -1
  207. package/dist/validator/types.d.ts +83 -0
  208. package/dist/validator/types.d.ts.map +1 -0
  209. package/dist/validator/types.js +3 -0
  210. package/dist/validator/types.js.map +1 -0
  211. package/package.json +9 -1
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.streamToResponse = streamToResponse;
4
+ const index_1 = require("../../logger/index");
5
+ function streamToResponse(resRaw, readable, isWritable, headersSent, hasHeader, setHeader, setStatusCode, endFn, req) {
6
+ if (!isWritable) {
7
+ if (typeof readable.destroy === 'function') {
8
+ ;
9
+ readable.destroy();
10
+ }
11
+ else if (typeof readable.cancel === 'function') {
12
+ ;
13
+ readable.cancel().catch(() => {
14
+ /* ignore */
15
+ });
16
+ }
17
+ return;
18
+ }
19
+ if (!hasHeader('Content-Type')) {
20
+ setHeader('Content-Type', 'application/octet-stream');
21
+ }
22
+ // 1. Web Standard ReadableStream (fetch, OpenAI, Anthropic, AI SDKs)
23
+ if (typeof readable.getReader === 'function') {
24
+ const reader = readable.getReader();
25
+ let closed = false;
26
+ const cleanup = () => {
27
+ if (closed)
28
+ return;
29
+ closed = true;
30
+ try {
31
+ reader.cancel().catch(() => {
32
+ /* ignore */
33
+ });
34
+ }
35
+ catch {
36
+ // ignore
37
+ }
38
+ };
39
+ resRaw.once('close', cleanup);
40
+ if (req && req.raw) {
41
+ ;
42
+ req.raw.once('close', cleanup);
43
+ req.raw.once('aborted', cleanup);
44
+ }
45
+ ;
46
+ (async () => {
47
+ try {
48
+ while (true) {
49
+ if (closed || resRaw.destroyed) {
50
+ cleanup();
51
+ break;
52
+ }
53
+ const { done, value } = await reader.read();
54
+ if (done) {
55
+ resRaw.removeListener('close', cleanup);
56
+ if (!resRaw.writableEnded && !resRaw.destroyed) {
57
+ endFn();
58
+ }
59
+ break;
60
+ }
61
+ if (value !== undefined && value !== null) {
62
+ const ok = resRaw.write(value);
63
+ if (!ok && !resRaw.destroyed && !resRaw.writableEnded) {
64
+ await new Promise((resolve) => resRaw.once('drain', resolve));
65
+ }
66
+ }
67
+ }
68
+ }
69
+ catch (err) {
70
+ cleanup();
71
+ if (req && req.log) {
72
+ req.log.error({ err }, '[ExisJS] Error in Web ReadableStream');
73
+ }
74
+ else {
75
+ index_1.logger.error({ err }, '[ExisJS] Error in Web ReadableStream');
76
+ }
77
+ if (isWritable && !headersSent) {
78
+ setStatusCode(500);
79
+ endFn('{"error":"Stream transmission failed"}');
80
+ }
81
+ else if (!resRaw.destroyed) {
82
+ resRaw.destroy(err);
83
+ }
84
+ }
85
+ })();
86
+ return;
87
+ }
88
+ // 2. AsyncIterable / Generator stream
89
+ if (typeof readable[Symbol.asyncIterator] === 'function' &&
90
+ typeof readable.pipe !== 'function') {
91
+ let closed = false;
92
+ const cleanup = () => {
93
+ closed = true;
94
+ if (typeof readable.return === 'function') {
95
+ ;
96
+ readable.return().catch(() => {
97
+ /* ignore */
98
+ });
99
+ }
100
+ };
101
+ resRaw.once('close', cleanup);
102
+ if (req && req.raw) {
103
+ ;
104
+ req.raw.once('close', cleanup);
105
+ }
106
+ ;
107
+ (async () => {
108
+ try {
109
+ for await (const chunk of readable) {
110
+ if (closed || resRaw.destroyed)
111
+ break;
112
+ if (chunk !== undefined && chunk !== null) {
113
+ const payload = typeof chunk === 'string' || Buffer.isBuffer(chunk)
114
+ ? chunk
115
+ : JSON.stringify(chunk);
116
+ const ok = resRaw.write(payload);
117
+ if (!ok && !resRaw.destroyed && !resRaw.writableEnded) {
118
+ await new Promise((resolve) => resRaw.once('drain', resolve));
119
+ }
120
+ }
121
+ }
122
+ resRaw.removeListener('close', cleanup);
123
+ if (!resRaw.writableEnded && !resRaw.destroyed) {
124
+ endFn();
125
+ }
126
+ }
127
+ catch (err) {
128
+ cleanup();
129
+ if (req && req.log) {
130
+ req.log.error({ err }, '[ExisJS] Error in AsyncIterable stream');
131
+ }
132
+ else {
133
+ index_1.logger.error({ err }, '[ExisJS] Error in AsyncIterable stream');
134
+ }
135
+ if (isWritable && !headersSent) {
136
+ setStatusCode(500);
137
+ endFn('{"error":"Stream transmission failed"}');
138
+ }
139
+ else if (!resRaw.destroyed) {
140
+ resRaw.destroy(err);
141
+ }
142
+ }
143
+ })();
144
+ return;
145
+ }
146
+ // 3. Standard Node.js Readable Stream
147
+ const cleanup = () => {
148
+ if (typeof readable.destroy === 'function' &&
149
+ !readable.destroyed) {
150
+ ;
151
+ readable.destroy();
152
+ }
153
+ };
154
+ // Auto-destroy stream if client aborts or response closes early
155
+ resRaw.once('close', cleanup);
156
+ if (req && req.raw) {
157
+ ;
158
+ req.raw.once('close', cleanup);
159
+ req.raw.once('aborted', cleanup);
160
+ }
161
+ // Handle stream error to prevent process crash
162
+ if (typeof readable.on === 'function') {
163
+ ;
164
+ readable.once('error', (err) => {
165
+ resRaw.removeListener('close', cleanup);
166
+ if (req && req.log) {
167
+ req.log.error({ err }, '[ExisJS] Error in sendStream');
168
+ }
169
+ else {
170
+ index_1.logger.error({ err }, '[ExisJS] Error in sendStream');
171
+ }
172
+ if (isWritable && !headersSent) {
173
+ setStatusCode(500);
174
+ endFn('{"error":"Stream transmission failed"}');
175
+ }
176
+ else {
177
+ cleanup();
178
+ if (!resRaw.destroyed) {
179
+ resRaw.destroy(err);
180
+ }
181
+ }
182
+ });
183
+ }
184
+ if (typeof readable.once === 'function') {
185
+ ;
186
+ readable.once('end', () => {
187
+ resRaw.removeListener('close', cleanup);
188
+ });
189
+ }
190
+ ;
191
+ readable.pipe(resRaw);
192
+ }
193
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/server/helpers/stream.ts"],"names":[],"mappings":"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"}
@@ -30,12 +30,12 @@ export declare class ExisRequest<TBody = unknown, TQuery = Record<string, string
30
30
  private _ip?;
31
31
  private _protocol?;
32
32
  private _hostname?;
33
+ private _method?;
33
34
  private _onClose;
34
35
  private _attachSignal;
35
36
  cleanup(): void;
36
37
  constructor(raw: IncomingMessage, res: ExisResponse, trustProxy?: boolean | number, bodyLimit?: number);
37
38
  init(raw: IncomingMessage, res: ExisResponse, trustProxy?: boolean | number, bodyLimit?: number): this;
38
- private _method?;
39
39
  get method(): string;
40
40
  set method(val: string);
41
41
  get headers(): import('node:http').IncomingHttpHeaders;
@@ -45,156 +45,18 @@ export declare class ExisRequest<TBody = unknown, TQuery = Record<string, string
45
45
  set query(val: Record<string, string>);
46
46
  get cookies(): Record<string, string>;
47
47
  set cookies(val: Record<string, string>);
48
- /**
49
- * When "trust proxy" is set, trusted proxy addresses + client.
50
- *
51
- * For example if the value were "client, proxy1, proxy2"
52
- * you would receive the array `["client", "proxy1", "proxy2"]`
53
- * where "proxy2" is the furthest down-stream and "proxy1" and
54
- * "proxy2" were trusted.
55
- *
56
- * @return {string[]}
57
- * @public
58
- */
59
48
  get ips(): string[];
60
- /**
61
- * Return the remote address from the trusted proxy.
62
- *
63
- * The is the remote address on the socket unless
64
- * "trust proxy" is set.
65
- *
66
- * @return {string}
67
- * @public
68
- */
69
49
  get ip(): string;
70
- private _normalizeIp;
71
- private _resolveIps;
72
50
  get protocol(): string;
73
51
  get secure(): boolean;
74
- /**
75
- * Parse the "Host" header field to a hostname.
76
- *
77
- * When the "trust proxy" setting trusts the socket
78
- * address, the "X-Forwarded-Host" header field will
79
- * be trusted.
80
- *
81
- * @return {string}
82
- * @public
83
- */
84
52
  get hostname(): string;
85
- /**
86
- * The original URL requested by the client.
87
- *
88
- * @return {string}
89
- * @public
90
- */
91
53
  get originalUrl(): string;
92
- /**
93
- * Return request header.
94
- *
95
- * The `Referrer` header field is special-cased,
96
- * both `Referrer` and `Referer` are interchangeable.
97
- *
98
- * Examples:
99
- *
100
- * req.get('Content-Type');
101
- * // => "text/plain"
102
- *
103
- * req.get('content-type');
104
- * // => "text/plain"
105
- *
106
- * req.get('Something');
107
- * // => undefined
108
- *
109
- * Aliased as `req.header()`.
110
- *
111
- * @param {string} header
112
- * @return {string | undefined}
113
- * @public
114
- */
115
54
  get(header: string): string | undefined;
116
- /**
117
- * Return request header.
118
- *
119
- * Alias for `req.get()`.
120
- *
121
- * @param {string} name
122
- * @return {string | undefined}
123
- * @public
124
- */
125
55
  header(name: string): string | undefined;
126
- /**
127
- * Check if the incoming request contains the "Content-Type"
128
- * header field, and it contains the given mime `type`.
129
- *
130
- * Examples:
131
- *
132
- * // With Content-Type: text/html; charset=utf-8
133
- * req.is('html');
134
- * req.is('text/html');
135
- * req.is('text/*');
136
- * // => true
137
- *
138
- * // When Content-Type is application/json
139
- * req.is('json');
140
- * req.is('application/json');
141
- * req.is('application/*');
142
- * // => true
143
- *
144
- * req.is('html');
145
- * // => false
146
- *
147
- * @param {string} contentType
148
- * @return {boolean}
149
- * @public
150
- */
151
56
  is(contentType: string): boolean;
152
- /**
153
- * Check if the given `type(s)` is acceptable, returning
154
- * the best match when true, otherwise `false`, in which
155
- * case you should respond with 406 "Not Acceptable".
156
- *
157
- * Examples:
158
- *
159
- * // Accept: text/html
160
- * req.accepts('html');
161
- * // => "html"
162
- *
163
- * // Accept: text/*, application/json
164
- * req.accepts('html');
165
- * // => "html"
166
- *
167
- * @param {string[]} types
168
- * @return {string | string[] | false}
169
- * @public
170
- */
171
57
  accepts(...types: string[]): string | string[] | false;
172
- /**
173
- * Check if the given `lang`s are acceptable,
174
- * otherwise you should respond with 406 "Not Acceptable".
175
- *
176
- * @param {string[]} languages
177
- * @return {string | string[] | false}
178
- * @public
179
- */
180
58
  acceptsLanguages(...languages: string[]): string | string[] | false;
181
- /**
182
- * Check if the request is fresh, aka
183
- * Last-Modified or the ETag
184
- * still match.
185
- *
186
- * @return {boolean}
187
- * @public
188
- */
189
59
  get fresh(): boolean;
190
- /**
191
- * Check if the request is stale, aka
192
- * "Last-Modified" and / or the "ETag" for the
193
- * resource has changed.
194
- *
195
- * @return {boolean}
196
- * @public
197
- */
198
60
  get stale(): boolean;
199
61
  text(): Promise<string>;
200
62
  json<T = unknown>(): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/server/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/server/request.ts"],"names":[],"mappings":"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"}