@bepalo/spine 1.5.17 → 2.6.18

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 (104) hide show
  1. package/README.md +532 -1
  2. package/dist/auth-middlewares.d.ts.map +1 -1
  3. package/dist/auth-middlewares.js +1 -0
  4. package/dist/auth-middlewares.js.map +1 -1
  5. package/dist/cache.d.ts +72 -0
  6. package/dist/cache.d.ts.map +1 -0
  7. package/dist/cache.js +387 -0
  8. package/dist/cache.js.map +1 -0
  9. package/dist/cjs/auth-middlewares.d.ts.map +1 -1
  10. package/dist/cjs/auth-middlewares.js +1 -0
  11. package/dist/cjs/auth-middlewares.js.map +1 -1
  12. package/dist/cjs/cache.d.ts +72 -0
  13. package/dist/cjs/cache.d.ts.map +1 -0
  14. package/dist/cjs/cache.js +387 -0
  15. package/dist/cjs/cache.js.map +1 -0
  16. package/dist/cjs/exp-cache.d.ts +101 -0
  17. package/dist/cjs/exp-cache.d.ts.map +1 -0
  18. package/dist/cjs/exp-cache.js +551 -0
  19. package/dist/cjs/exp-cache.js.map +1 -0
  20. package/dist/cjs/generator.d.ts +142 -19
  21. package/dist/cjs/generator.d.ts.map +1 -1
  22. package/dist/cjs/generator.js +415 -35
  23. package/dist/cjs/generator.js.map +1 -1
  24. package/dist/cjs/helpers.d.ts +49 -2
  25. package/dist/cjs/helpers.d.ts.map +1 -1
  26. package/dist/cjs/helpers.js +169 -14
  27. package/dist/cjs/helpers.js.map +1 -1
  28. package/dist/cjs/index.d.ts +2 -0
  29. package/dist/cjs/index.d.ts.map +1 -1
  30. package/dist/cjs/index.js +3 -0
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/linked-list.d.ts +35 -0
  33. package/dist/cjs/linked-list.d.ts.map +1 -0
  34. package/dist/cjs/linked-list.js +300 -0
  35. package/dist/cjs/linked-list.js.map +1 -0
  36. package/dist/cjs/middlewares.d.ts +102 -12
  37. package/dist/cjs/middlewares.d.ts.map +1 -1
  38. package/dist/cjs/middlewares.js +119 -22
  39. package/dist/cjs/middlewares.js.map +1 -1
  40. package/dist/cjs/parsers.d.ts.map +1 -1
  41. package/dist/cjs/parsers.js +1 -0
  42. package/dist/cjs/parsers.js.map +1 -1
  43. package/dist/cjs/router.d.ts +5 -6
  44. package/dist/cjs/router.d.ts.map +1 -1
  45. package/dist/cjs/router.js +271 -148
  46. package/dist/cjs/router.js.map +1 -1
  47. package/dist/cjs/status.d.ts.map +1 -1
  48. package/dist/cjs/status.js +80 -79
  49. package/dist/cjs/status.js.map +1 -1
  50. package/dist/cjs/types.d.ts +74 -2
  51. package/dist/cjs/types.d.ts.map +1 -1
  52. package/dist/cjs/types.js +15 -2
  53. package/dist/cjs/types.js.map +1 -1
  54. package/dist/cjs/utils.d.ts.map +1 -1
  55. package/dist/cjs/utils.js +1 -0
  56. package/dist/cjs/utils.js.map +1 -1
  57. package/dist/cjs/utils.node.d.ts.map +1 -1
  58. package/dist/cjs/utils.node.js +1 -0
  59. package/dist/cjs/utils.node.js.map +1 -1
  60. package/dist/exp-cache.d.ts +101 -0
  61. package/dist/exp-cache.d.ts.map +1 -0
  62. package/dist/exp-cache.js +551 -0
  63. package/dist/exp-cache.js.map +1 -0
  64. package/dist/generator.d.ts +142 -19
  65. package/dist/generator.d.ts.map +1 -1
  66. package/dist/generator.js +415 -35
  67. package/dist/generator.js.map +1 -1
  68. package/dist/helpers.d.ts +49 -2
  69. package/dist/helpers.d.ts.map +1 -1
  70. package/dist/helpers.js +169 -14
  71. package/dist/helpers.js.map +1 -1
  72. package/dist/index.d.ts +2 -0
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +3 -0
  75. package/dist/index.js.map +1 -1
  76. package/dist/linked-list.d.ts +35 -0
  77. package/dist/linked-list.d.ts.map +1 -0
  78. package/dist/linked-list.js +300 -0
  79. package/dist/linked-list.js.map +1 -0
  80. package/dist/middlewares.d.ts +102 -12
  81. package/dist/middlewares.d.ts.map +1 -1
  82. package/dist/middlewares.js +119 -22
  83. package/dist/middlewares.js.map +1 -1
  84. package/dist/parsers.d.ts.map +1 -1
  85. package/dist/parsers.js +1 -0
  86. package/dist/parsers.js.map +1 -1
  87. package/dist/router.d.ts +5 -6
  88. package/dist/router.d.ts.map +1 -1
  89. package/dist/router.js +271 -148
  90. package/dist/router.js.map +1 -1
  91. package/dist/status.d.ts.map +1 -1
  92. package/dist/status.js +80 -79
  93. package/dist/status.js.map +1 -1
  94. package/dist/types.d.ts +74 -2
  95. package/dist/types.d.ts.map +1 -1
  96. package/dist/types.js +15 -2
  97. package/dist/types.js.map +1 -1
  98. package/dist/utils.d.ts.map +1 -1
  99. package/dist/utils.js +1 -0
  100. package/dist/utils.js.map +1 -1
  101. package/dist/utils.node.d.ts.map +1 -1
  102. package/dist/utils.node.js +1 -0
  103. package/dist/utils.node.js.map +1 -1
  104. package/package.json +1 -1
