solid-ui 2.4.16-29d82bfe → 2.4.16-4ab5f1f1
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.
- package/lib/acl/add-agent-buttons.js +1 -1
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/chat/message.js +3 -1
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/thread.js +1 -1
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.js +1 -1
- package/lib/create/create.js.map +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -8
- package/lib/index.js.map +1 -1
- package/lib/login/login.d.ts +3 -3
- package/lib/login/login.d.ts.map +1 -1
- package/lib/login/login.js +28 -25
- package/lib/login/login.js.map +1 -1
- package/lib/messageArea.js +1 -1
- package/lib/messageArea.js.map +1 -1
- package/lib/preferences.js +1 -1
- package/lib/preferences.js.map +1 -1
- package/lib/utils/label.js +1 -2
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.js +2 -2
- package/lib/versionInfo.js.map +1 -1
- package/lib/webpack-bundle.js +641 -528
- package/lib/webpack-bundle.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +3 -1
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +14 -7
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/package.json +12 -3
- package/lib/logic.d.ts +0 -8
- package/lib/logic.d.ts.map +0 -1
- package/lib/logic.js +0 -77
- package/lib/logic.js.map +0 -1
package/lib/preferences.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/preferences.js"],"names":["kb","store","value","get","k","set","v","debug","log","Error","recordSharedPreferences","subject","context","Promise","resolve","reject","sharedPreferences","any","ns","ui","sp","$rdf","sym","doc","uri","ins","st","updater","update","ok","errorMessage","recordPersonalDefaults","theClass","then","preferencesFile","preferencesFileError","regs","each","solid","prefs","reg","length","forEach","r","personalDefaults","widgets","newThing","rdf","push","errm","err","renderPreferencesForm","preferencesForm","prefContainer","dom","createElement","participation","participationObject","me","heading","text","appendChild","textContent","noun","appendForm","mes","complain","errorMessageBlock","toJS","term","datatype","equals","xsd","Date","Number","getPreferencesForClass","predicates","results","pred","v1"],"mappings":"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","sourcesContent":["// Solid-UI preferences\n// =====================\n//\n\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport { store } from 'solid-logic'\nimport * as debug from './debug'\nimport { logInLoadPreferences } from './login/login'\nimport * as ns from './ns'\nimport * as participation from './participation' // @ts-ignore\nimport * as widgets from './widgets'\n\nconst kb = store\n\n// This was tabulator . preferences in the tabulator\n// Is this functionality used anywhere?\n//\n\n// used for storing user name\n// @@ Deprocate these functions. They were used for\n// communication around the tabulator functionality about the user session\n\nexport const value = []\nexport function get (k) {\n return value[k]\n}\n\nexport function set (k, v) {\n if (typeof v !== 'string') {\n debug.log('Non-string value of preference ' + k + ': ' + v)\n throw new Error('Non-string value of preference ' + k + ': ' + v)\n }\n this.value[k] = v\n}\n\n// In a solid world, Preferences are stored in the web\n//\n// Make an RDF node for recording the common view preferences for any object\n// (maybe make it in a separate file?)\nexport function recordSharedPreferences (subject, context) {\n return new Promise(function (resolve, reject) {\n const sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'))\n if (!sharedPreferences) {\n const sp = $rdf.sym(subject.doc().uri + '#SharedPreferences')\n const ins = [\n $rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())\n ]\n debug.log('Creating shared preferences ' + sp)\n kb.updater.update([], ins, function (uri, ok, errorMessage) {\n if (!ok) {\n reject(new Error('Error creating shared prefs: ' + errorMessage))\n } else {\n context.sharedPreferences = sp\n resolve(context)\n }\n })\n } else {\n context.sharedPreferences = sharedPreferences\n resolve(context)\n }\n })\n}\n\n// Construct a personal defaults node in the preferences file for a given class of object\n//\nexport function recordPersonalDefaults (theClass, context) {\n return new Promise(function (resolve, reject) {\n logInLoadPreferences(context).then(\n context => {\n if (!context.preferencesFile) {\n debug.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n context.preferencesFileError\n )\n return\n }\n const regs = kb.each(\n null,\n ns.solid('forClass'),\n theClass,\n context.preferencesFile\n )\n let ins = []\n let prefs\n let reg\n if (regs.length) {\n // Use existing node if we can\n regs.forEach(r => {\n prefs = prefs || kb.any(r, ns.solid('personalDefaults'))\n })\n if (prefs) {\n context.personalDefaults = prefs // Found one\n resolve(context)\n return\n } else {\n prefs = widgets.newThing(context.preferencesFile)\n reg = regs[0]\n }\n } else {\n // no regs fo class\n reg = widgets.newThing(context.preferencesFile)\n ins = [\n $rdf.st(\n reg,\n ns.rdf('type'),\n ns.solid('TypeRegistration'),\n context.preferencesFile\n ),\n $rdf.st(reg, ns.solid('forClass'), theClass, context.preferencesFile)\n ]\n }\n prefs = widgets.newThing(context.preferencesFile)\n ins.push(\n $rdf.st(\n reg,\n ns.solid('personalDefaults'),\n prefs,\n context.preferencesFile\n )\n )\n kb.updater.update([], ins, function (uri, ok, errm) {\n if (!ok) {\n reject(new Error('Setting preferences for ' + theClass + ': ' + errm))\n } else {\n context.personalDefaults = prefs\n resolve(context)\n }\n })\n },\n err => {\n reject(err)\n }\n )\n })\n}\n\nexport function renderPreferencesForm (subject, theClass, preferencesForm, context) {\n const prefContainer = context.dom.createElement('div')\n participation.participationObject(subject, subject.doc(), context.me).then(\n participation => {\n const dom = context.dom\n function heading (text) {\n prefContainer.appendChild(dom.createElement('h5')).textContent = text\n }\n heading('My view of this ' + context.noun)\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n participation,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading(\"Everyone's view of this \" + context.noun)\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n sharedPreferences,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading('My default view of any ' + context.noun)\n recordPersonalDefaults(theClass, context).then(\n context => {\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n context.personalDefaults,\n preferencesForm,\n context.preferencesFile,\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n },\n err => {\n widgets.complain(context, err)\n }\n )\n })\n },\n err => {\n // parp object fails\n prefContainer.appendChild(widgets.errorMessageBlock(context.dom, err))\n }\n )\n return prefContainer\n}\n\n// This should be part of rdflib.js ad part of the RDFJS Standard!!\n\nfunction toJS (term) {\n if (!term.datatype) return term // Objects remain objects\n if (term.datatype.equals(ns.xsd('boolean'))) {\n return term.value === '1'\n }\n if (\n term.datatype.equals(ns.xsd('dateTime')) ||\n term.datatype.equals(ns.xsd('date'))\n ) {\n return new Date(term.value)\n }\n if (\n term.datatype.equals(ns.xsd('integer')) ||\n term.datatype.equals(ns.xsd('float')) ||\n term.datatype.equals(ns.xsd('decimal'))\n ) {\n return Number(term.value)\n }\n return term.value\n}\n\n// This is the function which acuakly reads and combines the preferences\n//\n// @@ make it much more tolerant of missing buts of prefernces\nexport function getPreferencesForClass (subject, theClass, predicates, context) {\n return new Promise(function (resolve, reject) {\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n if (context.me) {\n participation\n .participationObject(subject, subject.doc(), context.me)\n .then(participation => {\n recordPersonalDefaults(theClass, context).then(context => {\n const results = []\n const personalDefaults = context.personalDefaults\n predicates.forEach(pred => {\n // Order of preference: My settings on object, Global settings on object, my settings on class\n const v1 =\n kb.any(participation, pred) ||\n kb.any(sharedPreferences, pred) ||\n kb.any(personalDefaults, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }, reject)\n }, reject)\n } else {\n // no user defined, just use common prefs\n const results = []\n predicates.forEach(pred => {\n const v1 = kb.any(sharedPreferences, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }\n })\n })\n}\n\n// ends\n"],"file":"preferences.js"}
|
|
1
|
+
{"version":3,"sources":["../src/preferences.js"],"names":["kb","store","value","get","k","set","v","debug","log","Error","recordSharedPreferences","subject","context","Promise","resolve","reject","sharedPreferences","any","ns","ui","sp","$rdf","sym","doc","uri","ins","st","updater","update","ok","errorMessage","recordPersonalDefaults","theClass","then","preferencesFile","preferencesFileError","regs","each","solid","prefs","reg","length","forEach","r","personalDefaults","widgets","newThing","rdf","push","errm","err","renderPreferencesForm","preferencesForm","prefContainer","dom","createElement","participation","participationObject","me","heading","text","appendChild","textContent","noun","appendForm","mes","complain","errorMessageBlock","toJS","term","datatype","equals","xsd","Date","Number","getPreferencesForClass","predicates","results","pred","v1"],"mappings":"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","sourcesContent":["// Solid-UI preferences\n// =====================\n//\n\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport { store } from 'solid-logic'\nimport * as debug from './debug'\nimport { ensureLoadedPreferences } from './login/login'\nimport * as ns from './ns'\nimport * as participation from './participation' // @ts-ignore\nimport * as widgets from './widgets'\n\nconst kb = store\n\n// This was tabulator . preferences in the tabulator\n// Is this functionality used anywhere?\n//\n\n// used for storing user name\n// @@ Deprocate these functions. They were used for\n// communication around the tabulator functionality about the user session\n\nexport const value = []\nexport function get (k) {\n return value[k]\n}\n\nexport function set (k, v) {\n if (typeof v !== 'string') {\n debug.log('Non-string value of preference ' + k + ': ' + v)\n throw new Error('Non-string value of preference ' + k + ': ' + v)\n }\n this.value[k] = v\n}\n\n// In a solid world, Preferences are stored in the web\n//\n// Make an RDF node for recording the common view preferences for any object\n// (maybe make it in a separate file?)\nexport function recordSharedPreferences (subject, context) {\n return new Promise(function (resolve, reject) {\n const sharedPreferences = kb.any(subject, ns.ui('sharedPreferences'))\n if (!sharedPreferences) {\n const sp = $rdf.sym(subject.doc().uri + '#SharedPreferences')\n const ins = [\n $rdf.st(subject, ns.ui('sharedPreferences'), sp, subject.doc())\n ]\n debug.log('Creating shared preferences ' + sp)\n kb.updater.update([], ins, function (uri, ok, errorMessage) {\n if (!ok) {\n reject(new Error('Error creating shared prefs: ' + errorMessage))\n } else {\n context.sharedPreferences = sp\n resolve(context)\n }\n })\n } else {\n context.sharedPreferences = sharedPreferences\n resolve(context)\n }\n })\n}\n\n// Construct a personal defaults node in the preferences file for a given class of object\n//\nexport function recordPersonalDefaults (theClass, context) {\n return new Promise(function (resolve, reject) {\n ensureLoadedPreferences(context).then(\n context => {\n if (!context.preferencesFile) {\n debug.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n context.preferencesFileError\n )\n return\n }\n const regs = kb.each(\n null,\n ns.solid('forClass'),\n theClass,\n context.preferencesFile\n )\n let ins = []\n let prefs\n let reg\n if (regs.length) {\n // Use existing node if we can\n regs.forEach(r => {\n prefs = prefs || kb.any(r, ns.solid('personalDefaults'))\n })\n if (prefs) {\n context.personalDefaults = prefs // Found one\n resolve(context)\n return\n } else {\n prefs = widgets.newThing(context.preferencesFile)\n reg = regs[0]\n }\n } else {\n // no regs fo class\n reg = widgets.newThing(context.preferencesFile)\n ins = [\n $rdf.st(\n reg,\n ns.rdf('type'),\n ns.solid('TypeRegistration'),\n context.preferencesFile\n ),\n $rdf.st(reg, ns.solid('forClass'), theClass, context.preferencesFile)\n ]\n }\n prefs = widgets.newThing(context.preferencesFile)\n ins.push(\n $rdf.st(\n reg,\n ns.solid('personalDefaults'),\n prefs,\n context.preferencesFile\n )\n )\n kb.updater.update([], ins, function (uri, ok, errm) {\n if (!ok) {\n reject(new Error('Setting preferences for ' + theClass + ': ' + errm))\n } else {\n context.personalDefaults = prefs\n resolve(context)\n }\n })\n },\n err => {\n reject(err)\n }\n )\n })\n}\n\nexport function renderPreferencesForm (subject, theClass, preferencesForm, context) {\n const prefContainer = context.dom.createElement('div')\n participation.participationObject(subject, subject.doc(), context.me).then(\n participation => {\n const dom = context.dom\n function heading (text) {\n prefContainer.appendChild(dom.createElement('h5')).textContent = text\n }\n heading('My view of this ' + context.noun)\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n participation,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading(\"Everyone's view of this \" + context.noun)\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n sharedPreferences,\n preferencesForm,\n subject.doc(),\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n\n heading('My default view of any ' + context.noun)\n recordPersonalDefaults(theClass, context).then(\n context => {\n widgets.appendForm(\n dom,\n prefContainer,\n {},\n context.personalDefaults,\n preferencesForm,\n context.preferencesFile,\n (ok, mes) => {\n if (!ok) widgets.complain(context, mes)\n }\n )\n },\n err => {\n widgets.complain(context, err)\n }\n )\n })\n },\n err => {\n // parp object fails\n prefContainer.appendChild(widgets.errorMessageBlock(context.dom, err))\n }\n )\n return prefContainer\n}\n\n// This should be part of rdflib.js ad part of the RDFJS Standard!!\n\nfunction toJS (term) {\n if (!term.datatype) return term // Objects remain objects\n if (term.datatype.equals(ns.xsd('boolean'))) {\n return term.value === '1'\n }\n if (\n term.datatype.equals(ns.xsd('dateTime')) ||\n term.datatype.equals(ns.xsd('date'))\n ) {\n return new Date(term.value)\n }\n if (\n term.datatype.equals(ns.xsd('integer')) ||\n term.datatype.equals(ns.xsd('float')) ||\n term.datatype.equals(ns.xsd('decimal'))\n ) {\n return Number(term.value)\n }\n return term.value\n}\n\n// This is the function which acuakly reads and combines the preferences\n//\n// @@ make it much more tolerant of missing buts of prefernces\nexport function getPreferencesForClass (subject, theClass, predicates, context) {\n return new Promise(function (resolve, reject) {\n recordSharedPreferences(subject, context).then(context => {\n const sharedPreferences = context.sharedPreferences\n if (context.me) {\n participation\n .participationObject(subject, subject.doc(), context.me)\n .then(participation => {\n recordPersonalDefaults(theClass, context).then(context => {\n const results = []\n const personalDefaults = context.personalDefaults\n predicates.forEach(pred => {\n // Order of preference: My settings on object, Global settings on object, my settings on class\n const v1 =\n kb.any(participation, pred) ||\n kb.any(sharedPreferences, pred) ||\n kb.any(personalDefaults, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }, reject)\n }, reject)\n } else {\n // no user defined, just use common prefs\n const results = []\n predicates.forEach(pred => {\n const v1 = kb.any(sharedPreferences, pred)\n if (v1) {\n results[pred.uri] = toJS(v1)\n }\n })\n resolve(results)\n }\n })\n })\n}\n\n// ends\n"],"file":"preferences.js"}
|
package/lib/utils/label.js
CHANGED
|
@@ -23,8 +23,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
23
23
|
var UI = {
|
|
24
24
|
log: log,
|
|
25
25
|
ns: ns,
|
|
26
|
-
rdf: rdf
|
|
27
|
-
store: _solidLogic.store
|
|
26
|
+
rdf: rdf
|
|
28
27
|
}; // This ubiquitous function returns the best label for a thing
|
|
29
28
|
//
|
|
30
29
|
// The hacks in this code make a major difference to the usability
|
package/lib/utils/label.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/label.ts"],"names":["UI","log","ns","rdf","
|
|
1
|
+
{"version":3,"sources":["../../src/utils/label.ts"],"names":["UI","log","ns","rdf","label","thing","initialCap","doCap","slice","toUpperCase","cleanUp","result","i","length","toLowerCase","getWellKnownLabel","value","termType","elements","s","uri","toString","split","map","decodeURIComponent","join","e","hex","indexOf","String","fromCharCode","parseInt","hash","slash","lastIndexOf","suffix","store","any","ui","link","vcard","foaf","dct","dc","rss","contact","sym","cal","as","schema","rdfs"],"mappings":"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","sourcesContent":["import * as log from '../log'\nimport { store } from 'solid-logic'\nimport * as ns from '../ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\n\nconst UI = { log, ns, rdf }\n\n// This ubiquitous function returns the best label for a thing\n//\n// The hacks in this code make a major difference to the usability\nexport function label (thing, initialCap = false): string {\n function doCap (label: string) {\n if (initialCap) {\n return label.slice(0, 1).toUpperCase() + label.slice(1)\n }\n return label\n }\n function cleanUp (label: string) {\n let result = ''\n if (label.slice(-1) === '/') label = label.slice(0, -1) // chop trailing slash\n for (let i = 0; i < label.length; i++) {\n if (label[i] === '_' || label[i] === '-') {\n result += ' '\n continue\n }\n result += label[i]\n if (\n i + 1 < label.length &&\n label[i].toUpperCase() !== label[i] &&\n label[i + 1].toLowerCase() !== label[i + 1]\n ) {\n result += ' '\n }\n }\n if (result.slice(0, 4) === 'has ') result = result.slice(4)\n return doCap(result)\n }\n\n const label = getWellKnownLabel(thing)\n\n if (label) {\n return doCap(label.value)\n }\n\n // Default to label just generated from the URI\n\n if (thing.termType === 'BlankNode') {\n return '...'\n }\n if (thing.termType === 'Collection') {\n return '(' + thing.elements.length + ')'\n }\n let s = thing.uri\n if (typeof s === 'undefined') return thing.toString() // can't be a symbol\n // s = decodeURI(s) // This can crash is random valid @ signs are presentation\n // The idea was to clean up eg URIs encoded in query strings\n // Also encoded character in what was filenames like @ [] {}\n try {\n s = s\n .split('/')\n .map(decodeURIComponent)\n .join('/') // If it is properly encoded\n } catch (e) {\n // try individual decoding of ASCII code points\n for (let i = s.length - 3; i > 0; i--) {\n const hex = '0123456789abcefABCDEF' // The while upacks multiple layers of encoding\n while (\n s[i] === '%' &&\n hex.indexOf(s[i + 1]) >= 0 &&\n hex.indexOf(s[i + 2]) >= 0\n ) {\n s =\n s.slice(0, i) +\n String.fromCharCode(parseInt(s.slice(i + 1, i + 3), 16)) +\n s.slice(i + 3)\n }\n }\n }\n\n s = slice(s, '/profile/card#me')\n s = slice(s, '#this')\n s = slice(s, '#me')\n\n const hash = s.indexOf('#')\n if (hash >= 0) return cleanUp(s.slice(hash + 1))\n\n // Eh? Why not do this? e.g. dc:title needs it only trim URIs, not rdfs:labels\n const slash = s.lastIndexOf('/', s.length - 2) // (len-2) excludes trailing slash\n if (slash >= 0 && slash < thing.uri.length) return cleanUp(s.slice(slash + 1))\n\n return doCap(decodeURIComponent(thing.uri))\n}\n\nfunction slice (s: string, suffix: string) {\n const length = suffix.length * -1\n if (s.slice(length) === suffix) {\n return s.slice(0, length)\n }\n return s\n}\n\n// Hard coded known label predicates\n// @@ TBD: Add subproperties of rdfs:label\nfunction getWellKnownLabel (thing) {\n return store.any(thing, UI.ns.ui('label')) || // Prioritize ui:label\n store.any(thing, UI.ns.link('message')) ||\n store.any(thing, UI.ns.vcard('fn')) ||\n store.any(thing, UI.ns.foaf('name')) ||\n store.any(thing, UI.ns.dct('title')) ||\n store.any(thing, UI.ns.dc('title')) ||\n store.any(thing, UI.ns.rss('title')) ||\n store.any(thing, UI.ns.contact('fullName')) ||\n store.any(thing, store.sym('http://www.w3.org/2001/04/roadmap/org#name')) ||\n store.any(thing, UI.ns.cal('summary')) ||\n store.any(thing, UI.ns.foaf('nick')) ||\n store.any(thing, UI.ns.as('name')) ||\n store.any(thing, UI.ns.schema('name')) ||\n store.any(thing, UI.ns.rdfs('label'))\n}\n"],"file":"label.js"}
|
package/lib/versionInfo.js
CHANGED
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
var _default = {
|
|
8
|
-
buildTime: '2022-02-
|
|
9
|
-
commit: '
|
|
8
|
+
buildTime: '2022-02-08T08:50:48Z',
|
|
9
|
+
commit: '4ab5f1f137cc9a9669768bec6d1b07c15899f080',
|
|
10
10
|
npmInfo: {
|
|
11
11
|
'solid-ui': '2.4.16',
|
|
12
12
|
npm: '6.14.15',
|
package/lib/versionInfo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/versionInfo.ts"],"names":["buildTime","commit","npmInfo","npm","ares","brotli","cldr","icu","llhttp","modules","napi","nghttp2","node","openssl","tz","unicode","uv","v8","zlib"],"mappings":";;;;;;eAAe;AACbA,EAAAA,SAAS,EAAE,sBADE;AAEbC,EAAAA,MAAM,EAAE,0CAFK;AAGbC,EAAAA,OAAO,EACT;AACE,gBAAY,QADd;AAEEC,IAAAA,GAAG,EAAE,SAFP;AAGEC,IAAAA,IAAI,EAAE,QAHR;AAIEC,IAAAA,MAAM,EAAE,OAJV;AAKEC,IAAAA,IAAI,EAAE,MALR;AAMEC,IAAAA,GAAG,EAAE,MANP;AAOEC,IAAAA,MAAM,EAAE,OAPV;AAQEC,IAAAA,OAAO,EAAE,IARX;AASEC,IAAAA,IAAI,EAAE,GATR;AAUEC,IAAAA,OAAO,EAAE,QAVX;AAWEC,IAAAA,IAAI,EAAE,SAXR;AAYEC,IAAAA,OAAO,EAAE,QAZX;AAaEC,IAAAA,EAAE,EAAE,OAbN;AAcEC,IAAAA,OAAO,EAAE,MAdX;AAeEC,IAAAA,EAAE,EAAE,QAfN;AAgBEC,IAAAA,EAAE,EAAE,oBAhBN;AAiBEC,IAAAA,IAAI,EAAE;AAjBR;AAJe,C","sourcesContent":["export default {\n buildTime: '2022-02-
|
|
1
|
+
{"version":3,"sources":["../src/versionInfo.ts"],"names":["buildTime","commit","npmInfo","npm","ares","brotli","cldr","icu","llhttp","modules","napi","nghttp2","node","openssl","tz","unicode","uv","v8","zlib"],"mappings":";;;;;;eAAe;AACbA,EAAAA,SAAS,EAAE,sBADE;AAEbC,EAAAA,MAAM,EAAE,0CAFK;AAGbC,EAAAA,OAAO,EACT;AACE,gBAAY,QADd;AAEEC,IAAAA,GAAG,EAAE,SAFP;AAGEC,IAAAA,IAAI,EAAE,QAHR;AAIEC,IAAAA,MAAM,EAAE,OAJV;AAKEC,IAAAA,IAAI,EAAE,MALR;AAMEC,IAAAA,GAAG,EAAE,MANP;AAOEC,IAAAA,MAAM,EAAE,OAPV;AAQEC,IAAAA,OAAO,EAAE,IARX;AASEC,IAAAA,IAAI,EAAE,GATR;AAUEC,IAAAA,OAAO,EAAE,QAVX;AAWEC,IAAAA,IAAI,EAAE,SAXR;AAYEC,IAAAA,OAAO,EAAE,QAZX;AAaEC,IAAAA,EAAE,EAAE,OAbN;AAcEC,IAAAA,OAAO,EAAE,MAdX;AAeEC,IAAAA,EAAE,EAAE,QAfN;AAgBEC,IAAAA,EAAE,EAAE,oBAhBN;AAiBEC,IAAAA,IAAI,EAAE;AAjBR;AAJe,C","sourcesContent":["export default {\n buildTime: '2022-02-08T08:50:48Z',\n commit: '4ab5f1f137cc9a9669768bec6d1b07c15899f080',\n npmInfo:\n{\n 'solid-ui': '2.4.16',\n npm: '6.14.15',\n ares: '1.18.1',\n brotli: '1.0.9',\n cldr: '39.0',\n icu: '69.1',\n llhttp: '2.1.4',\n modules: '83',\n napi: '8',\n nghttp2: '1.42.0',\n node: '14.18.3',\n openssl: '1.1.1l',\n tz: '2021a',\n unicode: '13.0',\n uv: '1.42.0',\n v8: '8.4.371.23-node.85',\n zlib: '1.2.11'\n}\n}\n"],"file":"versionInfo.js"}
|