@technobuddha/library
Version:
A large library of useful functions
17 lines • 1.52 kB
JavaScript
import { build } from "./build.js";
import { escapeHTML } from "./escape-html.js";
import { space } from "./unicode.js";
/**
* Surround text with an HTML tag
* @param input - The text to surround
* @param tagName - The name of the tag
* @param attributes - A dictionary of name value pairs to use for attributes
* @returns HTML tag with text
* @group String
* @category Construction
*/
export function tag(input, tagName = 'span', attributes = {}) {
return build('<', tagName, Object.entries(attributes).flatMap(([k, v]) => [space, k, '="', escapeHTML(v), '"']), '>', escapeHTML(input), '</', tagName, '>');
}
export default tag;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLEdBQUcsQ0FDakIsS0FBYSxFQUNiLE9BQU8sR0FBRyxNQUFNLEVBQ2hCLGFBQXFDLEVBQUU7SUFFdkMsT0FBTyxLQUFLLENBQ1YsR0FBRyxFQUNILE9BQU8sRUFDUCxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUNwRixHQUFHLEVBQ0gsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUNqQixJQUFJLEVBQ0osT0FBTyxFQUNQLEdBQUcsQ0FDSixDQUFDO0FBQ0osQ0FBQztBQUVELGVBQWUsR0FBRyxDQUFDIn0=