@kerebron/extension-server-hono 0.4.4 → 0.4.6

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 (61) hide show
  1. package/esm/HonoYjsMemAdapter.d.ts +2 -1
  2. package/esm/HonoYjsMemAdapter.d.ts.map +1 -1
  3. package/esm/HonoYjsMemAdapter.js +1 -0
  4. package/esm/_dnt.polyfills.d.ts +7 -0
  5. package/esm/_dnt.polyfills.d.ts.map +1 -0
  6. package/esm/_dnt.polyfills.js +1 -0
  7. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/compose.d.ts +15 -0
  8. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/compose.d.ts.map +1 -0
  9. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/compose.js +64 -0
  10. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/context.d.ts +452 -0
  11. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/context.d.ts.map +1 -0
  12. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/context.js +513 -0
  13. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/helper/websocket/index.d.ts +70 -0
  14. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/helper/websocket/index.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/helper/websocket/index.js +95 -0
  16. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/hono-base.d.ts +221 -0
  17. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/hono-base.d.ts.map +1 -0
  18. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/hono-base.js +498 -0
  19. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/http-exception.d.ts +60 -0
  20. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/http-exception.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/http-exception.js +71 -0
  22. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/request/constants.d.ts +2 -0
  23. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/request/constants.d.ts.map +1 -0
  24. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/request/constants.js +1 -0
  25. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/request.d.ts +314 -0
  26. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/request.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/request.js +370 -0
  28. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/router.d.ts +98 -0
  29. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/router.d.ts.map +1 -0
  30. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/router.js +25 -0
  31. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/types.d.ts +563 -0
  32. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/types.d.ts.map +1 -0
  33. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/types.js +11 -0
  34. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/body.d.ts +80 -0
  35. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/body.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/body.js +111 -0
  37. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/constants.d.ts +5 -0
  38. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/constants.d.ts.map +1 -0
  39. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/constants.js +4 -0
  40. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/headers.d.ts +9 -0
  41. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/headers.d.ts.map +1 -0
  42. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/headers.js +5 -0
  43. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/html.d.ts +45 -0
  44. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/html.d.ts.map +1 -0
  45. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/html.js +122 -0
  46. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/http-status.d.ts +33 -0
  47. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/http-status.d.ts.map +1 -0
  48. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/http-status.js +5 -0
  49. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/mime.d.ts +71 -0
  50. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/mime.d.ts.map +1 -0
  51. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/mime.js +83 -0
  52. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/types.d.ts +75 -0
  53. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/types.d.ts.map +1 -0
  54. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/types.js +5 -0
  55. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/url.d.ts +30 -0
  56. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/url.d.ts.map +1 -0
  57. package/esm/deps/jsr.io/@hono/hono/4.10.7/src/utils/url.js +255 -0
  58. package/esm/mod.d.ts +2 -1
  59. package/esm/mod.d.ts.map +1 -1
  60. package/esm/mod.js +1 -1
  61. package/package.json +3 -1
