solid-ui 2.4.28-21f105c8 → 2.4.28-4687e65a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"thread.js","names":["_iconBase","require","_solidLogic","_index","ns","_interopRequireWildcard","login","pad","$rdf","style","utils","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UI","icons","media","thread","dom","kb","subject","messageStore","options","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","_ref","_asyncToGenerator2","_regenerator","mark","_callee","_yield$appendMsg","dateStamp","sts","sendComplete","wrap","_callee$","_context","prev","next","field","disabled","appendMsg","value","sent","success","body","errorMessageBlock","bindings","literal","renderMessage","update","stop","apply","arguments","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","_ref2","_callee2","e","_callee2$","_context2","keyCode","altKey","_x","button","iconBase","buttonStyle","context","ensureLoggedIn","then","_ref3","fieldValue","oldMsg","length","undefined","_callee3","now","timestamp","msgBody","_callee3$","_context3","Date","getTime","sym","t0","t1","Statement","mostRecentVersion","t2","t3","t4","t5","t6","push","wf","concat","nick","sioc","foaf","abrupt","_x2","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","msg","statementsMatching","_deleteMessage","_ref4","_callee4","deletions","_callee4$","_context4","connectedStatements","ok","_x3","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","_ref5","_callee5","_yield$appendMsg2","_callee5$","_context5","_x4","query","Query","v","vs","x","vars","variable","pat","add","dct","doneQuery","refresh"],"sources":["../../src/chat/thread.js"],"sourcesContent":["/**\n * Contains the [[thread]] function\n * @packageDocumentation\n */\n\nimport { icons } from '../iconBase'\nimport { store } from 'solid-logic'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as login from '../login/login'\nimport * as pad from '../pad'\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\n\nconst UI = { icons, ns, media, pad, style, utils, widgets }\n\n/**\n * HTML component for a chat thread\n */\nexport function thread (dom, kb, subject, messageStore, options) {\n kb = kb || store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = $rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable\n\n let me\n\n const updater = store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n /**\n * Form for a new message\n */\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = async function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const { message, dateStamp, sts } = await appendMsg(field.value)\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n async function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n await sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n const appendMsg = async function (fieldValue, oldMsg = {}, options = '') { // alain\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(await mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? fieldValue : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n return { message, dateStamp, sts }\n }\n\n function nick (person) {\n const s = store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = store.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const mostRecentVersion = function (message) {\n let msg = message\n // const listMsg = []\n while (msg) {\n message = msg\n // listMsg.push(msg)\n msg = store.statementsMatching(message, DCT('isReplacedBy'))\n }\n return message\n }\n\n const _deleteMessage = async function (message) { // alain: must delete message and all linked with isReplacedBy\n // alain: check that me is not the author and ask for confirmation.\n const deletions = await store.connectedStatements(message, messageStore)\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': store.any(message, ns.foaf('maker')),\n '?date': store.any(message, DCT('created')),\n '?content': store.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n async function (_event) { // alain: test for delete or edit depending on me = maker\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n // deleteMessage(message) // alain or sendMessage(message, 'delete' or 'edit') //alain\n if (me.value === store.any(message, ns.foaf('maker')).value) {\n const { sts } = await appendMsg() // alain\n updater.update([], sts)\n }\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new $rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n store.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"thread.js","names":["_iconBase","require","_solidLogic","_index","ns","_interopRequireWildcard","login","pad","$rdf","style","utils","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UI","icons","media","thread","dom","kb","subject","messageStore","options","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","_ref","_asyncToGenerator2","_regenerator","mark","_callee2","_yield$appendMsg","dateStamp","sts","sendComplete","wrap","_callee2$","_context2","prev","next","field","disabled","appendMsg","value","sent","_ref2","_callee","success","body","bindings","_callee$","_context","errorMessageBlock","literal","renderMessage","stop","_x","_x2","_x3","apply","arguments","updateMany","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","_ref3","_callee3","e","_callee3$","_context3","keyCode","altKey","_x4","button","iconBase","buttonStyle","context","ensureLoggedIn","then","_ref4","fieldValue","oldMsg","length","undefined","_callee4","now","timestamp","msgBody","_callee4$","_context4","Date","getTime","sym","t0","t1","Statement","mostRecentVersion","t2","t3","t4","t5","t6","push","wf","concat","nick","sioc","foaf","abrupt","_x5","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","msg","statementsMatching","_deleteMessage","_ref5","_callee5","deletions","_callee5$","_context5","connectedStatements","ok","_x6","_ref6","_callee6","_callee6$","_context6","_x7","_ref7","_callee9","fresh","content","dateString","tr","done","td2","td3","delButton","_callee9$","_context9","insertBefore","shortDate","_ref8","_callee8","_event","cancelButton","sureButton","_callee8$","_context8","_ref9","_callee7","_yield$appendMsg2","_callee7$","_context7","_x11","_x10","_x8","_x9","query","Query","v","vs","x","vars","variable","pat","add","dct","doneQuery","refresh"],"sources":["../../src/chat/thread.js"],"sourcesContent":["/**\n * Contains the [[thread]] function\n * @packageDocumentation\n */\n\nimport { icons } from '../iconBase'\nimport { store } from 'solid-logic'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as login from '../login/login'\nimport * as pad from '../pad'\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\n\nconst UI = { icons, ns, media, pad, style, utils, widgets }\n\n/**\n * HTML component for a chat thread\n */\nexport function thread (dom, kb, subject, messageStore, options) {\n kb = kb || store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = $rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable\n\n let me\n\n const updater = store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n /**\n * Form for a new message\n */\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = async function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const { message, dateStamp, sts } = await appendMsg(field.value)\n\n const sendComplete = async function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n await updater.updateMany([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n async function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n await sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n const appendMsg = async function (fieldValue, oldMsg = {}, options = '') { // alain\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(await mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? fieldValue : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n return { message, dateStamp, sts }\n }\n\n function nick (person) {\n const s = store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = store.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const mostRecentVersion = function (message) {\n let msg = message\n // const listMsg = []\n while (msg) {\n message = msg\n // listMsg.push(msg)\n msg = store.statementsMatching(message, DCT('isReplacedBy'))\n }\n return message\n }\n\n const _deleteMessage = async function (message) { // alain: must delete message and all linked with isReplacedBy\n // alain: check that me is not the author and ask for confirmation.\n const deletions = await store.connectedStatements(message, messageStore)\n await updater.updateMany(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = async function (message) {\n const bindings = {\n '?msg': message,\n '?creator': store.any(message, ns.foaf('maker')),\n '?date': store.any(message, DCT('created')),\n '?content': store.any(message, ns.sioc('content'))\n }\n await renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = async function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n async function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n async function (_event) { // alain: test for delete or edit depending on me = maker\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n // deleteMessage(message) // alain or sendMessage(message, 'delete' or 'edit') //alain\n if (me.value === store.any(message, ns.foaf('maker')).value) {\n const { sts } = await appendMsg() // alain\n await updater.updateMany([], sts) // alain\n }\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new $rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n store.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { NamedNode } from 'rdflib';
2
- export declare const pubKeyUrl: (webId: NamedNode) => Promise<string>;
2
+ export declare const pubKeyUrl: (webId: NamedNode) => any;
3
+ export declare const privKeyUrl: (webId: NamedNode) => any;
3
4
  export declare function getExistingPublicKey(webId: NamedNode, publicKeyUrl: string): Promise<string | undefined>;
4
- export declare const privKeyUrl: (webId: NamedNode) => Promise<string>;
5
5
  export declare function getExistingPrivateKey(webId: NamedNode, privateKeyUrl: string): Promise<string | undefined>;
6
6
  type KeyType = 'publicKey' | 'privateKey';
7
7
  export declare function getKeyIfExists(webId: NamedNode, keyUrl: string, keyType: KeyType): Promise<string | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"accessData.d.ts","sourceRoot":"","sources":["../../../src/utils/keyHelpers/accessData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AA2BlC,eAAO,MAAM,SAAS,UAAiB,SAAS,oBAQ/C,CAAA;AAED,wBAAsB,oBAAoB,CAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,+BAGjF;AAED,eAAO,MAAM,UAAU,UAAiB,SAAS,oBAUhD,CAAA;AAED,wBAAsB,qBAAqB,CAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,+BAGnF;AAED,KAAK,OAAO,GAAG,WAAW,GAAG,YAAY,CAAA;AAEzC,wBAAsB,cAAc,CAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,+BA2BvF"}
1
+ {"version":3,"file":"accessData.d.ts","sourceRoot":"","sources":["../../../src/utils/keyHelpers/accessData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAGlC,eAAO,MAAM,SAAS,UAAW,SAAS,QASzC,CAAA;AAED,eAAO,MAAM,UAAU,UAAW,SAAS,QAS1C,CAAA;AAED,wBAAsB,oBAAoB,CAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,+BAEjF;AAED,wBAAsB,qBAAqB,CAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,+BAEnF;AAED,KAAK,OAAO,GAAG,WAAW,GAAG,YAAY,CAAA;AAEzC,wBAAsB,cAAc,CAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,+BASvF"}
@@ -14,176 +14,96 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
14
14
  var debug = _interopRequireWildcard(require("../../debug"));
15
15
  var _solidLogic = require("solid-logic");
16
16
  var ns = _interopRequireWildcard(require("../../ns"));
17
+ var _otherHelpers = require("./otherHelpers");
17
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
- /* export const getPodRoot = async (webId: NamedNode) => {
20
- const webIdURL = new URL(webId.uri)
21
- // find storages in webId document
22
- await store.fetcher.load(webId.uri)
23
- const storages = store.each(webId, ns.space('storage'), null, webId.doc())
24
- var podRoot: NamedNode | undefined
25
- if (!storages?.length) {
26
- // find storage recursively in webId URL
27
- let path = webIdURL.pathname
28
- while (path.length) {
29
- path = path.substring(0, path.lastIndexOf('/'))
30
- podRoot = store.sym(webIdURL.origin + path + '/')
31
- const res = await store.fetcher.webOperation('HEAD', podRoot.uri)
32
- if (res.headers.get('link')?.includes(ns.space('Storage').value)) break
33
- if (!path) debug.warn(`Current user storage not found for\n${webId}`)
34
- }
35
- } else {
36
- // give preference to storage in webId root
37
- podRoot = storages.find((storage) => webIdURL.origin === new URL(storage.value).origin) as NamedNode
38
- if (!podRoot) podRoot = storages[0] as NamedNode
20
+ var pubKeyUrl = function pubKeyUrl(webId) {
21
+ var url;
22
+ try {
23
+ var root = (0, _otherHelpers.getRootIfPreferencesExist)(webId);
24
+ url = "".concat(root, "/profile/keys/publicKey.ttl");
25
+ } catch (err) {
26
+ debug.error(err);
39
27
  }
40
-
41
- return podRoot as NamedNode
42
- } */
43
-
44
- var pubKeyUrl = /*#__PURE__*/function () {
45
- var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
46
- var _store$any, _parentSettings;
47
- var parentSettings;
48
- return _regenerator["default"].wrap(function _callee$(_context) {
49
- while (1) switch (_context.prev = _context.next) {
50
- case 0:
51
- parentSettings = (_store$any = _solidLogic.store.any(webId, ns.space('preferencesFile'), null, webId.doc())) === null || _store$any === void 0 ? void 0 : _store$any.value;
52
- parentSettings = (_parentSettings = parentSettings) === null || _parentSettings === void 0 ? void 0 : _parentSettings.split('/').slice(0, -2).join('/');
53
- if (parentSettings) {
54
- _context.next = 4;
55
- break;
56
- }
57
- throw new Error("prefererencesFile is expected to exist in ".concat(webId.doc));
58
- case 4:
59
- return _context.abrupt("return", "".concat(parentSettings, "/profile/keys/publicKey.ttl"));
60
- case 5:
61
- case "end":
62
- return _context.stop();
63
- }
64
- }, _callee);
65
- }));
66
- return function pubKeyUrl(_x) {
67
- return _ref.apply(this, arguments);
68
- };
69
- }();
28
+ return url;
29
+ };
70
30
  exports.pubKeyUrl = pubKeyUrl;
71
- function getExistingPublicKey(_x2, _x3) {
31
+ var privKeyUrl = function privKeyUrl(webId) {
32
+ var url;
33
+ try {
34
+ var root = (0, _otherHelpers.getRootIfPreferencesExist)(webId);
35
+ url = "".concat(root, "/keys/privateKey.ttl");
36
+ } catch (err) {
37
+ debug.error(err);
38
+ }
39
+ return url;
40
+ };
41
+ exports.privKeyUrl = privKeyUrl;
42
+ function getExistingPublicKey(_x, _x2) {
72
43
  return _getExistingPublicKey.apply(this, arguments);
73
44
  }
74
45
  function _getExistingPublicKey() {
75
- _getExistingPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId, publicKeyUrl) {
76
- return _regenerator["default"].wrap(function _callee3$(_context3) {
77
- while (1) switch (_context3.prev = _context3.next) {
46
+ _getExistingPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId, publicKeyUrl) {
47
+ return _regenerator["default"].wrap(function _callee$(_context) {
48
+ while (1) switch (_context.prev = _context.next) {
78
49
  case 0:
79
- _context3.next = 2;
50
+ _context.next = 2;
80
51
  return getKeyIfExists(webId, publicKeyUrl, 'publicKey');
81
52
  case 2:
82
- return _context3.abrupt("return", _context3.sent);
53
+ return _context.abrupt("return", _context.sent);
83
54
  case 3:
84
55
  case "end":
85
- return _context3.stop();
56
+ return _context.stop();
86
57
  }
87
- }, _callee3);
58
+ }, _callee);
88
59
  }));
89
60
  return _getExistingPublicKey.apply(this, arguments);
90
61
  }
91
- var privKeyUrl = /*#__PURE__*/function () {
92
- var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
93
- var _store$any2, _settings;
94
- var settings;
95
- return _regenerator["default"].wrap(function _callee2$(_context2) {
96
- while (1) switch (_context2.prev = _context2.next) {
97
- case 0:
98
- settings = (_store$any2 = _solidLogic.store.any(webId, ns.space('preferencesFile'), null, webId.doc())) === null || _store$any2 === void 0 ? void 0 : _store$any2.value;
99
- settings = (_settings = settings) === null || _settings === void 0 ? void 0 : _settings.split('/').slice(0, -1).join('/');
100
- if (settings) {
101
- _context2.next = 4;
102
- break;
103
- }
104
- throw new Error("prefererencesFile is expected to exist in ".concat(webId.doc));
105
- case 4:
106
- return _context2.abrupt("return", "".concat(settings, "/keys/privateKey.ttl"));
107
- case 5:
108
- case "end":
109
- return _context2.stop();
110
- }
111
- }, _callee2);
112
- }));
113
- return function privKeyUrl(_x4) {
114
- return _ref2.apply(this, arguments);
115
- };
116
- }();
117
- exports.privKeyUrl = privKeyUrl;
118
- function getExistingPrivateKey(_x5, _x6) {
62
+ function getExistingPrivateKey(_x3, _x4) {
119
63
  return _getExistingPrivateKey.apply(this, arguments);
120
64
  }
121
65
  function _getExistingPrivateKey() {
122
- _getExistingPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(webId, privateKeyUrl) {
123
- return _regenerator["default"].wrap(function _callee4$(_context4) {
124
- while (1) switch (_context4.prev = _context4.next) {
66
+ _getExistingPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId, privateKeyUrl) {
67
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
68
+ while (1) switch (_context2.prev = _context2.next) {
125
69
  case 0:
126
- _context4.next = 2;
70
+ _context2.next = 2;
127
71
  return getKeyIfExists(webId, privateKeyUrl, 'privateKey');
128
72
  case 2:
129
- return _context4.abrupt("return", _context4.sent);
73
+ return _context2.abrupt("return", _context2.sent);
130
74
  case 3:
131
75
  case "end":
132
- return _context4.stop();
76
+ return _context2.stop();
133
77
  }
134
- }, _callee4);
78
+ }, _callee2);
135
79
  }));
