UNPKG

@fruitsjs/util

Version:

Useful utilities and tools for building Fruits Eco-Blockchain applications

34 lines 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createDeeplink = void 0; const createDeeplinkArgs_1 = require("./typings/args/createDeeplinkArgs"); const convertStringToHexString_1 = require("./convertStringToHexString"); const convertStringToBase64String_1 = require("./convertStringToBase64String"); function encodePayload(payload, encoderFormat) { let data = payload; if (typeof payload !== 'string') { data = JSON.stringify(payload); } switch (encoderFormat) { case createDeeplinkArgs_1.EncoderFormat.Hexadecimal: return (0, convertStringToHexString_1.convertStringToHexString)(data); case createDeeplinkArgs_1.EncoderFormat.Base64: return (0, convertStringToBase64String_1.convertStringToBase64String)(data); case createDeeplinkArgs_1.EncoderFormat.Text: default: return data; } } const createDeeplink = (args) => { const { encoderFormat = createDeeplinkArgs_1.EncoderFormat.Base64, domain, action, payload } = args; let link = domain ? `fruits.${domain}://v1` : `fruits://v1`; if (action) { link += `?action=${action}`; } if (payload) { link += `&payload=${encodePayload(payload, encoderFormat)}`; } return link; }; exports.createDeeplink = createDeeplink; //# sourceMappingURL=createDeeplink.js.map