@@ -0,0 +1,122 @@
1
+ /**
2
+ * @module
3
+ * HTML utility.
4
+ */
5
+ export const HtmlEscapedCallbackPhase = {
6
+ Stringify: 1,
7
+ BeforeStream: 2,
8
+ Stream: 3,
9
+ };
10
+ export const raw = (value, callbacks) => {
11
+ const escapedString = new String(value);
12
+ escapedString.isEscaped = true;
13
+ escapedString.callbacks = callbacks;
14
+ return escapedString;
15
+ };
16
+ // The `escapeToBuffer` implementation is based on code from the MIT licensed `react-dom` package.
17
+ // https://github.com/facebook/react/blob/main/packages/react-dom-bindings/src/server/escapeTextForBrowser.js
18
+ const escapeRe = /[&<>'"]/;
19
+ export const stringBufferToString = async (buffer, callbacks) => {
20
+ let str = '';
21
+ callbacks ||= [];
22
+ const resolvedBuffer = await Promise.all(buffer);
23
+ for (let i = resolvedBuffer.length - 1;; i--) {
24
+ str += resolvedBuffer[i];
25
+ i--;
26
+ if (i < 0) {
27
+ break;
28
+ }
29
+ let r = resolvedBuffer[i];
30
+ if (typeof r === 'object') {
31
+ callbacks.push(...(r.callbacks || []));
32
+ }
33
+ const isEscaped = r.isEscaped;
34
+ r = await (typeof r === 'object' ? r.toString() : r);
35
+ if (typeof r === 'object') {
36
+ callbacks.push(...(r.callbacks || []));
37
+ }
38
+ if (r.isEscaped ?? isEscaped) {
39
+ str += r;
40
+ }
41
+ else {
42
+ const buf = [str];
43
+ escapeToBuffer(r, buf);
44
+ str = buf[0];
45
+ }
46
+ }
47
+ return raw(str, callbacks);
48
+ };
49
+ export const escapeToBuffer = (str, buffer) => {
50
+ const match = str.search(escapeRe);
51
+ if (match === -1) {
52
+ buffer[0] += str;
53
+ return;
54
+ }
55
+ let escape;
56
+ let index;
57
+ let lastIndex = 0;
58
+ for (index = match; index < str.length; index++) {
59
+ switch (str.charCodeAt(index)) {
60
+ case 34: // "
61
+ escape = '&quot;';
62
+ break;
63
+ case 39: // '
64
+ escape = '&#39;';
65
+ break;
66
+ case 38: // &
67
+ escape = '&amp;';
68
+ break;
69
+ case 60: // <
70
+ escape = '&lt;';
71
+ break;
72
+ case 62: // >
73
+ escape = '&gt;';
74
+ break;
75
+ default:
76
+ continue;
77
+ }
78
+ buffer[0] += str.substring(lastIndex, index) + escape;
79
+ lastIndex = index + 1;
80
+ }
81
+ buffer[0] += str.substring(lastIndex, index);
82
+ };
83
+ export const resolveCallbackSync = (str) => {
84
+ const callbacks = str.callbacks;
85
+ if (!callbacks?.length) {
86
+ return str;
87
+ }
88
+ const buffer = [str];
89
+ const context = {};
90
+ callbacks.forEach((c) => c({ phase: HtmlEscapedCallbackPhase.Stringify, buffer, context }));
91
+ return buffer[0];
92
+ };
93
+ export const resolveCallback = async (str, phase, preserveCallbacks, context, buffer) => {
94
+ if (typeof str === 'object' && !(str instanceof String)) {
95
+ if (!(str instanceof Promise)) {
96
+ str = str.toString(); // HtmlEscapedString object to string
97
+ }
98
+ if (str instanceof Promise) {
99
+ str = await str;
100
+ }
101
+ }
102
+ const callbacks = str.callbacks;
103
+ if (!callbacks?.length) {
104
+ return Promise.resolve(str);
105
+ }
106
+ if (buffer) {
107
+ buffer[0] += str;
108
+ }
109
+ else {
110
+ buffer = [str];
111
+ }
112
+ const resStr = Promise.all(callbacks.map((c) => c({ phase, buffer, context }))).then((res) => Promise.all(res
113
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
+ .filter(Boolean)
115
+ .map((str) => resolveCallback(str, phase, false, context, buffer))).then(() => buffer[0]));
116
+ if (preserveCallbacks) {
117
+ return raw(await resStr, callbacks);
118
+ }
119
+ else {
120
+ return resStr;
121
+ }
122
+ };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @module
3
+ * HTTP Status utility.
4
+ */
5
+ export type InfoStatusCode = 100 | 101 | 102 | 103;
6
+ export type SuccessStatusCode = 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226;
7
+ export type DeprecatedStatusCode = 305 | 306;
8
+ export type RedirectStatusCode = 300 | 301 | 302 | 303 | 304 | DeprecatedStatusCode | 307 | 308;
9
+ export type ClientErrorStatusCode = 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451;
10
+ export type ServerErrorStatusCode = 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511;
11
+ /**
12
+ * `UnofficialStatusCode` can be used to specify an unofficial status code.
13
+ * @example
14
+ *
15
+ * ```ts
16
+ * app.get('/unknown', (c) => {
17
+ * return c.text("Unknown Error", 520 as UnofficialStatusCode)
18
+ * })
19
+ * ```
20
+ */
21
+ export type UnofficialStatusCode = -1;
22
+ /**
23
+ * @deprecated
24
+ * Use `UnofficialStatusCode` instead.
25
+ */
26
+ export type UnOfficalStatusCode = UnofficialStatusCode;
27
+ /**
28
+ * If you want to use an unofficial status, use `UnofficialStatusCode`.
29
+ */
30
+ export type StatusCode = InfoStatusCode | SuccessStatusCode | RedirectStatusCode | ClientErrorStatusCode | ServerErrorStatusCode | UnofficialStatusCode;
31
+ export type ContentlessStatusCode = 101 | 204 | 205 | 304;
32
+ export type ContentfulStatusCode = Exclude<StatusCode, ContentlessStatusCode>;
33
+ //# sourceMappingURL=http-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-status.d.ts","sourceRoot":"","sources":["../../../../../../../../src/deps/jsr.io/@hono/hono/4.10.7/src/utils/http-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAClD,MAAM,MAAM,iBAAiB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AACzF,MAAM,MAAM,oBAAoB,GAAG,GAAG,GAAG,GAAG,CAAA;AAC5C,MAAM,MAAM,kBAAkB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,oBAAoB,GAAG,GAAG,GAAG,GAAG,CAAA;AAC/F,MAAM,MAAM,qBAAqB,GAC7B,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,CAAA;AACP,MAAM,MAAM,qBAAqB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAEnG;;;;;;;;;GASG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,CAAA;AAErC;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAA;AAEtD;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,qBAAqB,GACrB,oBAAoB,CAAA;AAExB,MAAM,MAAM,qBAAqB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AACzD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @module
3
+ * HTTP Status utility.
4
+ */
5
+ export {};
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @module
3
+ * MIME utility.
4
+ */
5
+ export declare const getMimeType: (filename: string, mimes?: Record<string, string>) => string | undefined;
6
+ export declare const getExtension: (mimeType: string) => string | undefined;
7
+ export { baseMimes as mimes };
8
+ /**
9
+ * Union types for BaseMime
10
+ */
11
+ export type BaseMime = (typeof _baseMimes)[keyof typeof _baseMimes];
12
+ declare const _baseMimes: {
13
+ readonly aac: "audio/aac";
14
+ readonly avi: "video/x-msvideo";
15
+ readonly avif: "image/avif";
16
+ readonly av1: "video/av1";
17
+ readonly bin: "application/octet-stream";
18
+ readonly bmp: "image/bmp";
19
+ readonly css: "text/css";
20
+ readonly csv: "text/csv";
21
+ readonly eot: "application/vnd.ms-fontobject";
22
+ readonly epub: "application/epub+zip";
23
+ readonly gif: "image/gif";
24
+ readonly gz: "application/gzip";
25
+ readonly htm: "text/html";
26
+ readonly html: "text/html";
27
+ readonly ico: "image/x-icon";
28
+ readonly ics: "text/calendar";
29
+ readonly jpeg: "image/jpeg";
30
+ readonly jpg: "image/jpeg";
31
+ readonly js: "text/javascript";
32
+ readonly json: "application/json";
33
+ readonly jsonld: "application/ld+json";
34
+ readonly map: "application/json";
35
+ readonly mid: "audio/x-midi";
36
+ readonly midi: "audio/x-midi";
37
+ readonly mjs: "text/javascript";
38
+ readonly mp3: "audio/mpeg";
39
+ readonly mp4: "video/mp4";
40
+ readonly mpeg: "video/mpeg";
41
+ readonly oga: "audio/ogg";
42
+ readonly ogv: "video/ogg";
43
+ readonly ogx: "application/ogg";
44
+ readonly opus: "audio/opus";
45
+ readonly otf: "font/otf";
46
+ readonly pdf: "application/pdf";
47
+ readonly png: "image/png";
48
+ readonly rtf: "application/rtf";
49
+ readonly svg: "image/svg+xml";
50
+ readonly tif: "image/tiff";
51
+ readonly tiff: "image/tiff";
52
+ readonly ts: "video/mp2t";
53
+ readonly ttf: "font/ttf";
54
+ readonly txt: "text/plain";
55
+ readonly wasm: "application/wasm";
56
+ readonly webm: "video/webm";
57
+ readonly weba: "audio/webm";
58
+ readonly webmanifest: "application/manifest+json";
59
+ readonly webp: "image/webp";
60
+ readonly woff: "font/woff";
61
+ readonly woff2: "font/woff2";
62
+ readonly xhtml: "application/xhtml+xml";
63
+ readonly xml: "application/xml";
64
+ readonly zip: "application/zip";
65
+ readonly '3gp': "video/3gpp";
66
+ readonly '3g2': "video/3gpp2";
67
+ readonly gltf: "model/gltf+json";
68
+ readonly glb: "model/gltf-binary";
69
+ };
70
+ declare const baseMimes: Record<string, BaseMime>;
71
+ //# sourceMappingURL=mime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mime.d.ts","sourceRoot":"","sources":["../../../../../../../../src/deps/jsr.io/@hono/hono/4.10.7/src/utils/mime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,WAAW,GACtB,UAAU,MAAM,EAChB,QAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAa,KACxC,MAAM,GAAG,SAWX,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM,KAAG,MAAM,GAAG,SAMxD,CAAA;AAED,OAAO,EAAE,SAAS,IAAI,KAAK,EAAE,CAAA;AAE7B;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAA;AAEnE,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDN,CAAA;AAEV,QAAA,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAc,CAAA"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @module
3
+ * MIME utility.
4
+ */
5
+ export const getMimeType = (filename, mimes = baseMimes) => {
6
+ const regexp = /\.([a-zA-Z0-9]+?)$/;
7
+ const match = filename.match(regexp);
8
+ if (!match) {
9
+ return;
10
+ }
11
+ let mimeType = mimes[match[1]];
12
+ if (mimeType && mimeType.startsWith('text')) {
13
+ mimeType += '; charset=utf-8';
14
+ }
15
+ return mimeType;
16
+ };
17
+ export const getExtension = (mimeType) => {
18
+ for (const ext in baseMimes) {
19
+ if (baseMimes[ext] === mimeType) {
20
+ return ext;
21
+ }
22
+ }
23
+ };
24
+ export { baseMimes as mimes };
25
+ const _baseMimes = {
26
+ aac: 'audio/aac',
27
+ avi: 'video/x-msvideo',
28
+ avif: 'image/avif',
29
+ av1: 'video/av1',
30
+ bin: 'application/octet-stream',
31
+ bmp: 'image/bmp',
32
+ css: 'text/css',
33
+ csv: 'text/csv',
34
+ eot: 'application/vnd.ms-fontobject',
35
+ epub: 'application/epub+zip',
36
+ gif: 'image/gif',
37
+ gz: 'application/gzip',
38
+ htm: 'text/html',
39
+ html: 'text/html',
40
+ ico: 'image/x-icon',
41
+ ics: 'text/calendar',
42
+ jpeg: 'image/jpeg',
43
+ jpg: 'image/jpeg',
44
+ js: 'text/javascript',
45
+ json: 'application/json',
46
+ jsonld: 'application/ld+json',
47
+ map: 'application/json',
48
+ mid: 'audio/x-midi',
49
+ midi: 'audio/x-midi',
50
+ mjs: 'text/javascript',
51
+ mp3: 'audio/mpeg',
52
+ mp4: 'video/mp4',
53
+ mpeg: 'video/mpeg',
54
+ oga: 'audio/ogg',
55
+ ogv: 'video/ogg',
56
+ ogx: 'application/ogg',
57
+ opus: 'audio/opus',
58
+ otf: 'font/otf',
59
+ pdf: 'application/pdf',
60
+ png: 'image/png',
61
+ rtf: 'application/rtf',
62
+ svg: 'image/svg+xml',
63
+ tif: 'image/tiff',
64
+ tiff: 'image/tiff',
65
+ ts: 'video/mp2t',
66
+ ttf: 'font/ttf',
67
+ txt: 'text/plain',
68
+ wasm: 'application/wasm',
69
+ webm: 'video/webm',
70
+ weba: 'audio/webm',
71
+ webmanifest: 'application/manifest+json',
72
+ webp: 'image/webp',
73
+ woff: 'font/woff',
74
+ woff2: 'font/woff2',
75
+ xhtml: 'application/xhtml+xml',
76
+ xml: 'application/xml',
77
+ zip: 'application/zip',
78
+ '3gp': 'video/3gpp',
79
+ '3g2': 'video/3gpp2',
80
+ gltf: 'model/gltf+json',
81
+ glb: 'model/gltf-binary',
82
+ };
83
+ const baseMimes = _baseMimes;
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @module
3
+ * Types utility.
4
+ */
5
+ export type Expect<T extends true> = T;
6
+ export type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? true : false;
7
+ export type NotEqual<X, Y> = true extends Equal<X, Y> ? false : true;
8
+ export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
9
+ export type RemoveBlankRecord<T> = T extends Record<infer K, unknown> ? K extends string ? T : never : never;
10
+ export type IfAnyThenEmptyObject<T> = 0 extends 1 & T ? {} : T;
11
+ export type JSONPrimitive = string | boolean | number | null;
12
+ export type JSONArray = (JSONPrimitive | JSONObject | JSONArray)[];
13
+ export type JSONObject = {
14
+ [key: string]: JSONPrimitive | JSONArray | JSONObject | object | InvalidJSONValue;
15
+ };
16
+ export type InvalidJSONValue = undefined | symbol | ((...args: unknown[]) => unknown);
17
+ type InvalidToNull<T> = T extends InvalidJSONValue ? null : T;
18
+ type IsInvalid<T> = T extends InvalidJSONValue ? true : false;
19
+ /**
20
+ * symbol keys are omitted through `JSON.stringify`
21
+ */
22
+ type OmitSymbolKeys<T> = {
23
+ [K in keyof T as K extends symbol ? never : K]: T[K];
24
+ };
25
+ export type JSONValue = JSONObject | JSONArray | JSONPrimitive;
26
+ /**
27
+ * Convert a type to a JSON-compatible type.
28
+ *
29
+ * Non-JSON values such as `Date` implement `.toJSON()`,
30
+ * so they can be transformed to a value assignable to `JSONObject`
31
+ *
32
+ * `JSON.stringify()` throws a `TypeError` when it encounters a `bigint` value,
33
+ * unless a custom `replacer` function or `.toJSON()` method is provided.
34
+ *
35
+ * This behaviour can be controlled by the `TError` generic type parameter,
36
+ * which defaults to `bigint | ReadonlyArray<bigint>`.
37
+ * You can set it to `never` to disable this check.
38
+ */
39
+ export type JSONParsed<T, TError = bigint | ReadonlyArray<bigint>> = T extends {
40
+ toJSON(): infer J;
41
+ } ? (() => J) extends () => JSONPrimitive ? J : (() => J) extends () => {
42
+ toJSON(): unknown;
43
+ } ? {} : JSONParsed<J, TError> : T extends JSONPrimitive ? T : T extends InvalidJSONValue ? never : T extends ReadonlyArray<unknown> ? {
44
+ [K in keyof T]: JSONParsed<InvalidToNull<T[K]>, TError>;
45
+ } : T extends Set<unknown> | Map<unknown, unknown> | Record<string, never> ? {} : T extends object ? T[keyof T] extends TError ? never : {
46
+ [K in keyof OmitSymbolKeys<T> as IsInvalid<T[K]> extends true ? never : K]: boolean extends IsInvalid<T[K]> ? JSONParsed<T[K], TError> | undefined : JSONParsed<T[K], TError>;
47
+ } : T extends unknown ? T extends TError ? never : JSONValue : never;
48
+ /**
49
+ * Useful to flatten the type output to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability.
50
+ * @copyright from sindresorhus/type-fest
51
+ */
52
+ export type Simplify<T> = {
53
+ [KeyType in keyof T]: T[KeyType];
54
+ } & {};
55
+ /**
56
+ * A simple extension of Simplify that will deeply traverse array elements.
57
+ */
58
+ export type SimplifyDeepArray<T> = T extends any[] ? {
59
+ [E in keyof T]: SimplifyDeepArray<T[E]>;
60
+ } : Simplify<T>;
61
+ export type InterfaceToType<T> = T extends Function ? T : {
62
+ [K in keyof T]: InterfaceToType<T[K]>;
63
+ };
64
+ export type RequiredKeysOf<BaseType extends object> = Exclude<{
65
+ [Key in keyof BaseType]: BaseType extends Record<Key, BaseType[Key]> ? Key : never;
66
+ }[keyof BaseType], undefined>;
67
+ export type HasRequiredKeys<BaseType extends object> = RequiredKeysOf<BaseType> extends never ? false : true;
68
+ export type IsAny<T> = boolean extends (T extends never ? true : false) ? true : false;
69
+ /**
70
+ * String literal types with auto-completion
71
+ * @see https://github.com/Microsoft/TypeScript/issues/29729
72
+ */
73
+ export type StringLiteralUnion<T> = T | (string & Record<never, never>);
74
+ export {};
75
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../../src/deps/jsr.io/@hono/hono/4.10.7/src/utils/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @module
3
+ * Types utility.
4
+ */
5
+ export {};
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @module
3
+ * URL utility.
4
+ */
5
+ export type Pattern = readonly [string, string, RegExp | true] | '*';
6
+ export declare const splitPath: (path: string) => string[];
7
+ export declare const splitRoutingPath: (routePath: string) => string[];
8
+ export declare const getPattern: (label: string, next?: string) => Pattern | null;
9
+ type Decoder = (str: string) => string;
10
+ export declare const tryDecode: (str: string, decoder: Decoder) => string;
11
+ export declare const getPath: (request: Request) => string;
12
+ export declare const getQueryStrings: (url: string) => string;
13
+ export declare const getPathNoStrict: (request: Request) => string;
14
+ /**
15
+ * Merge paths.
16
+ * @param {string[]} ...paths - The paths to merge.
17
+ * @returns {string} The merged path.
18
+ * @example
19
+ * mergePath('/api', '/users') // '/api/users'
20
+ * mergePath('/api/', '/users') // '/api/users'
21
+ * mergePath('/api', '/') // '/api'
22
+ * mergePath('/api/', '/') // '/api/'
23
+ */
24
+ export declare const mergePath: (...paths: string[]) => string;
25
+ export declare const checkOptionalParameter: (path: string) => string[] | null;
26
+ export declare const getQueryParam: (url: string, key?: string) => string | undefined | Record<string, string>;
27
+ export declare const getQueryParams: (url: string, key?: string) => string[] | undefined | Record<string, string[]>;
28
+ export declare const decodeURIComponent_: typeof decodeURIComponent;
29
+ export {};
30
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../../../../../src/deps/jsr.io/@hono/hono/4.10.7/src/utils/url.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,CAAA;AAEpE,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAAM,EAM9C,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,WAAW,MAAM,KAAG,MAAM,EAK1D,CAAA;AA8BD,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,GAAG,IA2BnE,CAAA;AAED,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;AACtC,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,SAAS,OAAO,KAAG,MAYzD,CAAA;AAaD,eAAO,MAAM,OAAO,GAAI,SAAS,OAAO,KAAG,MAmB1C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,MAG7C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,KAAG,MAKlD,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAW/C,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,KAAG,MAAM,EAAE,GAAG,IAmChE,CAAA;AAgGD,eAAO,MAAM,aAAa,EAAE,CAC1B,GAAG,EAAE,MAAM,EACX,GAAG,CAAC,EAAE,MAAM,KACT,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAGC,CAAA;AAEhD,eAAO,MAAM,cAAc,GACzB,KAAK,MAAM,EACX,MAAM,MAAM,KACX,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAEhD,CAAA;AAID,eAAO,MAAM,mBAAmB,2BAAqB,CAAA"}