solid-logic 1.3.17-9d25ceb7 → 1.3.17-a4538ffc

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.
Files changed (125) hide show
  1. package/lib/acl/aclLogic.d.ts +3 -30
  2. package/lib/acl/aclLogic.d.ts.map +1 -1
  3. package/lib/acl/aclLogic.js +152 -119
  4. package/lib/acl/aclLogic.js.map +1 -1
  5. package/lib/authn/SolidAuthnLogic.d.ts.map +1 -1
  6. package/lib/authn/SolidAuthnLogic.js +2 -2
  7. package/lib/authn/SolidAuthnLogic.js.map +1 -1
  8. package/lib/chat/chatLogic.d.ts +3 -0
  9. package/lib/chat/chatLogic.d.ts.map +1 -0
  10. package/lib/chat/{ChatLogic.js → chatLogic.js} +82 -86
  11. package/lib/chat/chatLogic.js.map +1 -0
  12. package/lib/inbox/inboxLogic.d.ts +3 -0
  13. package/lib/inbox/inboxLogic.d.ts.map +1 -0
  14. package/lib/inbox/{InboxLogic.js → inboxLogic.js} +58 -64
  15. package/lib/inbox/inboxLogic.js.map +1 -0
  16. package/lib/index.d.ts +6 -11
  17. package/lib/index.d.ts.map +1 -1
  18. package/lib/index.js +5 -25
  19. package/lib/index.js.map +1 -1
  20. package/lib/issuer/issuerLogic.js +1 -1
  21. package/lib/issuer/issuerLogic.js.map +1 -1
  22. package/lib/logic/CustomError.d.ts +4 -0
  23. package/lib/logic/CustomError.d.ts.map +1 -1
  24. package/lib/logic/CustomError.js +17 -1
  25. package/lib/logic/CustomError.js.map +1 -1
  26. package/lib/logic/solidLogic.d.ts +6 -0
  27. package/lib/logic/solidLogic.d.ts.map +1 -0
  28. package/lib/logic/solidLogic.js +92 -0
  29. package/lib/logic/solidLogic.js.map +1 -0
  30. package/lib/logic/solidLogicSingleton.d.ts +1 -2
  31. package/lib/logic/solidLogicSingleton.d.ts.map +1 -1
  32. package/lib/logic/solidLogicSingleton.js +3 -3
  33. package/lib/logic/solidLogicSingleton.js.map +1 -1
  34. package/lib/profile/profileLogic.d.ts +3 -0
  35. package/lib/profile/profileLogic.d.ts.map +1 -0
  36. package/lib/profile/profileLogic.js +246 -0
  37. package/lib/profile/profileLogic.js.map +1 -0
  38. package/lib/typeIndex/typeIndexLogic.d.ts +2 -21
  39. package/lib/typeIndex/typeIndexLogic.d.ts.map +1 -1
  40. package/lib/typeIndex/typeIndexLogic.js +304 -296
  41. package/lib/typeIndex/typeIndexLogic.js.map +1 -1
  42. package/lib/types.d.ts +82 -1
  43. package/lib/types.d.ts.map +1 -1
  44. package/lib/util/containerLogic.d.ts +11 -0
  45. package/lib/util/containerLogic.d.ts.map +1 -0
  46. package/lib/{profile/ProfileLogic.js → util/containerLogic.js} +53 -44
  47. package/lib/util/containerLogic.js.map +1 -0
  48. package/lib/util/ns.d.ts +2 -0
  49. package/lib/util/ns.d.ts.map +1 -0
  50. package/lib/util/ns.js +34 -0
  51. package/lib/util/ns.js.map +1 -0
  52. package/lib/util/utilityLogic.d.ts +15 -0
  53. package/lib/util/utilityLogic.d.ts.map +1 -0
  54. package/lib/util/utilityLogic.js +272 -0
  55. package/lib/util/utilityLogic.js.map +1 -0
  56. package/lib/util/utils.d.ts +8 -0
  57. package/lib/util/utils.d.ts.map +1 -0
  58. package/lib/util/utils.js +48 -0
  59. package/lib/util/utils.js.map +1 -0
  60. package/package.json +15 -13
  61. package/src/acl/aclLogic.ts +137 -118
  62. package/src/authn/SolidAuthnLogic.ts +3 -2
  63. package/src/chat/chatLogic.ts +225 -0
  64. package/src/inbox/inboxLogic.ts +58 -0
  65. package/src/index.ts +11 -29
  66. package/src/issuer/issuerLogic.ts +1 -1
  67. package/src/logic/CustomError.ts +5 -1
  68. package/src/logic/solidLogic.ts +75 -0
  69. package/src/logic/solidLogicSingleton.ts +3 -3
  70. package/src/profile/profileLogic.ts +126 -0
  71. package/src/typeIndex/typeIndexLogic.ts +175 -182
  72. package/src/types.ts +83 -4
  73. package/src/util/containerLogic.ts +54 -0
  74. package/src/util/ns.ts +5 -0
  75. package/src/util/utilityLogic.ts +155 -0
  76. package/src/util/utils.ts +52 -0
  77. package/test/aclLogic.test.ts +13 -4
  78. package/test/chatLogic.test.ts +70 -71
  79. package/test/container.test.ts +56 -0
  80. package/test/helpers/dataSetup.ts +134 -0
  81. package/test/helpers/setup.ts +4 -0
  82. package/test/inboxLogic.test.ts +39 -38
  83. package/test/logic.test.ts +10 -9
  84. package/test/profileLogic.test.ts +246 -0
  85. package/test/typeIndexLogic.test.ts +487 -30
  86. package/test/utilityLogic.test.ts +172 -126
  87. package/test/utils.test.ts +32 -0
  88. package/lib/chat/ChatLogic.d.ts +0 -26
  89. package/lib/chat/ChatLogic.d.ts.map +0 -1
  90. package/lib/chat/ChatLogic.js.map +0 -1
  91. package/lib/chat/determineChatContainer.d.ts +0 -3
  92. package/lib/chat/determineChatContainer.d.ts.map +0 -1
  93. package/lib/chat/determineChatContainer.js +0 -12
  94. package/lib/chat/determineChatContainer.js.map +0 -1
  95. package/lib/discovery/discoveryLogic.d.ts +0 -37
  96. package/lib/discovery/discoveryLogic.d.ts.map +0 -1
  97. package/lib/discovery/discoveryLogic.js +0 -507
  98. package/lib/discovery/discoveryLogic.js.map +0 -1
  99. package/lib/inbox/InboxLogic.d.ts +0 -18
  100. package/lib/inbox/InboxLogic.d.ts.map +0 -1
  101. package/lib/inbox/InboxLogic.js.map +0 -1
  102. package/lib/logic/SolidLogic.d.ts +0 -48
  103. package/lib/logic/SolidLogic.d.ts.map +0 -1
  104. package/lib/logic/SolidLogic.js +0 -321
  105. package/lib/logic/SolidLogic.js.map +0 -1
  106. package/lib/profile/ProfileLogic.d.ts +0 -13
  107. package/lib/profile/ProfileLogic.d.ts.map +0 -1
  108. package/lib/profile/ProfileLogic.js.map +0 -1
  109. package/lib/util/UtilityLogic.d.ts +0 -33
  110. package/lib/util/UtilityLogic.d.ts.map +0 -1
  111. package/lib/util/UtilityLogic.js +0 -240
  112. package/lib/util/UtilityLogic.js.map +0 -1
  113. package/lib/util/uri.d.ts +0 -3
  114. package/lib/util/uri.d.ts.map +0 -1
  115. package/lib/util/uri.js +0 -9
  116. package/lib/util/uri.js.map +0 -1
  117. package/src/chat/ChatLogic.ts +0 -244
  118. package/src/chat/determineChatContainer.ts +0 -14
  119. package/src/discovery/discoveryLogic.ts +0 -288
  120. package/src/inbox/InboxLogic.ts +0 -66
  121. package/src/logic/SolidLogic.ts +0 -262
  122. package/src/profile/ProfileLogic.ts +0 -44
  123. package/src/util/UtilityLogic.ts +0 -161
  124. package/src/util/uri.ts +0 -5
  125. package/test/discoveryLogic.test.ts +0 -712
