Download node_modules/hono/dist/jsx/utils.js from Snapkitty/agentscope-sift: direct link, hf CLI and curl.
- Browser
- Download file 5.02 kB
-
https://huggingface.co/Snapkitty/agentscope-sift/resolve/main/node_modules/hono/dist/jsx/utils.js
- Command line
-
hf download hf://Snapkitty/agentscope-sift/node_modules/hono/dist/jsx/utils.js
-
curl -L -o utils.js https://huggingface.co/Snapkitty/agentscope-sift/resolve/main/node_modules/hono/dist/jsx/utils.js
5.02 kB
| // src/jsx/utils.ts | |
| var normalizeElementKeyMap = /* @__PURE__ */ new Map([ | |
| ["className", "class"], | |
| ["htmlFor", "for"], | |
| ["crossOrigin", "crossorigin"], | |
| ["httpEquiv", "http-equiv"], | |
| ["itemProp", "itemprop"], | |
| ["fetchPriority", "fetchpriority"], | |
| ["noModule", "nomodule"], | |
| ["formAction", "formaction"] | |
| ]); | |
| var normalizeIntrinsicElementKey = (key) => normalizeElementKeyMap.get(key) || key; | |
| var invalidAttributeNameCharRe = /[\s"'<>/=`\\\x00-\x1f\x7f-\x9f]/; | |
| var validAttributeNameCache = /* @__PURE__ */ new Set(); | |
| var validAttributeNameCacheMax = 1024; | |
| var invalidTagNameCharRe = /^[!?]|[\s"'<>/=`\\\x00-\x1f\x7f-\x9f]/; | |
| var validTagNameCache = /* @__PURE__ */ new Set(); | |
| var validTagNameCacheMax = 256; | |
| var cacheValidName = (cache, max, name) => { | |
| if (cache.size >= max) { | |
| cache.clear(); | |
| } | |
| cache.add(name); | |
| }; | |
| var isValidTagName = (name) => { | |
| if (validTagNameCache.has(name)) { | |
| return true; | |
| } | |
| if (typeof name !== "string") { | |
| return false; | |
| } | |
| if (name.length === 0) { | |
| return true; | |
| } | |
| if (invalidTagNameCharRe.test(name)) { | |
| return false; | |
| } | |
| cacheValidName(validTagNameCache, validTagNameCacheMax, name); | |
| return true; | |
| }; | |
| var isValidAttributeName = (name) => { | |
| if (validAttributeNameCache.has(name)) { | |
| return true; | |
| } | |
| const len = name.length; | |
| if (len === 0) { | |
| return false; | |
| } | |
| for (let i = 0; i < len; i++) { | |
| const c = name.charCodeAt(i); | |
| if (!(c >= 97 && c <= 122 || // a-z | |
| c >= 65 && c <= 90 || // A-Z | |
| c >= 48 && c <= 57 || // 0-9 | |
| c === 45 || // - | |
| c === 95 || // _ | |
| c === 46 || // . | |
| c === 58)) { | |
| if (!invalidAttributeNameCharRe.test(name)) { | |
| cacheValidName(validAttributeNameCache, validAttributeNameCacheMax, name); | |
| return true; | |
| } else { | |
| return false; | |
| } | |
| } | |
| } | |
| cacheValidName(validAttributeNameCache, validAttributeNameCacheMax, name); | |
| return true; | |
| }; | |
| var invalidStylePropertyNameCharRe = /[\s"'():;\\/\[\]{}\x00-\x1f\x7f-\x9f]/; | |
| var validStylePropertyNameCache = /* @__PURE__ */ new Set(); | |
| var validStylePropertyNameCacheMax = 1024; | |
| var isValidStylePropertyName = (name) => { | |
| if (validStylePropertyNameCache.has(name)) { | |
| return true; | |
| } | |
| const len = name.length; | |
| if (len === 0) { | |
| return false; | |
| } | |
| for (let i = 0; i < len; i++) { | |
| const c = name.charCodeAt(i); | |
| if (!(c >= 97 && c <= 122 || // a-z | |
| c >= 65 && c <= 90 || // A-Z | |
| c >= 48 && c <= 57 || // 0-9 | |
| c === 45 || // - | |
| c === 95)) { | |
| if (!invalidStylePropertyNameCharRe.test(name)) { | |
| cacheValidName(validStylePropertyNameCache, validStylePropertyNameCacheMax, name); | |
| return true; | |
| } else { | |
| return false; | |
| } | |
| } | |
| } | |
| cacheValidName(validStylePropertyNameCache, validStylePropertyNameCacheMax, name); | |
| return true; | |
| }; | |
| var unsafeStyleValueCharRe = /[;"'\\/\[\](){}]/; | |
| var hasUnsafeStyleValue = (value) => { | |
| if (!unsafeStyleValueCharRe.test(value)) { | |
| return false; | |
| } | |
| let quote = 0; | |
| const blockStack = []; | |
| for (let i = 0, len = value.length; i < len; i++) { | |
| const c = value.charCodeAt(i); | |
| if (c === 92) { | |
| if (i === len - 1) { | |
| return true; | |
| } | |
| i++; | |
| } else if (quote !== 0) { | |
| if (c === 10 || c === 12 || c === 13) { | |
| return true; | |
| } | |
| if (c === quote) { | |
| quote = 0; | |
| } | |
| } else if (c === 47 && value.charCodeAt(i + 1) === 42) { | |
| const end = value.indexOf("*/", i + 2); | |
| if (end === -1) { | |
| return true; | |
| } | |
| i = end + 1; | |
| } else if (c === 34 || c === 39) { | |
| quote = c; | |
| } else if (c === 40) { | |
| blockStack.push(41); | |
| } else if (c === 91) { | |
| blockStack.push(93); | |
| } else if (c === 123 || c === 125) { | |
| return true; | |
| } else if (c === 41 || c === 93) { | |
| if (blockStack[blockStack.length - 1] !== c) { | |
| return true; | |
| } | |
| blockStack.pop(); | |
| } else if (c === 59 && blockStack.length === 0) { | |
| return true; | |
| } | |
| } | |
| return quote !== 0 || blockStack.length !== 0; | |
| }; | |
| var styleObjectForEach = (style, fn) => { | |
| for (const [k, v] of Object.entries(style)) { | |
| const key = k[0] === "-" || !/[A-Z]/.test(k) ? k : k.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`); | |
| if (!isValidStylePropertyName(key)) { | |
| continue; | |
| } | |
| if (v == null) { | |
| fn(key, null); | |
| continue; | |
| } | |
| let value; | |
| if (typeof v === "number") { | |
| value = !key.match( | |
| /^(?:a|border-im|column(?:-c|s)|flex(?:$|-[^b])|grid-(?:ar|[^a])|font-w|li|or|sca|st|ta|wido|z)|ty$/ | |
| ) ? `${v}px` : `${v}`; | |
| } else if (typeof v === "string") { | |
| if (hasUnsafeStyleValue(v)) { | |
| continue; | |
| } | |
| value = v; | |
| } else { | |
| continue; | |
| } | |
| fn(key, value); | |
| } | |
| }; | |
| export { | |
| isValidAttributeName, | |
| isValidTagName, | |
| normalizeIntrinsicElementKey, | |
| styleObjectForEach | |
| }; | |