@entity-access/server-pages 1.0.43 → 1.1.3

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 (60) hide show
  1. package/dist/Page.d.ts +6 -13
  2. package/dist/Page.d.ts.map +1 -1
  3. package/dist/Page.js +10 -44
  4. package/dist/Page.js.map +1 -1
  5. package/dist/ServerPages.d.ts.map +1 -1
  6. package/dist/ServerPages.js +14 -2
  7. package/dist/ServerPages.js.map +1 -1
  8. package/dist/core/CacheProperty.d.ts +5 -0
  9. package/dist/core/CacheProperty.d.ts.map +1 -0
  10. package/dist/core/CacheProperty.js +19 -0
  11. package/dist/core/CacheProperty.js.map +1 -0
  12. package/dist/core/Executor.d.ts +5 -0
  13. package/dist/core/Executor.d.ts.map +1 -0
  14. package/dist/core/Executor.js +13 -0
  15. package/dist/core/Executor.js.map +1 -0
  16. package/dist/core/RouteTree.d.ts.map +1 -1
  17. package/dist/core/RouteTree.js +15 -6
  18. package/dist/core/RouteTree.js.map +1 -1
  19. package/dist/core/SessionUser.d.ts +7 -5
  20. package/dist/core/SessionUser.d.ts.map +1 -1
  21. package/dist/core/SessionUser.js +36 -0
  22. package/dist/core/SessionUser.js.map +1 -1
  23. package/dist/core/Wrapped.d.ts +14 -16
  24. package/dist/core/Wrapped.d.ts.map +1 -1
  25. package/dist/core/Wrapped.js +157 -234
  26. package/dist/core/Wrapped.js.map +1 -1
  27. package/dist/decorators/Prepare.d.ts +14 -0
  28. package/dist/decorators/Prepare.d.ts.map +1 -0
  29. package/dist/decorators/Prepare.js +111 -0
  30. package/dist/decorators/Prepare.js.map +1 -0
  31. package/dist/routes/api/entity/index.d.ts.map +1 -1
  32. package/dist/routes/api/entity/index.js +9 -3
  33. package/dist/routes/api/entity/index.js.map +1 -1
  34. package/dist/routes/api/entity/model/get.d.ts.map +1 -1
  35. package/dist/routes/api/entity/model/get.js.map +1 -1
  36. package/dist/routes/api/entity/query/get.d.ts.map +1 -1
  37. package/dist/routes/api/entity/query/get.js +9 -3
  38. package/dist/routes/api/entity/query/get.js.map +1 -1
  39. package/dist/services/CookieService.d.ts.map +1 -1
  40. package/dist/services/CookieService.js +8 -0
  41. package/dist/services/CookieService.js.map +1 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +1 -1
  44. package/src/Page.tsx +11 -53
  45. package/src/ServerPages.ts +14 -2
  46. package/src/core/CacheProperty.ts +18 -0
  47. package/src/core/Executor.ts +16 -0
  48. package/src/core/RouteTree.ts +7 -2
  49. package/src/core/SessionUser.ts +21 -5
  50. package/src/core/Wrapped.ts +215 -269
  51. package/src/decorators/Prepare.ts +132 -0
  52. package/src/routes/api/entity/index.tsx +4 -1
  53. package/src/routes/api/entity/model/get.tsx +1 -1
  54. package/src/routes/api/entity/query/get.ts +4 -1
  55. package/src/services/CookieService.ts +9 -1
  56. package/dist/decorators/Authorize.d.ts +0 -2
  57. package/dist/decorators/Authorize.d.ts.map +0 -1
  58. package/dist/decorators/Authorize.js +0 -3
  59. package/dist/decorators/Authorize.js.map +0 -1
  60. package/src/decorators/Authorize.ts +0 -3
@@ -1,265 +1,188 @@
1
- import busboy from "busboy";
2
- import SessionUser from "./SessionUser.js";
3
1
  import { parse, serialize } from "cookie";
4
- import TempFolder from "./TempFolder.js";
5
2
  import { LocalFile } from "./LocalFile.js";
