@near-lake/primitives
Version:
Near Protocol primitive datatypes utilized by near-lake-framework and QueryAPI
33 lines (32 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isMatchingReceiptStatus = exports.isSuccessfulReceipt = exports.isMatchingReceiver = exports.isMatchingReceiverSingle = void 0;
function isMatchingReceiverSingle(receiverId, wildcardFilter) {
if (wildcardFilter === "*") {
return true;
}
const regExp = new RegExp(wildcardFilter.replace(/\*/g, "[\\w\\d]+").replace(/\./g, "\\."));
return regExp.test(receiverId);
}
exports.isMatchingReceiverSingle = isMatchingReceiverSingle;
function isMatchingReceiver(receiverId, contractFilter) {
const filters = contractFilter.split(",").map((f) => f.trim());
return filters.some((f) => isMatchingReceiverSingle(receiverId, f));
}
exports.isMatchingReceiver = isMatchingReceiver;
function isSuccessfulReceipt(receiptStatus) {
return (receiptStatus.hasOwnProperty("SuccessValue") ||
receiptStatus.hasOwnProperty("SuccessReceiptId"));
}
exports.isSuccessfulReceipt = isSuccessfulReceipt;
function isMatchingReceiptStatus(receiptStatus, statusFilter) {
switch (statusFilter) {
case "all":
return true;
case "onlySuccessful":
return isSuccessfulReceipt(receiptStatus);
case "onlyFailed":
return receiptStatus.hasOwnProperty("Failure");
}
}
exports.isMatchingReceiptStatus = isMatchingReceiptStatus;