136
80
  return _getExistingPrivateKey.apply(this, arguments);
137
81
  }
138
- function getKeyIfExists(_x7, _x8, _x9) {
82
+ function getKeyIfExists(_x5, _x6, _x7) {
139
83
  return _getKeyIfExists.apply(this, arguments);
140
84
  }
141
85
  function _getKeyIfExists() {
142
- _getKeyIfExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(webId, keyUrl, keyType) {
86
+ _getKeyIfExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId, keyUrl, keyType) {
143
87
  var key;
144
- return _regenerator["default"].wrap(function _callee5$(_context5) {
145
- while (1) switch (_context5.prev = _context5.next) {
88
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
89
+ while (1) switch (_context3.prev = _context3.next) {
146
90
  case 0:
147
- _context5.prev = 0;
148
- _context5.next = 3;
91
+ _context3.prev = 0;
92
+ _context3.next = 3;
149
93
  return _solidLogic.store.fetcher.load(keyUrl);
150
94
  case 3:
151
95
  key = _solidLogic.store.any(webId, ns.solid(keyType)); // store.sym(CERT + keyType))
152
- return _context5.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
96
+ return _context3.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
153
97
  case 7:
154
- _context5.prev = 7;
155
- _context5.t0 = _context5["catch"](0);
156
- if (!(_context5.t0.response.status === 404)) {
157
- _context5.next = 24;
158
- break;
159
- }
160
- debug.log('createIfNotExists: doc does NOT exist, will create... ' + keyUrl);
161
- _context5.prev = 11;
162
- _context5.next = 14;
163
- return _solidLogic.store.fetcher.webOperation('PUT', keyUrl, {
164
- data: '',
165
- contentType: 'text/turtle'
166
- });
167
- case 14:
168
- _context5.next = 20;
169
- break;
170
- case 16:
171
- _context5.prev = 16;
172
- _context5.t1 = _context5["catch"](11);
173
- debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context5.t1);
174
- throw _context5.t1;
175
- case 20:
176
- delete _solidLogic.store.fetcher.requested[keyUrl]; // delete cached 404 error
177
- // debug.log('createIfNotExists doc created ok ' + doc)
178
- return _context5.abrupt("return", undefined);
179
- case 24:
180
- debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context5.t0);
181
- throw _context5.t0;
182
- case 26:
98
+ _context3.prev = 7;
99
+ _context3.t0 = _context3["catch"](0);
100
+ debug.error('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context3.t0);
101
+ return _context3.abrupt("return", undefined);
102
+ case 11:
183
103
  case "end":
184
- return _context5.stop();
104
+ return _context3.stop();
185
105
  }
186
- }, _callee5, null, [[0, 7], [11, 16]]);
106
+ }, _callee3, null, [[0, 7]]);
187
107
  }));