package/dist/helpers.d.ts CHANGED
@@ -1,5 +1,19 @@
1
1
  import Router from "./router.ts";
2
- import type { Handler, HttpMethod } from "./types.ts";
2
+ import type { ContentSecurityPolicyArrayParams, ContentSecurityPolicyFetchDirectiveType, ContentSecurityPolicyParams, ContentSecurityPolicySource, Handler, HttpMethod, StrictTransportSecurityParams } from "./types.ts";
3
+ /**
4
+ * Builds and returns a Content-Security-Policy response header value from params.
5
+ *
6
+ * @param {ContentSecurityPolicyParams} policy CSP params
7
+ * @returns {string} The built Content-Security-Policy value
8
+ */
9
+ export declare const buildContentSecurityPolicy: (policy: ContentSecurityPolicyArrayParams | ContentSecurityPolicyParams | (ContentSecurityPolicyParams & { [K in string as K extends keyof ContentSecurityPolicyFetchDirectiveType | "upgrade-insecure-requests" | "trusted-types" ? never : K]: ContentSecurityPolicySource | ContentSecurityPolicySource[]; })) => string;
10
+ /**
11
+ * Builds and returns a Strict-Transport-Security(HSTS) response header value from params.
12
+ *
13
+ * @param {StrictTransportSecurityParams} strictTransportSecurity HSTS params
14
+ * @returns {string} The built Strict-Transport-Security value
15
+ */
16
+ export declare const buildStrictTransportSecurity: (strictTransportSecurity: StrictTransportSecurityParams) => string;
3
17
  /**
4
18
  * Creates a Response with the specified status code.
5
19
  * Defaults to 'text/plain; charset=utf-8' content-type if not provided in init.headers.
@@ -17,11 +31,44 @@ export declare const status: (status: number, content?: string | null, init?: Re
17
31
  * Creates a redirect Response.
18
32
  * Defaults to 302 Found unless another status is provided.
19
33
  * @param {string} location - The URL to redirect to
20
- * @param {number} [code=302] - The HTTP status code (301, 302, 303, 307, 308)
21
34
  * @param {ResponseInit} [init] - Additional response initialization options
22
35
  * @returns {Response} A Response object with Location header
23
36
  */
24
37
  export declare const redirect: (location: string, init?: ResponseInit) => Response;
