@darkpay/dark-api
Version:
JavaScript API for Darkdot blockchain.
19 lines (18 loc) • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.VisibilityFilter = exports.isPublic = exports.isUnlisted = exports.isEmptyContent = exports.isVisible = exports.isHidden = void 0;
exports.isHidden = (struct) => !struct || struct.hidden.valueOf();
exports.isVisible = (struct) => !exports.isHidden(struct);
exports.isEmptyContent = (struct) => !struct || struct.content.isNone || struct.content.isNull;
exports.isUnlisted = (struct) => exports.isHidden(struct) || exports.isEmptyContent(struct);
exports.isPublic = (struct) => !exports.isUnlisted(struct);
function VisibilityFilter(structs, filter) {
switch (filter) {
case 'onlyVisible': return structs.filter(exports.isVisible);
case 'onlyHidden': return structs.filter(exports.isHidden);
case 'onlyPublic': return structs.filter(exports.isPublic);
case 'onlyUnlisted': return structs.filter(exports.isUnlisted);
default: return structs;
}
}
exports.VisibilityFilter = VisibilityFilter;