UNPKG

@oap75/api

Version:
24 lines (23 loc) 1.2 kB
"use strict"; 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;