188
108
  return _getKeyIfExists.apply(this, arguments);
189
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"accessData.js","names":["debug","_interopRequireWildcard","require","_solidLogic","ns","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","pubKeyUrl","_ref","_asyncToGenerator2","_regenerator","mark","_callee","webId","_store$any","_parentSettings","parentSettings","wrap","_callee$","_context","prev","next","store","any","space","doc","value","split","slice","join","Error","concat","abrupt","stop","_x","apply","arguments","exports","getExistingPublicKey","_x2","_x3","_getExistingPublicKey","_callee3","publicKeyUrl","_callee3$","_context3","getKeyIfExists","sent","privKeyUrl","_ref2","_callee2","_store$any2","_settings","settings","_callee2$","_context2","_x4","getExistingPrivateKey","_x5","_x6","_getExistingPrivateKey","_callee4","privateKeyUrl","_callee4$","_context4","_x7","_x8","_x9","_getKeyIfExists","_callee5","keyUrl","keyType","_callee5$","_context5","fetcher","load","solid","t0","response","status","log","webOperation","data","contentType","t1","requested","undefined"],"sources":["../../../src/utils/keyHelpers/accessData.ts"],"sourcesContent":["import * as debug from '../../debug'\nimport { store } from 'solid-logic'\nimport * as ns from '../../ns'\nimport { NamedNode } from 'rdflib'\n\n/* export const getPodRoot = async (webId: NamedNode) => {\n const webIdURL = new URL(webId.uri)\n // find storages in webId document\n await store.fetcher.load(webId.uri)\n const storages = store.each(webId, ns.space('storage'), null, webId.doc())\n var podRoot: NamedNode | undefined\n if (!storages?.length) {\n // find storage recursively in webId URL\n let path = webIdURL.pathname\n while (path.length) {\n path = path.substring(0, path.lastIndexOf('/'))\n podRoot = store.sym(webIdURL.origin + path + '/')\n const res = await store.fetcher.webOperation('HEAD', podRoot.uri)\n if (res.headers.get('link')?.includes(ns.space('Storage').value)) break\n if (!path) debug.warn(`Current user storage not found for\\n${webId}`)\n }\n } else {\n // give preference to storage in webId root\n podRoot = storages.find((storage) => webIdURL.origin === new URL(storage.value).origin) as NamedNode\n if (!podRoot) podRoot = storages[0] as NamedNode\n }\n\n return podRoot as NamedNode\n} */\n\nexport const pubKeyUrl = async (webId: NamedNode) => {\n let parentSettings = store.any(webId, ns.space('preferencesFile'), null, webId.doc())?.value\n parentSettings = parentSettings?.split('/').slice(0, -2).join('/')\n if (!parentSettings) throw new Error(`prefererencesFile is expected to exist in ${webId.doc}`)\n return `${parentSettings}/profile/keys/publicKey.ttl`\n /* try {\n return (await getPodRoot(webId)).value + 'profile/keys/publicKey.ttl'\n } catch (err) { throw new Error(err) } */\n}\n\nexport async function getExistingPublicKey (webId: NamedNode, publicKeyUrl: string) {\n // find publickey\n return await getKeyIfExists(webId, publicKeyUrl, 'publicKey')\n}\n\nexport const privKeyUrl = async (webId: NamedNode) => {\n let settings = store.any(webId, ns.space('preferencesFile'), null, webId.doc())?.value\n settings = settings?.split('/').slice(0, -1).join('/')\n if (!settings) throw new Error(`prefererencesFile is expected to exist in ${webId.doc}`)\n return `${settings}/keys/privateKey.ttl`\n /* try {\n const podRoot = await getPodRoot(webId)\n if (!settings?.startsWith(podRoot.value)) throw new Error(`/settings/ is expected to be in ${podRoot.value}`)\n return `${settings}/keys/privateKey.ttl`\n } catch (err) { throw new Error(err) } */\n}\n\nexport async function getExistingPrivateKey (webId: NamedNode, privateKeyUrl: string) {\n // find privateKey\n return await getKeyIfExists(webId, privateKeyUrl, 'privateKey')\n}\n\ntype KeyType = 'publicKey' | 'privateKey'\n\nexport async function getKeyIfExists (webId: NamedNode, keyUrl: string, keyType: KeyType) {\n try {\n await store.fetcher.load(keyUrl)\n const key = store.any(webId, ns.solid(keyType)) // store.sym(CERT + keyType))\n return key?.value // as NamedNode\n } catch (err) {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists: doc does NOT exist, will create... ' + keyUrl\n )\n try {\n await store.fetcher.webOperation('PUT', keyUrl, {\n data: '',\n contentType: 'text/turtle'\n })\n } catch (err) {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n delete store.fetcher.requested[keyUrl] // delete cached 404 error\n // debug.log('createIfNotExists doc created ok ' + doc)\n return undefined // response\n } else {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"accessData.js","names":["debug","_interopRequireWildcard","require","_solidLogic","ns","_otherHelpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","pubKeyUrl","webId","url","root","getRootIfPreferencesExist","concat","err","error","exports","privKeyUrl","getExistingPublicKey","_x","_x2","_getExistingPublicKey","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","publicKeyUrl","wrap","_callee$","_context","prev","next","getKeyIfExists","abrupt","sent","stop","getExistingPrivateKey","_x3","_x4","_getExistingPrivateKey","_callee2","privateKeyUrl","_callee2$","_context2","_x5","_x6","_x7","_getKeyIfExists","_callee3","keyUrl","keyType","_callee3$","_context3","store","fetcher","load","any","solid","value","t0","undefined"],"sources":["../../../src/utils/keyHelpers/accessData.ts"],"sourcesContent":["import * as debug from '../../debug'\nimport { store } from 'solid-logic'\nimport * as ns from '../../ns'\nimport { NamedNode } from 'rdflib'\nimport { getRootIfPreferencesExist } from './otherHelpers'\n\nexport const pubKeyUrl = (webId: NamedNode) => {\n let url\n try {\n const root = getRootIfPreferencesExist(webId)\n url = `${root}/profile/keys/publicKey.ttl`\n } catch (err) {\n debug.error(err)\n }\n return url\n}\n\nexport const privKeyUrl = (webId: NamedNode) => {\n let url\n try {\n const root = getRootIfPreferencesExist(webId)\n url = `${root}/keys/privateKey.ttl`\n } catch (err) {\n debug.error(err)\n }\n return url\n}\n\nexport async function getExistingPublicKey (webId: NamedNode, publicKeyUrl: string) {\n return await getKeyIfExists(webId, publicKeyUrl, 'publicKey')\n}\n\nexport async function getExistingPrivateKey (webId: NamedNode, privateKeyUrl: string) {\n return await getKeyIfExists(webId, privateKeyUrl, 'privateKey')\n}\n\ntype KeyType = 'publicKey' | 'privateKey'\n\nexport async function getKeyIfExists (webId: NamedNode, keyUrl: string, keyType: KeyType) {\n try {\n await store.fetcher.load(keyUrl)\n const key = store.any(webId, ns.solid(keyType)) // store.sym(CERT + keyType))\n return key?.value // as NamedNode\n } catch (err) {\n debug.error('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n return undefined\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { NamedNode } from 'rdflib';
2
+ export declare const getRootIfPreferencesExist: (webId: NamedNode) => string;
3
+ //# sourceMappingURL=otherHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otherHelpers.d.ts","sourceRoot":"","sources":["../../../src/utils/keyHelpers/otherHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAIlC,eAAO,MAAM,yBAAyB,UAAW,SAAS,WAKzD,CAAA"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getRootIfPreferencesExist = void 0;
8
+ var _solidLogic = require("solid-logic");
9
+ var ns = _interopRequireWildcard(require("../../ns"));
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+ // Will rename this file later. We will probably be using solid-logic anyway
13
+ // moved it out so I can mock
14
+
15
+ var getRootIfPreferencesExist = function getRootIfPreferencesExist(webId) {
16
+ var _store$any, _root;
17
+ var root = (_store$any = _solidLogic.store.any(webId, ns.space('preferencesFile'), null, webId.doc())) === null || _store$any === void 0 ? void 0 : _store$any.value;
18
+ root = (_root = root) === null || _root === void 0 ? void 0 : _root.split('/').slice(0, -2).join('/');
19
+ if (!root) throw new Error("prefererencesFile is expected to exist in ".concat(webId));
20
+ return root;
21
+ };
22
+ exports.getRootIfPreferencesExist = getRootIfPreferencesExist;
23
+ //# sourceMappingURL=otherHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otherHelpers.js","names":["_solidLogic","require","ns","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","getRootIfPreferencesExist","webId","_store$any","_root","root","store","any","space","doc","value","split","slice","join","Error","concat","exports"],"sources":["../../../src/utils/keyHelpers/otherHelpers.ts"],"sourcesContent":["import { store } from 'solid-logic'\nimport * as ns from '../../ns'\nimport { NamedNode } from 'rdflib'\n// Will rename this file later. We will probably be using solid-logic anyway\n// moved it out so I can mock\n\nexport const getRootIfPreferencesExist = (webId: NamedNode) => {\n let root = store.any(webId, ns.space('preferencesFile'), null, webId.doc())?.value\n root = root?.split('/').slice(0, -2).join('/')\n if (!root) throw new Error(`prefererencesFile is expected to exist in ${webId}`)\n return root\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,EAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA8B,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAF,wBAAAM,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAE9B;AACA;;AAEO,IAAMW,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,KAAgB,EAAK;EAAA,IAAAC,UAAA,EAAAC,KAAA;EAC7D,IAAIC,IAAI,IAAAF,UAAA,GAAGG,iBAAK,CAACC,GAAG,CAACL,KAAK,EAAEzB,EAAE,CAAC+B,KAAK,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAEN,KAAK,CAACO,GAAG,EAAE,CAAC,cAAAN,UAAA,uBAAhEA,UAAA,CAAkEO,KAAK;EAClFL,IAAI,IAAAD,KAAA,GAAGC,IAAI,cAAAD,KAAA,uBAAJA,KAAA,CAAMO,KAAK,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EAC9C,IAAI,CAACR,IAAI,EAAE,MAAM,IAAIS,KAAK,8CAAAC,MAAA,CAA8Cb,KAAK,EAAG;EAChF,OAAOG,IAAI;AACb,CAAC;AAAAW,OAAA,CAAAf,yBAAA,GAAAA,yBAAA"}
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.versionInfo = void 0;
7
7
  var versionInfo = {
8
- buildTime: '2023-05-29T17:22:09Z',
9
- commit: '21f105c85cf152232421970c17d78f5c8cfa3d20',
8
+ buildTime: '2023-06-03T00:02:12Z',
9
+ commit: '4687e65a003328b622aaf8135ed2ea2afb1c068f',
10
10
  npmInfo: {
11
11
  'solid-ui': '2.4.28',
12
12
  npm: '8.19.4',
@@ -1 +1 @@
1
- {"version":3,"file":"versionInfo.js","names":["versionInfo","buildTime","commit","npmInfo","npm","node","v8","uv","zlib","brotli","ares","modules","nghttp2","napi","llhttp","openssl","cldr","icu","tz","unicode","ngtcp2","nghttp3","exports"],"sources":["../src/versionInfo.ts"],"sourcesContent":["export const versionInfo = {\n buildTime: '2023-05-29T17:22:09Z',\n commit: '21f105c85cf152232421970c17d78f5c8cfa3d20',\n npmInfo:\n{\n 'solid-ui': '2.4.28',\n npm: '8.19.4',\n node: '16.20.0',\n v8: '9.4.146.26-node.26',\n uv: '1.43.0',\n zlib: '1.2.11',\n brotli: '1.0.9',\n ares: '1.19.0',\n modules: '93',\n nghttp2: '1.47.0',\n napi: '8',\n llhttp: '6.0.10',\n openssl: '1.1.1t+quic',\n cldr: '41.0',\n icu: '71.1',\n tz: '2022f',\n unicode: '14.0',\n ngtcp2: '0.8.1',\n nghttp3: '0.7.0'\n}\n}\n"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG;EACzBC,SAAS,EAAE,sBAAsB;EACjCC,MAAM,EAAE,0CAA0C;EAClDC,OAAO,EACT;IACE,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,QAAQ;IACbC,IAAI,EAAE,SAAS;IACfC,EAAE,EAAE,oBAAoB;IACxBC,EAAE,EAAE,QAAQ;IACZC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,OAAO;IACfC,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE,IAAI;IACbC,OAAO,EAAE,QAAQ;IACjBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,QAAQ;IAChBC,OAAO,EAAE,aAAa;IACtBC,IAAI,EAAE,MAAM;IACZC,GAAG,EAAE,MAAM;IACXC,EAAE,EAAE,OAAO;IACXC,OAAO,EAAE,MAAM;IACfC,MAAM,EAAE,OAAO;IACfC,OAAO,EAAE;EACX;AACA,CAAC;AAAAC,OAAA,CAAAtB,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"file":"versionInfo.js","names":["versionInfo","buildTime","commit","npmInfo","npm","node","v8","uv","zlib","brotli","ares","modules","nghttp2","napi","llhttp","openssl","cldr","icu","tz","unicode","ngtcp2","nghttp3","exports"],"sources":["../src/versionInfo.ts"],"sourcesContent":["export const versionInfo = {\n buildTime: '2023-06-03T00:02:12Z',\n commit: '4687e65a003328b622aaf8135ed2ea2afb1c068f',\n npmInfo:\n{\n 'solid-ui': '2.4.28',\n npm: '8.19.4',\n node: '16.20.0',\n v8: '9.4.146.26-node.26',\n uv: '1.43.0',\n zlib: '1.2.11',\n brotli: '1.0.9',\n ares: '1.19.0',\n modules: '93',\n nghttp2: '1.47.0',\n napi: '8',\n llhttp: '6.0.10',\n openssl: '1.1.1t+quic',\n cldr: '41.0',\n icu: '71.1',\n tz: '2022f',\n unicode: '14.0',\n ngtcp2: '0.8.1',\n nghttp3: '0.7.0'\n}\n}\n"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG;EACzBC,SAAS,EAAE,sBAAsB;EACjCC,MAAM,EAAE,0CAA0C;EAClDC,OAAO,EACT;IACE,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,QAAQ;IACbC,IAAI,EAAE,SAAS;IACfC,EAAE,EAAE,oBAAoB;IACxBC,EAAE,EAAE,QAAQ;IACZC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,OAAO;IACfC,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE,IAAI;IACbC,OAAO,EAAE,QAAQ;IACjBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,QAAQ;IAChBC,OAAO,EAAE,aAAa;IACtBC,IAAI,EAAE,MAAM;IACZC,GAAG,EAAE,MAAM;IACXC,EAAE,EAAE,OAAO;IACXC,OAAO,EAAE,MAAM;IACfC,MAAM,EAAE,OAAO;IACfC,OAAO,EAAE;EACX;AACA,CAAC;AAAAC,OAAA,CAAAtB,WAAA,GAAAA,WAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-ui",
3
- "version": "2.4.28-21f105c8",
3
+ "version": "2.4.28-4687e65a",
4
4
  "description": "UI library for writing Solid read-write-web applications",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",