@@ -1,321 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (_) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
- var __importDefault = (this && this.__importDefault) || function (mod) {
62
- return (mod && mod.__esModule) ? mod : { "default": mod };
63
- };
64
- Object.defineProperty(exports, "__esModule", { value: true });
65
- exports.SolidLogic = void 0;
66
- var rdf = __importStar(require("rdflib"));
67
- var solid_namespace_1 = __importDefault(require("solid-namespace"));
68
- var SolidAuthnLogic_1 = require("../authn/SolidAuthnLogic");
69
- var ChatLogic_1 = require("../chat/ChatLogic");
70
- var ProfileLogic_1 = require("../profile/ProfileLogic");
71
- var debug = __importStar(require("../util/debug"));
72
- var UtilityLogic_1 = require("../util/UtilityLogic");
73
- var CustomError_1 = require("./CustomError");
74
- /*
75
- ** It is important to distinquish `fetch`, a function provided by the browser
76
- ** and `Fetcher`, a helper object for the rdflib Store which turns it
77
- ** into a `ConnectedStore` or a `LiveStore`. A Fetcher object is
78
- ** available at store.fetcher, and `fetch` function at `store.fetcher._fetch`,
79
- */
80
- var ns = (0, solid_namespace_1.default)(rdf);
81
- var SolidLogic = /** @class */ (function () {
82
- function SolidLogic(specialFetch, session) {
83
- // would xpect to be able to do it this way: but get TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation status: 999
84
- // this.store = new rdf.LiveStore({})
85
- // this.store.fetcher._fetch = fetch
86
- console.log("SolidLogic: Unique instance created. There should only be one of these.");
87
- this.store = rdf.graph(); // Make a Quad store
88
- rdf.fetcher(this.store, { fetch: specialFetch.fetch }); // Attach a web I/O module, store.fetcher
89
- this.store.updater = new rdf.UpdateManager(this.store); // Add real-time live updates store.updater
90
- this.store.features = []; // disable automatic node merging on store load
91
- this.cache = {
92
- profileDocument: {},
93
- preferencesFile: {},
94
- };
95
- this.underlyingFetch = { fetch: fetch }; // Note global one not the one passed
96
- this.authn = new SolidAuthnLogic_1.SolidAuthnLogic(session);
97
- debug.log('SolidAuthnLogic initialized');
98
- this.profile = new ProfileLogic_1.ProfileLogic(this.store, ns, this.authn);
99
- this.chat = new ChatLogic_1.ChatLogic(this.store, ns, this.profile);
100
- this.util = new UtilityLogic_1.UtilityLogic(this.store, ns, this.underlyingFetch);
101
- }
102
- SolidLogic.prototype.findAclDocUrl = function (url) {
103
- return this.util.findAclDocUrl(url);
104
- };
105
- SolidLogic.prototype.loadProfile = function (me) {
106
- return __awaiter(this, void 0, void 0, function () {
107
- var profileDocument, err_1, message;
108
- return __generator(this, function (_a) {
109
- switch (_a.label) {
110
- case 0:
111
- /*
112
- // console.log('loadProfile cache ', this.cache)
113
- if (this.cache.profileDocument[me.value]) {
114
- return this.cache.profileDocument[me.value];
115
- } @@ just use the cache in the store
116
- */
117
- console.log('loadProfile me ', me);
118
- profileDocument = me.doc();
119
- _a.label = 1;
120
- case 1:
121
- _a.trys.push([1, 3, , 4]);
122
- return [4 /*yield*/, this.store.fetcher.load(profileDocument)];
123
- case 2:
124
- _a.sent();
125
- return [2 /*return*/, profileDocument];
126
- case 3:
127
- err_1 = _a.sent();
128
- message = "Cannot load profile ".concat(profileDocument, " : ").concat(err_1);
129
- throw new Error(message);
130
- case 4: return [2 /*return*/];
131
- }
132
- });
133
- });
134
- };
135
- SolidLogic.prototype.loadPreferences = function (me) {
136
- return __awaiter(this, void 0, void 0, function () {
137
- // console.log('this.store.any()', this.store.any())
138
- /**
139
- * Are we working cross-origin?
140
- * Returns True if we are in a webapp at an origin, and the file origin is different
141
- */
142
- function differentOrigin() {
143
- if (!preferencesFile) {
144
- return true;
145
- }
146
- return ("".concat(window.location.origin, "/") !== new URL(preferencesFile.value).origin);
147
- }
148
- var preferencesFile, err_2, status_1;
149
- return __generator(this, function (_a) {
150
- switch (_a.label) {
151
- case 0:
152
- console.log('loadPreferences cache ', this.cache);
153
- if (this.cache.preferencesFile[me.value]) {
154
- return [2 /*return*/, this.cache.preferencesFile[me.value]];
155
- }
156
- return [4 /*yield*/, this.loadProfile(me)]; // Load pointer to pref file
157
- case 1:
158
- _a.sent(); // Load pointer to pref file
159
- preferencesFile = this.store.any(me, ns.space('preferencesFile'), null, me.doc());
160
- if (!preferencesFile) {
161
- throw new Error("Can't find a preference file pointer in profile ".concat(me.doc()));
162
- }
163
- _a.label = 2;
164
- case 2:
165
- _a.trys.push([2, 4, , 5]);
166
- return [4 /*yield*/, this.store.fetcher.load(preferencesFile, {
167
- withCredentials: true,
168
- })];
169
- case 3:
170
- _a.sent();
171
- return [3 /*break*/, 5];
172
- case 4:
173
- err_2 = _a.sent();
174
- status_1 = err_2.status;
175
- debug.log("HTTP status ".concat(status_1, " for preference file ").concat(preferencesFile));
176
- if (status_1 === 401) {
177
- throw new CustomError_1.UnauthorizedError();
178
- }
179
- if (status_1 === 403) {
180
- if (differentOrigin()) {
181
- throw new CustomError_1.CrossOriginForbiddenError();
182
- }
183
- throw new CustomError_1.SameOriginForbiddenError();
184
- }
185
- if (status_1 === 404) {
186
- throw new CustomError_1.NotFoundError(preferencesFile.value);
187
- }
188
- throw new CustomError_1.FetchError(err_2.status, err_2.message);
189
- case 5: return [2 /*return*/, preferencesFile];
190
- }
191
- });
192
- });
193
- };
194
- SolidLogic.prototype.getTypeIndex = function (me, preferencesFile, isPublic) {
195
- // console.log('getTypeIndex', this.store.each(me, undefined, undefined, preferencesFile), isPublic, preferencesFile)
196
- return this.store.each(me, isPublic ? ns.solid("publicTypeIndex") : ns.solid("privateTypeIndex"), undefined, preferencesFile);
197
- };
198
- SolidLogic.prototype.getRegistrations = function (instance, theClass) {
199
- var _this = this;
200
- return this.store
201
- .each(undefined, ns.solid("instance"), instance)
202
- .filter(function (r) {
203
- return _this.store.holds(r, ns.solid("forClass"), theClass);
204
- });
205
- };
206
- SolidLogic.prototype.load = function (doc) {
207
- return this.store.fetcher.load(doc);
208
- };
209
- SolidLogic.prototype.loadIndexes = function (me, publicProfile, preferencesFile, onWarning) {
210
- var _this = this;
211
- if (onWarning === void 0) { onWarning = function (_err) { return __awaiter(_this, void 0, void 0, function () {
212
- return __generator(this, function (_a) {
213
- return [2 /*return*/, undefined];
214
- });
215
- }); }; }
216
- return __awaiter(this, void 0, void 0, function () {
217
- var privateIndexes, publicIndexes, err_3, err_4;
218
- return __generator(this, function (_a) {
219
- switch (_a.label) {
220
- case 0:
221
- privateIndexes = [];
222
- publicIndexes = [];
223
- if (!publicProfile) return [3 /*break*/, 4];
224
- publicIndexes = this.getTypeIndex(me, publicProfile, true);
225
- _a.label = 1;
226
- case 1:
227
- _a.trys.push([1, 3, , 4]);
228
- return [4 /*yield*/, this.load(publicIndexes)];
229
- case 2:
230
- _a.sent();
231
- return [3 /*break*/, 4];
232
- case 3:
233
- err_3 = _a.sent();
234
- onWarning(new Error("loadIndex: loading public type index(es) ".concat(err_3)));
235
- return [3 /*break*/, 4];
236
- case 4:
237
- if (!preferencesFile) return [3 /*break*/, 9];
238
- privateIndexes = this.getTypeIndex(me, preferencesFile, false);
239
- if (!(privateIndexes.length === 0)) return [3 /*break*/, 6];
240
- return [4 /*yield*/, onWarning(new Error("Your preference file ".concat(preferencesFile, " does not point to a private type index.")))];
241
- case 5:
242
- _a.sent();
243
- return [3 /*break*/, 9];
244
- case 6:
245
- _a.trys.push([6, 8, , 9]);
246
- return [4 /*yield*/, this.load(privateIndexes)];
247
- case 7:
248
- _a.sent();
249
- return [3 /*break*/, 9];
250
- case 8:
251
- err_4 = _a.sent();
252
- onWarning(new Error("loadIndex: loading private type index(es) ".concat(err_4)));
253
- return [3 /*break*/, 9];
254
- case 9: return [2 /*return*/, {
255
- private: privateIndexes,
256
- public: publicIndexes,
257
- }];
258
- }
259
- });
260
- });
261
- };
262
- SolidLogic.prototype.createEmptyRdfDoc = function (doc, comment) {
263
- return __awaiter(this, void 0, void 0, function () {
264
- return __generator(this, function (_a) {
265
- switch (_a.label) {
266
- case 0: return [4 /*yield*/, this.store.fetcher.webOperation("PUT", doc.uri, {
267
- data: "# ".concat(new Date(), " ").concat(comment, "\n "),
268
- contentType: "text/turtle",
269
- })];
270
- case 1:
271
- _a.sent();
272
- return [2 /*return*/];
273
- }
274
- });
275
- });
276
- };
277
- // @@@@ use the one in rdflib.js when it is available and delete this
278
- SolidLogic.prototype.updatePromise = function (del, ins) {
279
- var _this = this;
280
- if (ins === void 0) { ins = []; }
281
- return new Promise(function (resolve, reject) {
282
- _this.store.updater.update(del, ins, function (_uri, ok, errorBody) {
283
- if (!ok) {
284
- reject(new Error(errorBody));
285
- }
286
- else {
287
- resolve();
288
- }
289
- }); // callback
290
- }); // promise
291
- };
292
- SolidLogic.prototype.isContainer = function (url) {
293
- return this.util.isContainer(url);
294
- };
295
- SolidLogic.prototype.getContainerElements = function (containerNode) {
296
- return this.util.getContainerElements(containerNode);
297
- };
298
- SolidLogic.prototype.getContainerMembers = function (containerUrl) {
299
- return this.util.getContainerMembers(containerUrl);
300
- };
301
- SolidLogic.prototype.recursiveDelete = function (url) {
302
- return __awaiter(this, void 0, void 0, function () {
303
- return __generator(this, function (_a) {
304
- return [2 /*return*/, this.util.recursiveDelete(url)];
305
- });
306
- });
307
- };
308
- SolidLogic.prototype.clearStore = function () {
309
- return this.util.clearStore();
310
- };
311
- SolidLogic.prototype.fetch = function (url, options) {
312
- return __awaiter(this, void 0, void 0, function () {
313
- return __generator(this, function (_a) {
314
- return [2 /*return*/, this.underlyingFetch.fetch(url, options)];
315
- });
316
- });
317
- };
318
- return SolidLogic;
319
- }());
320
- exports.SolidLogic = SolidLogic;
321
- //# sourceMappingURL=SolidLogic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolidLogic.js","sourceRoot":"","sources":["../../src/logic/SolidLogic.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { NamedNode, LiveStore } from "rdflib";
2
- import { AuthnLogic, SolidNamespace } from "../types";
3
- export declare class ProfileLogic {
4
- store: LiveStore;
5
- ns: SolidNamespace;
6
- authn: AuthnLogic;
7
- constructor(store: LiveStore, ns: SolidNamespace, authn: AuthnLogic);
8
- loadMe(): Promise<NamedNode>;
9
- getPodRoot(user: NamedNode): NamedNode;
10
- getMainInbox(user: NamedNode): Promise<NamedNode>;
11
- private findStorage;
12
- }
13
- //# sourceMappingURL=ProfileLogic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProfileLogic.d.ts","sourceRoot":"","sources":["../../src/profile/ProfileLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEtD,qBAAa,YAAY;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,cAAc,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;gBAEN,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU;IAM7D,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;IASlC,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAQhC,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IASvD,OAAO,CAAC,WAAW;CAGpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProfileLogic.js","sourceRoot":"","sources":["../../src/profile/ProfileLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;IAKE,sBAAY,KAAgB,EAAE,EAAkB,EAAE,KAAiB;QACjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEK,6BAAM,GAAZ;;;;;;;wBACQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;wBACpC,IAAI,EAAE,KAAK,IAAI,EAAE;4BACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;yBAC3D;wBACD,qBAAM,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA,EAAA;;wBAAxC,SAAwC,CAAC;wBACzC,sBAAO,EAAE,EAAC;;;;KACX;IAED,iCAAU,GAAV,UAAW,IAAe;QACxB,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QACD,OAAO,OAAoB,CAAC;IAC9B,CAAC;IAEK,mCAAY,GAAlB,UAAmB,IAAe;;;;;;4BAChC,qBAAM,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAA,EAAA;;wBAApC,SAAoC,CAAC;wBAC/B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBACpF,IAAI,CAAC,SAAS,EAAE;4BACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;yBAC/C;wBACD,sBAAO,SAAsB,EAAC;;;;KAC/B;IAEO,kCAAW,GAAnB,UAAoB,EAAa;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC;IACH,mBAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,oCAAY"}
@@ -1,33 +0,0 @@
1
- import { NamedNode, LiveStore } from "rdflib";
2
- import { SolidNamespace } from "../types";
3
- export declare const ACL_LINK: NamedNode;
4
- /**
5
- * Utility-related logic
6
- */
7
- export declare class UtilityLogic {
8
- store: LiveStore;
9
- ns: SolidNamespace;
10
- underlyingFetch: {
11
- fetch: (url: string, options?: any) => any;
12
- };
13
- constructor(store: LiveStore, ns: SolidNamespace, underlyingFetch: {
14
- fetch: (url: string, options?: any) => any;
15
- });
16
- findAclDocUrl(url: string): Promise<string>;
17
- setSinglePeerAccess(options: {
18
- ownerWebId: string;
19
- peerWebId: string;
20
- accessToModes?: string;
21
- defaultModes?: string;
22
- target: string;
23
- }): Promise<any>;
24
- loadDoc(doc: NamedNode): Promise<void>;
25
- isContainer(url: string): boolean;
26
- createContainer(url: string): Promise<void>;
27
- getContainerElements(containerNode: NamedNode): NamedNode[];
28
- getContainerMembers(containerUrl: string): Promise<string[]>;
29
- recursiveDelete(url: string): Promise<any>;
30
- clearStore(): void;
31
- getArchiveUrl(baseUrl: string, date: Date): string;
32
- }
33
- //# sourceMappingURL=UtilityLogic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UtilityLogic.d.ts","sourceRoot":"","sources":["../../src/util/UtilityLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,QAAQ,WAEpB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,cAAc,CAAC;IACnB,eAAe,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,CAAC;gBAEpD,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE;IAM3G,aAAa,CAAC,GAAG,EAAE,MAAM;IAWzB,mBAAmB,CAAC,OAAO,EAAE;QACjC,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAA;KACf;IAsCK,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5C,WAAW,CAAC,GAAG,EAAE,MAAM;IAIjB,eAAe,CAAC,GAAG,EAAE,MAAM;IAmBjC,oBAAoB,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,EAAE;IAWrD,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAO5D,eAAe,CAAC,GAAG,EAAE,MAAM;IAgBjC,UAAU;IAIV,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;CAQ1C"}
@@ -1,240 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.UtilityLogic = exports.ACL_LINK = void 0;
40
- var rdflib_1 = require("rdflib");
41
- exports.ACL_LINK = (0, rdflib_1.sym)("http://www.iana.org/assignments/link-relations/acl");
42
- /**
43
- * Utility-related logic
44
- */
45
- var UtilityLogic = /** @class */ (function () {
46
- function UtilityLogic(store, ns, underlyingFetch) {
47
- this.store = store;
48
- this.ns = ns;
49
- this.underlyingFetch = underlyingFetch;
50
- }
51
- UtilityLogic.prototype.findAclDocUrl = function (url) {
52
- var _a;
53
- return __awaiter(this, void 0, void 0, function () {
54
- var doc, docNode;
55
- return __generator(this, function (_b) {
56
- switch (_b.label) {
57
- case 0:
58
- doc = this.store.sym(url);
59
- return [4 /*yield*/, ((_a = this.store.fetcher) === null || _a === void 0 ? void 0 : _a.load(doc))];
60
- case 1:
61
- _b.sent();
62
- docNode = this.store.any(doc, exports.ACL_LINK);
63
- if (!docNode) {
64
- throw new Error("No ACL link discovered for ".concat(url));
65
- }
66
- return [2 /*return*/, docNode.value];
67
- }
68
- });
69
- });
70
- };
71
- // Copied from https://github.com/solidos/web-access-control-tests/blob/v3.0.0/test/surface/delete.test.ts#L5
72
- UtilityLogic.prototype.setSinglePeerAccess = function (options) {
73
- return __awaiter(this, void 0, void 0, function () {
74
- var str, aclDocUrl;
75
- return __generator(this, function (_a) {
76
- switch (_a.label) {
77
- case 0:
78
- str = [
79
- '@prefix acl: <http://www.w3.org/ns/auth/acl#>.',
80
- '',
81
- "<#alice> a acl:Authorization;\n acl:agent <".concat(options.ownerWebId, ">;"),
82
- " acl:accessTo <".concat(options.target, ">;"),
83
- " acl:default <".concat(options.target, ">;"),
84
- ' acl:mode acl:Read, acl:Write, acl:Control.',
85
- ''
86
- ].join('\n');
87
- if (options.accessToModes) {
88
- str += [
89
- '<#bobAccessTo> a acl:Authorization;',
90
- " acl:agent <".concat(options.peerWebId, ">;"),
91
- " acl:accessTo <".concat(options.target, ">;"),
92
- " acl:mode ".concat(options.accessToModes, "."),
93
- ''
94
- ].join('\n');
95
- }
96
- if (options.defaultModes) {
97
- str += [
98
- '<#bobDefault> a acl:Authorization;',
99
- " acl:agent <".concat(options.peerWebId, ">;"),
100
- " acl:default <".concat(options.target, ">;"),
101
- " acl:mode ".concat(options.defaultModes, "."),
102
- ''
103
- ].join('\n');
104
- }
105
- return [4 /*yield*/, this.findAclDocUrl(options.target)];
106
- case 1:
107
- aclDocUrl = _a.sent();
108
- return [2 /*return*/, this.underlyingFetch.fetch(aclDocUrl, {
109
- method: 'PUT',
110
- body: str,
111
- headers: [
112
- ['Content-Type', 'text/turtle']
113
- ]
114
- })];
115
- }
116
- });
117
- });
118
- };
119
- UtilityLogic.prototype.loadDoc = function (doc) {
120
- return __awaiter(this, void 0, void 0, function () {
121
- return __generator(this, function (_a) {
122
- switch (_a.label) {
123
- case 0:
124
- // Load a document into the knowledge base (fetcher.store)
125
- // withCredentials: Web arch should let us just load by turning off creds helps CORS
126
- // reload: Gets around a specific old Chrome bug caching/origin/cors
127
- // console.log('loading', profileDocument)
128
- if (!this.store.fetcher) {
129
- throw new Error("Cannot load doc, have no fetcher");
130
- }
131
- return [4 /*yield*/, this.store.fetcher.load(doc, {
132
- withCredentials: false,
133
- cache: "reload",
134
- })];
135
- case 1:
136
- _a.sent();
137
- return [2 /*return*/];
138
- }
139
- });
140
- });
141
- };
142
- UtilityLogic.prototype.isContainer = function (url) {
143
- return url.substr(-1) === "/";
144
- };
145
- UtilityLogic.prototype.createContainer = function (url) {
146
- return __awaiter(this, void 0, void 0, function () {
147
- var result;
148
- return __generator(this, function (_a) {
149
- switch (_a.label) {
150
- case 0:
151
- if (!this.isContainer(url)) {
152
- throw new Error("Not a container URL ".concat(url));
153
- }
154
- return [4 /*yield*/, this.underlyingFetch.fetch(url, {
155
- method: "PUT",
156
- headers: {
157
- "Content-Type": "text/turtle",
158
- "If-None-Match": "*",
159
- Link: '<http://www.w3.org/ns/ldp#BasicContainer>; rel="type"', // See https://github.com/solidos/node-solid-server/issues/1465
160
- },
161
- body: " ", // work around https://github.com/michielbdejong/community-server/issues/4#issuecomment-776222863
162
- })];
163
- case 1:
164
- result = _a.sent();
165
- if (result.status.toString()[0] !== '2') {
166
- throw new Error("Not OK: got ".concat(result.status, " response while creating container at ").concat(url));
167
- }
168
- return [2 /*return*/];
169
- }
170
- });
171
- });
172
- };
173
- UtilityLogic.prototype.getContainerElements = function (containerNode) {
174
- return this.store
175
- .statementsMatching(containerNode, this.store.sym("http://www.w3.org/ns/ldp#contains"), undefined, containerNode.doc())
176
- .map(function (st) { return st.object; });
177
- };
178
- UtilityLogic.prototype.getContainerMembers = function (containerUrl) {
179
- var _a;
180
- return __awaiter(this, void 0, void 0, function () {
181
- var containerNode, nodes;
182
- return __generator(this, function (_b) {
183
- switch (_b.label) {
184
- case 0:
185
- containerNode = this.store.sym(containerUrl);
186
- return [4 /*yield*/, ((_a = this.store.fetcher) === null || _a === void 0 ? void 0 : _a.load(containerNode))];
187
- case 1:
188
- _b.sent();
189
- nodes = this.getContainerElements(containerNode);
190
- return [2 /*return*/, nodes.map(function (node) { return node.value; })];
191
- }
192
- });
193
- });
194
- };
195
- UtilityLogic.prototype.recursiveDelete = function (url) {
196
- return __awaiter(this, void 0, void 0, function () {
197
- var aclDocUrl, containerMembers, e_1;
198
- var _this = this;
199
- return __generator(this, function (_a) {
200
- switch (_a.label) {
201
- case 0:
202
- _a.trys.push([0, 6, , 7]);
203
- if (!this.isContainer(url)) return [3 /*break*/, 5];
204
- return [4 /*yield*/, this.findAclDocUrl(url)];
205
- case 1:
206
- aclDocUrl = _a.sent();
207
- return [4 /*yield*/, this.underlyingFetch.fetch(aclDocUrl, { method: "DELETE" })];
208
- case 2:
209
- _a.sent();
210
- return [4 /*yield*/, this.getContainerMembers(url)];
211
- case 3:
212
- containerMembers = _a.sent();
213
- return [4 /*yield*/, Promise.all(containerMembers.map(function (url) { return _this.recursiveDelete(url); }))];
214
- case 4:
215
- _a.sent();
216
- _a.label = 5;
217
- case 5: return [2 /*return*/, this.underlyingFetch.fetch(url, { method: "DELETE" })];
218
- case 6:
219
- e_1 = _a.sent();
220
- return [3 /*break*/, 7];
221
- case 7: return [2 /*return*/];
222
- }
223
- });
224
- });
225
- };
226
- UtilityLogic.prototype.clearStore = function () {
227
- this.store.statements.slice().forEach(this.store.remove.bind(this.store));
228
- };
229
- UtilityLogic.prototype.getArchiveUrl = function (baseUrl, date) {
230
- var year = date.getUTCFullYear();
231
- var month = ('0' + (date.getUTCMonth() + 1)).slice(-2);
232
- var day = ('0' + (date.getUTCDate())).slice(-2);
233
- var parts = baseUrl.split('/');
234
- var filename = parts[parts.length - 1];
235
- return new URL("./archive/".concat(year, "/").concat(month, "/").concat(day, "/").concat(filename), baseUrl).toString();
236
- };
237
- return UtilityLogic;
238
- }());
239
- exports.UtilityLogic = UtilityLogic;
240
- //# sourceMappingURL=UtilityLogic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UtilityLogic.js","sourceRoot":"","sources":["../../src/util/UtilityLogic.ts"],"names":[],"mappings":"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"}
package/lib/util/uri.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { NamedNode } from "rdflib";
2
- export declare function newThing(doc: NamedNode): NamedNode;
3
- //# sourceMappingURL=uri.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uri.d.ts","sourceRoot":"","sources":["../../src/util/uri.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAO,MAAM,QAAQ,CAAC;AAExC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,CAElD"}