rxdb
Version:
A local-first realtime NoSQL Database for JavaScript applications - https://rxdb.info/
54 lines (51 loc) • 1.34 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.RXJS_SHARE_REPLAY_DEFAULTS = void 0;
exports.ensureInteger = ensureInteger;
exports.ensureNotFalsy = ensureNotFalsy;
exports.nameFunction = nameFunction;
exports.runXTimes = runXTimes;
function runXTimes(xTimes, fn) {
new Array(xTimes).fill(0).forEach((_v, idx) => fn(idx));
}
function ensureNotFalsy(obj, message) {
if (!obj) {
if (!message) {
message = '';
}
throw new Error('ensureNotFalsy() is falsy: ' + message);
}
return obj;
}
function ensureInteger(obj) {
if (!Number.isInteger(obj)) {
throw new Error('ensureInteger() is falsy');
}
return obj;
}
/**
* Using shareReplay() without settings will not unsubscribe
* if there are no more subscribers.
* So we use these defaults.
* @link https://cartant.medium.com/rxjs-whats-changed-with-sharereplay-65c098843e95
*/
var RXJS_SHARE_REPLAY_DEFAULTS = exports.RXJS_SHARE_REPLAY_DEFAULTS = {
bufferSize: 1,
refCount: true
};
/**
* Dynamically add a name to a function
* so that it can later be found in the stack.
* @link https://stackoverflow.com/a/41854075/3443137
*/
function nameFunction(name, body) {
// @ts-ignore
return {
[name](...args) {
return body.apply(this, args);
}
}[name];
}
//# sourceMappingURL=utils-other.js.map
;