solid-logic 3.0.9-f51524a8 → 3.0.9-fa4d7e8

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 (100) hide show
  1. package/eslint.config.js +24 -23
  2. package/jest.config.js +8 -15
  3. package/lib/acl/aclLogic.d.ts +2 -2
  4. package/lib/acl/aclLogic.d.ts.map +1 -1
  5. package/lib/acl/aclLogic.js +168 -0
  6. package/lib/acl/aclLogic.js.map +1 -0
  7. package/lib/authSession/authSession.js +8 -0
  8. package/lib/authSession/authSession.js.map +1 -0
  9. package/lib/authn/SolidAuthnLogic.d.ts +3 -3
  10. package/lib/authn/SolidAuthnLogic.d.ts.map +1 -1
  11. package/lib/authn/SolidAuthnLogic.js +191 -0
  12. package/lib/authn/SolidAuthnLogic.js.map +1 -0
  13. package/lib/authn/authUtil.d.ts +1 -1
  14. package/lib/authn/authUtil.js +105 -0
  15. package/lib/authn/authUtil.js.map +1 -0
  16. package/lib/chat/chatLogic.d.ts +1 -1
  17. package/lib/chat/chatLogic.js +272 -0
  18. package/lib/chat/chatLogic.js.map +1 -0
  19. package/lib/inbox/inboxLogic.d.ts +1 -1
  20. package/lib/inbox/inboxLogic.d.ts.map +1 -1
  21. package/lib/inbox/inboxLogic.js +139 -0
  22. package/lib/inbox/inboxLogic.js.map +1 -0
  23. package/lib/index.d.ts +2 -1
  24. package/lib/index.d.ts.map +1 -1
  25. package/lib/index.js +31 -0
  26. package/lib/index.js.map +1 -0
  27. package/lib/issuer/issuerLogic.js +52 -0
  28. package/lib/issuer/issuerLogic.js.map +1 -0
  29. package/lib/logic/CustomError.d.ts.map +1 -1
  30. package/lib/logic/CustomError.js +89 -0
  31. package/lib/logic/CustomError.js.map +1 -0
  32. package/lib/logic/solidLogic.d.ts +2 -2
  33. package/lib/logic/solidLogic.d.ts.map +1 -1
  34. package/lib/logic/solidLogic.js +102 -0
  35. package/lib/logic/solidLogic.js.map +1 -0
  36. package/lib/logic/solidLogicSingleton.js +94 -0
  37. package/lib/logic/solidLogicSingleton.js.map +1 -0
  38. package/lib/profile/profileLogic.d.ts +1 -1
  39. package/lib/profile/profileLogic.js +259 -0
  40. package/lib/profile/profileLogic.js.map +1 -0
  41. package/lib/typeIndex/typeIndexLogic.js +399 -0
  42. package/lib/typeIndex/typeIndexLogic.js.map +1 -0
  43. package/lib/types.d.ts +2 -2
  44. package/lib/types.js +3 -0
  45. package/lib/types.js.map +1 -0
  46. package/lib/util/containerLogic.d.ts +1 -1
  47. package/lib/util/containerLogic.d.ts.map +1 -1
  48. package/lib/util/containerLogic.js +102 -0
  49. package/lib/util/containerLogic.js.map +1 -0
  50. package/lib/util/debug.d.ts.map +1 -1
  51. package/lib/util/debug.js +40 -0
  52. package/lib/util/debug.js.map +1 -0
  53. package/lib/util/ns.js +44 -0
  54. package/lib/util/ns.js.map +1 -0
  55. package/lib/util/utilityLogic.d.ts +1 -1
  56. package/lib/util/utilityLogic.d.ts.map +1 -1
  57. package/lib/util/utilityLogic.js +284 -0
  58. package/lib/util/utilityLogic.js.map +1 -0
  59. package/lib/util/utils.d.ts +1 -1
  60. package/lib/util/utils.d.ts.map +1 -1
  61. package/lib/util/utils.js +47 -0
  62. package/lib/util/utils.js.map +1 -0
  63. package/package.json +15 -38
  64. package/src/acl/aclLogic.ts +8 -8
  65. package/src/authn/SolidAuthnLogic.ts +6 -6
  66. package/src/authn/authUtil.ts +1 -1
  67. package/src/chat/chatLogic.ts +75 -75
  68. package/src/inbox/inboxLogic.ts +19 -19
  69. package/src/index.ts +2 -1
  70. package/src/logic/CustomError.ts +6 -6
  71. package/src/logic/solidLogic.ts +22 -22
  72. package/src/logic/solidLogicSingleton.ts +3 -3
  73. package/src/profile/profileLogic.ts +22 -22
  74. package/src/typeIndex/typeIndexLogic.ts +7 -7
  75. package/src/types.ts +2 -2
  76. package/src/util/containerLogic.ts +15 -15
  77. package/src/util/debug.ts +8 -4
  78. package/src/util/utilityLogic.ts +18 -18
  79. package/src/util/utils.ts +12 -12
  80. package/test/aclLogic.test.ts +5 -5
  81. package/test/authUtil.test.ts +1 -1
  82. package/test/chatLogic.test.ts +154 -160
  83. package/test/container.test.ts +23 -23
  84. package/test/helpers/dataSetup.ts +1 -2
  85. package/test/helpers/setup.ts +3 -8
  86. package/test/inboxLogic.test.ts +110 -101
  87. package/test/logic.test.ts +2 -2
  88. package/test/profileLogic.test.ts +33 -35
  89. package/test/solidAuthLogic.test.ts +1 -1
  90. package/test/typeIndexLogic.test.ts +71 -71
  91. package/test/utilityLogic.test.ts +45 -46
  92. package/test/utils.test.ts +11 -11
  93. package/tsconfig.json +3 -5
  94. package/babel.config.js +0 -6
  95. package/lib/solid-logic.js +0 -107
  96. package/lib/solid-logic.js.map +0 -1
  97. package/rollup.config.js +0 -29
  98. package/src/versionInfo.ts +0 -32
  99. package/timestamp.sh +0 -13
  100. package/tsconfig.test.json +0 -8
