solid-panes
Version:
Solid-compatible Panes: applets and views for the mashlib and databrowser
34 lines (33 loc) • 2.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.generateRandomString = generateRandomString;
exports.getStatementsToAdd = getStatementsToAdd;
exports.getStatementsToDelete = getStatementsToDelete;
var _rdflib = require("rdflib");
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function getStatementsToDelete(origin, person, kb, ns) {
var applicationStatements = kb.statementsMatching(null, ns.acl('origin'), origin);
var statementsToDelete = applicationStatements.reduce(function (memo, st) {
return memo.concat(kb.statementsMatching(person, ns.acl('trustedApp'), st.subject)).concat(kb.statementsMatching(st.subject));
}, []);
return statementsToDelete;
}
function getStatementsToAdd(origin, nodeName, modes, person, ns) {
var application = new _rdflib.BlankNode("bn_".concat(nodeName)); // NamedNode(`${person.doc().uri}#${nodeName}`)
return [(0, _rdflib.st)(person, ns.acl('trustedApp'), application, person.doc()), (0, _rdflib.st)(application, ns.acl('origin'), origin, person.doc())].concat(_toConsumableArray(modes.map(function (mode) {
return (0, _rdflib.sym)(mode);
}).map(function (mode) {
return (0, _rdflib.st)(application, ns.acl('mode'), mode, person.doc());
})));
}
function generateRandomString() {
return Math.random().toString(36).substr(2, 5);
}
//# sourceMappingURL=trustedApplications.utils.js.map