hono 4.12.4 → 4.12.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.
- package/dist/adapter/aws-lambda/handler.js +2 -2
- package/dist/adapter/lambda-edge/handler.js +2 -1
- package/dist/cjs/adapter/aws-lambda/conninfo.js +0 -1
- package/dist/cjs/adapter/aws-lambda/handler.js +2 -3
- package/dist/cjs/adapter/aws-lambda/index.js +0 -1
- package/dist/cjs/adapter/aws-lambda/types.js +0 -1
- package/dist/cjs/adapter/bun/conninfo.js +0 -1
- package/dist/cjs/adapter/bun/index.js +0 -1
- package/dist/cjs/adapter/bun/serve-static.js +0 -1
- package/dist/cjs/adapter/bun/server.js +0 -1
- package/dist/cjs/adapter/bun/ssg.js +0 -1
- package/dist/cjs/adapter/bun/websocket.js +0 -1
- package/dist/cjs/adapter/cloudflare-pages/conninfo.js +0 -1
- package/dist/cjs/adapter/cloudflare-pages/handler.js +0 -1
- package/dist/cjs/adapter/cloudflare-pages/index.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/conninfo.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/index.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/serve-static.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/utils.js +0 -1
- package/dist/cjs/adapter/cloudflare-workers/websocket.js +0 -1
- package/dist/cjs/adapter/deno/conninfo.js +0 -1
- package/dist/cjs/adapter/deno/deno.d.js +0 -1
- package/dist/cjs/adapter/deno/index.js +0 -1
- package/dist/cjs/adapter/deno/serve-static.js +0 -1
- package/dist/cjs/adapter/deno/ssg.js +0 -1
- package/dist/cjs/adapter/deno/websocket.js +0 -1
- package/dist/cjs/adapter/lambda-edge/conninfo.js +0 -1
- package/dist/cjs/adapter/lambda-edge/handler.js +2 -2
- package/dist/cjs/adapter/lambda-edge/index.js +0 -1
- package/dist/cjs/adapter/netlify/conninfo.js +0 -1
- package/dist/cjs/adapter/netlify/handler.js +0 -1
- package/dist/cjs/adapter/netlify/index.js +0 -1
- package/dist/cjs/adapter/netlify/mod.js +0 -1
- package/dist/cjs/adapter/service-worker/handler.js +0 -1
- package/dist/cjs/adapter/service-worker/index.js +0 -1
- package/dist/cjs/adapter/service-worker/types.js +0 -1
- package/dist/cjs/adapter/vercel/conninfo.js +0 -1
- package/dist/cjs/adapter/vercel/handler.js +0 -1
- package/dist/cjs/adapter/vercel/index.js +0 -1
- package/dist/cjs/client/client.js +0 -1
- package/dist/cjs/client/fetch-result-please.js +0 -1
- package/dist/cjs/client/index.js +0 -1
- package/dist/cjs/client/types.js +0 -1
- package/dist/cjs/client/utils.js +0 -1
- package/dist/cjs/compose.js +0 -1
- package/dist/cjs/context.js +0 -1
- package/dist/cjs/helper/accepts/accepts.js +0 -1
- package/dist/cjs/helper/accepts/index.js +0 -1
- package/dist/cjs/helper/adapter/index.js +0 -1
- package/dist/cjs/helper/conninfo/index.js +0 -1
- package/dist/cjs/helper/conninfo/types.js +0 -1
- package/dist/cjs/helper/cookie/index.js +0 -1
- package/dist/cjs/helper/css/common.js +0 -1
- package/dist/cjs/helper/css/index.js +0 -1
- package/dist/cjs/helper/dev/index.js +0 -1
- package/dist/cjs/helper/factory/index.js +0 -1
- package/dist/cjs/helper/html/index.js +0 -1
- package/dist/cjs/helper/proxy/index.js +0 -1
- package/dist/cjs/helper/route/index.js +0 -1
- package/dist/cjs/helper/ssg/index.js +0 -1
- package/dist/cjs/helper/ssg/middleware.js +0 -1
- package/dist/cjs/helper/ssg/plugins.js +0 -1
- package/dist/cjs/helper/ssg/ssg.js +0 -1
- package/dist/cjs/helper/ssg/utils.js +0 -1
- package/dist/cjs/helper/streaming/index.js +0 -1
- package/dist/cjs/helper/streaming/sse.js +0 -1
- package/dist/cjs/helper/streaming/stream.js +0 -1
- package/dist/cjs/helper/streaming/text.js +0 -1
- package/dist/cjs/helper/streaming/utils.js +0 -1
- package/dist/cjs/helper/testing/index.js +0 -1
- package/dist/cjs/helper/websocket/index.js +0 -1
- package/dist/cjs/hono-base.js +0 -1
- package/dist/cjs/hono.js +0 -1
- package/dist/cjs/http-exception.js +0 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/jsx/base.js +0 -1
- package/dist/cjs/jsx/children.js +0 -1
- package/dist/cjs/jsx/components.js +0 -1
- package/dist/cjs/jsx/constants.js +0 -1
- package/dist/cjs/jsx/context.js +0 -1
- package/dist/cjs/jsx/dom/client.js +0 -1
- package/dist/cjs/jsx/dom/components.js +0 -1
- package/dist/cjs/jsx/dom/context.js +0 -1
- package/dist/cjs/jsx/dom/css.js +0 -1
- package/dist/cjs/jsx/dom/hooks/index.js +0 -1
- package/dist/cjs/jsx/dom/index.js +0 -1
- package/dist/cjs/jsx/dom/intrinsic-element/components.js +40 -10
- package/dist/cjs/jsx/dom/jsx-dev-runtime.js +0 -1
- package/dist/cjs/jsx/dom/jsx-runtime.js +0 -1
- package/dist/cjs/jsx/dom/render.js +0 -1
- package/dist/cjs/jsx/dom/server.js +0 -1
- package/dist/cjs/jsx/dom/utils.js +0 -1
- package/dist/cjs/jsx/hooks/index.js +0 -1
- package/dist/cjs/jsx/index.js +0 -1
- package/dist/cjs/jsx/intrinsic-element/common.js +13 -3
- package/dist/cjs/jsx/intrinsic-element/components.js +18 -12
- package/dist/cjs/jsx/intrinsic-elements.js +0 -1
- package/dist/cjs/jsx/jsx-dev-runtime.js +0 -1
- package/dist/cjs/jsx/jsx-runtime.js +0 -1
- package/dist/cjs/jsx/streaming.js +13 -4
- package/dist/cjs/jsx/types.js +0 -1
- package/dist/cjs/jsx/utils.js +0 -1
- package/dist/cjs/middleware/basic-auth/index.js +0 -1
- package/dist/cjs/middleware/bearer-auth/index.js +0 -1
- package/dist/cjs/middleware/body-limit/index.js +0 -1
- package/dist/cjs/middleware/cache/index.js +0 -1
- package/dist/cjs/middleware/combine/index.js +0 -1
- package/dist/cjs/middleware/compress/index.js +0 -1
- package/dist/cjs/middleware/context-storage/index.js +0 -1
- package/dist/cjs/middleware/cors/index.js +0 -1
- package/dist/cjs/middleware/csrf/index.js +0 -1
- package/dist/cjs/middleware/etag/digest.js +0 -1
- package/dist/cjs/middleware/etag/index.js +0 -1
- package/dist/cjs/middleware/ip-restriction/index.js +0 -1
- package/dist/cjs/middleware/jsx-renderer/index.js +1 -1
- package/dist/cjs/middleware/jwk/index.js +0 -1
- package/dist/cjs/middleware/jwk/jwk.js +0 -1
- package/dist/cjs/middleware/jwt/index.js +0 -1
- package/dist/cjs/middleware/jwt/jwt.js +0 -1
- package/dist/cjs/middleware/language/index.js +0 -1
- package/dist/cjs/middleware/language/language.js +0 -1
- package/dist/cjs/middleware/logger/index.js +0 -1
- package/dist/cjs/middleware/method-override/index.js +0 -1
- package/dist/cjs/middleware/powered-by/index.js +0 -1
- package/dist/cjs/middleware/pretty-json/index.js +0 -1
- package/dist/cjs/middleware/request-id/index.js +0 -1
- package/dist/cjs/middleware/request-id/request-id.js +0 -1
- package/dist/cjs/middleware/secure-headers/index.js +0 -1
- package/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -1
- package/dist/cjs/middleware/secure-headers/secure-headers.js +0 -1
- package/dist/cjs/middleware/serve-static/index.js +0 -1
- package/dist/cjs/middleware/serve-static/path.js +0 -1
- package/dist/cjs/middleware/timeout/index.js +0 -1
- package/dist/cjs/middleware/timing/index.js +0 -1
- package/dist/cjs/middleware/timing/timing.js +0 -1
- package/dist/cjs/middleware/trailing-slash/index.js +0 -1
- package/dist/cjs/preset/quick.js +0 -1
- package/dist/cjs/preset/tiny.js +0 -1
- package/dist/cjs/request/constants.js +0 -1
- package/dist/cjs/request.js +0 -1
- package/dist/cjs/router/linear-router/index.js +0 -1
- package/dist/cjs/router/linear-router/router.js +0 -1
- package/dist/cjs/router/pattern-router/index.js +0 -1
- package/dist/cjs/router/pattern-router/router.js +0 -1
- package/dist/cjs/router/reg-exp-router/index.js +0 -1
- package/dist/cjs/router/reg-exp-router/matcher.js +0 -1
- package/dist/cjs/router/reg-exp-router/node.js +0 -1
- package/dist/cjs/router/reg-exp-router/prepared-router.js +0 -1
- package/dist/cjs/router/reg-exp-router/router.js +0 -1
- package/dist/cjs/router/reg-exp-router/trie.js +0 -1
- package/dist/cjs/router/smart-router/index.js +0 -1
- package/dist/cjs/router/smart-router/router.js +0 -1
- package/dist/cjs/router/trie-router/index.js +0 -1
- package/dist/cjs/router/trie-router/node.js +0 -1
- package/dist/cjs/router/trie-router/router.js +0 -1
- package/dist/cjs/router.js +0 -1
- package/dist/cjs/types.js +0 -1
- package/dist/cjs/utils/accept.js +188 -29
- package/dist/cjs/utils/basic-auth.js +0 -1
- package/dist/cjs/utils/body.js +0 -1
- package/dist/cjs/utils/buffer.js +0 -1
- package/dist/cjs/utils/color.js +0 -1
- package/dist/cjs/utils/compress.js +0 -1
- package/dist/cjs/utils/concurrent.js +0 -1
- package/dist/cjs/utils/constants.js +0 -1
- package/dist/cjs/utils/cookie.js +0 -1
- package/dist/cjs/utils/crypto.js +0 -1
- package/dist/cjs/utils/encode.js +0 -1
- package/dist/cjs/utils/filepath.js +0 -1
- package/dist/cjs/utils/handler.js +0 -1
- package/dist/cjs/utils/headers.js +0 -1
- package/dist/cjs/utils/html.js +0 -1
- package/dist/cjs/utils/http-status.js +0 -1
- package/dist/cjs/utils/ipaddr.js +0 -1
- package/dist/cjs/utils/jwt/index.js +0 -1
- package/dist/cjs/utils/jwt/jwa.js +0 -1
- package/dist/cjs/utils/jwt/jws.js +0 -1
- package/dist/cjs/utils/jwt/jwt.js +11 -6
- package/dist/cjs/utils/jwt/types.js +0 -1
- package/dist/cjs/utils/jwt/utf8.js +0 -1
- package/dist/cjs/utils/mime.js +0 -1
- package/dist/cjs/utils/stream.js +0 -1
- package/dist/cjs/utils/types.js +0 -1
- package/dist/cjs/utils/url.js +0 -1
- package/dist/cjs/validator/index.js +0 -1
- package/dist/cjs/validator/utils.js +0 -1
- package/dist/cjs/validator/validator.js +0 -1
- package/dist/jsx/dom/intrinsic-element/components.js +47 -10
- package/dist/jsx/intrinsic-element/common.js +10 -1
- package/dist/jsx/intrinsic-element/components.js +24 -12
- package/dist/jsx/streaming.js +13 -3
- package/dist/middleware/jsx-renderer/index.js +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/adapter/aws-lambda/handler.d.ts +2 -2
- package/dist/types/jsx/intrinsic-element/common.d.ts +3 -0
- package/dist/types/jsx/types.d.ts +1 -1
- package/dist/types/middleware/jsx-renderer/index.d.ts +1 -1
- package/dist/types/request.d.ts +1 -1
- package/dist/types/utils/accept.d.ts +0 -5
- package/dist/utils/accept.js +188 -28
- package/dist/utils/jwt/jwt.js +11 -5
- package/package.json +4 -3
package/dist/cjs/router.js
CHANGED
package/dist/cjs/types.js
CHANGED
package/dist/cjs/utils/accept.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -21,32 +20,199 @@ __export(accept_exports, {
|
|
|
21
20
|
parseAccept: () => parseAccept
|
|
22
21
|
});
|
|
23
22
|
module.exports = __toCommonJS(accept_exports);
|
|
23
|
+
const isWhitespace = (char) => char === 32 || char === 9 || char === 10 || char === 13;
|
|
24
|
+
const consumeWhitespace = (acceptHeader, startIndex) => {
|
|
25
|
+
while (startIndex < acceptHeader.length) {
|
|
26
|
+
if (!isWhitespace(acceptHeader.charCodeAt(startIndex))) {
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
startIndex++;
|
|
30
|
+
}
|
|
31
|
+
return startIndex;
|
|
32
|
+
};
|
|
33
|
+
const ignoreTrailingWhitespace = (acceptHeader, startIndex) => {
|
|
34
|
+
while (startIndex > 0) {
|
|
35
|
+
if (!isWhitespace(acceptHeader.charCodeAt(startIndex - 1))) {
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
startIndex--;
|
|
39
|
+
}
|
|
40
|
+
return startIndex;
|
|
41
|
+
};
|
|
42
|
+
const skipInvalidParam = (acceptHeader, startIndex) => {
|
|
43
|
+
while (startIndex < acceptHeader.length) {
|
|
44
|
+
const char = acceptHeader.charCodeAt(startIndex);
|
|
45
|
+
if (char === 59) {
|
|
46
|
+
return [startIndex + 1, true];
|
|
47
|
+
}
|
|
48
|
+
if (char === 44) {
|
|
49
|
+
return [startIndex + 1, false];
|
|
50
|
+
}
|
|
51
|
+
startIndex++;
|
|
52
|
+
}
|
|
53
|
+
return [startIndex, false];
|
|
54
|
+
};
|
|
55
|
+
const skipInvalidAcceptValue = (acceptHeader, startIndex) => {
|
|
56
|
+
let i = startIndex;
|
|
57
|
+
let inQuotes = false;
|
|
58
|
+
while (i < acceptHeader.length) {
|
|
59
|
+
const char = acceptHeader.charCodeAt(i);
|
|
60
|
+
if (inQuotes && char === 92) {
|
|
61
|
+
i++;
|
|
62
|
+
} else if (char === 34) {
|
|
63
|
+
inQuotes = !inQuotes;
|
|
64
|
+
} else if (!inQuotes && char === 44) {
|
|
65
|
+
return i + 1;
|
|
66
|
+
}
|
|
67
|
+
i++;
|
|
68
|
+
}
|
|
69
|
+
return i;
|
|
70
|
+
};
|
|
71
|
+
const getNextParam = (acceptHeader, startIndex) => {
|
|
72
|
+
startIndex = consumeWhitespace(acceptHeader, startIndex);
|
|
73
|
+
let i = startIndex;
|
|
74
|
+
let key;
|
|
75
|
+
let value;
|
|
76
|
+
let hasNext = false;
|
|
77
|
+
while (i < acceptHeader.length) {
|
|
78
|
+
const char = acceptHeader.charCodeAt(i);
|
|
79
|
+
if (char === 61) {
|
|
80
|
+
key = acceptHeader.slice(startIndex, ignoreTrailingWhitespace(acceptHeader, i));
|
|
81
|
+
i++;
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
if (char === 59) {
|
|
85
|
+
return [i + 1, void 0, void 0, true];
|
|
86
|
+
}
|
|
87
|
+
if (char === 44) {
|
|
88
|
+
return [i + 1, void 0, void 0, false];
|
|
89
|
+
}
|
|
90
|
+
i++;
|
|
91
|
+
}
|
|
92
|
+
if (key === void 0) {
|
|
93
|
+
return [i, void 0, void 0, false];
|
|
94
|
+
}
|
|
95
|
+
i = consumeWhitespace(acceptHeader, i);
|
|
96
|
+
if (acceptHeader.charCodeAt(i) === 61) {
|
|
97
|
+
const skipResult = skipInvalidParam(acceptHeader, i + 1);
|
|
98
|
+
return [skipResult[0], key, void 0, skipResult[1]];
|
|
99
|
+
}
|
|
100
|
+
let inQuotes = false;
|
|
101
|
+
const paramStartIndex = i;
|
|
102
|
+
while (i < acceptHeader.length) {
|
|
103
|
+
const char = acceptHeader.charCodeAt(i);
|
|
104
|
+
if (inQuotes && char === 92) {
|
|
105
|
+
i++;
|
|
106
|
+
} else if (char === 34) {
|
|
107
|
+
if (inQuotes) {
|
|
108
|
+
let nextIndex = consumeWhitespace(acceptHeader, i + 1);
|
|
109
|
+
const nextChar = acceptHeader.charCodeAt(nextIndex);
|
|
110
|
+
if (nextIndex < acceptHeader.length && !(nextChar === 59 || nextChar === 44)) {
|
|
111
|
+
const skipResult = skipInvalidParam(acceptHeader, nextIndex);
|
|
112
|
+
return [skipResult[0], key, void 0, skipResult[1]];
|
|
113
|
+
}
|
|
114
|
+
value = acceptHeader.slice(paramStartIndex + 1, i);
|
|
115
|
+
if (value.includes("\\")) {
|
|
116
|
+
value = value.replace(/\\(.)/g, "$1");
|
|
117
|
+
}
|
|
118
|
+
if (nextChar === 44) {
|
|
119
|
+
return [nextIndex + 1, key, value, false];
|
|
120
|
+
}
|
|
121
|
+
if (nextChar === 59) {
|
|
122
|
+
hasNext = true;
|
|
123
|
+
nextIndex++;
|
|
124
|
+
}
|
|
125
|
+
i = nextIndex;
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
inQuotes = true;
|
|
129
|
+
} else if (!inQuotes && (char === 59 || char === 44)) {
|
|
130
|
+
value = acceptHeader.slice(paramStartIndex, ignoreTrailingWhitespace(acceptHeader, i));
|
|
131
|
+
if (char === 59) {
|
|
132
|
+
hasNext = true;
|
|
133
|
+
}
|
|
134
|
+
i++;
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
i++;
|
|
138
|
+
}
|
|
139
|
+
return [
|
|
140
|
+
i,
|
|
141
|
+
key,
|
|
142
|
+
value ?? acceptHeader.slice(paramStartIndex, ignoreTrailingWhitespace(acceptHeader, i)),
|
|
143
|
+
hasNext
|
|
144
|
+
];
|
|
145
|
+
};
|
|
146
|
+
const getNextAcceptValue = (acceptHeader, startIndex) => {
|
|
147
|
+
const accept = {
|
|
148
|
+
type: "",
|
|
149
|
+
params: {},
|
|
150
|
+
q: 1
|
|
151
|
+
};
|
|
152
|
+
startIndex = consumeWhitespace(acceptHeader, startIndex);
|
|
153
|
+
let i = startIndex;
|
|
154
|
+
while (i < acceptHeader.length) {
|
|
155
|
+
const char = acceptHeader.charCodeAt(i);
|
|
156
|
+
if (char === 59 || char === 44) {
|
|
157
|
+
accept.type = acceptHeader.slice(startIndex, ignoreTrailingWhitespace(acceptHeader, i));
|
|
158
|
+
i++;
|
|
159
|
+
if (char === 44) {
|
|
160
|
+
return [i, accept.type ? accept : void 0];
|
|
161
|
+
}
|
|
162
|
+
if (!accept.type) {
|
|
163
|
+
return [skipInvalidAcceptValue(acceptHeader, i), void 0];
|
|
164
|
+
}
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
i++;
|
|
168
|
+
}
|
|
169
|
+
if (!accept.type) {
|
|
170
|
+
accept.type = acceptHeader.slice(
|
|
171
|
+
startIndex,
|
|
172
|
+
ignoreTrailingWhitespace(acceptHeader, acceptHeader.length)
|
|
173
|
+
);
|
|
174
|
+
return [acceptHeader.length, accept.type ? accept : void 0];
|
|
175
|
+
}
|
|
176
|
+
let param;
|
|
177
|
+
let value;
|
|
178
|
+
let hasNext;
|
|
179
|
+
while (i < acceptHeader.length) {
|
|
180
|
+
;
|
|
181
|
+
[i, param, value, hasNext] = getNextParam(acceptHeader, i);
|
|
182
|
+
if (param && value) {
|
|
183
|
+
accept.params[param] = value;
|
|
184
|
+
}
|
|
185
|
+
if (!hasNext) {
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return [i, accept];
|
|
190
|
+
};
|
|
24
191
|
const parseAccept = (acceptHeader) => {
|
|
25
192
|
if (!acceptHeader) {
|
|
26
193
|
return [];
|
|
27
194
|
}
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return paramParts.reduce((acc, param) => {
|
|
44
|
-
const [key, val] = param.split("=").map((s) => s.trim());
|
|
45
|
-
if (key && val) {
|
|
46
|
-
acc[key] = val;
|
|
195
|
+
const values = [];
|
|
196
|
+
let i = 0;
|
|
197
|
+
let accept;
|
|
198
|
+
let requiresSort = false;
|
|
199
|
+
let lastAccept;
|
|
200
|
+
while (i < acceptHeader.length) {
|
|
201
|
+
;
|
|
202
|
+
[i, accept] = getNextAcceptValue(acceptHeader, i);
|
|
203
|
+
if (accept) {
|
|
204
|
+
accept.q = parseQuality(accept.params.q);
|
|
205
|
+
values.push(accept);
|
|
206
|
+
if (lastAccept && lastAccept.q < accept.q) {
|
|
207
|
+
requiresSort = true;
|
|
208
|
+
}
|
|
209
|
+
lastAccept = accept;
|
|
47
210
|
}
|
|
48
|
-
|
|
49
|
-
|
|
211
|
+
}
|
|
212
|
+
if (requiresSort) {
|
|
213
|
+
values.sort((a, b) => b.q - a.q);
|
|
214
|
+
}
|
|
215
|
+
return values;
|
|
50
216
|
};
|
|
51
217
|
const parseQuality = (qVal) => {
|
|
52
218
|
if (qVal === void 0) {
|
|
@@ -73,13 +239,6 @@ const parseQuality = (qVal) => {
|
|
|
73
239
|
}
|
|
74
240
|
return num;
|
|
75
241
|
};
|
|
76
|
-
const sortByQualityAndIndex = (a, b) => {
|
|
77
|
-
const qDiff = b.q - a.q;
|
|
78
|
-
if (qDiff !== 0) {
|
|
79
|
-
return qDiff;
|
|
80
|
-
}
|
|
81
|
-
return a.index - b.index;
|
|
82
|
-
};
|
|
83
242
|
// Annotate the CommonJS export names for ESM import in node:
|
|
84
243
|
0 && (module.exports = {
|
|
85
244
|
parseAccept
|
package/dist/cjs/utils/body.js
CHANGED
package/dist/cjs/utils/buffer.js
CHANGED
package/dist/cjs/utils/color.js
CHANGED
package/dist/cjs/utils/cookie.js
CHANGED
package/dist/cjs/utils/crypto.js
CHANGED
package/dist/cjs/utils/encode.js
CHANGED
package/dist/cjs/utils/html.js
CHANGED
package/dist/cjs/utils/ipaddr.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -177,10 +176,13 @@ const verifyWithJwks = async (token, options, init) => {
|
|
|
177
176
|
});
|
|
178
177
|
};
|
|
179
178
|
const decode = (token) => {
|
|
179
|
+
const parts = token.split(".");
|
|
180
|
+
if (parts.length !== 3) {
|
|
181
|
+
throw new import_types.JwtTokenInvalid(token);
|
|
182
|
+
}
|
|
180
183
|
try {
|
|
181
|
-
const
|
|
182
|
-
const
|
|
183
|
-
const payload = decodeJwtPart(p);
|
|
184
|
+
const header = decodeJwtPart(parts[0]);
|
|
185
|
+
const payload = decodeJwtPart(parts[1]);
|
|
184
186
|
return {
|
|
185
187
|
header,
|
|
186
188
|
payload
|
|
@@ -190,9 +192,12 @@ const decode = (token) => {
|
|
|
190
192
|
}
|
|
191
193
|
};
|
|
192
194
|
const decodeHeader = (token) => {
|
|
195
|
+
const parts = token.split(".");
|
|
196
|
+
if (parts.length !== 3) {
|
|
197
|
+
throw new import_types.JwtTokenInvalid(token);
|
|
198
|
+
}
|
|
193
199
|
try {
|
|
194
|
-
|
|
195
|
-
return decodeJwtPart(h);
|
|
200
|
+
return decodeJwtPart(parts[0]);
|
|
196
201
|
} catch {
|
|
197
202
|
throw new import_types.JwtTokenInvalid(token);
|
|
198
203
|
}
|
package/dist/cjs/utils/mime.js
CHANGED
package/dist/cjs/utils/stream.js
CHANGED
package/dist/cjs/utils/types.js
CHANGED
package/dist/cjs/utils/url.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
// src/jsx/dom/intrinsic-element/components.ts
|
|
2
2
|
import { useContext } from "../../context.js";
|
|
3
3
|
import { use, useCallback, useMemo, useState } from "../../hooks/index.js";
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
dataPrecedenceAttr,
|
|
6
|
+
deDupeKeyMap,
|
|
7
|
+
domRenderers,
|
|
8
|
+
isStylesheetLinkWithPrecedence,
|
|
9
|
+
shouldDeDupeByKey
|
|
10
|
+
} from "../../intrinsic-element/common.js";
|
|
5
11
|
import { FormContext, registerAction } from "../hooks/index.js";
|
|
6
12
|
import { createPortal, getNameSpaceContext } from "../render.js";
|
|
7
13
|
var clearCache = () => {
|
|
@@ -49,11 +55,16 @@ var documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportBlo
|
|
|
49
55
|
let element = null;
|
|
50
56
|
let created = false;
|
|
51
57
|
const deDupeKeys = deDupeKeyMap[tag];
|
|
58
|
+
const deDupeByKey = shouldDeDupeByKey(tag, supportSort);
|
|
59
|
+
const isDeDupeCandidateLink = (e) => e.getAttribute("rel") === "stylesheet" && e.getAttribute(dataPrecedenceAttr) !== null;
|
|
52
60
|
let existingElements = void 0;
|
|
53
|
-
if (
|
|
61
|
+
if (deDupeByKey) {
|
|
54
62
|
const tags = head.querySelectorAll(tag);
|
|
55
63
|
LOOP: for (const e of tags) {
|
|
56
|
-
|
|
64
|
+
if (tag === "link" && !isDeDupeCandidateLink(e)) {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
for (const key of deDupeKeys) {
|
|
57
68
|
if (e.getAttribute(key) === props[key]) {
|
|
58
69
|
element = e;
|
|
59
70
|
break LOOP;
|
|
@@ -72,9 +83,9 @@ var documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportBlo
|
|
|
72
83
|
if (props[key] !== void 0) {
|
|
73
84
|
e.setAttribute(key, props[key]);
|
|
74
85
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
86
|
+
}
|
|
87
|
+
if (props.rel) {
|
|
88
|
+
e.setAttribute("rel", props.rel);
|
|
78
89
|
}
|
|
79
90
|
return e;
|
|
80
91
|
})();
|
|
@@ -88,7 +99,26 @@ var documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportBlo
|
|
|
88
99
|
}
|
|
89
100
|
const insert = useCallback(
|
|
90
101
|
(e) => {
|
|
91
|
-
if (
|
|
102
|
+
if (deDupeByKey) {
|
|
103
|
+
if (tag === "link" && precedence !== void 0) {
|
|
104
|
+
let found2 = false;
|
|
105
|
+
for (const existingElement of head.querySelectorAll(tag)) {
|
|
106
|
+
const existingPrecedence = existingElement.getAttribute(dataPrecedenceAttr);
|
|
107
|
+
if (existingPrecedence === null) {
|
|
108
|
+
head.insertBefore(e, existingElement);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (found2 && existingPrecedence !== precedence) {
|
|
112
|
+
head.insertBefore(e, existingElement);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
if (existingPrecedence === precedence) {
|
|
116
|
+
found2 = true;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
head.appendChild(e);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
92
122
|
let found = false;
|
|
93
123
|
for (const existingElement of head.querySelectorAll(tag)) {
|
|
94
124
|
if (found && existingElement.getAttribute(dataPrecedenceAttr) !== precedence) {
|
|
@@ -100,6 +130,10 @@ var documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportBlo
|
|
|
100
130
|
}
|
|
101
131
|
}
|
|
102
132
|
head.appendChild(e);
|
|
133
|
+
} else if (tag === "link") {
|
|
134
|
+
if (!head.contains(e)) {
|
|
135
|
+
head.appendChild(e);
|
|
136
|
+
}
|
|
103
137
|
} else if (existingElements) {
|
|
104
138
|
let found = false;
|
|
105
139
|
for (const existingElement of existingElements) {
|
|
@@ -117,7 +151,7 @@ var documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportBlo
|
|
|
117
151
|
existingElements = void 0;
|
|
118
152
|
}
|
|
119
153
|
},
|
|
120
|
-
[precedence]
|
|
154
|
+
[deDupeByKey, precedence, tag]
|
|
121
155
|
);
|
|
122
156
|
const ref = composeRef(props.ref, (e) => {
|
|
123
157
|
const key = deDupeKeys[0];
|
|
@@ -130,6 +164,9 @@ var documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportBlo
|
|
|
130
164
|
if (!onError && !onLoad) {
|
|
131
165
|
return;
|
|
132
166
|
}
|
|
167
|
+
if (!key) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
133
170
|
let promise = blockingPromiseMap[e.getAttribute(key)] ||= new Promise(
|
|
134
171
|
(resolve, reject) => {
|
|
135
172
|
e.addEventListener("load", resolve);
|
|
@@ -147,7 +184,7 @@ var documentMetadataTag = (tag, props, preserveNodeType, supportSort, supportBlo
|
|
|
147
184
|
});
|
|
148
185
|
if (supportBlocking && blocking === "render") {
|
|
149
186
|
const key = deDupeKeyMap[tag][0];
|
|
150
|
-
if (props[key]) {
|
|
187
|
+
if (key && props[key]) {
|
|
151
188
|
const value = props[key];
|
|
152
189
|
const promise = blockingPromiseMap[value] ||= new Promise((resolve, reject) => {
|
|
153
190
|
insert(element);
|
|
@@ -223,7 +260,7 @@ var link = (props) => {
|
|
|
223
260
|
ref: props.ref
|
|
224
261
|
};
|
|
225
262
|
}
|
|
226
|
-
return documentMetadataTag("link", props, 1,
|
|
263
|
+
return documentMetadataTag("link", props, 1, isStylesheetLinkWithPrecedence(props), true);
|
|
227
264
|
};
|
|
228
265
|
var meta = (props) => {
|
|
229
266
|
return documentMetadataTag("meta", props, void 0, false, false);
|
|
@@ -8,8 +8,17 @@ var deDupeKeyMap = {
|
|
|
8
8
|
};
|
|
9
9
|
var domRenderers = {};
|
|
10
10
|
var dataPrecedenceAttr = "data-precedence";
|
|
11
|
+
var isStylesheetLinkWithPrecedence = (props) => props.rel === "stylesheet" && "precedence" in props;
|
|
12
|
+
var shouldDeDupeByKey = (tagName, supportSort) => {
|
|
13
|
+
if (tagName === "link") {
|
|
14
|
+
return supportSort;
|
|
15
|
+
}
|
|
16
|
+
return deDupeKeyMap[tagName].length > 0;
|
|
17
|
+
};
|
|
11
18
|
export {
|
|
12
19
|
dataPrecedenceAttr,
|
|
13
20
|
deDupeKeyMap,
|
|
14
|
-
domRenderers
|
|
21
|
+
domRenderers,
|
|
22
|
+
isStylesheetLinkWithPrecedence,
|
|
23
|
+
shouldDeDupeByKey
|
|
15
24
|
};
|