@nfps.dev/runtime
Version:
Runtime library for NFPs
47 lines • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.load_script = void 0;
const belt_1 = require("@blake.regalia/belt");
const neutrino_1 = require("@solar-republic/neutrino");
const constants_1 = require("./constants");
const load_script = async (si_package, h_query, k_contract, a_location, z_auth) => {
// submit query
const [g_version, xc_code, s_error, h_response] = await (0, neutrino_1.query_contract_infer)(k_contract, 'package_version', {
package_id: si_package,
token_id: a_location[2],
...h_query,
}, z_auth);
// query error
if (!g_version)
return alert(s_error || JSON.stringify(h_response));
// package is present
const g_package = g_version.package;
if (g_package?.data.bytes) {
// create script
const dm_script = document.createElementNS(constants_1.P_NS_SVG, 'script');
dm_script.setAttribute('type', constants_1.S_CONTENT_TYPE_SCRIPT);
// eslint-disable-next-line prefer-const
let g_data = g_package.data;
let atu8_bytes = (0, belt_1.base64_to_buffer)(g_data.bytes);
// eslint-disable-next-line prefer-const
let s_encoding = g_data.content_encoding;
if (s_encoding) {
const d_reader = new Blob([atu8_bytes]).stream()
.pipeThrough(new DecompressionStream(s_encoding))
.getReader();
const a_chunks = [];
for (;;) {
const { done: b_done, value: atu8_chunk, } = await d_reader.read();
if (b_done)
break;
a_chunks.push(atu8_chunk);
}
atu8_bytes = (0, belt_1.concat)(a_chunks);
}
dm_script.textContent = (0, belt_1.buffer_to_text)(atu8_bytes);
// return script
return dm_script;
}
};
exports.load_script = load_script;
//# sourceMappingURL=connectivity.js.map