38
+ /**
39
+ * Creates a redirect Response.
40
+ * Forces a status of 302 Found.
41
+ * @param {string} location - The URL to redirect to
42
+ * @param {Omit<ResponseInit,"status"|"statusText">} [init] - Additional response initialization options
43
+ * @returns {Response} A Response object with Location header
44
+ */
45
+ export declare const redirectTemporary: (location: string, init?: Omit<ResponseInit, "status" | "statusText">) => Response;
46
+ /**
47
+ * Creates a redirect Response.
48
+ * Forces a status of 301 Permanent Redirect.
49
+ * @param {string} location - The URL to redirect to
50
+ * @param {Omit<ResponseInit,"status">} [init] - Additional response initialization options
51
+ * @returns {Response} A Response object with Location header
52
+ */
53
+ export declare const redirectPermanent: (location: string, init?: Omit<ResponseInit, "status" | "statusText">) => Response;
54
+ /**
55
+ * Creates a redirect Response.
56
+ * Forces a status of 307 Temporary Redirect with preserved method and body.
57
+ *
58
+ * @param {string} location - The URL to redirect to
59
+ * @param {Omit<ResponseInit,"status">} [init] - Additional response initialization options
60
+ * @returns {Response} A Response object with Location header
61
+ */
62
+ export declare const redirectTemporaryPreserve: (location: string, init?: Omit<ResponseInit, "status" | "statusText">) => Response;
63
+ /**
64
+ * Creates a redirect Response.
65
+ * Forces a status of 308 Permanent Redirect with preserved method and body.
66
+ *
67
+ * @param {string} location - The URL to redirect to
68
+ * @param {Omit<ResponseInit,"status">} [init] - Additional response initialization options
69
+ * @returns {Response} A Response object with Location header
70
+ */
71
+ export declare const redirectPermanentPreserve: (location: string, init?: Omit<ResponseInit, "status" | "statusText">) => Response;
25
72
  /**
26
73
  * Forwards the request to another route internally.
27
74
  * Does not send a redirect to the client but changes the path and method,
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,KAAK,EAAW,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,MAAM,GACjB,QAAQ,MAAM,EACd,UAAU,MAAM,GAAG,IAAI,EACvB,OAAO,YAAY,KAClB,QAYF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAU,MAAM,EAAE,OAAO,YAAY,KAAG,QAWhE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,GAClB,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAErE,QAAQ,MAAM,CAAC,aAAa,CAAC,EAC7B,MAAM,IAAI,MAAM,EAAE,EAClB,UAAU;IACR,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,KACA,OAAO,CAAC,aAAa,CAkBvB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS,MAAM,EAAE,OAAO,YAAY,KAAG,QAa3D,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS,MAAM,EAAE,OAAO,YAAY,KAAG,QAa3D,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI,GAAI,MAAM,GAAG,EAAE,OAAO,YAAY,KAAG,QAarD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI,GAAI,MAAM,IAAI,EAAE,OAAO,YAAY,KAAG,QActD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,GACtB,OAAO,IAAI,GAAG,WAAW,GAAG,cAAc,EAC1C,OAAO,YAAY,KAClB,QAmBF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GACnB,WAAW,QAAQ,EACnB,OAAO,YAAY,KAClB,QAQF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,GAAG,GAAI,MAAM,eAAe,EAAE,OAAO,YAAY,KAAG,QAahE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI,GACf,OAAO,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,OAAO,YAAY,KAClB,QA4CF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;CACtC;AAED;;;GAGG;AACH,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,UAAU,aAAa,KACtB,WAcF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,UAAU,aAAa,KACtB,WAgBF,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/helpers.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ // src/helpers.ts
2
3
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
4
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
5
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -9,8 +10,82 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
10
  });
10
11
  };
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.clearCookie = exports.setCookie = exports.send = exports.usp = exports.formData = exports.octetStream = exports.blob = exports.json = exports.html = exports.text = exports.forward = exports.redirect = exports.status = void 0;
13
+ exports.clearCookie = exports.setCookie = exports.send = exports.usp = exports.formData = exports.octetStream = exports.blob = exports.json = exports.html = exports.text = exports.forward = exports.redirectPermanentPreserve = exports.redirectTemporaryPreserve = exports.redirectPermanent = exports.redirectTemporary = exports.redirect = exports.status = exports.buildStrictTransportSecurity = exports.buildContentSecurityPolicy = void 0;
13
14
  const status_ts_1 = require("./status.js");
15
+ const VALID_CSP_DIRS = new Set([
16
+ "default-src",
17
+ "script-src",
18
+ "style-src",
19
+ "img-src",
20
+ "font-src",
21
+ "connect-src",
22
+ "media-src",
23
+ "object-src",
24
+ "frame-src",
25
+ "worker-src",
26
+ "manifest-src",
27
+ "base-uri",
28
+ "form-action",
29
+ "frame-ancestors",
30
+ "trusted-types",
31
+ ]);
32
+ /**
33
+ * Builds and returns a Content-Security-Policy response header value from params.
34
+ *
35
+ * @param {ContentSecurityPolicyParams} policy CSP params
36
+ * @returns {string} The built Content-Security-Policy value
37
+ */
38
+ const buildContentSecurityPolicy = (policy) => {
39
+ const policyIsArray = Array.isArray(policy);
40
+ const directives = [];
41
+ const entries = policyIsArray ? policy : Object.entries(policy);
42
+ for (const [keys_, ...source] of entries) {
43
+ const keys = keys_.trim();
44
+ if (keys === "upgrade-insecure-requests") {
45
+ if (source) {
46
+ directives.push("upgrade-insecure-requests");
47
+ }
48
+ continue;
49
+ }
50
+ const splitKeys = keys
51
+ .split(" ")
52
+ .filter(Boolean)
53
+ .map((k) => k.toLowerCase());
54
+ for (const key of splitKeys) {
55
+ if (!VALID_CSP_DIRS.has(key)) {
56
+ throw new Error(`Invalid Content-Security-Policy directive '${key}'`);
57
+ }
58
+ directives.push(Array.isArray(source)
59
+ ? source.length > 0
60
+ ? `${key} ${source.join(" ")}`
61
+ : key
62
+ : `${key} ${source}`);
63
+ }
64
+ }
65
+ return directives.join("; ");
66
+ };
67
+ exports.buildContentSecurityPolicy = buildContentSecurityPolicy;
68
+ /**
69
+ * Builds and returns a Strict-Transport-Security(HSTS) response header value from params.
70
+ *
71
+ * @param {StrictTransportSecurityParams} strictTransportSecurity HSTS params
72
+ * @returns {string} The built Strict-Transport-Security value
73
+ */
74
+ const buildStrictTransportSecurity = (strictTransportSecurity) => {
75
+ const { maxAge = 31536000, includeSubDomains, preload, } = strictTransportSecurity;
76
+ if (!Number.isInteger(maxAge) || maxAge < 0) {
77
+ throw new RangeError("HSTS maxAge must be a positive whole number");
78
+ }
79
+ let hstsVal = `max-age=${maxAge}`;
80
+ if (includeSubDomains) {
81
+ hstsVal += "; includeSubDomains";
82
+ }
83
+ if (preload) {
84
+ hstsVal += "; preload";
85
+ }
86
+ return hstsVal;
87
+ };
88
+ exports.buildStrictTransportSecurity = buildStrictTransportSecurity;
14
89
  /**
15
90
  * Creates a Response with the specified status code.
16
91
  * Defaults to 'text/plain; charset=utf-8' content-type if not provided in init.headers.
@@ -30,7 +105,8 @@ const status = (status, content, init) => {
30
105
  if (content !== null && !headers.has("content-type")) {
31
106
  headers.set("content-type", "text/plain; charset=utf-8");
32
107
  }
33
- return new Response(content !== undefined ? content : statusText, Object.assign(Object.assign({ statusText }, init), { status,
108
+ return new Response(content !== undefined ? content : statusText, Object.assign(Object.assign({}, init), { status,
109
+ statusText,
34
110
  headers }));
35
111
  };
36
112
  exports.status = status;
@@ -38,7 +114,6 @@ exports.status = status;
38
114
  * Creates a redirect Response.
39
115
  * Defaults to 302 Found unless another status is provided.
40
116
  * @param {string} location - The URL to redirect to
41
- * @param {number} [code=302] - The HTTP status code (301, 302, 303, 307, 308)
42
117
  * @param {ResponseInit} [init] - Additional response initialization options
43
118
  * @returns {Response} A Response object with Location header
44
119
  */
