camstreamerlib
Version:
Helper library for CamStreamer ACAP applications.
66 lines (65 loc) • 2.26 kB
JavaScript
;
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;