Files
klz-cables.com/.pnpm-store/v10/files/f6/c01b1febb13357fff7a3ec701baa338bf0c768261bb63e5e7d63f343a2236b9966f163e3694780ea8b24ecbc8cad41de59b497f9ec6aee2010afbb1674f5fe
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

44 lines
922 B
Plaintext

import { invariant } from "./utils.js";
/**
* https://tc39.es/ecma402/#sec-unicodeextensionvalue
* @param extension
* @param key
*/
export function UnicodeExtensionValue(extension, key) {
invariant(key.length === 2, "key must have 2 elements");
const size = extension.length;
let searchValue = `-${key}-`;
let pos = extension.indexOf(searchValue);
if (pos !== -1) {
const start = pos + 4;
let end = start;
let k = start;
let done = false;
while (!done) {
const e = extension.indexOf("-", k);
let len;
if (e === -1) {
len = size - k;
} else {
len = e - k;
}
if (len === 2) {
done = true;
} else if (e === -1) {
end = size;
done = true;
} else {
end = e;
k = e + 1;
}
}
return extension.slice(start, end);
}
searchValue = `-${key}`;
pos = extension.indexOf(searchValue);
if (pos !== -1 && pos + 3 === size) {
return "";
}
return undefined;
}