bitcore-node
Version:
A blockchain indexing node with extended capabilities using bitcore
128 lines • 4.18 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.stats = exports.parseArgv = exports.jsonStream = exports.convert = exports.auth = void 0;
exports.overlaps = overlaps;
exports.wait = wait;
exports.tryParse = tryParse;
exports.jsonStringify = jsonStringify;
exports.partition = partition;
exports.isUndefined = isUndefined;
exports.valueOrDefault = valueOrDefault;
exports.isDateValid = isDateValid;
exports.range = range;
exports.castToBool = castToBool;
const auth = __importStar(require("./auth"));
exports.auth = auth;
const convert = __importStar(require("./convert"));
exports.convert = convert;
const jsonStream = __importStar(require("./jsonStream"));
exports.jsonStream = jsonStream;
const parseArgv = __importStar(require("./parseArgv"));
exports.parseArgv = parseArgv;
const stats = __importStar(require("./stats"));
exports.stats = stats;
function overlaps(a, b) {
return !!a?.some((item) => b?.includes(item));
}
async function wait(time) {
return new Promise(resolve => setTimeout(resolve, time).unref());
}
function tryParse(str) {
if (typeof str !== 'string') {
return str;
}
try {
return JSON.parse(str);
}
catch (e) {
return str;
}
}
/**
* Wrapper for JSON.stringify that also converts BigInts to strings
* @param obj
* @returns
*/
function jsonStringify(obj) {
return JSON.stringify(obj, (_key, value) => {
if (typeof value === 'bigint') {
return value.toString();
}
return value;
});
}
function partition(array, n) {
n = n > 0 ? Math.ceil(n) : 1;
return array.length ? [array.slice(0, n)].concat(partition(array.slice(n), n)) : [];
}
function isUndefined(value) {
return value === undefined;
}
function valueOrDefault(value, defaultVal) {
return value != undefined ? value : defaultVal;
}
function isDateValid(dateStr) {
if (!dateStr)
return false;
return new Date(dateStr).toString() !== 'Invalid Date';
}
/**
* Returns an array of numbers from [start, end)
* @param start Start of the range OR (if end is omitted) the number of elements in the range starting from 0
* @param end (optional) End of the range (exclusive)
* @returns If end is omitted, returns [0, start). Otherwise, returns [start, end)
*/
function range(start, end) {
if (end == null) {
end = start;
start = 0;
}
if (start <= end) {
// ascending range
return Array.from({ length: end - start }, (_, i) => start + i);
}
else {
// descending range
return Array.from({ length: start - end }, (_, i) => start - i);
}
}
function castToBool(input) {
if (input?.toLowerCase() === 'true' || input == '1') {
return true;
}
return false;
}
//# sourceMappingURL=index.js.map