UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

66 lines (65 loc) 2.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isNullish = exports.pad = exports.responseStringify = exports.isLoopPlayType = exports.isPlaylist = exports.isTracker = exports.isClip = exports.isStream = exports.isCamera = exports.arrayToUrl = exports.paramToUrl = exports.addParametersToPath = void 0; const addParametersToPath = (path, params) => { if (params === undefined || Object.keys(params).length === 0) { return path; } const joinChar = path.indexOf('?') === -1 ? '?' : '&'; return `${path}${joinChar}${(0, exports.paramToUrl)(params)}`; }; exports.addParametersToPath = addParametersToPath; const paramToUrl = (params) => { if (params === undefined) { return ''; } let output = ''; for (const key in params) { const value = params[key]; if (isNullish(value)) { continue; } output += `${encodeURIComponent(key)}=${encodeURIComponent(value)}&`; } return output.slice(0, output.length - 1); }; exports.paramToUrl = paramToUrl; const arrayToUrl = (arr) => { if (Array.isArray(arr)) { return arr.join(','); } return arr; }; exports.arrayToUrl = arrayToUrl; const isCamera = (id) => id?.charAt(0) === 'c'; exports.isCamera = isCamera; const isStream = (id) => id?.charAt(0) === 'c' || id?.charAt(0) === 'a'; exports.isStream = isStream; const isClip = (id) => id?.charAt(0) === 's'; exports.isClip = isClip; const isTracker = (id) => id?.charAt(0) === 't'; exports.isTracker = isTracker; const isPlaylist = (id) => id?.charAt(0) === 'p'; exports.isPlaylist = isPlaylist; const isLoopPlayType = (playType) => playType.includes('LOOP'); exports.isLoopPlayType = isLoopPlayType; async function responseStringify(res) { return JSON.stringify({ status: res.status, body: await res.text(), }); } exports.responseStringify = responseStringify; function pad(num, size) { const sign = Math.sign(num) === -1 ? '-' : ''; return (sign + new Array(size) .concat([Math.abs(num)]) .join('0') .slice(-size)); } exports.pad = pad; function isNullish(value) { return value === null || value === undefined; } exports.isNullish = isNullish;