UNPKG

@nfps.dev/runtime

Version:

Runtime library for NFPs

77 lines 3.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.idb_write = exports.idb_read = exports.ls_write_b64 = exports.ls_read_b64 = exports.ls_write_json = exports.ls_read_json = exports.ls_write = exports.ls_read = exports.create_html = exports.create_svg = exports.qsa = exports.qs = void 0; const belt_1 = require("@blake.regalia/belt"); const neutrino_1 = require("@solar-republic/neutrino"); const idb_keyval_1 = require("idb-keyval"); const constants_1 = require("./constants"); /** * Typed querySelector * @param dm_node * @param sq_selector * @returns */ const qs = (dm_node, sq_selector) => dm_node?.querySelector(sq_selector); exports.qs = qs; /** * Typed querySelectorAll * @param dm_node * @param sq_selector * @returns */ const qsa = (dm_node, sq_selector) => Array.from(dm_node?.querySelectorAll(sq_selector) || []); exports.qsa = qsa; // export const create_element_ns = < // p_ns extends DocumentNamespace=typeof P_NS_SVG, // h_set extends DocumentNamespaceMap[p_ns]=A.Cast<SVGElementTagNameMap, DocumentNamespaceMap[p_ns]>, // si_tag extends Extract<keyof h_set, string>=Extract<keyof h_set, string>, // >(si_tag: si_tag, p_ns?: p_ns): h_set[si_tag] => document.createElementNS(p_ns || P_NS_SVG, si_tag) as h_set[si_tag]; const creator = (p_ns) => (si_tag, h_attrs, a_children) => { // const dm_elmt = create_element_ns(si_tag, p_ns); const dm_elmt = document.createElementNS(p_ns, si_tag); // set attributes for (const si_attr in h_attrs || {}) { // event listener if ('_' === si_attr[0]) { const z_arg = h_attrs[si_attr]; dm_elmt.addEventListener(si_attr.slice(1), ...Array.isArray(z_arg) ? z_arg : [h_attrs[si_attr]]); } else { // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion dm_elmt.setAttribute(si_attr, h_attrs[si_attr]); } } // add children dm_elmt.append(...a_children || []); // return element return dm_elmt; }; /* eslint-disable @typescript-eslint/naming-convention */ exports.create_svg = creator(constants_1.P_NS_SVG); exports.create_html = creator(constants_1.P_NS_HTML); /* eslint-enable */ /* eslint-disable no-sequences */ const ls_read = (si_key) => localStorage.getItem(si_key); exports.ls_read = ls_read; const ls_write = (si_key, s_value) => (localStorage.setItem(si_key, s_value), s_value); exports.ls_write = ls_write; const ls_read_json = (si_key) => (0, neutrino_1.safe_json)((0, exports.ls_read)(si_key) || ''); exports.ls_read_json = ls_read_json; const ls_write_json = (si_key, w_value) => ((0, exports.ls_write)(si_key, JSON.stringify(w_value)), w_value); exports.ls_write_json = ls_write_json; const ls_read_b64 = (si_key) => { const s_value = (0, exports.ls_read)(si_key); return null === s_value ? s_value : (0, belt_1.base64_to_buffer)(s_value); }; exports.ls_read_b64 = ls_read_b64; const ls_write_b64 = (si_key, atu8_data) => ((0, exports.ls_write)(si_key, (0, belt_1.buffer_to_base64)(atu8_data)), atu8_data); exports.ls_write_b64 = ls_write_b64; exports.idb_read = idb_keyval_1.get; const idb_write = async (w_key, w_value) => (await (0, idb_keyval_1.set)(w_key, w_value), w_value); exports.idb_write = idb_write; /* eslint-enable */ //# sourceMappingURL=dom.js.map