@@ -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"}
@@ -0,0 +1,284 @@
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.createUtilityLogic = createUtilityLogic;
73
+ var rdflib_1 = require("rdflib");
74
+ var CustomError_1 = require("../logic/CustomError");
75
+ var debug = __importStar(require("../util/debug"));
76
+ var utils_1 = require("./utils");
77
+ function createUtilityLogic(store, aclLogic, containerLogic) {
78
+ function recursiveDelete(containerNode) {
79
+ return __awaiter(this, void 0, void 0, function () {
80
+ var aclDocUrl, containerMembers, nodeToStringHere, e_1;
81
+ return __generator(this, function (_a) {
82
+ switch (_a.label) {
83
+ case 0:
84
+ _a.trys.push([0, 6, , 7]);
85
+ if (!containerLogic.isContainer(containerNode)) return [3 /*break*/, 5];
86
+ return [4 /*yield*/, aclLogic.findAclDocUrl(containerNode)];
87
+ case 1:
88
+ aclDocUrl = _a.sent();
89
+ return [4 /*yield*/, store.fetcher._fetch(aclDocUrl, { method: "DELETE" })];
90
+ case 2:
91
+ _a.sent();
92
+ return [4 /*yield*/, containerLogic.getContainerMembers(containerNode)];
93
+ case 3:
94
+ containerMembers = _a.sent();
95
+ return [4 /*yield*/, Promise.all(containerMembers.map(function (url) { return recursiveDelete(url); }))];
96
+ case 4:
97
+ _a.sent();
98
+ _a.label = 5;
99
+ case 5:
100
+ nodeToStringHere = containerNode.value;
101
+ return [2 /*return*/, store.fetcher._fetch(nodeToStringHere, { method: "DELETE" })];
102
+ case 6:
103
+ e_1 = _a.sent();
104
+ debug.log("Please manually remove ".concat(containerNode.value, " from your system."), e_1);
105
+ return [3 /*break*/, 7];
106
+ case 7: return [2 /*return*/];
107
+ }
108
+ });
109
+ });
110
+ }
111
+ /**
112
+ * Create a resource if it really does not exist
113
+ * Be absolutely sure something does not exist before creating a new empty file
114
+ * as otherwise existing could be deleted.
115
+ * @param doc {NamedNode} - The resource
116
+ */
117
+ function loadOrCreateIfNotExists(doc) {
118
+ return __awaiter(this, void 0, void 0, function () {
119
+ var response, err_1, err_2, msg, msg;
120
+ return __generator(this, function (_a) {
121
+ switch (_a.label) {
122
+ case 0:
123
+ _a.trys.push([0, 2, , 10]);
124
+ return [4 /*yield*/, store.fetcher.load(doc)];
125
+ case 1:
126
+ response = _a.sent();
127
+ return [3 /*break*/, 10];
128
+ case 2:
129
+ err_1 = _a.sent();
130
+ if (!(err_1.response.status === 404)) return [3 /*break*/, 8];
131
+ _a.label = 3;
132
+ case 3:
133
+ _a.trys.push([3, 5, , 6]);
134
+ return [4 /*yield*/, store.fetcher.webOperation('PUT', doc, { data: '', contentType: 'text/turtle' })];
135
+ case 4:
136
+ _a.sent();
137
+ return [3 /*break*/, 6];
138
+ case 5:
139
+ err_2 = _a.sent();
140
+ msg = 'createIfNotExists: PUT FAILED: ' + doc + ': ' + err_2;
141
+ throw new CustomError_1.WebOperationError(msg);
142
+ case 6: return [4 /*yield*/, store.fetcher.load(doc)];
143
+ case 7:
144
+ _a.sent();
145
+ return [3 /*break*/, 9];
146
+ case 8:
147
+ if (err_1.response.status === 401) {
148
+ throw new CustomError_1.UnauthorizedError();
149
+ }
150
+ if (err_1.response.status === 403) {
151
+ if ((0, utils_1.differentOrigin)(doc)) {
152
+ throw new CustomError_1.CrossOriginForbiddenError();
153
+ }
154
+ throw new CustomError_1.SameOriginForbiddenError();
155
+ }
156
+ msg = 'createIfNotExists doc load error NOT 404: ' + doc + ': ' + err_1;
157
+ throw new CustomError_1.FetchError(err_1.status, err_1.message + msg);
158
+ case 9: return [3 /*break*/, 10];
159
+ case 10: return [2 /*return*/, response];
160
+ }
161
+ });
162
+ });
163
+ }
164
+ /* Follow link from this doc to another thing, or else make a new link
165
+ **
166
+ ** @returns existing object, or creates it if non existent
167
+ */
168
+ function followOrCreateLink(subject, predicate, object, doc) {
169
+ return __awaiter(this, void 0, void 0, function () {
170
+ var result, msg, err_3, msg, err_4;
171
+ return __generator(this, function (_a) {
172
+ switch (_a.label) {
173
+ case 0: return [4 /*yield*/, store.fetcher.load(doc)];
174
+ case 1:
175
+ _a.sent();
176
+ result = store.any(subject, predicate, null, doc);
177
+ if (result)
178
+ return [2 /*return*/, result];
179
+ if (!store.updater.editable(doc)) {
180
+ msg = "followOrCreateLink: cannot edit ".concat(doc.value);
181
+ debug.warn(msg);
182
+ throw new CustomError_1.NotEditableError(msg);
183
+ }
184
+ _a.label = 2;
185
+ case 2:
186
+ _a.trys.push([2, 4, , 5]);
187
+ return [4 /*yield*/, store.updater.update([], [(0, rdflib_1.st)(subject, predicate, object, doc)])];
188
+ case 3:
189
+ _a.sent();
190
+ return [3 /*break*/, 5];
191
+ case 4:
192
+ err_3 = _a.sent();
193
+ msg = "followOrCreateLink: Error making link in ".concat(doc, " to ").concat(object, ": ").concat(err_3);
194
+ debug.warn(msg);
195
+ throw new CustomError_1.WebOperationError(err_3);
196
+ case 5:
197
+ _a.trys.push([5, 7, , 8]);
198
+ return [4 /*yield*/, loadOrCreateIfNotExists(object)
199
+ // store.fetcher.webOperation('PUT', object, { data: '', contentType: 'text/turtle'})
200
+ ];
201
+ case 6:
202
+ _a.sent();
203
+ return [3 /*break*/, 8];
204
+ case 7:
205
+ err_4 = _a.sent();
206
+ debug.warn("followOrCreateLink: Error loading or saving new linked document: ".concat(object, ": ").concat(err_4));
207
+ throw err_4;
208
+ case 8: return [2 /*return*/, object];
209
+ }
210
+ });
211
+ });
212
+ }
213
+ // Copied from https://github.com/solidos/web-access-control-tests/blob/v3.0.0/test/surface/delete.test.ts#L5
214
+ function setSinglePeerAccess(options) {
215
+ return __awaiter(this, void 0, void 0, function () {
216
+ var str, aclDocUrl;
217
+ return __generator(this, function (_a) {
218
+ switch (_a.label) {
219
+ case 0:
220
+ str = [
221
+ '@prefix acl: <http://www.w3.org/ns/auth/acl#>.',
222
+ '',
223
+ "<#alice> a acl:Authorization;\n acl:agent <".concat(options.ownerWebId, ">;"),
224
+ " acl:accessTo <".concat(options.target, ">;"),
225
+ " acl:default <".concat(options.target, ">;"),
226
+ ' acl:mode acl:Read, acl:Write, acl:Control.',
227
+ ''
228
+ ].join('\n');
229
+ if (options.accessToModes) {
230
+ str += [
231
+ '<#bobAccessTo> a acl:Authorization;',
232
+ " acl:agent <".concat(options.peerWebId, ">;"),
233
+ " acl:accessTo <".concat(options.target, ">;"),
234
+ " acl:mode ".concat(options.accessToModes, "."),
235
+ ''
236
+ ].join('\n');
237
+ }
238
+ if (options.defaultModes) {
239
+ str += [
240
+ '<#bobDefault> a acl:Authorization;',
241
+ " acl:agent <".concat(options.peerWebId, ">;"),
242
+ " acl:default <".concat(options.target, ">;"),
243
+ " acl:mode ".concat(options.defaultModes, "."),
244
+ ''
245
+ ].join('\n');
246
+ }
247
+ return [4 /*yield*/, aclLogic.findAclDocUrl((0, rdflib_1.sym)(options.target))];
248
+ case 1:
249
+ aclDocUrl = _a.sent();
250
+ return [2 /*return*/, store.fetcher._fetch(aclDocUrl, {
251
+ method: 'PUT',
252
+ body: str,
253
+ headers: [
254
+ ['Content-Type', 'text/turtle']
255
+ ]
256
+ })];
257
+ }
258
+ });
259
+ });
260
+ }
261
+ function createEmptyRdfDoc(doc, comment) {
262
+ return __awaiter(this, void 0, void 0, function () {
263
+ return __generator(this, function (_a) {
264
+ switch (_a.label) {
265
+ case 0: return [4 /*yield*/, store.fetcher.webOperation("PUT", doc.uri, {
266
+ data: "# ".concat(new Date(), " ").concat(comment, "\n "),
267
+ contentType: "text/turtle",
268
+ })];
269
+ case 1:
270
+ _a.sent();
271
+ return [2 /*return*/];
272
+ }
273
+ });
274
+ });
275
+ }
276
+ return {
277
+ recursiveDelete: recursiveDelete,
278
+ setSinglePeerAccess: setSinglePeerAccess,
279
+ createEmptyRdfDoc: createEmptyRdfDoc,
280
+ followOrCreateLink: followOrCreateLink,
281
+ loadOrCreateIfNotExists: loadOrCreateIfNotExists
282
+ };
283
+ }
284
+ //# sourceMappingURL=utilityLogic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilityLogic.js","sourceRoot":"","sources":["../../src/util/utilityLogic.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { NamedNode } from 'rdflib';
1
+ import { NamedNode } from "rdflib";
2
2
  export declare function newThing(doc: NamedNode): NamedNode;
