solid-logic 3.1.1-dbb83f7 → 3.1.1-e3eba68

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 (153) hide show
  1. package/README.md +2 -105
  2. package/eslint.config.js +29 -0
  3. package/jest.config.js +10 -0
  4. package/lib/acl/aclLogic.d.ts +5 -0
  5. package/{dist → lib}/acl/aclLogic.d.ts.map +1 -1
  6. package/lib/acl/aclLogic.js +168 -0
  7. package/lib/acl/aclLogic.js.map +1 -0
  8. package/{dist → lib}/authSession/authSession.js +1 -1
  9. package/{dist → lib}/authSession/authSession.js.map +1 -1
  10. package/{dist → lib}/authn/SolidAuthnLogic.d.ts +3 -3
  11. package/{dist → lib}/authn/SolidAuthnLogic.d.ts.map +1 -1
  12. package/lib/authn/SolidAuthnLogic.js +193 -0
  13. package/lib/authn/SolidAuthnLogic.js.map +1 -0
  14. package/{dist → lib}/authn/authUtil.d.ts +1 -1
  15. package/{dist → lib}/authn/authUtil.js +12 -12
  16. package/lib/authn/authUtil.js.map +1 -0
  17. package/{dist → lib}/chat/chatLogic.d.ts +1 -1
  18. package/lib/chat/chatLogic.js +272 -0
  19. package/lib/chat/chatLogic.js.map +1 -0
  20. package/{dist → lib}/inbox/inboxLogic.d.ts +1 -1
  21. package/{dist → lib}/inbox/inboxLogic.d.ts.map +1 -1
  22. package/lib/inbox/inboxLogic.js +139 -0
  23. package/lib/inbox/inboxLogic.js.map +1 -0
  24. package/{dist → lib}/index.d.ts +1 -1
  25. package/{dist → lib}/index.d.ts.map +1 -1
  26. package/{dist → lib}/index.js +4 -4
  27. package/{dist → lib}/index.js.map +1 -1
  28. package/lib/issuer/issuerLogic.js +52 -0
  29. package/lib/issuer/issuerLogic.js.map +1 -0
  30. package/{dist → lib}/logic/CustomError.d.ts.map +1 -1
  31. package/lib/logic/CustomError.js +89 -0
  32. package/lib/logic/CustomError.js.map +1 -0
  33. package/lib/logic/solidLogic.d.ts +6 -0
  34. package/{dist → lib}/logic/solidLogic.d.ts.map +1 -1
  35. package/{dist → lib}/logic/solidLogic.js +33 -32
  36. package/lib/logic/solidLogic.js.map +1 -0
  37. package/lib/logic/solidLogicSingleton.js +94 -0
  38. package/lib/logic/solidLogicSingleton.js.map +1 -0
  39. package/{dist → lib}/profile/profileLogic.d.ts +1 -1
  40. package/lib/profile/profileLogic.js +259 -0
  41. package/lib/profile/profileLogic.js.map +1 -0
  42. package/lib/typeIndex/typeIndexLogic.js +399 -0
  43. package/lib/typeIndex/typeIndexLogic.js.map +1 -0
  44. package/{dist → lib}/types.d.ts +2 -2
  45. package/{dist → lib}/util/containerLogic.d.ts +1 -1
  46. package/{dist → lib}/util/containerLogic.d.ts.map +1 -1
  47. package/lib/util/containerLogic.js +102 -0
  48. package/lib/util/containerLogic.js.map +1 -0
  49. package/lib/util/debug.d.ts.map +1 -0
  50. package/lib/util/debug.js +40 -0
  51. package/lib/util/debug.js.map +1 -0
  52. package/{dist → lib}/util/ns.js +2 -2
  53. package/{dist → lib}/util/ns.js.map +1 -1
  54. package/{dist → lib}/util/utilityLogic.d.ts +1 -1
  55. package/{dist → lib}/util/utilityLogic.d.ts.map +1 -1
  56. package/lib/util/utilityLogic.js +284 -0
  57. package/lib/util/utilityLogic.js.map +1 -0
  58. package/{dist → lib}/util/utils.d.ts +1 -1
  59. package/{dist → lib}/util/utils.d.ts.map +1 -1
  60. package/lib/util/utils.js +47 -0
  61. package/lib/util/utils.js.map +1 -0
  62. package/package.json +22 -50
  63. package/src/acl/aclLogic.ts +156 -0
  64. package/src/authSession/authSession.ts +7 -0
  65. package/src/authn/SolidAuthnLogic.ts +127 -0
  66. package/src/authn/authUtil.ts +70 -0
  67. package/src/chat/chatLogic.ts +226 -0
  68. package/src/inbox/inboxLogic.ts +59 -0
  69. package/src/index.ts +22 -0
  70. package/src/issuer/issuerLogic.ts +40 -0
  71. package/src/logic/CustomError.ts +29 -0
  72. package/src/logic/solidLogic.ts +76 -0
  73. package/src/logic/solidLogicSingleton.ts +20 -0
  74. package/src/profile/profileLogic.ts +125 -0
  75. package/src/typeIndex/typeIndexLogic.ts +198 -0
  76. package/src/types.ts +122 -0
  77. package/{dist/util/containerLogic.js → src/util/containerLogic.ts} +25 -20
  78. package/src/util/debug.ts +20 -0
  79. package/src/util/ns.ts +5 -0
  80. package/src/util/utilityLogic.ts +156 -0
  81. package/src/util/utils.ts +52 -0
  82. package/test/aclLogic.test.ts +24 -0
  83. package/test/authUtil.test.ts +23 -0
  84. package/test/chatLogic.test.ts +316 -0
  85. package/test/container.test.ts +58 -0
  86. package/test/helpers/dataSetup.ts +134 -0
  87. package/test/helpers/setup.ts +17 -0
  88. package/test/inboxLogic.test.ts +218 -0
  89. package/test/logic.test.ts +29 -0
  90. package/test/profileLogic.test.ts +246 -0
  91. package/test/solidAuthLogic.test.ts +49 -0
  92. package/test/typeIndexLogic.test.ts +255 -0
  93. package/test/utilityLogic.test.ts +179 -0
  94. package/test/utils.test.ts +32 -0
  95. package/tsconfig.json +75 -0
  96. package/dist/acl/aclLogic.d.ts +0 -5
  97. package/dist/acl/aclLogic.js +0 -122
  98. package/dist/acl/aclLogic.js.map +0 -1
  99. package/dist/authn/SolidAuthnLogic.js +0 -147
  100. package/dist/authn/SolidAuthnLogic.js.map +0 -1
  101. package/dist/authn/authUtil.js.map +0 -1
  102. package/dist/chat/chatLogic.js +0 -160
  103. package/dist/chat/chatLogic.js.map +0 -1
  104. package/dist/inbox/inboxLogic.js +0 -55
  105. package/dist/inbox/inboxLogic.js.map +0 -1
  106. package/dist/issuer/issuerLogic.js +0 -40
  107. package/dist/issuer/issuerLogic.js.map +0 -1
  108. package/dist/logic/CustomError.js +0 -38
  109. package/dist/logic/CustomError.js.map +0 -1
  110. package/dist/logic/solidLogic.d.ts +0 -6
  111. package/dist/logic/solidLogic.js.map +0 -1
  112. package/dist/logic/solidLogicSingleton.js +0 -54
  113. package/dist/logic/solidLogicSingleton.js.map +0 -1
  114. package/dist/profile/profileLogic.js +0 -165
  115. package/dist/profile/profileLogic.js.map +0 -1
  116. package/dist/solid-logic.esm.external.js +0 -12725
  117. package/dist/solid-logic.esm.external.js.map +0 -1
  118. package/dist/solid-logic.esm.external.min.js +0 -32
  119. package/dist/solid-logic.esm.external.min.js.map +0 -1
  120. package/dist/solid-logic.js +0 -12802
  121. package/dist/solid-logic.js.map +0 -1
  122. package/dist/solid-logic.min.js +0 -32
  123. package/dist/solid-logic.min.js.map +0 -1
  124. package/dist/typeIndex/typeIndexLogic.js +0 -222
  125. package/dist/typeIndex/typeIndexLogic.js.map +0 -1
  126. package/dist/util/containerLogic.js.map +0 -1
  127. package/dist/util/debug.d.ts.map +0 -1
  128. package/dist/util/debug.js +0 -20
  129. package/dist/util/debug.js.map +0 -1
  130. package/dist/util/utilityLogic.js +0 -180
  131. package/dist/util/utilityLogic.js.map +0 -1
  132. package/dist/util/utils.js +0 -47
  133. package/dist/util/utils.js.map +0 -1
  134. package/dist/versionInfo.js +0 -33
  135. package/dist/versionInfo.js.map +0 -1
  136. /package/{dist → lib}/authSession/authSession.d.ts +0 -0
  137. /package/{dist → lib}/authSession/authSession.d.ts.map +0 -0
  138. /package/{dist → lib}/authn/authUtil.d.ts.map +0 -0
  139. /package/{dist → lib}/chat/chatLogic.d.ts.map +0 -0
  140. /package/{dist → lib}/issuer/issuerLogic.d.ts +0 -0
  141. /package/{dist → lib}/issuer/issuerLogic.d.ts.map +0 -0
  142. /package/{dist → lib}/logic/CustomError.d.ts +0 -0
  143. /package/{dist → lib}/logic/solidLogicSingleton.d.ts +0 -0
  144. /package/{dist → lib}/logic/solidLogicSingleton.d.ts.map +0 -0
  145. /package/{dist → lib}/profile/profileLogic.d.ts.map +0 -0
  146. /package/{dist → lib}/typeIndex/typeIndexLogic.d.ts +0 -0
  147. /package/{dist → lib}/typeIndex/typeIndexLogic.d.ts.map +0 -0
  148. /package/{dist → lib}/types.d.ts.map +0 -0
  149. /package/{dist → lib}/types.js +0 -0
  150. /package/{dist → lib}/types.js.map +0 -0
  151. /package/{dist → lib}/util/debug.d.ts +0 -0
  152. /package/{dist → lib}/util/ns.d.ts +0 -0
  153. /package/{dist → lib}/util/ns.d.ts.map +0 -0
