@oap75/api
Version:
JavaScript API for Subsocial blockchain.
24 lines (23 loc) • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.visibilityFilter = exports.isPublic = exports.isUnlisted = exports.isEmptyContent = exports.isVisible = exports.isHidden = void 0;
const isHidden = (struct) => !struct || struct.hidden.valueOf();
exports.isHidden = isHidden;
const isVisible = (struct) => !(0, exports.isHidden)(struct);
exports.isVisible = isVisible;
const isEmptyContent = (struct) => !struct || struct.content.isNone || struct.content.isNull;
exports.isEmptyContent = isEmptyContent;
const isUnlisted = (struct) => (0, exports.isHidden)(struct) || (0, exports.isEmptyContent)(struct);
exports.isUnlisted = isUnlisted;
const isPublic = (struct) => !(0, exports.isUnlisted)(struct);
exports.isPublic = isPublic;
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;