@@ -48,10 +123,81 @@ const redirect = (location, init) => {
48
123
  const statusText = (_b = init === null || init === void 0 ? void 0 : init.statusText) !== null && _b !== void 0 ? _b : (0, status_ts_1.getHttpStatusText)(status);
49
124
  const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
50
125
  headers.set("Location", location);
51
- return new Response(null, Object.assign(Object.assign({ statusText }, init), { status,
126
+ return new Response(null, Object.assign(Object.assign({}, init), { status,
127
+ statusText,
52
128
  headers }));
53
129
  };
54
130
  exports.redirect = redirect;
131
+ /**
132
+ * Creates a redirect Response.
133
+ * Forces a status of 302 Found.
134
+ * @param {string} location - The URL to redirect to
135
+ * @param {Omit<ResponseInit,"status"|"statusText">} [init] - Additional response initialization options
136
+ * @returns {Response} A Response object with Location header
137
+ */
138
+ const redirectTemporary = (location, init) => {
139
+ const status = 302;
140
+ const statusText = (0, status_ts_1.getHttpStatusText)(status);
141
+ const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
142
+ headers.set("Location", location);
143
+ return new Response(null, Object.assign(Object.assign({}, init), { status,
144
+ statusText,
145
+ headers }));
146
+ };
147
+ exports.redirectTemporary = redirectTemporary;
148
+ /**
149
+ * Creates a redirect Response.
150
+ * Forces a status of 301 Permanent Redirect.
151
+ * @param {string} location - The URL to redirect to
152
+ * @param {Omit<ResponseInit,"status">} [init] - Additional response initialization options
153
+ * @returns {Response} A Response object with Location header
154
+ */
155
+ const redirectPermanent = (location, init) => {
156
+ const status = 301;
157
+ const statusText = (0, status_ts_1.getHttpStatusText)(status);
158
+ const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
159
+ headers.set("Location", location);
160
+ return new Response(null, Object.assign(Object.assign({}, init), { status,
161
+ statusText,
162
+ headers }));
163
+ };
164
+ exports.redirectPermanent = redirectPermanent;
165
+ /**
166
+ * Creates a redirect Response.
167
+ * Forces a status of 307 Temporary Redirect with preserved method and body.
168
+ *
169
+ * @param {string} location - The URL to redirect to
170
+ * @param {Omit<ResponseInit,"status">} [init] - Additional response initialization options
171
+ * @returns {Response} A Response object with Location header
172
+ */
173
+ const redirectTemporaryPreserve = (location, init) => {
174
+ const status = 307;
175
+ const statusText = (0, status_ts_1.getHttpStatusText)(status);
176
+ const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
177
+ headers.set("Location", location);
178
+ return new Response(null, Object.assign(Object.assign({}, init), { status,
179
+ statusText,
180
+ headers }));
181
+ };
182
+ exports.redirectTemporaryPreserve = redirectTemporaryPreserve;
183
+ /**
184
+ * Creates a redirect Response.
185
+ * Forces a status of 308 Permanent Redirect with preserved method and body.
186
+ *
187
+ * @param {string} location - The URL to redirect to
188
+ * @param {Omit<ResponseInit,"status">} [init] - Additional response initialization options
189
+ * @returns {Response} A Response object with Location header
190
+ */
191
+ const redirectPermanentPreserve = (location, init) => {
192
+ const status = 308;
193
+ const statusText = (0, status_ts_1.getHttpStatusText)(status);
194
+ const headers = new Headers(init === null || init === void 0 ? void 0 : init.headers);
195
+ headers.set("Location", location);
196
+ return new Response(null, Object.assign(Object.assign({}, init), { status,
197
+ statusText,
198
+ headers }));
199
+ };
200
+ exports.redirectPermanentPreserve = redirectPermanentPreserve;
55
201
  /**
56
202
  * Forwards the request to another route internally.
57
203
  * Does not send a redirect to the client but changes the path and method,
@@ -104,7 +250,8 @@ const text = (content, init) => {
104
250
  if (!headers.has("content-type")) {
105
251
  headers.set("content-type", "text/plain; charset=utf-8");
106
252
  }
107
- return new Response(content, Object.assign(Object.assign({ statusText }, init), { status,
253
+ return new Response(content, Object.assign(Object.assign({}, init), { status,
254
+ statusText,
108
255
  headers }));
109
256
  };
110
257
  exports.text = text;
@@ -126,7 +273,8 @@ const html = (content, init) => {
126
273
  if (!headers.has("content-type")) {
127
274
  headers.set("content-type", "text/html; charset=utf-8");
128
275
  }
129
- return new Response(content, Object.assign(Object.assign({ statusText }, init), { status,
276
+ return new Response(content, Object.assign(Object.assign({}, init), { status,
277
+ statusText,
130
278
  headers }));
131
279
  };
132
280
  exports.html = html;
@@ -149,7 +297,8 @@ const json = (body, init) => {
149
297
  if (!headers.has("content-type")) {
150
298
  headers.set("content-type", "application/json; charset=utf-8");
151
299
  }
152
- return Response.json(body, Object.assign(Object.assign({ statusText }, init), { status,
300
+ return Response.json(body, Object.assign(Object.assign({}, init), { status,
301
+ statusText,
153
302
  headers }));
154
303
  };
155
304
  exports.json = json;
@@ -173,7 +322,8 @@ const blob = (blob, init) => {
173
322
  headers.set("content-type", blob.type || "application/octet-stream");
174
323
  }
175
324
  headers.set("content-length", blob.size.toFixed());
176
- return new Response(blob, Object.assign(Object.assign({ statusText }, init), { status,
325
+ return new Response(blob, Object.assign(Object.assign({}, init), { status,
326
+ statusText,
177
327
  headers }));
178
328
  };
179
329
  exports.blob = blob;
@@ -199,7 +349,8 @@ const octetStream = (octet, init) => {
199
349
  if (!(octet instanceof ReadableStream)) {
200
350
  headers.set("content-length", (octet instanceof Blob ? octet.size : octet.byteLength).toFixed());
201
351
  }
202
- return new Response(octet, Object.assign(Object.assign({ statusText }, init), { status,
352
+ return new Response(octet, Object.assign(Object.assign({}, init), { status,
353
+ statusText,
203
354
  headers }));
204
355
  };
205
356
  exports.octetStream = octetStream;
@@ -217,7 +368,8 @@ const formData = (formData, init) => {
217
368
  var _a, _b;
218
369
  const status = (_a = init === null || init === void 0 ? void 0 : init.status) !== null && _a !== void 0 ? _a : 200;
219
370
  const statusText = (_b = init === null || init === void 0 ? void 0 : init.statusText) !== null && _b !== void 0 ? _b : (0, status_ts_1.getHttpStatusText)(status);
220
- return new Response(formData, Object.assign(Object.assign({ statusText }, init), { status }));
371
+ return new Response(formData, Object.assign(Object.assign({}, init), { status,
372
+ statusText }));
221
373
  };
222
374
  exports.formData = formData;
223
375
  /**
@@ -237,7 +389,8 @@ const usp = (usp, init) => {
237
389
  if (!headers.has("content-type")) {
238
390
  headers.set("content-type", "application/x-www-form-urlencoded");
239
391
  }
240
- return new Response(usp, Object.assign(Object.assign({ statusText }, init), { status,
392
+ return new Response(usp, Object.assign(Object.assign({}, init), { status,
393
+ statusText,
241
394
  headers }));
242
395
  };
243
396
  exports.usp = usp;
@@ -289,10 +442,12 @@ const send = (body, init) => {
289
442
  if (isContentTypeNotSet) {
290
443
  headers.set("content-type", "application/json; charset=utf-8");
291
444
  }
292
- return Response.json(body, Object.assign(Object.assign({ status,
293
- statusText }, init), { headers }));
445
+ return Response.json(body, Object.assign(Object.assign({}, init), { status,
446
+ statusText,
447
+ headers }));
294
448
  }
295
- return new Response(body, Object.assign(Object.assign({ statusText }, init), { status,
449
+ return new Response(body, Object.assign(Object.assign({}, init), { status,
450
+ statusText,
296
451
  headers }));
297
452
  };
298
453
  exports.send = send;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,8 @@ export * from "./parsers.ts";
7
7
  export * from "./auth-middlewares.ts";
8
8
  export * from "./middlewares.ts";
9
9
  export * from "./router.ts";
10
+ export * from "./cache.ts";
11
+ export * from "./exp-cache.ts";
10
12
  export * from "./generator.ts";
11
13
  import Router from "./router.ts";
12
14
  export default Router;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAE/B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAE/B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,eAAe,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ // src/index.ts
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -26,6 +27,8 @@ __exportStar(require("./parsers.js"), exports);
26
27
  __exportStar(require("./auth-middlewares.js"), exports);
27
28
  __exportStar(require("./middlewares.js"), exports);
28
29
  __exportStar(require("./router.js"), exports);
30
+ __exportStar(require("./cache.js"), exports);
31
+ __exportStar(require("./exp-cache.js"), exports);
29
32
  __exportStar(require("./generator.js"), exports);
30
33
  const router_ts_1 = __importDefault(require("./router.js"));
31
34
  exports.default = router_ts_1.default;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,8CAA4B;AAC5B,+CAA6B;AAC7B,+CAA6B;AAC7B,wDAAsC;AACtC,mDAAiC;AACjC,8CAA4B;AAC5B,iDAA+B;AAE/B,4DAAiC;AACjC,kBAAe,mBAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,eAAe;;;;;;;;;;;;;;;;;;;AAEf,6CAA2B;AAC3B,6CAA2B;AAC3B,kDAAgC;AAChC,8CAA4B;AAC5B,+CAA6B;AAC7B,+CAA6B;AAC7B,wDAAsC;AACtC,mDAAiC;AACjC,8CAA4B;AAC5B,6CAA2B;AAC3B,iDAA+B;AAC/B,iDAA+B;AAE/B,4DAAiC;AACjC,kBAAe,mBAAM,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { inspect } from "node:util";
2
+ export type LinkedListNode<T> = {
3
+ data: T;
4
+ prev?: LinkedListNode<T>;
5
+ next?: LinkedListNode<T>;
6
+ };
7
+ export declare class LinkedList<T> {
8
+ first?: LinkedListNode<T>;
9
+ last?: LinkedListNode<T>;
10
+ size: number;
11
+ [Symbol.iterator](): IterableIterator<T>;
12
+ values(): IterableIterator<T>;
13
+ [inspect.custom](depth: number, options: Parameters<typeof inspect>[1]): {
14
+ size: number;
15
+ entries: T[];
16
+ };
17
+ toJSON(): T[];
18
+ insertStart(data: T): LinkedListNode<T>;
19
+ insertEnd(data: T): LinkedListNode<T>;
20
+ insertBefore(beforeNode: LinkedListNode<T>, data: T): LinkedListNode<T>;
21
+ insertAfter(afterNode: LinkedListNode<T>, data: T): LinkedListNode<T>;
22
+ moveBefore(beforeNode: LinkedListNode<T>, node: LinkedListNode<T>): LinkedList<T>;
23
+ moveAfter(afterNode: LinkedListNode<T>, node: LinkedListNode<T>): LinkedList<T>;
24
+ popStart(): T | undefined;
25
+ popEnd(): T | undefined;
26
+ cutStart(node: LinkedListNode<T>, cutSize: number): LinkedListNode<T> | undefined;
27
+ cutEnd(node: LinkedListNode<T>, cutSize: number): LinkedListNode<T> | undefined;
28
+ cutLeft(node: LinkedListNode<T>, cutSize: number): LinkedListNode<T> | undefined;
29
+ cutRight(node: LinkedListNode<T>, cutSize: number): LinkedListNode<T> | undefined;
30
+ remove(node: LinkedListNode<T>): LinkedListNode<T>;
31
+ moveToStart(node: LinkedListNode<T>): LinkedListNode<T>;
32
+ moveToEnd(node: LinkedListNode<T>): LinkedListNode<T>;
33
+ clear(): void;
34
+ }
35
+ //# sourceMappingURL=linked-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-list.d.ts","sourceRoot":"","sources":["../src/linked-list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;CAC1B,CAAC;AAEF,qBAAa,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAa;IACtC,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAa;IACrC,IAAI,EAAE,MAAM,CAAK;IAEhB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAMxC,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAM9B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;;;;IAOtE,MAAM,IAAI,CAAC,EAAE;IAYb,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAgBvC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAgBrC,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAkBvE,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAkBrE,UAAU,CACR,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,EAC7B,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GACtB,UAAU,CAAC,CAAC,CAAC;IA4BhB,SAAS,CACP,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,EAC5B,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GACtB,UAAU,CAAC,CAAC,CAAC;IA4BhB,QAAQ,IAAI,CAAC,GAAG,SAAS;IAgBzB,MAAM,IAAI,CAAC,GAAG,SAAS;IAgBvB,QAAQ,CACN,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,MAAM,GACd,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS;IAWhC,MAAM,CACJ,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,MAAM,GACd,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS;IAWhC,OAAO,CACL,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,MAAM,GACd,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS;IAahC,QAAQ,CACN,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,MAAM,GACd,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS;IAahC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAoBlD,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAsBvD,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAsBrD,KAAK;CAIN"}