@@ -0,0 +1,399 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __generator = (this && this.__generator) || function (thisArg, body) {
45
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
46
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
47
+ function verb(n) { return function (v) { return step([n, v]); }; }
48
+ function step(op) {
49
+ if (f) throw new TypeError("Generator is already executing.");
50
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
51
+ 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;
52
+ if (y = 0, t) op = [op[0] & 2, t.value];
53
+ switch (op[0]) {
54
+ case 0: case 1: t = op; break;
55
+ case 4: _.label++; return { value: op[1], done: false };
56
+ case 5: _.label++; y = op[1]; op = [0]; continue;
57
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
58
+ default:
59
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
60
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
61
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
62
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
63
+ if (t[2]) _.ops.pop();
64
+ _.trys.pop(); continue;
65
+ }
66
+ op = body.call(thisArg, _);
67
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
68
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
69
+ }
70
+ };
71
+ Object.defineProperty(exports, "__esModule", { value: true });
72
+ exports.createTypeIndexLogic = createTypeIndexLogic;
73
+ var rdflib_1 = require("rdflib");
74
+ var debug = __importStar(require("../util/debug"));
75
+ var ns_1 = require("../util/ns");
76
+ var utils_1 = require("../util/utils");
77
+ function createTypeIndexLogic(store, authn, profileLogic, utilityLogic) {
78
+ var ns = ns_1.ns;
79
+ function getRegistrations(instance, theClass) {
80
+ return store
81
+ .each(undefined, ns.solid("instance"), instance)
82
+ .filter(function (r) {
83
+ return store.holds(r, ns.solid("forClass"), theClass);
84
+ });
85
+ }
86
+ function loadTypeIndexesFor(user) {
87
+ return __awaiter(this, void 0, void 0, function () {
88
+ var profile, suggestion, publicTypeIndex, err_1, message, publicScopes, preferencesFile, err_2, privateScopes, suggestedPrivateTypeIndex, privateTypeIndex, _a, err_3, message, scopes, files, err_4;
89
+ return __generator(this, function (_b) {
90
+ switch (_b.label) {
91
+ case 0:
92
+ if (!user)
93
+ throw new Error("loadTypeIndexesFor: No user given");
94
+ return [4 /*yield*/, profileLogic.loadProfile(user)];
95
+ case 1:
96
+ profile = _b.sent();
97
+ suggestion = suggestPublicTypeIndex(user);
98
+ _b.label = 2;
99
+ case 2:
100
+ _b.trys.push([2, 4, , 5]);
101
+ return [4 /*yield*/, utilityLogic.followOrCreateLink(user, ns.solid('publicTypeIndex'), suggestion, profile)
102
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
103
+ ];
104
+ case 3:
105
+ publicTypeIndex = _b.sent();
106
+ return [3 /*break*/, 5];
107
+ case 4:
108
+ err_1 = _b.sent();
109
+ message = "User ".concat(user, " has no pointer in profile to publicTypeIndex file.");
110
+ debug.warn(message);
111
+ return [3 /*break*/, 5];
112
+ case 5:
113
+ publicScopes = publicTypeIndex ? [{ label: 'public', index: publicTypeIndex, agent: user }] : [];
114
+ _b.label = 6;
115
+ case 6:
116
+ _b.trys.push([6, 8, , 9]);
117
+ return [4 /*yield*/, profileLogic.silencedLoadPreferences(user)
118
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
119
+ ];
120
+ case 7:
121
+ preferencesFile = _b.sent();
122
+ return [3 /*break*/, 9];
123
+ case 8:
124
+ err_2 = _b.sent();
125
+ preferencesFile = null;
126
+ return [3 /*break*/, 9];
127
+ case 9:
128
+ if (!preferencesFile) return [3 /*break*/, 15];
129
+ suggestedPrivateTypeIndex = suggestPrivateTypeIndex(preferencesFile);
130
+ privateTypeIndex = void 0;
131
+ _b.label = 10;
132
+ case 10:
133
+ _b.trys.push([10, 13, , 14]);
134
+ _a = store.any(user, ns.solid('privateTypeIndex'), undefined, profile);
135
+ if (_a) return [3 /*break*/, 12];
136
+ return [4 /*yield*/, utilityLogic.followOrCreateLink(user, ns.solid('privateTypeIndex'), suggestedPrivateTypeIndex, preferencesFile)];
137
+ case 11:
138
+ _a = (_b.sent());
139
+ _b.label = 12;
140
+ case 12:
141
+ privateTypeIndex = _a;
142
+ return [3 /*break*/, 14];
143
+ case 13:
144
+ err_3 = _b.sent();
145
+ message = "User ".concat(user, " has no pointer in preference file to privateTypeIndex file.");
146
+ debug.warn(message);
147
+ return [3 /*break*/, 14];
148
+ case 14:
149
+ privateScopes = privateTypeIndex ? [{ label: 'private', index: privateTypeIndex, agent: user }] : [];
150
+ return [3 /*break*/, 16];
151
+ case 15:
152
+ privateScopes = [];
153
+ _b.label = 16;
154
+ case 16:
155
+ scopes = publicScopes.concat(privateScopes);
156
+ if (scopes.length === 0)
157
+ return [2 /*return*/, scopes];
158
+ files = scopes.map(function (scope) { return scope.index; });
159
+ _b.label = 17;
160
+ case 17:
161
+ _b.trys.push([17, 19, , 20]);
162
+ return [4 /*yield*/, store.fetcher.load(files)];
163
+ case 18:
164
+ _b.sent();
165
+ return [3 /*break*/, 20];
166
+ case 19:
167
+ err_4 = _b.sent();
168
+ debug.warn('Problems loading type index: ', err_4);
169
+ return [3 /*break*/, 20];
170
+ case 20: return [2 /*return*/, scopes];
171
+ }
172
+ });
173
+ });
174
+ }
175
+ function loadCommunityTypeIndexes(user) {
176
+ return __awaiter(this, void 0, void 0, function () {
177
+ var preferencesFile, err_5, message, communities, result, _i, communities_1, org, _a, _b;
178
+ return __generator(this, function (_c) {
179
+ switch (_c.label) {
180
+ case 0:
181
+ _c.trys.push([0, 2, , 3]);
182
+ return [4 /*yield*/, profileLogic.silencedLoadPreferences(user)
183
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
184
+ ];
185
+ case 1:
186
+ preferencesFile = _c.sent();
187
+ return [3 /*break*/, 3];
188
+ case 2:
189
+ err_5 = _c.sent();
190
+ message = "User ".concat(user, " has no pointer in profile to preferences file.");
191
+ debug.warn(message);
192
+ return [3 /*break*/, 3];
193
+ case 3:
194
+ if (!preferencesFile) return [3 /*break*/, 8];
195
+ communities = store.each(user, ns.solid('community'), undefined, preferencesFile).concat(store.each(user, ns.solid('community'), undefined, user.doc()));
196
+ result = [];
197
+ _i = 0, communities_1 = communities;
198
+ _c.label = 4;
199
+ case 4:
200
+ if (!(_i < communities_1.length)) return [3 /*break*/, 7];
201
+ org = communities_1[_i];
202
+ _b = (_a = result).concat;
203
+ return [4 /*yield*/, loadTypeIndexesFor(org)];
204
+ case 5:
205
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
206
+ result = _b.apply(_a, [_c.sent()]);
207
+ _c.label = 6;
208
+ case 6:
209
+ _i++;
210
+ return [3 /*break*/, 4];
211
+ case 7: return [2 /*return*/, result];
212
+ case 8: return [2 /*return*/, []]; // No communities
213
+ }
214
+ });
215
+ });
216
+ }
217
+ function loadAllTypeIndexes(user) {
218
+ return __awaiter(this, void 0, void 0, function () {
219
+ var _a, _b;
220
+ return __generator(this, function (_c) {
221
+ switch (_c.label) {
222
+ case 0: return [4 /*yield*/, loadTypeIndexesFor(user)];
223
+ case 1:
224
+ _b = (_a = (_c.sent())).concat;
225
+ return [4 /*yield*/, loadCommunityTypeIndexes(user)];
226
+ case 2: return [2 /*return*/, _b.apply(_a, [(_c.sent()).flat()])];
227
+ }
228
+ });
229
+ });
230
+ }
231
+ function getScopedAppInstances(klass, user) {
232
+ return __awaiter(this, void 0, void 0, function () {
233
+ var scopes, scopedApps, _i, scopes_1, scope, scopedApps0;
234
+ return __generator(this, function (_a) {
235
+ switch (_a.label) {
236
+ case 0: return [4 /*yield*/, loadAllTypeIndexes(user)];
237
+ case 1:
238
+ scopes = _a.sent();
239
+ scopedApps = [];
240
+ _i = 0, scopes_1 = scopes;
241
+ _a.label = 2;
242
+ case 2:
243
+ if (!(_i < scopes_1.length)) return [3 /*break*/, 5];
244
+ scope = scopes_1[_i];
245
+ return [4 /*yield*/, getScopedAppsFromIndex(scope, klass)];
246
+ case 3:
247
+ scopedApps0 = _a.sent();
248
+ scopedApps = scopedApps.concat(scopedApps0);
249
+ _a.label = 4;
250
+ case 4:
251
+ _i++;
252
+ return [3 /*break*/, 2];
253
+ case 5: return [2 /*return*/, scopedApps];
254
+ }
255
+ });
256
+ });
257
+ }
258
+ // This is the function signature which used to be in solid-ui/logic
259
+ // Recommended to use getScopedAppInstances instead as it provides more information.
260
+ //
261
+ function getAppInstances(klass) {
262
+ return __awaiter(this, void 0, void 0, function () {
263
+ var user, scopedAppInstances;
264
+ return __generator(this, function (_a) {
265
+ switch (_a.label) {
266
+ case 0:
267
+ user = authn.currentUser();
268
+ if (!user)
269
+ throw new Error('getAppInstances: Must be logged in to find apps.');
270
+ return [4 /*yield*/, getScopedAppInstances(klass, user)];
271
+ case 1:
272
+ scopedAppInstances = _a.sent();
273
+ return [2 /*return*/, scopedAppInstances.map(function (scoped) { return scoped.instance; })];
274
+ }
275
+ });
276
+ });
277
+ }
278
+ function suggestPublicTypeIndex(me) {
279
+ var _a;
280
+ return (0, rdflib_1.sym)(((_a = me.doc().dir()) === null || _a === void 0 ? void 0 : _a.uri) + 'publicTypeIndex.ttl');
281
+ }
282
+ // Note this one is based off the pref file not the profile
283
+ function suggestPrivateTypeIndex(preferencesFile) {
284
+ var _a;
285
+ return (0, rdflib_1.sym)(((_a = preferencesFile.doc().dir()) === null || _a === void 0 ? void 0 : _a.uri) + 'privateTypeIndex.ttl');
286
+ }
287
+ /*
288
+ * Register a new app in a type index
289
+ * used in chat in bookmark.js (solid-ui)
290
+ * Returns the registration object if successful else null
291
+ */
292
+ function registerInTypeIndex(instance, index, theClass) {
293
+ return __awaiter(this, void 0, void 0, function () {
294
+ var registration, ins, err_6, msg;
295
+ return __generator(this, function (_a) {
296
+ switch (_a.label) {
297
+ case 0:
298
+ registration = (0, utils_1.newThing)(index);
299
+ ins = [
300
+ // See https://github.com/solid/solid/blob/main/proposals/data-discovery.md
301
+ (0, rdflib_1.st)(registration, ns.rdf('type'), ns.solid('TypeRegistration'), index),
302
+ (0, rdflib_1.st)(registration, ns.solid('forClass'), theClass, index),
303
+ (0, rdflib_1.st)(registration, ns.solid('instance'), instance, index)
304
+ ];
305
+ _a.label = 1;
306
+ case 1:
307
+ _a.trys.push([1, 3, , 4]);
308
+ return [4 /*yield*/, store.updater.update([], ins)];
309
+ case 2:
310
+ _a.sent();
311
+ return [3 /*break*/, 4];
312
+ case 3:
313
+ err_6 = _a.sent();
314
+ msg = "Unable to register ".concat(instance, " in index ").concat(index, ": ").concat(err_6);
315
+ console.warn(msg);
316
+ return [2 /*return*/, null];
317
+ case 4: return [2 /*return*/, registration];
318
+ }
319
+ });
320
+ });
321
+ }
322
+ function deleteTypeIndexRegistration(item) {
323
+ return __awaiter(this, void 0, void 0, function () {
324
+ var reg, statements;
325
+ return __generator(this, function (_a) {
326
+ switch (_a.label) {
327
+ case 0:
328
+ reg = store.the(null, ns.solid('instance'), item.instance, item.scope.index);
329
+ if (!reg)
330
+ throw new Error("deleteTypeIndexRegistration: No registration found for ".concat(item.instance));
331
+ statements = store.statementsMatching(reg, null, null, item.scope.index);
332
+ return [4 /*yield*/, store.updater.update(statements, [])];
333
+ case 1:
334
+ _a.sent();
335
+ return [2 /*return*/];
336
+ }
337
+ });
338
+ });
339
+ }
340
+ function getScopedAppsFromIndex(scope, theClass) {
341
+ return __awaiter(this, void 0, void 0, function () {
342
+ var index, results, registrations, _i, registrations_1, reg, klass, instances, _a, instances_1, instance, containers, _b, containers_1, instance;
343
+ return __generator(this, function (_c) {
344
+ switch (_c.label) {
345
+ case 0:
346
+ index = scope.index;
347
+ results = [];
348
+ registrations = store.statementsMatching(null, ns.solid('instance'), null, index)
349
+ .concat(store.statementsMatching(null, ns.solid('instanceContainer'), null, index))
350
+ .map(function (st) { return st.subject; });
351
+ _i = 0, registrations_1 = registrations;
352
+ _c.label = 1;
353
+ case 1:
354
+ if (!(_i < registrations_1.length)) return [3 /*break*/, 6];
355
+ reg = registrations_1[_i];
356
+ klass = store.any(reg, ns.solid('forClass'), null, index);
357
+ if (!(!theClass || klass.sameTerm(theClass))) return [3 /*break*/, 5];
358
+ instances = store.each(reg, ns.solid('instance'), null, index);
359
+ for (_a = 0, instances_1 = instances; _a < instances_1.length; _a++) {
360
+ instance = instances_1[_a];
361
+ results.push({ instance: instance, type: klass, scope: scope });
362
+ }
363
+ containers = store.each(reg, ns.solid('instanceContainer'), null, index);
364
+ _b = 0, containers_1 = containers;
365
+ _c.label = 2;
366
+ case 2:
367
+ if (!(_b < containers_1.length)) return [3 /*break*/, 5];
368
+ instance = containers_1[_b];
369
+ return [4 /*yield*/, store.fetcher.load(instance)];
370
+ case 3:
371
+ _c.sent();
372
+ results.push({ instance: (0, rdflib_1.sym)(instance.value), type: klass, scope: scope });
373
+ _c.label = 4;
374
+ case 4:
375
+ _b++;
376
+ return [3 /*break*/, 2];
377
+ case 5:
378
+ _i++;
379
+ return [3 /*break*/, 1];
380
+ case 6: return [2 /*return*/, results];
381
+ }
382
+ });
383
+ });
384
+ }
385
+ return {
386
+ registerInTypeIndex: registerInTypeIndex,
387
+ getRegistrations: getRegistrations,
388
+ loadTypeIndexesFor: loadTypeIndexesFor,
389
+ loadCommunityTypeIndexes: loadCommunityTypeIndexes,
390
+ loadAllTypeIndexes: loadAllTypeIndexes,
391
+ getScopedAppInstances: getScopedAppInstances,
392
+ getAppInstances: getAppInstances,
393
+ suggestPublicTypeIndex: suggestPublicTypeIndex,
394
+ suggestPrivateTypeIndex: suggestPrivateTypeIndex,
395
+ deleteTypeIndexRegistration: deleteTypeIndexRegistration,
396
+ getScopedAppsFromIndex: getScopedAppsFromIndex
397
+ };
398
+ }
399
+ //# sourceMappingURL=typeIndexLogic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeIndexLogic.js","sourceRoot":"","sources":["../../src/typeIndex/typeIndexLogic.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Session } from '@inrupt/solid-client-authn-browser';
2
- import { LiveStore, NamedNode, Statement } from 'rdflib';
1
+ import { Session } from "@inrupt/solid-client-authn-browser";
2
+ import { LiveStore, NamedNode, Statement } from "rdflib";
3
3
  export type AppDetails = {
4
4
  noun: string;
5
5
  appPathSegment: string;
@@ -1,4 +1,4 @@
1
- import { NamedNode } from 'rdflib';
1
+ import { NamedNode } from "rdflib";
2
2
  /**
3
3
  * Container-related class
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"containerLogic.d.ts","sourceRoot":"","sources":["../../src/util/containerLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,QAAQ,CAAA;AAElD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,KAAA;uBAYZ,SAAS;2BAKC,MAAM;0CAfG,SAAS,KAAG,SAAS,EAAE;wCAmCnB,SAAS,KAAG,OAAO,CAAC,SAAS,EAAE,CAAC;EAUpF"}
1
+ {"version":3,"file":"containerLogic.d.ts","sourceRoot":"","sources":["../../src/util/containerLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,QAAQ,CAAC;AAEnD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,KAAA;uBAYZ,SAAS;2BAKC,MAAM;0CAfG,SAAS,KAAG,SAAS,EAAE;wCAmCnB,SAAS,KAAG,OAAO,CAAC,SAAS,EAAE,CAAC;EAUpF"}
@@ -0,0 +1,102 @@
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 = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["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 (g && (g = 0, op[0] && (_ = 0)), _) 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.createContainerLogic = createContainerLogic;
40
+ var rdflib_1 = require("rdflib");
41
+ /**
42
+ * Container-related class
43
+ */
44
+ function createContainerLogic(store) {
45
+ function getContainerElements(containerNode) {
46
+ return store
47
+ .statementsMatching(containerNode, (0, rdflib_1.sym)("http://www.w3.org/ns/ldp#contains"), undefined)
48
+ .map(function (st) { return st.object; });
49
+ }
50
+ function isContainer(url) {
51
+ var nodeToString = url.value;
52
+ return nodeToString.charAt(nodeToString.length - 1) === "/";
53
+ }
54
+ function createContainer(url) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var stringToNode, result;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ stringToNode = (0, rdflib_1.sym)(url);
61
+ if (!isContainer(stringToNode)) {
62
+ throw new Error("Not a container URL ".concat(url));
63
+ }
64
+ return [4 /*yield*/, store.fetcher._fetch(url, {
65
+ method: "PUT",
66
+ headers: {
67
+ "Content-Type": "text/turtle",
68
+ "If-None-Match": "*",
69
+ Link: '<http://www.w3.org/ns/ldp#BasicContainer>; rel="type"', // See https://github.com/solidos/node-solid-server/issues/1465
70
+ },
71
+ body: " ", // work around https://github.com/michielbdejong/community-server/issues/4#issuecomment-776222863
72
+ })];
73
+ case 1:
74
+ result = _a.sent();
75
+ if (result.status.toString()[0] !== '2') {
76
+ throw new Error("Not OK: got ".concat(result.status, " response while creating container at ").concat(url));
77
+ }
78
+ return [2 /*return*/];
79
+ }
80
+ });
81
+ });
82
+ }
83
+ function getContainerMembers(containerUrl) {
84
+ return __awaiter(this, void 0, void 0, function () {
85
+ return __generator(this, function (_a) {
86
+ switch (_a.label) {
87
+ case 0: return [4 /*yield*/, store.fetcher.load(containerUrl)];
88
+ case 1:
89
+ _a.sent();
90
+ return [2 /*return*/, getContainerElements(containerUrl)];
91
+ }
92
+ });
93
+ });
94
+ }
95
+ return {
96
+ isContainer: isContainer,
97
+ createContainer: createContainer,
98
+ getContainerElements: getContainerElements,
99
+ getContainerMembers: getContainerMembers
100
+ };
101
+ }
102
+ //# sourceMappingURL=containerLogic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"containerLogic.js","sourceRoot":"","sources":["../../src/util/containerLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,oDA+CC;AApDD,iCAAmD;AAEnD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,KAAK;IAEtC,SAAS,oBAAoB,CAAC,aAAwB;QAClD,OAAO,KAAK;aACP,kBAAkB,CACf,aAAa,EACb,IAAA,YAAG,EAAC,mCAAmC,CAAC,EACxC,SAAS,CACZ;aACA,GAAG,CAAC,UAAC,EAAa,IAAK,OAAA,EAAE,CAAC,MAAmB,EAAtB,CAAsB,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,WAAW,CAAC,GAAc;QAC/B,IAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC;QAC/B,OAAO,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;IAChE,CAAC;IAED,SAAe,eAAe,CAAC,GAAW;;;;;;wBAChC,YAAY,GAAG,IAAA,YAAG,EAAC,GAAG,CAAC,CAAC;wBAC9B,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;4BAC7B,MAAM,IAAI,KAAK,CAAC,8BAAuB,GAAG,CAAE,CAAC,CAAC;wBAClD,CAAC;wBAEc,qBAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;gCAC3C,MAAM,EAAE,KAAK;gCACb,OAAO,EAAE;oCACL,cAAc,EAAE,aAAa;oCAC7B,eAAe,EAAE,GAAG;oCACpB,IAAI,EAAE,uDAAuD,EAAE,+DAA+D;iCACjI;gCACD,IAAI,EAAE,GAAG,EAAE,iGAAiG;6BAC/G,CAAC,EAAA;;wBARI,MAAM,GAAG,SAQb;wBACF,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;4BACtC,MAAM,IAAI,KAAK,CAAC,sBAAe,MAAM,CAAC,MAAM,mDAAyC,GAAG,CAAE,CAAC,CAAC;wBAChG,CAAC;;;;;KACJ;IAED,SAAe,mBAAmB,CAAC,YAAuB;;;;4BACtD,qBAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;wBACvC,sBAAO,oBAAoB,CAAC,YAAY,CAAC,EAAC;;;;KAC7C;IACD,OAAO;QACH,WAAW,aAAA;QACX,eAAe,iBAAA;QACf,oBAAoB,sBAAA;QACpB,mBAAmB,qBAAA;KACtB,CAAA;AACL,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/util/debug.ts"],"names":[],"mappings":"AACA,wBAAgB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAGxC;AAED,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAGzC;AAED,wBAAgB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAG1C;AAED,wBAAgB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAG1C"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.log = log;
4
+ exports.warn = warn;
5
+ exports.error = error;
6
+ exports.trace = trace;
7
+ /* eslint-disable @typescript-eslint/no-explicit-any */
8
+ function log() {
9
+ var args = [];
10
+ for (var _i = 0; _i < arguments.length; _i++) {
11
+ args[_i] = arguments[_i];
12
+ }
13
+ // eslint-disable-next-line no-console
14
+ console.log.apply(console, args);
15
+ }
16
+ function warn() {
17
+ var args = [];
18
+ for (var _i = 0; _i < arguments.length; _i++) {
19
+ args[_i] = arguments[_i];
20
+ }
21
+ // eslint-disable-next-line no-console
22
+ console.warn.apply(console, args);
23
+ }
24
+ function error() {
25
+ var args = [];
26
+ for (var _i = 0; _i < arguments.length; _i++) {
27
+ args[_i] = arguments[_i];
28
+ }
29
+ // eslint-disable-next-line no-console
30
+ console.error.apply(console, args);
31
+ }
32
+ function trace() {
33
+ var args = [];
34
+ for (var _i = 0; _i < arguments.length; _i++) {
35
+ args[_i] = arguments[_i];
36
+ }
37
+ // eslint-disable-next-line no-console
38
+ console.trace.apply(console, args);
39
+ }
40
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/util/debug.ts"],"names":[],"mappings":";;AACA,kBAGC;AAED,oBAGC;AAED,sBAGC;AAED,sBAGC;AAnBD,uDAAuD;AACvD,SAAgB,GAAG;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IAChC,sCAAsC;IACtC,OAAO,CAAC,GAAG,OAAX,OAAO,EAAQ,IAAI,EAAE;AACvB,CAAC;AAED,SAAgB,IAAI;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IACjC,sCAAsC;IACtC,OAAO,CAAC,IAAI,OAAZ,OAAO,EAAS,IAAI,EAAE;AACxB,CAAC;AAED,SAAgB,KAAK;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IAClC,sCAAsC;IACtC,OAAO,CAAC,KAAK,OAAb,OAAO,EAAU,IAAI,EAAE;AACzB,CAAC;AAED,SAAgB,KAAK;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IAClC,sCAAsC;IACtC,OAAO,CAAC,KAAK,OAAb,OAAO,EAAU,IAAI,EAAE;AACzB,CAAC"}
@@ -38,7 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.ns = void 0;
40
40
  // Namespaces we commonly use and have common prefixes for around Solid
