UNPKG

@shockpkg/ria-packager

Version:

Package for creating Adobe AIR packages

102 lines (91 loc) 2.27 kB
/** * Default value if value is undefined. * * @param value Value. * @param defaultValue Default value. * @returns Value or the default value if undefined. */ export function defaultValue(value, defaultValue) { // eslint-disable-next-line no-undefined return value === undefined ? defaultValue : value; } /** * Default null if value is undefined. * * @param value Value. * @returns Value or null if undefined. */ export function defaultNull(value) { return defaultValue(value, null); } /** * Default false if value is undefined. * * @param value Value. * @returns Value or false if undefined. */ export function defaultFalse(value) { return defaultValue(value, false); } /** * Default true if value is undefined. * * @param value Value. * @returns Value or true if undefined. */ export function defaultTrue(value) { return defaultValue(value, true); } /** * Trim dot flash from head of path. * * @param path Path string. * @returns Trimmed path. */ export function trimDotSlash(path) { return path.replace(/^(\.\/)+/, ''); } /** * Find path relative from base, if base matches. * * @param path Path to match against. * @param start Search start. * @param nocase Match case-insensitive. * @returns Returns path, or null. */ export function pathRelativeBase(path, start, nocase = false) { const p = trimDotSlash(nocase ? path.toLowerCase() : path); const s = trimDotSlash(nocase ? start.toLowerCase() : start); if (p === s) { return ''; } if (p.startsWith(`${s}/`)) { return path.substr(s.length + 1); } return null; } /** * Same as pathRelativeBase, but retuns true on a match, else false. * * @param path Path to match against. * @param start Search start. * @param nocase Match case-insensitive. * @returns Returns true on match, else false. */ export function pathRelativeBaseMatch(path, start, nocase = false) { return pathRelativeBase(path, start, nocase) !== null; } /** * Get ArrayBuffer from Buffer. * * @param buffer Buffer instance. * @returns ArrayBuffer copy. */ export function bufferToArrayBuffer(buffer) { const { byteOffset, byteLength } = buffer; return buffer.buffer.slice(byteOffset, byteOffset + byteLength); } //# sourceMappingURL=util.mjs.map