one
Version:
One is a React framework for web, iOS, and Android apps.
135 lines (133 loc) • 4.98 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all) __defProp(target, name, {
get: all[name],
enumerable: true
});
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
get: () => from[key],
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var validate_exports = {};
__export(validate_exports, {
assertCrossOrigin: () => assertCrossOrigin,
assertFlag: () => assertFlag,
assertPitchQuality: () => assertPitchQuality,
assertRate: () => assertRate,
assertSeconds: () => assertSeconds,
assertTolerance: () => assertTolerance,
assertVolume: () => assertVolume,
normalizeSource: () => normalizeSource,
rateError: () => rateError,
resolveUpdateInterval: () => resolveUpdateInterval
});
module.exports = __toCommonJS(validate_exports);
var qualities = /* @__PURE__ */ new Set([
"low",
"medium",
"high"
]);
function normalizeSource(source, owner) {
if (source === null || source === void 0) return {};
if (typeof source === "number") {
throw new Error(`${owner}: assetId sources are not supported`);
}
if (typeof source === "string") {
if (source.trim() === "") throw new Error(`${owner}: expected a non-empty audio uri`);
return { uri: source };
}
if (typeof source !== "object") throw new Error(`${owner}: expected an audio source`);
var { uri, headers, name } = source;
if (uri !== void 0 && (typeof uri !== "string" || uri.trim() === "")) {
throw new Error(`${owner}: expected a non-empty audio uri`);
}
if (name !== void 0 && typeof name !== "string") {
throw new Error(`${owner}: expected a string source name`);
}
if (headers !== void 0) {
if (typeof headers !== "object" || headers === null || Array.isArray(headers)) {
throw new Error(`${owner}: expected source headers to be an object`);
}
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
try {
for (var _iterator = Object.values(headers)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var value = _step.value;
if (typeof value !== "string") {
throw new Error(`${owner}: expected source header values to be strings`);
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
}
return {
...uri !== void 0 && { uri },
...headers !== void 0 && { headers }
};
}
function resolveUpdateInterval(options, owner) {
var _ref;
var interval = (_ref = options === null || options === void 0 ? void 0 : options.updateInterval) !== null && _ref !== void 0 ? _ref : 500;
if (typeof interval !== "number" || !Number.isFinite(interval) || interval <= 0) {
throw new Error(`${owner}: expected updateInterval to be a positive number of milliseconds`);
}
return interval;
}
function assertCrossOrigin(crossOrigin, owner) {
if (crossOrigin !== void 0 && crossOrigin !== "anonymous" && crossOrigin !== "use-credentials") {
throw new Error(`${owner}: expected crossOrigin 'anonymous' or 'use-credentials'`);
}
}
function assertRate(rate, owner) {
if (typeof rate !== "number" || !Number.isFinite(rate)) {
throw new Error(`${owner}: expected a finite playback rate`);
}
}
function assertPitchQuality(quality, owner) {
if (typeof quality !== "string" || !qualities.has(quality)) {
throw new Error(`${owner}: expected pitch quality 'low', 'medium' or 'high'`);
}
}
function assertVolume(volume, owner) {
if (typeof volume !== "number" || !Number.isFinite(volume) || volume < 0 || volume > 1) {
throw new Error(`${owner}: expected volume between 0 and 1`);
}
}
function assertSeconds(seconds, owner) {
if (typeof seconds !== "number" || !Number.isFinite(seconds) || seconds < 0) {
throw new Error(`${owner}: expected a finite nonnegative seek position in seconds`);
}
}
function assertTolerance(tolerance, owner) {
if (typeof tolerance !== "number" || !Number.isFinite(tolerance) || tolerance < 0) {
throw new Error(`${owner}: expected a finite nonnegative tolerance in milliseconds`);
}
}
function assertFlag(value, owner) {
if (typeof value !== "boolean") throw new Error(`${owner}: expected a boolean`);
}
function rateError(owner) {
return Object.assign(new Error(`${owner}: playback rate is outside the platform range`), { code: "E_AUDIO_RATE" });
}