41
- const solid_namespace_1 = __importDefault(require("solid-namespace")); // Delegate to this which takes RDFlib as param.
42
- const $rdf = __importStar(require("rdflib"));
41
+ var solid_namespace_1 = __importDefault(require("solid-namespace")); // Delegate to this which takes RDFlib as param.
42
+ var $rdf = __importStar(require("rdflib"));
43
43
  exports.ns = (0, solid_namespace_1.default)($rdf);
44
44
  //# sourceMappingURL=ns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ns.js","sourceRoot":"","sources":["../../src/util/ns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAuE;AACvE,sEAA4C,CAAC,gDAAgD;AAC7F,6CAA8B;AAEjB,QAAA,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"ns.js","sourceRoot":"","sources":["../../src/util/ns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAuE;AACvE,oEAA4C,CAAC,gDAAgD;AAC7F,2CAA8B;AAEjB,QAAA,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { NamedNode } from 'rdflib';
1
+ import { NamedNode } from "rdflib";
2
2
  export declare function createUtilityLogic(store: any, aclLogic: any, containerLogic: any): {
3
3
  recursiveDelete: (containerNode: NamedNode) => Promise<any>;
4
4
  setSinglePeerAccess: (options: {
@@ -1 +1 @@
1
- {"version":3,"file":"utilityLogic.d.ts","sourceRoot":"","sources":["../../src/util/utilityLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,QAAQ,CAAA;AAK3C,wBAAgB,kBAAkB,CAAC,KAAK,KAAA,EAAE,QAAQ,KAAA,EAAE,cAAc,KAAA;qCAElB,SAAS;mCAwFX;QAC1C,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;6BAsCqC,SAAS,WAAW,MAAM;kCA3ErB,SAAS,aAAa,SAAS,UAChE,SAAS,OAAO,SAAS,KAChC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;mCApCgB,SAAS;EA4HtD"}
1
+ {"version":3,"file":"utilityLogic.d.ts","sourceRoot":"","sources":["../../src/util/utilityLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,QAAQ,CAAC;AAK5C,wBAAgB,kBAAkB,CAAC,KAAK,KAAA,EAAE,QAAQ,KAAA,EAAE,cAAc,KAAA;qCAElB,SAAS;mCAwFX;QAC1C,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;6BAsCqC,SAAS,WAAW,MAAM;kCA3ErB,SAAS,aAAa,SAAS,UAChE,SAAS,OAAO,SAAS,KAChC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;mCApCgB,SAAS;EA4HtD"}