solid-ui 2.4.27-d81bf225 → 2.4.27-eede06e9
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/dist/solid-ui.js +144 -142
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.map +1 -1
- package/lib/chat/bookmarks.js +2 -2
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +1 -1
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +128 -124
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +12 -11
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/messageTools.js +2 -2
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +1 -1
- package/lib/chat/thread.js.map +1 -1
- package/lib/versionInfo.js +2 -2
- package/lib/versionInfo.js.map +1 -1
- package/package.json +2 -2
package/lib/chat/dateFolder.js
CHANGED
|
@@ -6,10 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.DateFolder = void 0;
|
|
9
|
+
exports.emptyLeaf = emptyLeaf;
|
|
9
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
14
|
var debug = _interopRequireWildcard(require("../debug"));
|
|
14
15
|
var _solidLogic = require("solid-logic");
|
|
15
16
|
var ns = _interopRequireWildcard(require("../ns"));
|
|
@@ -22,9 +23,29 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
22
23
|
*
|
|
23
24
|
*/
|
|
24
25
|
// pull in first avoid cross-refs
|
|
26
|
+
function emptyLeaf(_x) {
|
|
27
|
+
return _emptyLeaf.apply(this, arguments);
|
|
28
|
+
}
|
|
25
29
|
/**
|
|
26
30
|
* Track back through the YYYY/MM/DD tree to find the previous/next day
|
|
27
31
|
*/
|
|
32
|
+
function _emptyLeaf() {
|
|
33
|
+
_emptyLeaf = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(leafDocument) {
|
|
34
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
35
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
36
|
+
case 0:
|
|
37
|
+
_context5.next = 2;
|
|
38
|
+
return _solidLogic.store.fetcher.load(leafDocument);
|
|
39
|
+
case 2:
|
|
40
|
+
return _context5.abrupt("return", !(_solidLogic.store.statementsMatching(null, ns.dct('created'), null, leafDocument).length > 0));
|
|
41
|
+
case 3:
|
|
42
|
+
case "end":
|
|
43
|
+
return _context5.stop();
|
|
44
|
+
}
|
|
45
|
+
}, _callee5);
|
|
46
|
+
}));
|
|
47
|
+
return _emptyLeaf.apply(this, arguments);
|
|
48
|
+
}
|
|
28
49
|
var DateFolder = /*#__PURE__*/function () {
|
|
29
50
|
function DateFolder(rootThing, leafFileName, membershipProperty) {
|
|
30
51
|
(0, _classCallCheck2["default"])(this, DateFolder);
|
|
@@ -63,61 +84,22 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
63
84
|
}, {
|
|
64
85
|
key: "loadPrevious",
|
|
65
86
|
value: function () {
|
|
66
|
-
var _loadPrevious = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
67
|
-
var
|
|
68
|
-
return _regenerator["default"].wrap(function
|
|
69
|
-
while (1) switch (
|
|
87
|
+
var _loadPrevious = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(date, backwards) {
|
|
88
|
+
var previousPeriod, _previousPeriod, folder, found, leafDocument, nextDate;
|
|
89
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
90
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
70
91
|
case 0:
|
|
71
92
|
_previousPeriod = function _previousPeriod3() {
|
|
72
|
-
_previousPeriod = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
73
|
-
var younger, suitable,
|
|
74
|
-
return _regenerator["default"].wrap(function
|
|
75
|
-
while (1) switch (
|
|
93
|
+
_previousPeriod = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(file, level) {
|
|
94
|
+
var younger, suitable, lastOrFirst, parent, siblings, _folder, uncle, cousins, result;
|
|
95
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
96
|
+
while (1) switch (_context.prev = _context.next) {
|
|
76
97
|
case 0:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
case 0:
|
|
83
|
-
siblings = siblings.filter(suitable);
|
|
84
|
-
siblings.sort(); // chronological order
|
|
85
|
-
if (!backwards) siblings.reverse();
|
|
86
|
-
if (!(level !== 3)) {
|
|
87
|
-
_context.next = 5;
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
return _context.abrupt("return", siblings.pop());
|
|
91
|
-
case 5:
|
|
92
|
-
if (!siblings.length) {
|
|
93
|
-
_context.next = 14;
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
|
-
_folder2 = siblings.pop();
|
|
97
|
-
leafDocument = _solidLogic.store.sym(_folder2.uri + thisDateFolder.leafFileName);
|
|
98
|
-
_context.next = 10;
|
|
99
|
-
return _solidLogic.store.fetcher.load(leafDocument);
|
|
100
|
-
case 10:
|
|
101
|
-
if (!(_solidLogic.store.statementsMatching(null, ns.dct('created'), null, leafDocument).length > 0)) {
|
|
102
|
-
_context.next = 12;
|
|
103
|
-
break;
|
|
104
|
-
}
|
|
105
|
-
return _context.abrupt("return", _folder2);
|
|
106
|
-
case 12:
|
|
107
|
-
_context.next = 5;
|
|
108
|
-
break;
|
|
109
|
-
case 14:
|
|
110
|
-
return _context.abrupt("return", null);
|
|
111
|
-
case 15:
|
|
112
|
-
case "end":
|
|
113
|
-
return _context.stop();
|
|
114
|
-
}
|
|
115
|
-
}, _callee);
|
|
116
|
-
}));
|
|
117
|
-
return _lastNonEmpty.apply(this, arguments);
|
|
118
|
-
};
|
|
119
|
-
lastNonEmpty = function _lastNonEmpty2(_x5) {
|
|
120
|
-
return _lastNonEmpty.apply(this, arguments);
|
|
98
|
+
lastOrFirst = function _lastOrFirst(siblings) {
|
|
99
|
+
siblings = siblings.filter(suitable);
|
|
100
|
+
siblings.sort(); // chronological order
|
|
101
|
+
if (!backwards) siblings.reverse();
|
|
102
|
+
return siblings.pop(); // date folder
|
|
121
103
|
};
|
|
122
104
|
suitable = function _suitable(x) {
|
|
123
105
|
var tail = x.uri.slice(0, -1).split('/').slice(-1)[0];
|
|
@@ -130,97 +112,119 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
130
112
|
};
|
|
131
113
|
// debug.log(' previousPeriod level' + level + ' file ' + file)
|
|
132
114
|
parent = file.dir();
|
|
133
|
-
|
|
134
|
-
|
|
115
|
+
_context.prev = 4;
|
|
116
|
+
_context.next = 7;
|
|
135
117
|
return _solidLogic.store.fetcher.load(parent);
|
|
136
|
-
case
|
|
118
|
+
case 7:
|
|
137
119
|
siblings = _solidLogic.store.each(parent, ns.ldp('contains'));
|
|
138
120
|
siblings = siblings.filter(younger);
|
|
139
|
-
|
|
140
|
-
return lastNonEmpty(siblings);
|
|
141
|
-
case 12:
|
|
142
|
-
_folder = _context2.sent;
|
|
121
|
+
_folder = lastOrFirst(siblings);
|
|
143
122
|
if (!_folder) {
|
|
144
|
-
|
|
123
|
+
_context.next = 12;
|
|
145
124
|
break;
|
|
146
125
|
}
|
|
147
|
-
return
|
|
148
|
-
case
|
|
149
|
-
|
|
126
|
+
return _context.abrupt("return", _folder);
|
|
127
|
+
case 12:
|
|
128
|
+
debug.log(' parent no suitable offspring ' + parent);
|
|
129
|
+
_context.next = 23;
|
|
150
130
|
break;
|
|
151
|
-
case
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
if (!(
|
|
155
|
-
|
|
131
|
+
case 15:
|
|
132
|
+
_context.prev = 15;
|
|
133
|
+
_context.t0 = _context["catch"](4);
|
|
134
|
+
if (!(_context.t0.response && _context.t0.response.status && _context.t0.response.status === 404)) {
|
|
135
|
+
_context.next = 21;
|
|
156
136
|
break;
|
|
157
137
|
}
|
|
158
138
|
debug.log('Error 404 for chat parent file ' + parent);
|
|
159
|
-
|
|
139
|
+
_context.next = 23;
|
|
160
140
|
break;
|
|
161
|
-
case
|
|
141
|
+
case 21:
|
|
162
142
|
debug.log('*** Error NON 404 for chat parent file ' + parent);
|
|
163
143
|
// statusTR.appendChild(widgets.errorMessageBlock(dom, err, 'pink'))
|
|
164
|
-
throw new Error("*** ".concat(
|
|
165
|
-
case
|
|
144
|
+
throw new Error("*** ".concat(_context.t0.message, " for chat folder ").concat(parent));
|
|
145
|
+
case 23:
|
|
166
146
|
if (!(level === 0)) {
|
|
167
|
-
|
|
147
|
+
_context.next = 26;
|
|
168
148
|
break;
|
|
169
149
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
150
|
+
debug.log('loadPrevious: returning as level is zero');
|
|
151
|
+
return _context.abrupt("return", null);
|
|
152
|
+
case 26:
|
|
153
|
+
_context.next = 28;
|
|
173
154
|
return previousPeriod(parent, level - 1);
|
|
174
|
-
case
|
|
175
|
-
uncle =
|
|
155
|
+
case 28:
|
|
156
|
+
uncle = _context.sent;
|
|
176
157
|
if (uncle) {
|
|
177
|
-
|
|
158
|
+
_context.next = 32;
|
|
178
159
|
break;
|
|
179
160
|
}
|
|
180
|
-
|
|
161
|
+
debug.log(' previousPeriod: nothing left before. ', parent);
|
|
162
|
+
return _context.abrupt("return", null);
|
|
181
163
|
case 32:
|
|
182
|
-
|
|
164
|
+
_context.next = 34;
|
|
183
165
|
return _solidLogic.store.fetcher.load(uncle);
|
|
184
166
|
case 34:
|
|
185
167
|
cousins = _solidLogic.store.each(uncle, ns.ldp('contains'));
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
return _context2.abrupt("return", result);
|
|
168
|
+
result = lastOrFirst(cousins);
|
|
169
|
+
debug.log(' previousPeriod: returning cousins at level ' + level, cousins);
|
|
170
|
+
debug.log(' previousPeriod: returning result at level ' + level, result);
|
|
171
|
+
return _context.abrupt("return", result);
|
|
191
172
|
case 39:
|
|
192
173
|
case "end":
|
|
193
|
-
return
|
|
174
|
+
return _context.stop();
|
|
194
175
|
}
|
|
195
|
-
},
|
|
176
|
+
}, _callee, null, [[4, 15]]);
|
|
196
177
|
}));
|
|
197
178
|
return _previousPeriod.apply(this, arguments);
|
|
198
179
|
};
|
|
199
|
-
previousPeriod = function _previousPeriod2(
|
|
180
|
+
previousPeriod = function _previousPeriod2(_x4, _x5) {
|
|
200
181
|
return _previousPeriod.apply(this, arguments);
|
|
201
182
|
};
|
|
202
|
-
thisDateFolder = this;
|
|
203
183
|
// previousPeriod
|
|
204
184
|
folder = this.leafDocumentFromDate(date).dir();
|
|
205
|
-
|
|
185
|
+
case 3:
|
|
186
|
+
if (!true) {
|
|
187
|
+
_context2.next = 25;
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
_context2.next = 6;
|
|
206
191
|
return previousPeriod(folder, 3);
|
|
207
192
|
case 6:
|
|
208
|
-
found =
|
|
193
|
+
found = _context2.sent;
|
|
209
194
|
if (!found) {
|
|
210
|
-
|
|
195
|
+
_context2.next = 22;
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
leafDocument = _solidLogic.store.sym(found.uri + this.leafFileName);
|
|
199
|
+
nextDate = this.dateFromLeafDocument(leafDocument);
|
|
200
|
+
_context2.next = 12;
|
|
201
|
+
return emptyLeaf(leafDocument);
|
|
202
|
+
case 12:
|
|
203
|
+
if (_context2.sent) {
|
|
204
|
+
_context2.next = 16;
|
|
211
205
|
break;
|
|
212
206
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
207
|
+
return _context2.abrupt("return", nextDate);
|
|
208
|
+
case 16:
|
|
209
|
+
debug.log(' loadPrevious: skipping empty ' + leafDocument);
|
|
210
|
+
date = nextDate;
|
|
211
|
+
folder = this.leafDocumentFromDate(date).dir();
|
|
212
|
+
debug.log(' loadPrevious: moved back to ' + folder);
|
|
213
|
+
case 20:
|
|
214
|
+
_context2.next = 23;
|
|
215
|
+
break;
|
|
216
|
+
case 22:
|
|
217
|
+
return _context2.abrupt("return", null);
|
|
218
|
+
case 23:
|
|
219
|
+
_context2.next = 3;
|
|
220
|
+
break;
|
|
221
|
+
case 25:
|
|
218
222
|
case "end":
|
|
219
|
-
return
|
|
223
|
+
return _context2.stop();
|
|
220
224
|
}
|
|
221
|
-
},
|
|
225
|
+
}, _callee2, this);
|
|
222
226
|
}));
|
|
223
|
-
function loadPrevious(
|
|
227
|
+
function loadPrevious(_x2, _x3) {
|
|
224
228
|
return _loadPrevious.apply(this, arguments);
|
|
225
229
|
}
|
|
226
230
|
return loadPrevious;
|
|
@@ -228,16 +232,16 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
228
232
|
}, {
|
|
229
233
|
key: "firstLeaf",
|
|
230
234
|
value: function () {
|
|
231
|
-
var _firstLeaf = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
235
|
+
var _firstLeaf = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(backwards) {
|
|
232
236
|
var folderStore, folderFetcher, earliestSubfolder, _earliestSubfolder, y, month, d, leafDocument, leafObjects, msg, sortMe;
|
|
233
|
-
return _regenerator["default"].wrap(function
|
|
234
|
-
while (1) switch (
|
|
237
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
238
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
235
239
|
case 0:
|
|
236
240
|
_earliestSubfolder = function _earliestSubfolder3() {
|
|
237
|
-
_earliestSubfolder = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
241
|
+
_earliestSubfolder = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(parent) {
|
|
238
242
|
var suitable, kids;
|
|
239
|
-
return _regenerator["default"].wrap(function
|
|
240
|
-
while (1) switch (
|
|
243
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
244
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
241
245
|
case 0:
|
|
242
246
|
suitable = function _suitable2(x) {
|
|
243
247
|
var tail = x.uri.slice(0, -1).split('/').slice(-1)[0];
|
|
@@ -247,7 +251,7 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
247
251
|
debug.log(' parent ' + parent);
|
|
248
252
|
delete folderFetcher.requested[parent.uri];
|
|
249
253
|
// try {
|
|
250
|
-
|
|
254
|
+
_context3.next = 5;
|
|
251
255
|
return folderFetcher.load(parent, {
|
|
252
256
|
force: true
|
|
253
257
|
});
|
|
@@ -258,19 +262,19 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
258
262
|
kids = folderStore.each(parent, ns.ldp('contains'));
|
|
259
263
|
kids = kids.filter(suitable);
|
|
260
264
|
if (!(kids.length === 0)) {
|
|
261
|
-
|
|
265
|
+
_context3.next = 9;
|
|
262
266
|
break;
|
|
263
267
|
}
|
|
264
268
|
throw new Error(' @@@ No children to parent2 ' + parent);
|
|
265
269
|
case 9:
|
|
266
270
|
kids.sort();
|
|
267
271
|
if (backwards) kids.reverse();
|
|
268
|
-
return
|
|
272
|
+
return _context3.abrupt("return", kids[0]);
|
|
269
273
|
case 12:
|
|
270
274
|
case "end":
|
|
271
|
-
return
|
|
275
|
+
return _context3.stop();
|
|
272
276
|
}
|
|
273
|
-
},
|
|
277
|
+
}, _callee3);
|
|
274
278
|
}));
|
|
275
279
|
return _earliestSubfolder.apply(this, arguments);
|
|
276
280
|
};
|
|
@@ -280,25 +284,25 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
280
284
|
// backwards -> last leafObject
|
|
281
285
|
folderStore = $rdf.graph();
|
|
282
286
|
folderFetcher = new $rdf.Fetcher(folderStore);
|
|
283
|
-
|
|
287
|
+
_context4.next = 6;
|
|
284
288
|
return earliestSubfolder(this.root.dir());
|
|
285
289
|
case 6:
|
|
286
|
-
y =
|
|
287
|
-
|
|
290
|
+
y = _context4.sent;
|
|
291
|
+
_context4.next = 9;
|
|
288
292
|
return earliestSubfolder(y);
|
|
289
293
|
case 9:
|
|
290
|
-
month =
|
|
291
|
-
|
|
294
|
+
month = _context4.sent;
|
|
295
|
+
_context4.next = 12;
|
|
292
296
|
return earliestSubfolder(month);
|
|
293
297
|
case 12:
|
|
294
|
-
d =
|
|
298
|
+
d = _context4.sent;
|
|
295
299
|
leafDocument = $rdf.sym(d.uri + 'chat.ttl');
|
|
296
|
-
|
|
300
|
+
_context4.next = 16;
|
|
297
301
|
return folderFetcher.load(leafDocument);
|
|
298
302
|
case 16:
|
|
299
303
|
leafObjects = folderStore.each(this.root, this.membershipProperty, null, leafDocument);
|
|
300
304
|
if (!(leafObjects.length === 0)) {
|
|
301
|
-
|
|
305
|
+
_context4.next = 21;
|
|
302
306
|
break;
|
|
303
307
|
}
|
|
304
308
|
msg = ' INCONSISTENCY -- no chat leafObject in file ' + leafDocument;
|
|
@@ -311,12 +315,12 @@ var DateFolder = /*#__PURE__*/function () {
|
|
|
311
315
|
sortMe.sort();
|
|
312
316
|
if (backwards) sortMe.reverse();
|
|
313
317
|
debug.log((backwards ? 'Latest' : 'Earliest') + ' leafObject is ' + sortMe[0][1]);
|
|
314
|
-
return
|
|
318
|
+
return _context4.abrupt("return", sortMe[0][1]);
|
|
315
319
|
case 26:
|
|
316
320
|
case "end":
|
|
317
|
-
return
|
|
321
|
+
return _context4.stop();
|
|
318
322
|
}
|
|
319
|
-
},
|
|
323
|
+
}, _callee4, this);
|
|
320
324
|
}));
|
|
321
325
|
function firstLeaf(_x6) {
|
|
322
326
|
return _firstLeaf.apply(this, arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateFolder.js","names":["debug","_interopRequireWildcard","require","_solidLogic","ns","$rdf","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","DateFolder","rootThing","leafFileName","membershipProperty","_classCallCheck2","root","rootFolder","dir","wf","_createClass2","value","leafDocumentFromDate","date","isoDate","toISOString","path","split","replace","uri","store","sym","dateFromLeafDocument","doc","head","length","str","slice","Date","log","_loadPrevious","_asyncToGenerator2","_regenerator","mark","_callee3","backwards","thisDateFolder","previousPeriod","_previousPeriod","folder","found","wrap","_callee3$","_context3","prev","next","_previousPeriod3","_callee2","file","level","younger","suitable","lastNonEmpty","_lastNonEmpty","parent","siblings","_folder","uncle","cousins","result","_callee2$","_context2","_lastNonEmpty3","_callee","_folder2","leafDocument","_callee$","_context","filter","sort","reverse","abrupt","pop","fetcher","load","statementsMatching","dct","stop","apply","arguments","_lastNonEmpty2","_x5","_suitable","x","tail","includes","_younger","each","ldp","sent","t0","response","status","Error","concat","message","_previousPeriod2","_x3","_x4","loadPrevious","_x","_x2","_firstLeaf","_callee5","folderStore","folderFetcher","earliestSubfolder","_earliestSubfolder","y","month","d","leafObjects","msg","sortMe","_callee5$","_context5","_earliestSubfolder3","_callee4","kids","_callee4$","_context4","_suitable2","requested","force","_earliestSubfolder2","_x7","graph","Fetcher","trace","map","leafObject","any","firstLeaf","_x6","exports"],"sources":["../../src/chat/dateFolder.js"],"sourcesContent":["/**\n * Contains the [[DateFolder]] class\n * This tracks data stored in dated folders and sub-folders\n *\n */\n\nimport * as debug from '../debug'\nimport { store } from 'solid-logic'\n\nimport * as ns from '../ns'\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\n\n/**\n * Track back through the YYYY/MM/DD tree to find the previous/next day\n */\nexport class DateFolder {\n constructor (rootThing, leafFileName, membershipProperty) {\n this.root = rootThing\n this.rootFolder = rootThing.dir()\n this.leafFileName = leafFileName || 'index.ttl' // typically chat.ttl\n this.membershipProperty = membershipProperty || ns.wf('leafObject')\n }\n\n /* Generate the leaf document (rdf object) from date\n * @returns: <NamedNode> - document\n */\n leafDocumentFromDate (date) {\n // debug.log('incoming date: ' + date)\n const isoDate = date.toISOString() // Like \"2018-05-07T17:42:46.576Z\"\n let path = isoDate.split('T')[0].replace(/-/g, '/') // Like \"2018/05/07\"\n path = this.root.dir().uri + path + '/' + this.leafFileName\n return store.sym(path)\n }\n\n /* Generate a date object from the leaf file name\n */\n dateFromLeafDocument (doc) {\n const head = this.rootFolder.uri.length\n const str = doc.uri.slice(head, head + 10).replace(/\\//g, '-')\n // let date = new Date(str + 'Z') // GMT - but fails in FF - invalid format :-(\n const date = new Date(str) // not explicitly UTC but is assumed so in spec\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse\n debug.log('Date for ' + doc + ':' + date.toISOString())\n return date\n }\n\n async loadPrevious (date, backwards) {\n const thisDateFolder = this\n async function previousPeriod (file, level) {\n function younger (x) {\n if (backwards ? x.uri >= file.uri : x.uri <= file.uri) return false // later than we want or same -- looking for different\n return true\n }\n function suitable (x) {\n const tail = x.uri\n .slice(0, -1)\n .split('/')\n .slice(-1)[0]\n if (!'0123456789'.includes(tail[0])) return false // not numeric\n return true\n }\n\n async function lastNonEmpty (siblings) {\n siblings = siblings.filter(suitable)\n siblings.sort() // chronological order\n if (!backwards) siblings.reverse()\n if (level !== 3) return siblings.pop() // only length chck final leverl\n while (siblings.length) {\n const folder = siblings.pop()\n const leafDocument = store.sym(folder.uri + thisDateFolder.leafFileName)\n await store.fetcher.load(leafDocument)\n // files can have seealso links. skip ones with no leafObjects with a date\n if (\n store.statementsMatching(null, ns.dct('created'), null, leafDocument)\n .length > 0\n ) {\n return folder\n }\n }\n return null\n }\n // debug.log(' previousPeriod level' + level + ' file ' + file)\n const parent = file.dir()\n try {\n await store.fetcher.load(parent)\n let siblings = store.each(parent, ns.ldp('contains'))\n siblings = siblings.filter(younger)\n const folder = await lastNonEmpty(siblings)\n if (folder) return folder\n } catch (err) {\n if (err.response && err.response.status && err.response.status === 404) {\n debug.log('Error 404 for chat parent file ' + parent)\n } else {\n debug.log('*** Error NON 404 for chat parent file ' + parent)\n // statusTR.appendChild(widgets.errorMessageBlock(dom, err, 'pink'))\n throw (new Error(`*** ${err.message} for chat folder ${parent}`))\n }\n }\n\n if (level === 0) return null // 3:day, 2:month, 1: year 0: no\n\n const uncle = await previousPeriod(parent, level - 1)\n if (!uncle) return null // reached first ever\n await store.fetcher.load(uncle)\n const cousins = store.each(uncle, ns.ldp('contains'))\n const result = await lastNonEmpty(cousins)\n return result\n } // previousPeriod\n\n const folder = this.leafDocumentFromDate(date).dir()\n const found = await previousPeriod(folder, 3)\n if (found) {\n const doc = store.sym(found.uri + this.leafFileName)\n return this.dateFromLeafDocument(doc)\n }\n return null\n } // loadPrevious\n\n async firstLeaf (backwards) {\n // backwards -> last leafObject\n const folderStore = $rdf.graph()\n const folderFetcher = new $rdf.Fetcher(folderStore)\n async function earliestSubfolder (parent) {\n function suitable (x) {\n const tail = x.uri\n .slice(0, -1)\n .split('/')\n .slice(-1)[0]\n if (!'0123456789'.includes(tail[0])) return false // not numeric\n return true\n }\n debug.log(' parent ' + parent)\n delete folderFetcher.requested[parent.uri]\n // try {\n await folderFetcher.load(parent, { force: true }) // Force fetch as will have changed\n // }catch (err) {\n // }\n\n let kids = folderStore.each(parent, ns.ldp('contains'))\n kids = kids.filter(suitable)\n if (kids.length === 0) {\n throw new Error(' @@@ No children to parent2 ' + parent)\n }\n\n kids.sort()\n if (backwards) kids.reverse()\n return kids[0]\n }\n const y = await earliestSubfolder(this.root.dir())\n const month = await earliestSubfolder(y)\n const d = await earliestSubfolder(month)\n const leafDocument = $rdf.sym(d.uri + 'chat.ttl')\n await folderFetcher.load(leafDocument)\n const leafObjects = folderStore.each(\n this.root,\n this.membershipProperty,\n null,\n leafDocument\n )\n if (leafObjects.length === 0) {\n const msg =\n ' INCONSISTENCY -- no chat leafObject in file ' + leafDocument\n debug.trace(msg)\n throw new Error(msg)\n }\n const sortMe = leafObjects.map(leafObject => [\n folderStore.any(leafObject, ns.dct('created')),\n leafObject\n ])\n sortMe.sort()\n if (backwards) sortMe.reverse()\n debug.log(\n (backwards ? 'Latest' : 'Earliest') + ' leafObject is ' + sortMe[0][1]\n )\n return sortMe[0][1]\n } // firstleafObject\n} // class\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dateFolder.js","names":["debug","_interopRequireWildcard","require","_solidLogic","ns","$rdf","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","emptyLeaf","_x","_emptyLeaf","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee5","leafDocument","wrap","_callee5$","_context5","prev","next","store","fetcher","load","abrupt","statementsMatching","dct","length","stop","DateFolder","rootThing","leafFileName","membershipProperty","_classCallCheck2","root","rootFolder","dir","wf","_createClass2","value","leafDocumentFromDate","date","isoDate","toISOString","path","split","replace","uri","sym","dateFromLeafDocument","doc","head","str","slice","Date","log","_loadPrevious","_callee2","backwards","previousPeriod","_previousPeriod","folder","found","nextDate","_callee2$","_context2","_previousPeriod3","_callee","file","level","younger","suitable","lastOrFirst","parent","siblings","_folder","uncle","cousins","result","_callee$","_context","_lastOrFirst","filter","sort","reverse","pop","_suitable","x","tail","includes","_younger","each","ldp","t0","response","status","Error","concat","message","sent","_previousPeriod2","_x4","_x5","loadPrevious","_x2","_x3","_firstLeaf","_callee4","folderStore","folderFetcher","earliestSubfolder","_earliestSubfolder","y","month","d","leafObjects","msg","sortMe","_callee4$","_context4","_earliestSubfolder3","_callee3","kids","_callee3$","_context3","_suitable2","requested","force","_earliestSubfolder2","_x7","graph","Fetcher","trace","map","leafObject","any","firstLeaf","_x6","exports"],"sources":["../../src/chat/dateFolder.js"],"sourcesContent":["/**\n * Contains the [[DateFolder]] class\n * This tracks data stored in dated folders and sub-folders\n *\n */\nimport * as debug from '../debug'\nimport { store } from 'solid-logic'\nimport * as ns from '../ns'\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\n\nexport async function emptyLeaf (leafDocument) {\n await store.fetcher.load(leafDocument)\n // files can have seealso links. skip ones with no leafObjects with a date\n return !(\n store.statementsMatching(null, ns.dct('created'), null, leafDocument)\n .length > 0\n )\n}\n\n/**\n * Track back through the YYYY/MM/DD tree to find the previous/next day\n */\nexport class DateFolder {\n constructor (rootThing, leafFileName, membershipProperty) {\n this.root = rootThing\n this.rootFolder = rootThing.dir()\n this.leafFileName = leafFileName || 'index.ttl' // typically chat.ttl\n this.membershipProperty = membershipProperty || ns.wf('leafObject')\n }\n\n /* Generate the leaf document (rdf object) from date\n * @returns: <NamedNode> - document\n */\n leafDocumentFromDate (date) {\n // debug.log('incoming date: ' + date)\n const isoDate = date.toISOString() // Like \"2018-05-07T17:42:46.576Z\"\n let path = isoDate.split('T')[0].replace(/-/g, '/') // Like \"2018/05/07\"\n path = this.root.dir().uri + path + '/' + this.leafFileName\n return store.sym(path)\n }\n\n /* Generate a date object from the leaf file name\n */\n dateFromLeafDocument (doc) {\n const head = this.rootFolder.uri.length\n const str = doc.uri.slice(head, head + 10).replace(/\\//g, '-')\n // let date = new Date(str + 'Z') // GMT - but fails in FF - invalid format :-(\n const date = new Date(str) // not explicitly UTC but is assumed so in spec\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse\n debug.log('Date for ' + doc + ':' + date.toISOString())\n return date\n }\n\n async loadPrevious (date, backwards) {\n async function previousPeriod (file, level) {\n function younger (x) {\n if (backwards ? x.uri >= file.uri : x.uri <= file.uri) return false // later than we want or same -- looking for different\n return true\n }\n function suitable (x) {\n const tail = x.uri\n .slice(0, -1)\n .split('/')\n .slice(-1)[0]\n if (!'0123456789'.includes(tail[0])) return false // not numeric\n return true\n }\n\n function lastOrFirst (siblings) {\n siblings = siblings.filter(suitable)\n siblings.sort() // chronological order\n if (!backwards) siblings.reverse()\n return siblings.pop() // date folder\n }\n // debug.log(' previousPeriod level' + level + ' file ' + file)\n const parent = file.dir()\n try {\n await store.fetcher.load(parent)\n let siblings = store.each(parent, ns.ldp('contains'))\n siblings = siblings.filter(younger)\n const folder = lastOrFirst(siblings)\n if (folder) return folder\n debug.log(' parent no suitable offspring ' + parent)\n } catch (err) {\n if (err.response && err.response.status && err.response.status === 404) {\n debug.log('Error 404 for chat parent file ' + parent)\n } else {\n debug.log('*** Error NON 404 for chat parent file ' + parent)\n // statusTR.appendChild(widgets.errorMessageBlock(dom, err, 'pink'))\n throw (new Error(`*** ${err.message} for chat folder ${parent}`))\n }\n }\n if (level === 0) {\n debug.log('loadPrevious: returning as level is zero')\n return null // 3:day, 2:month, 1: year 0: no\n }\n\n const uncle = await previousPeriod(parent, level - 1)\n if (!uncle) {\n debug.log(' previousPeriod: nothing left before. ', parent)\n return null // reached first ever\n }\n await store.fetcher.load(uncle)\n const cousins = store.each(uncle, ns.ldp('contains'))\n const result = lastOrFirst(cousins)\n debug.log(' previousPeriod: returning cousins at level ' + level, cousins)\n debug.log(' previousPeriod: returning result at level ' + level, result)\n\n return result\n } // previousPeriod\n\n let folder = this.leafDocumentFromDate(date).dir()\n while (true) {\n const found = await previousPeriod(folder, 3)\n if (found) {\n const leafDocument = store.sym(found.uri + this.leafFileName)\n const nextDate = this.dateFromLeafDocument(leafDocument)\n if (!await emptyLeaf(leafDocument)) {\n return nextDate\n } else {\n debug.log(' loadPrevious: skipping empty ' + leafDocument)\n date = nextDate\n folder = this.leafDocumentFromDate(date).dir()\n debug.log(' loadPrevious: moved back to ' + folder)\n }\n } else {\n return null // no more left\n }\n }\n } // loadPrevious\n\n async firstLeaf (backwards) {\n // backwards -> last leafObject\n const folderStore = $rdf.graph()\n const folderFetcher = new $rdf.Fetcher(folderStore)\n async function earliestSubfolder (parent) {\n function suitable (x) {\n const tail = x.uri\n .slice(0, -1)\n .split('/')\n .slice(-1)[0]\n if (!'0123456789'.includes(tail[0])) return false // not numeric\n return true\n }\n debug.log(' parent ' + parent)\n delete folderFetcher.requested[parent.uri]\n // try {\n await folderFetcher.load(parent, { force: true }) // Force fetch as will have changed\n // }catch (err) {\n // }\n\n let kids = folderStore.each(parent, ns.ldp('contains'))\n kids = kids.filter(suitable)\n if (kids.length === 0) {\n throw new Error(' @@@ No children to parent2 ' + parent)\n }\n\n kids.sort()\n if (backwards) kids.reverse()\n return kids[0]\n }\n const y = await earliestSubfolder(this.root.dir())\n const month = await earliestSubfolder(y)\n const d = await earliestSubfolder(month)\n const leafDocument = $rdf.sym(d.uri + 'chat.ttl')\n await folderFetcher.load(leafDocument)\n const leafObjects = folderStore.each(\n this.root,\n this.membershipProperty,\n null,\n leafDocument\n )\n if (leafObjects.length === 0) {\n const msg =\n ' INCONSISTENCY -- no chat leafObject in file ' + leafDocument\n debug.trace(msg)\n throw new Error(msg)\n }\n const sortMe = leafObjects.map(leafObject => [\n folderStore.any(leafObject, ns.dct('created')),\n leafObject\n ])\n sortMe.sort()\n if (backwards) sortMe.reverse()\n debug.log(\n (backwards ? 'Latest' : 'Earliest') + ' leafObject is ' + sortMe[0][1]\n )\n return sortMe[0][1]\n } // firstleafObject\n} // class\n"],"mappings":"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"}
|
package/lib/chat/infinite.js
CHANGED
|
@@ -730,26 +730,27 @@ function _infiniteMessageArea() {
|
|
|
730
730
|
}
|
|
731
731
|
return _context4.abrupt("return", true);
|
|
732
732
|
case 4:
|
|
733
|
-
|
|
733
|
+
debug.log(' insertPreviousMessages: loadPrevious given date ' + date);
|
|
734
|
+
_context4.next = 7;
|
|
734
735
|
return dateFolder.loadPrevious(date, backwards);
|
|
735
|
-
case
|
|
736
|
+
case 7:
|
|
736
737
|
date = _context4.sent;
|
|
737
738
|
// backwards
|
|
738
|
-
|
|
739
|
+
debug.log(' insertPreviousMessages: loadPrevious returns date ' + date);
|
|
739
740
|
debug.log("insertPreviousMessages: from ".concat(backwards ? 'backwards' : 'forwards', " loadPrevious: ").concat(date));
|
|
740
741
|
if (!(!date && !backwards && !liveMessageTable)) {
|
|
741
|
-
_context4.next =
|
|
742
|
+
_context4.next = 13;
|
|
742
743
|
break;
|
|
743
744
|
}
|
|
744
|
-
_context4.next =
|
|
745
|
+
_context4.next = 13;
|
|
745
746
|
return appendCurrentMessages();
|
|
746
|
-
case
|
|
747
|
+
case 13:
|
|
747
748
|
if (date) {
|
|
748
|
-
_context4.next =
|
|
749
|
+
_context4.next = 15;
|
|
749
750
|
break;
|
|
750
751
|
}
|
|
751
752
|
return _context4.abrupt("return", true);
|
|
752
|
-
case
|
|
753
|
+
case 15:
|
|
753
754
|
// done
|
|
754
755
|
live = false;
|
|
755
756
|
if (!backwards) {
|
|
@@ -757,9 +758,9 @@ function _infiniteMessageArea() {
|
|
|
757
758
|
doc = dateFolder.leafDocumentFromDate(date);
|
|
758
759
|
live = doc.sameTerm(todayDoc); // Is this todays?
|
|
759
760
|
}
|
|
760
|
-
_context4.next =
|
|
761
|
+
_context4.next = 19;
|
|
761
762
|
return createMessageTable(date, live);
|
|
762
|
-
case
|
|
763
|
+
case 19:
|
|
763
764
|
newMessageTable = _context4.sent;
|
|
764
765
|
extremity.messageTable = newMessageTable; // move pointer to earliest
|
|
765
766
|
if (backwards ? newestFirst : !newestFirst) {
|
|
@@ -770,7 +771,7 @@ function _infiniteMessageArea() {
|
|
|
770
771
|
div.insertBefore(newMessageTable, div.firstChild);
|
|
771
772
|
}
|
|
772
773
|
return _context4.abrupt("return", live);
|
|
773
|
-
case
|
|
774
|
+
case 23:
|
|
774
775
|
case "end":
|
|
775
776
|
return _context4.stop();
|
|
776
777
|
}
|