3
3
  export declare function uniqueNodes(arr: NamedNode[]): NamedNode[];
4
4
  export declare function getArchiveUrl(baseUrl: string, date: Date): string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/util/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAO,MAAM,QAAQ,CAAA;AAEvC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,CAElD;AAED,wBAAgB,WAAW,CAAE,GAAG,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAM1D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,UAOxD;AAED,wBAAgB,eAAe,CAAC,GAAG,KAAA,GAAG,OAAO,CAO5C;AAED,wBAAgB,sBAAsB,CAAE,EAAE,EAAC,SAAS,aAMnD;AAED,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,SAAS,GACnB,SAAS,CAQX"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/util/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAO,MAAM,QAAQ,CAAC;AAExC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,CAElD;AAED,wBAAgB,WAAW,CAAE,GAAG,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAM1D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,UAOxD;AAED,wBAAgB,eAAe,CAAC,GAAG,KAAA,GAAG,OAAO,CAO5C;AAED,wBAAgB,sBAAsB,CAAE,EAAE,EAAC,SAAS,aAMnD;AAED,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,SAAS,GACnB,SAAS,CAQX"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newThing = newThing;
4
+ exports.uniqueNodes = uniqueNodes;
5
+ exports.getArchiveUrl = getArchiveUrl;
6
+ exports.differentOrigin = differentOrigin;
7
+ exports.suggestPreferencesFile = suggestPreferencesFile;
8
+ exports.determineChatContainer = determineChatContainer;
9
+ var rdflib_1 = require("rdflib");
10
+ function newThing(doc) {
11
+ return (0, rdflib_1.sym)(doc.uri + "#" + "id" + ("" + Date.now()));
12
+ }
13
+ function uniqueNodes(arr) {
14
+ var uris = arr.map(function (x) { return x.uri; });
15
+ var set = new Set(uris);
16
+ var uris2 = Array.from(set);
17
+ var arr2 = uris2.map(function (u) { return new rdflib_1.NamedNode(u); });
18
+ return arr2; // Array.from(new Set(arr.map(x => x.uri))).map(u => sym(u))
19
+ }
20
+ function getArchiveUrl(baseUrl, date) {
21
+ var year = date.getUTCFullYear();
22
+ var month = ('0' + (date.getUTCMonth() + 1)).slice(-2);
23
+ var day = ('0' + (date.getUTCDate())).slice(-2);
24
+ var parts = baseUrl.split('/');
25
+ var filename = parts[parts.length - 1];
26
+ return new URL("./archive/".concat(year, "/").concat(month, "/").concat(day, "/").concat(filename), baseUrl).toString();
27
+ }
28
+ function differentOrigin(doc) {
29
+ if (!doc) {
30
+ return true;
31
+ }
32
+ return ("".concat(window.location.origin, "/") !== new URL(doc.value).origin);
33
+ }
34
+ function suggestPreferencesFile(me) {
35
+ var stripped = me.uri.replace('/profile/', '/').replace('/public/', '/');
36
+ // const stripped = me.uri.replace(\/[p|P]rofile/\g, '/').replace(\/[p|P]ublic/\g, '/')
37
+ var folderURI = stripped.split('/').slice(0, -1).join('/') + '/Settings/';
38
+ var fileURI = folderURI + 'Preferences.ttl';
39
+ return (0, rdflib_1.sym)(fileURI);
40
+ }
41
+ function determineChatContainer(invitee, podRoot) {
42
+ // Create chat
43
+ // See https://gitter.im/solid/chat-app?at=5f3c800f855be416a23ae74a
44
+ var chatContainerStr = new URL("IndividualChats/".concat(new URL(invitee.value).host, "/"), podRoot.value).toString();
45
+ return new rdflib_1.NamedNode(chatContainerStr);
46
+ }
47
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/util/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,23 +1,17 @@
1
1
  {
2
2
  "name": "solid-logic",
3
- "type": "module",
4
- "version": "3.0.9-f51524a8",
5
- "description": "Core business logic of SolidOS",
3
+ "version": "3.0.9-fa4d7e8",
4
+ "description": "Core business logic of Solid OS",
6
5
  "main": "lib/index.js",
7
6
  "scripts": {
8
- "clean": "rm -rf lib src/versionInfo.ts",
9
- "build": "npm run clean && npm run build-types && npm run build-version && rollup -c",
10
- "build-version": "./timestamp.sh > src/versionInfo.ts && eslint 'src/versionInfo.ts' --fix",
11
- "build-types": "tsc --emitDeclarationOnly",
12
- "lint": "eslint 'src/**/*.ts' 'test/**/*.ts'",
13
- "typecheck": "tsc --noEmit",
14
- "typecheck:test": "tsc --noEmit -p tsconfig.test.json",
15
- "test": "jest --no-coverage",
16
- "test:coverage": "jest --coverage",
7
+ "build": "npm run clean && tsc",
8
+ "clean": "rm -rf lib",
9
+ "lint": "eslint ./src",
10
+ "test": "jest",
17
11
  "test-debug": "node --inspect-brk ./node_modules/.bin/jest -i --env jest-environment-node-debug",
18
- "ignore:prepublishOnly": "npm run build && npm run test",
19
- "preversion": "npm run lint && npm run typecheck && npm test",
12
+ "preversion": "npm test",
20
13
  "postversion": "git push --follow-tags",
14
+ "ignore:prepublishOnly": "npm run build && npm run test",
21
15
  "watch": "tsc --watch"
22
16
  },
23
17
  "repository": {
@@ -31,43 +25,26 @@
31
25
  },
32
26
  "homepage": "https://github.com/solidos/solid-logic#readme",
33
27
  "devDependencies": {
34
- "@babel/core": "^7.28.3",
35
- "@babel/preset-env": "^7.28.3",
28
+ "@babel/plugin-transform-class-properties": "^7.27.1",
29
+ "@babel/plugin-transform-optional-chaining": "^7.27.1",
30
+ "@babel/plugin-transform-async-to-generator": "^7.27.1",
31
+ "@babel/plugin-transform-runtime": "^7.28.0",
32
+ "@babel/preset-env": "^7.28.0",
36
33
  "@babel/preset-typescript": "^7.27.1",
37
- "@rollup/plugin-commonjs": "^28.0.6",
38
- "@rollup/plugin-json": "^6.1.0",
39
- "@rollup/plugin-node-resolve": "^16.0.1",
40
- "@rollup/plugin-typescript": "^12.1.4",
41
34
  "@types/jest": "^30.0.0",
42
35
  "@typescript-eslint/eslint-plugin": "^8.34.0",
43
36
  "@typescript-eslint/parser": "^8.34.0",
44
37
  "eslint": "^9.28.0",
45
- "eslint-config-prettier": "^10.1.8",
46
- "eslint-plugin-import": "^2.32.0",
47
- "husky": "^9.1.7",
48
38
  "jest": "^30.0.2",
49
39
  "jest-environment-jsdom": "^30.0.2",
50
40
  "jest-environment-node-debug": "^2.0.0",
51
41
  "jest-fetch-mock": "^3.0.3",
52
- "lint-staged": "^16.1.5",
53
- "rollup": "^2.79.2",
54
- "rollup-plugin-terser": "^7.0.2",
55
- "ts-loader": "^9.5.4",
56
- "tslib": "^2.8.1",
57
- "typescript": "^5.9.2"
42
+ "typescript": "^5.7.3"
58
43
  },
59
44
  "dependencies": {
60
45
  "@inrupt/solid-client-authn-browser": "1.17",
46
+ "lint-staged": "^16.1.5",
61
47
  "rdflib": "^2.2.37",
62
48
  "solid-namespace": "^0.5.4"
63
- },
64
- "husky": {
65
- "hooks": {
66
- "pre-commit": "lint-staged",
67
- "pre-push": "npm test"
68
- }
69
- },
70
- "lint-staged": {
71
- "*.ts": "eslint --fix"
72
49
  }
73
50
  }
