@fastly/esi
Version:
ESI implementation for JavaScript, using the modern fetch and streaming APIs.
27 lines (26 loc) • 660 B
JavaScript
/*
* Copyright Fastly, Inc.
* Licensed under the MIT license. See LICENSE file for details.
*/
const encodeTokens = {
"&": "&",
"<": "<",
">": ">",
"\"": """,
"'": "'",
};
export function xmlEncode(str) {
return Object.entries(encodeTokens)
.reduce((cur, [token, replacement]) => cur.replaceAll(token, replacement), str);
}
const decodeTokens = {
"<": "<",
">": ">",
""": "\"",
"'": "'",
"&": "&",
};
export function xmlDecode(str) {
return Object.entries(decodeTokens)
.reduce((cur, [token, replacement]) => cur.replaceAll(token, replacement), str);
}