6
- import { Writable } from "stream";
7
- import CookieService from "../services/CookieService.js";
8
3
  import { stat } from "fs/promises";
9
- import TokenService from "../services/TokenService.js";
10
- const requestMethods = {
11
- remoteIPAddress() {
12
- return this.socket?.remoteAddress;
13
- },
14
- accepts() {
15
- const accepts = (this.headers.accept ?? "").split(";");
16
- return (...types) => {
17
- if (types.length > 0) {
18
- for (const type of types) {
19
- for (const iterator of accepts) {
20
- if (iterator.includes(type)) {
21
- return true;
4
+ import { CacheProperty } from "./CacheProperty.js";
5
+ const extendedSymbol = Symbol("extended");
6
+ const extendRequest = (A) => {
7
+ let c = A[extendedSymbol];
8
+ if (!c) {
9
+ c = class IntermediateRequest extends A {
10
+ get host() {
11
+ const r = this;
12
+ const host = r.authority || r.headers[":authority"] || r.headers.host || null;
13
+ return CacheProperty.value(this, "host", host);
14
+ }
15
+ get path() {
16
+ return this.URL.pathname;
17
+ }
18
+ get cookies() {
19
+ const cookie = this.headers.cookie;
20
+ const cookies = parse(cookie);
21
+ return CacheProperty.value(this, "cookies", cookies);
22
+ }
23
+ get URL() {
24
+ const r = this;
25
+ const url = new URL(r.url, `https:${this.host}`);
26
+ return CacheProperty.value(this, "URL", url);
27
+ }
28
+ get remoteIPAddress() {
29
+ const r = this;
30
+ return CacheProperty.value(this, "remoteIPAddress", r.socket.remoteAddress);
31
+ }
32
+ accepts(...types) {
33
+ const h = this;
34
+ const accepts = (h.headers.accept ?? "").split(";");
35
+ const value = (...types) => {
36
+ if (types.length > 0) {
37
+ for (const type of types) {
38
+ for (const iterator of accepts) {
39
+ if (iterator.includes(type)) {
40
+ return true;
41
+ }
42
+ }
22
43
  }
44
+ return false;
23
45
  }
24
- }
25
- return false;
46
+ return accepts;
47
+ };
48
+ Object.defineProperty(this, "accepts", {
49
+ value,
50
+ enumerable: true,
51
+ configurable: true
52
+ });
53
+ return value(...types);
54
+ }
55
+ get query() {
56
+ throw new Error("Please decorate `Ensure.parseQuery` callee or call `await Ensure.parseQuery(this)` before accessing this member");
57
+ }
58
+ get body() {
59
+ throw new Error("Please decorate `Ensure.parseBody` callee or call `await Ensure.parseBody(this)` before accessing this member");
60
+ }
61
+ get form() {
62
+ throw new Error("Please decorate `Ensure.parseForm` callee or call `await Ensure.parseForm(this)` before accessing this member");
63
+ }
64
+ get params() {
65
+ throw new Error("Please decorate `Ensure.parseAll` callee or call `await Ensure.parseAll(this)` before accessing this member");
66
+ }
67
+ get sessionUser() {
68
+ throw new Error("Please decorate `Ensure.authorize` callee or call `await Ensure.authorize(this)` before accessing this member");
26
69
  }
27
- return accepts;
28
- };
29
- },
30
- URL() {
31
- const w = this;
32
- return new URL(this.url, `http://${w.host}`);
33
- },
34
- path() {
35
- return this.URL.pathname;
36
- },
37
- host() {
38
- return this.headers[":authority"] ?? this.headers["host"];
39
- },
40
- query() {
41
- const u = this.URL;
42
- const items = {};
43
- for (const [key, value] of u.searchParams.entries()) {
44
- items[key] = value;
45
- }
46
- return items;
47
- },
48
- cookies() {
49
- const cookie = this.headers.cookie;
50
- const cookies = parse(cookie);
51
- return cookies;
52
- },
53
- async asyncParams() {
54
- return {
55
- ...this.query,
56
- ...this.asyncJsonBody,
57
- ...this.asyncForm
58
- };
59
- },
60
- async asyncJsonBody() {
61
- const req = this;
62
- let buffer = null;
63
- let encoding = this.headers["content-encoding"] ?? "utf-8";
64
- const contentType = this.headers["content-type"];
65
- if (!/\/json/i.test(contentType)) {
66
- return {};
67
- }
68
- await new Promise((resolve, reject) => {
69
- req.pipe(new Writable({
70
- write(chunk, enc, callback) {
71
- encoding ||= enc;
72
- let b = typeof chunk === "string"
73
- ? Buffer.from(chunk)
74
- : chunk;
75
- buffer = buffer
76
- ? Buffer.concat([buffer, b])
77
- : b;
78
- callback();
79
- },
80
- final(callback) {
81
- resolve();
82
- callback();
83
- },
84
- }), { end: true });
85
- });
86
- const text = buffer.toString(encoding);
87
- return JSON.parse(text);
88
- },
89
- async asyncSessionUser() {
90
- try {
91
- const cookieService = this.scope.resolve(CookieService);
92
- const tokenService = this.scope.resolve(TokenService);
93
- const cookie = this.cookies[tokenService.authCookieName];
94
- const sessionUser = await cookieService.createSessionUserFromCookie(cookie, this.remoteIPAddress);
95
- sessionUser.resp = this.response;
96
- return sessionUser;
97
- }
98
- catch (error) {
99
- console.error(error);
100
- const su = this.scope.resolve(SessionUser);
101
- su.resp = this.response;
102
- return su;
103
- }
104
- },
105
- async asyncForm() {
106
- let tempFolder;
107
- const result = {
108
- fields: {},
109
- files: []
110
70
  };
111
- const req = this;
112
- const bb = busboy({ headers: req.headers, defParamCharset: "utf8" });
113
- const tasks = [];
114
- await new Promise((resolve, reject) => {
115
- bb.on("field", (name, value) => {
116
- result.fields[name] = value;
117
- });
118
- bb.on("file", (name, file, info) => {
119
- if (!tempFolder) {
120
- tempFolder = new TempFolder();
121
- this.disposables.push(tempFolder);
122
- }
123
- const tf = tempFolder.get(info.filename, info.mimeType);
124
- tasks.push(tf.writeAll(file).then(() => {
125
- result.files.push(tf);
126
- }));
127
- });
128
- bb.on("error", reject);
129
- bb.on("close", resolve);
130
- req.pipe(bb);
131
- });
132
- await Promise.all(tasks);
133
- return result;
71
+ A[extendedSymbol] = c;
134
72
  }
73
+ return c;
135
74
  };
136
- const responseMethods = {
137
- asyncEnd() {
138
- return () => new Promise((resolve) => this.end(resolve));
139
- },
140
- asyncWrite() {
141
- return (buffer, start, length) => {
142
- return new Promise((resolve) => this.write(buffer, resolve));
143
- };
144
- },
145
- cookie() {
146
- return (name, value, options = {}) => {
147
- const cv = this.getHeaders()["set-cookie"];
148
- const cookies = Array.isArray(cv) ? cv : [cv];
149
- const nk = cookies.filter((x) => !x.startsWith(name + "="));
150
- nk.push(serialize(name, value, options));
151
- this.setHeader("set-cookie", nk);
152
- };
153
- },
154
- send() {
155
- return async (data, status = 200) => {
156
- try {
157
- this.statusCode = status;
158
- this.writeHead(this.statusCode, this.getHeaders());
159
- await new Promise((resolve, reject) => {
160
- this.write(data, (error) => error ? reject(error) : resolve());
161
- });
162
- return this.asyncEnd();
75
+ const extendResponse = (A) => {
76
+ let c = A[extendedSymbol];
77
+ if (!c) {
78
+ c = class WrappedResponse extends A {
79
+ asyncEnd() {
80
+ return new Promise((resolve) => this.end(resolve));
163
81
  }
164
- catch (error) {
165
- console.error(error);
82
+ asyncWrite(buffer, start, length) {
83
+ return new Promise((resolve, reject) => this.write(buffer, (error) => error ? reject(error) : resolve()));
166
84
  }
167
- };
168
- },
169
- sendRedirect() {
170
- return (location, permanent = false) => {
171
- this.statusCode = 301;
172
- this.writeHead(this.statusCode, {
173
- location
174
- });
175
- return this.asyncEnd();
176
- };
177
- },
178
- sendFile() {
179
- return async (filePath, options) => {
180
- /** Calculate Size of file */
181
- const { size } = await stat(filePath);
182
- const range = this.request.headers.range;
183
- const lf = new LocalFile(filePath);
184
- /** Check for Range header */
185
- if (!range) {
186
- this.writeHead(200, {
187
- "Content-Length": size,
188
- "Content-Type": "video/mp4"
189
- });
190
- await lf.writeTo(this);
191
- return this.asyncEnd();
85
+ cookie(name, value, options = {}) {
86
+ const headers = this.getHeaders();
87
+ const cv = headers["set-cookie"];
88
+ const cookies = Array.isArray(cv)
89
+ ? cv
90
+ : (cv ? [cv] : []);
91
+ const nk = cookies.filter((x) => !x.startsWith(name + "="));
92
+ nk.push(serialize(name, value, options));
93
+ headers["set-cookie"] = nk;
192
94
  }
193
- /** Extracting Start and End value from Range Header */
194
- let [start, end] = range.replace(/bytes=/, "").split("-");
195
- start = parseInt(start, 10);
196
- end = end ? parseInt(end, 10) : size - 1;
197
- if (!isNaN(start) && isNaN(end)) {
198
- start = start;
199
- end = size - 1;
95
+ setHeader(name, value) {
96
+ const headers = this.getHeaders();
97
+ headers[name] = value;
200
98
  }
201
- if (isNaN(start) && !isNaN(end)) {
202
- start = size - end;
203
- end = size - 1;
99
+ async send(data, status = 200) {
100
+ try {
101
+ const wrapped = this;
102
+ wrapped.statusCode = status;
103
+ this.writeHead(wrapped.statusCode, this.getHeaders());
104
+ await new Promise((resolve, reject) => {
105
+ this.write(data, (error) => error ? reject(error) : resolve());
106
+ });
107
+ return this.asyncEnd();
108
+ }
109
+ catch (error) {
110
+ console.error(error);
111
+ }
204
112
  }
205
- // Handle unavailable range request
206
- if (start >= size || end >= size) {
207
- // Return the 416 Range Not Satisfiable.
208
- this.writeHead(416, {
209
- "Content-Range": `bytes */${size}`
113
+ async sendRedirect(location, permanent = false) {
114
+ this.statusCode = 301;
115
+ this.writeHead(this.statusCode, {
116
+ location
210
117
  });
211
118
  return this.asyncEnd();
212
119
  }
213
- /** Sending Partial Content With HTTP Code 206 */
214
- this.writeHead(206, {
215
- "Content-Range": `bytes ${start}-${end}/${size}`,
216
- "Accept-Ranges": "bytes",
217
- "Content-Length": end - start + 1,
218
- "Content-Type": "video/mp4"
219
- });
220
- await lf.writeTo(this, start, end);
120
+ async sendFile(filePath, options) {
121
+ /** Calculate Size of file */
122
+ const { size } = await stat(filePath);
123
+ const range = this.request.headers.range;
124
+ const lf = new LocalFile(filePath);
125
+ /** Check for Range header */
126
+ if (!range) {
127
+ this.writeHead(200, {
128
+ "Content-Length": size,
129
+ "Content-Type": "video/mp4"
130
+ });
131
+ await lf.writeTo(this);
132
+ return this.asyncEnd();
133
+ }
134
+ /** Extracting Start and End value from Range Header */
135
+ let [start, end] = range.replace(/bytes=/, "").split("-");
136
+ start = parseInt(start, 10);
137
+ end = end ? parseInt(end, 10) : size - 1;
138
+ if (!isNaN(start) && isNaN(end)) {
139
+ start = start;
140
+ end = size - 1;
141
+ }
142
+ if (isNaN(start) && !isNaN(end)) {
143
+ start = size - end;
144
+ end = size - 1;
145
+ }
146
+ // Handle unavailable range request
147
+ if (start >= size || end >= size) {
148
+ // Return the 416 Range Not Satisfiable.
149
+ this.writeHead(416, {
150
+ "Content-Range": `bytes */${size}`
151
+ });
152
+ return this.asyncEnd();
153
+ }
154
+ /** Sending Partial Content With HTTP Code 206 */
155
+ this.writeHead(206, {
156
+ "Content-Range": `bytes ${start}-${end}/${size}`,
157
+ "Accept-Ranges": "bytes",
158
+ "Content-Length": end - start + 1,
159
+ "Content-Type": "video/mp4"
160
+ });
161
+ await lf.writeTo(this, start, end);
162
+ }
221
163
  };
222
- },
164
+ }
165
+ return c;
223
166
  };
224
167
  export const Wrapped = {
225
168
  request: (req) => {
226
- for (const key in requestMethods) {
227
- if (Object.prototype.hasOwnProperty.call(requestMethods, key)) {
228
- const element = requestMethods[key];
229
- Object.defineProperty(req, key, {
230
- get() {
231
- const value = element.call(this);
232
- Object.defineProperty(this, key, { value, enumerable: true, writable: false });
233
- return value;
234
- },
235
- enumerable: true,
236
- configurable: true
237
- });
238
- }
239
- }
169
+ let prototype = Object.getPrototypeOf(req);
170
+ const { constructor } = prototype;
171
+ prototype = extendRequest(constructor);
172
+ Object.setPrototypeOf(req, prototype);
240
173
  const wr = req;
241
174
  wr.disposables = [];
242
- return wr;
175
+ return req;
243
176
  },
244
177
  response: (req, res) => {
245
- for (const key in responseMethods) {
246
- if (Object.prototype.hasOwnProperty.call(responseMethods, key)) {
247
- const element = responseMethods[key];
248
- Object.defineProperty(res, key, {
249
- get() {
250
- const value = element.call(this);
251
- Object.defineProperty(this, key, { value, enumerable: true, writable: false });
252
- return value;
253
- },
254
- enumerable: true,
255
- configurable: true
256
- });
257
- }
258
- }
178
+ let prototype = Object.getPrototypeOf(res);
179
+ const { constructor } = prototype;
180
+ prototype = extendResponse(constructor);
181
+ Object.setPrototypeOf(res, prototype);
259
182
  const wr = res;
260
183
  wr.request = req;
261
184
  req.response = wr;
262
- return wr;
185
+ return res;
263
186
  }
264
187
  };
265
188
  //# sourceMappingURL=Wrapped.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wrapped.js","sourceRoot":"","sources":["../../src/core/Wrapped.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Wrapped.js","sourceRoot":"","sources":["../../src/core/Wrapped.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { LocalFile } from "../core/LocalFile.js";
2
+ export declare const prepareSymbol: unique symbol;
3
+ export interface IFormData {
4
+ fields: {
5
+ [key: string]: string;
6
+ };
7
+ files: LocalFile[];
8
+ }
9
+ export declare const Prepare: {
10
+ parseJsonBody: (page?: any) => any;
11
+ authorize: (page?: any) => any;
12
+ parseForm: (page?: any) => any;
13
+ };
14
+ //# sourceMappingURL=Prepare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prepare.d.ts","sourceRoot":"","sources":["../../src/decorators/Prepare.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,eAAO,MAAM,aAAa,eAAkB,CAAC;AAG7C,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IACjC,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB;AAmHD,eAAO,MAAM,OAAO;mCAjHW,GAAG;+BAmDP,GAAG;+BAaH,GAAG;CAqD7B,CAAC"}
@@ -0,0 +1,111 @@
1
+ import busboy from "busboy";
2
+ import { Writable } from "node:stream";
3
+ import Page from "../Page.js";
4
+ import TempFolder from "../core/TempFolder.js";
5
+ export const prepareSymbol = Symbol("Parse");
6
+ const parseJsonBody = (page) => {
7
+ if (!page) {
8
+ return (target) => parseJsonBody(target);
9
+ }
10
+ if (!(page instanceof Page)) {
11
+ (page[prepareSymbol] ??= []).push(parseJsonBody);
12
+ return;
13
+ }
14
+ if (page.body) {
15
+ return;
16
+ }
17
+ return (async () => {
18
+ try {
19
+ let buffer = null;
20
+ let encoding = page.request.headers["content-encoding"] ?? "utf-8";
21
+ const contentType = page.request.headers["content-type"];
22
+ if (!/\/json/i.test(contentType)) {
23
+ return {};
24
+ }
25
+ await new Promise((resolve, reject) => {
26
+ page.request.pipe(new Writable({
27
+ write(chunk, enc, callback) {
28
+ encoding ||= enc;
29
+ let b = typeof chunk === "string"
30
+ ? Buffer.from(chunk)
31
+ : chunk;
32
+ buffer = buffer
33
+ ? Buffer.concat([buffer, b])
34
+ : b;
35
+ callback();
36
+ },
37
+ final(callback) {
38
+ resolve();
39
+ callback();
40
+ },
41
+ }), { end: true });
42
+ });
43
+ const text = buffer.toString(encoding);
44
+ page.body = page.request.body = JSON.parse(text);
45
+ }
46
+ catch (error) {
47
+ page.reportError(error);
48
+ page.body = page.request.body = {};
49
+ }
50
+ })();
51
+ };
52
+ const authorize = (page) => {
53
+ if (!page) {
54
+ return (target) => authorize(target);
55
+ }
56
+ if (!(page instanceof Page)) {
57
+ (page[prepareSymbol] ??= []).push(authorize);
58
+ return;
59
+ }
60
+ return page.sessionUser.authorize();
61
+ };
62
+ const parseForm = (page) => {
63
+ if (!page) {
64
+ return (target) => parseForm(target);
65
+ }
66
+ if (!(page instanceof Page)) {
67
+ (page[prepareSymbol] ??= []).push(parseForm);
68
+ return;
69
+ }
70
+ return (async () => {
71
+ const req = page.request;
72
+ let tempFolder;
73
+ const result = {
74
+ fields: {},
75
+ files: []
76
+ };
77
+ try {
78
+ const bb = busboy({ headers: req.headers, defParamCharset: "utf8" });
79
+ const tasks = [];
80
+ await new Promise((resolve, reject) => {
81
+ bb.on("field", (name, value) => {
82
+ result.fields[name] = value;
83
+ });
84
+ bb.on("file", (name, file, info) => {
85
+ if (!tempFolder) {
86
+ tempFolder = new TempFolder();
87
+ req.disposables.push(tempFolder);
88
+ }
89
+ const tf = tempFolder.get(info.filename, info.mimeType);
90
+ tasks.push(tf.writeAll(file).then(() => {
91
+ result.files.push(tf);
92
+ }));
93
+ });
94
+ bb.on("error", reject);
95
+ bb.on("close", resolve);
96
+ req.pipe(bb);
97
+ });
98
+ await Promise.all(tasks);
99
+ }
100
+ catch (error) {
101
+ page.reportError(error);
102
+ }
103
+ page.form = req.form = result;
104
+ })();
105
+ };
106
+ export const Prepare = {
107
+ parseJsonBody,
108
+ authorize,
109
+ parseForm
110
+ };
111
+ //# sourceMappingURL=Prepare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prepare.js","sourceRoot":"","sources":["../../src/decorators/Prepare.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/routes/api/entity/index.tsx"],"names":[],"mappings":"AAKA,OAAO,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKrD,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAE7B,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO;IAKnD,OAAO,CAAC,EAAE,CAAgB;IAEpB,GAAG;YAaK,IAAI;YASJ,YAAY;YAUZ,MAAM;YAWN,UAAU;CAqH3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/routes/api/entity/index.tsx"],"names":[],"mappings":"AAKA,OAAO,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQrD,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAE7B,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO;IAKnD,OAAO,CAAC,EAAE,CAAgB;IAEpB,GAAG;YAaK,IAAI;YASJ,YAAY;YAUZ,MAAM;YAWN,UAAU;CAqH3B"}