@@ -1,23 +1,23 @@
1
- import { graph, NamedNode, Namespace, serialize, sym } from 'rdflib'
2
- import { AclLogic } from '../types'
1
+ import { graph, NamedNode, Namespace, serialize, sym } from "rdflib"
2
+ import { AclLogic } from "../types";
3
3
  import { ns as namespace } from '../util/ns'
4
4
 
5
5
 
6
6
  export const ACL_LINK = sym(
7
- 'http://www.iana.org/assignments/link-relations/acl'
8
- )
7
+ "http://www.iana.org/assignments/link-relations/acl"
8
+ );
9
9
 
10
10
  export function createAclLogic(store): AclLogic {
11
11
 
12
12
  const ns = namespace
13
13
 
14
14
  async function findAclDocUrl(url: NamedNode) {
15
- await store.fetcher.load(url)
16
- const docNode = store.any(url, ACL_LINK)
15
+ await store.fetcher.load(url);
16
+ const docNode = store.any(url, ACL_LINK);
17
17
  if (!docNode) {
18
- throw new Error(`No ACL link discovered for ${url}`)
18
+ throw new Error(`No ACL link discovered for ${url}`);
19
19
  }
20
- return docNode.value
20
+ return docNode.value;
21
21
  }
22
22
  /**
23
23
  * Simple Access Control
@@ -1,14 +1,14 @@
1
- import { namedNode, NamedNode, sym } from 'rdflib'
2
- import { appContext, offlineTestID } from './authUtil'
1
+ import { namedNode, NamedNode, sym } from "rdflib";
2
+ import { appContext, offlineTestID } from "./authUtil";
3
3
  import * as debug from '../util/debug'
4
- import { Session } from '@inrupt/solid-client-authn-browser'
5
- import { AuthenticationContext, AuthnLogic } from '../types'
4
+ import { Session } from "@inrupt/solid-client-authn-browser";
5
+ import { AuthenticationContext, AuthnLogic } from "../types";
6
6
 
7
7
  export class SolidAuthnLogic implements AuthnLogic {
8
- private session: Session
8
+ private session: Session;
9
9
 
10
10
  constructor(solidAuthSession: Session) {
11
- this.session = solidAuthSession
11
+ this.session = solidAuthSession;
12
12
  }
13
13
 
14
14
  // we created authSession getter because we want to access it as authn.authSession externally
@@ -1,4 +1,4 @@
1
- import { NamedNode, sym } from 'rdflib'
1
+ import { NamedNode, sym } from "rdflib"
2
2
  import * as debug from '../util/debug'
3
3
 
4
4
  /**