solid-logic 1.3.17 → 2.0.0-30dbc72f

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 (155) hide show
  1. package/.babelrc +0 -0
  2. package/.eslintrc.js +0 -0
  3. package/.github/workflows/ci.yml +0 -0
  4. package/.github/workflows/release.yml +0 -0
  5. package/.nvmrc +0 -0
  6. package/LICENSE +0 -0
  7. package/README.md +0 -0
  8. package/jest.config.js +0 -0
  9. package/lib/acl/aclLogic.d.ts +3 -30
  10. package/lib/acl/aclLogic.d.ts.map +1 -1
  11. package/lib/acl/aclLogic.js +152 -119
  12. package/lib/acl/aclLogic.js.map +1 -1
  13. package/lib/authSession/authSession.d.ts +0 -0
  14. package/lib/authSession/authSession.d.ts.map +0 -0
  15. package/lib/authSession/authSession.js +0 -0
  16. package/lib/authSession/authSession.js.map +0 -0
  17. package/lib/authn/SolidAuthnLogic.d.ts +0 -0
  18. package/lib/authn/SolidAuthnLogic.d.ts.map +1 -1
  19. package/lib/authn/SolidAuthnLogic.js +3 -3
  20. package/lib/authn/SolidAuthnLogic.js.map +1 -1
  21. package/lib/authn/authUtil.d.ts +0 -0
  22. package/lib/authn/authUtil.d.ts.map +0 -0
  23. package/lib/authn/authUtil.js +0 -0
  24. package/lib/authn/authUtil.js.map +0 -0
  25. package/lib/chat/chatLogic.d.ts +3 -0
  26. package/lib/chat/chatLogic.d.ts.map +1 -0
  27. package/lib/chat/{ChatLogic.js → chatLogic.js} +82 -86
  28. package/lib/chat/chatLogic.js.map +1 -0
  29. package/lib/inbox/inboxLogic.d.ts +3 -0
  30. package/lib/inbox/inboxLogic.d.ts.map +1 -0
  31. package/lib/inbox/{InboxLogic.js → inboxLogic.js} +58 -64
  32. package/lib/inbox/inboxLogic.js.map +1 -0
  33. package/lib/index.d.ts +6 -11
  34. package/lib/index.d.ts.map +1 -1
  35. package/lib/index.js +5 -25
  36. package/lib/index.js.map +1 -1
  37. package/lib/issuer/issuerLogic.d.ts +0 -0
  38. package/lib/issuer/issuerLogic.d.ts.map +0 -0
  39. package/lib/issuer/issuerLogic.js +1 -1
  40. package/lib/issuer/issuerLogic.js.map +1 -1
  41. package/lib/logic/CustomError.d.ts +4 -0
  42. package/lib/logic/CustomError.d.ts.map +1 -1
  43. package/lib/logic/CustomError.js +17 -1
  44. package/lib/logic/CustomError.js.map +1 -1
  45. package/lib/logic/solidLogic.d.ts +6 -0
  46. package/lib/logic/solidLogic.d.ts.map +1 -0
  47. package/lib/logic/solidLogic.js +92 -0
  48. package/lib/logic/solidLogic.js.map +1 -0
  49. package/lib/logic/solidLogicSingleton.d.ts +1 -2
  50. package/lib/logic/solidLogicSingleton.d.ts.map +1 -1
  51. package/lib/logic/solidLogicSingleton.js +3 -3
  52. package/lib/logic/solidLogicSingleton.js.map +1 -1
  53. package/lib/profile/profileLogic.d.ts +3 -0
  54. package/lib/profile/profileLogic.d.ts.map +1 -0
  55. package/lib/profile/profileLogic.js +246 -0
  56. package/lib/profile/profileLogic.js.map +1 -0
  57. package/lib/typeIndex/typeIndexLogic.d.ts +2 -21
  58. package/lib/typeIndex/typeIndexLogic.d.ts.map +1 -1
  59. package/lib/typeIndex/typeIndexLogic.js +304 -296
  60. package/lib/typeIndex/typeIndexLogic.js.map +1 -1
  61. package/lib/types.d.ts +82 -1
  62. package/lib/types.d.ts.map +1 -1
  63. package/lib/types.js +0 -0
  64. package/lib/types.js.map +0 -0
  65. package/lib/util/containerLogic.d.ts +11 -0
  66. package/lib/util/containerLogic.d.ts.map +1 -0
  67. package/lib/{profile/ProfileLogic.js → util/containerLogic.js} +53 -44
  68. package/lib/util/containerLogic.js.map +1 -0
  69. package/lib/util/debug.d.ts +0 -0
  70. package/lib/util/debug.d.ts.map +0 -0
  71. package/lib/util/debug.js +0 -0
  72. package/lib/util/debug.js.map +0 -0
  73. package/lib/util/ns.d.ts +2 -0
  74. package/lib/util/ns.d.ts.map +1 -0
  75. package/lib/util/ns.js +34 -0
  76. package/lib/util/ns.js.map +1 -0
  77. package/lib/util/utilityLogic.d.ts +15 -0
  78. package/lib/util/utilityLogic.d.ts.map +1 -0
  79. package/lib/util/utilityLogic.js +272 -0
  80. package/lib/util/utilityLogic.js.map +1 -0
  81. package/lib/util/utils.d.ts +8 -0
  82. package/lib/util/utils.d.ts.map +1 -0
  83. package/lib/util/utils.js +48 -0
  84. package/lib/util/utils.js.map +1 -0
  85. package/package.json +17 -15
  86. package/src/acl/aclLogic.ts +137 -118
  87. package/src/authSession/authSession.ts +0 -0
  88. package/src/authn/SolidAuthnLogic.ts +8 -7
  89. package/src/authn/authUtil.ts +0 -0
  90. package/src/chat/chatLogic.ts +225 -0
  91. package/src/inbox/inboxLogic.ts +58 -0
  92. package/src/index.ts +11 -29
  93. package/src/issuer/issuerLogic.ts +1 -1
  94. package/src/logic/CustomError.ts +5 -1
  95. package/src/logic/solidLogic.ts +75 -0
  96. package/src/logic/solidLogicSingleton.ts +3 -3
  97. package/src/profile/profileLogic.ts +126 -0
  98. package/src/typeIndex/typeIndexLogic.ts +175 -182
  99. package/src/types.ts +83 -4
  100. package/src/util/containerLogic.ts +54 -0
  101. package/src/util/debug.ts +0 -0
  102. package/src/util/ns.ts +5 -0
  103. package/src/util/utilityLogic.ts +155 -0
  104. package/src/util/utils.ts +52 -0
  105. package/test/aclLogic.test.ts +13 -4
  106. package/test/authUtil.test.ts +0 -0
  107. package/test/chatLogic.test.ts +70 -71
  108. package/test/container.test.ts +56 -0
  109. package/test/helpers/dataSetup.ts +134 -0
  110. package/test/helpers/setup.ts +4 -0
  111. package/test/inboxLogic.test.ts +39 -38
  112. package/test/logic.test.ts +10 -9
  113. package/test/profileLogic.test.ts +246 -0
  114. package/test/solidAuthLogic.test.ts +0 -0
  115. package/test/typeIndexLogic.test.ts +488 -30
  116. package/test/utilityLogic.test.ts +172 -126
  117. package/test/utils.test.ts +32 -0
  118. package/tsconfig.json +0 -0
  119. package/lib/chat/ChatLogic.d.ts +0 -26
  120. package/lib/chat/ChatLogic.d.ts.map +0 -1
  121. package/lib/chat/ChatLogic.js.map +0 -1
  122. package/lib/chat/determineChatContainer.d.ts +0 -3
  123. package/lib/chat/determineChatContainer.d.ts.map +0 -1
  124. package/lib/chat/determineChatContainer.js +0 -12
  125. package/lib/chat/determineChatContainer.js.map +0 -1
  126. package/lib/discovery/discoveryLogic.d.ts +0 -13
  127. package/lib/discovery/discoveryLogic.d.ts.map +0 -1
  128. package/lib/discovery/discoveryLogic.js +0 -203
  129. package/lib/discovery/discoveryLogic.js.map +0 -1
  130. package/lib/inbox/InboxLogic.d.ts +0 -18
  131. package/lib/inbox/InboxLogic.d.ts.map +0 -1
  132. package/lib/inbox/InboxLogic.js.map +0 -1
  133. package/lib/logic/SolidLogic.d.ts +0 -48
  134. package/lib/logic/SolidLogic.d.ts.map +0 -1
  135. package/lib/logic/SolidLogic.js +0 -321
  136. package/lib/logic/SolidLogic.js.map +0 -1
  137. package/lib/profile/ProfileLogic.d.ts +0 -13
  138. package/lib/profile/ProfileLogic.d.ts.map +0 -1
  139. package/lib/profile/ProfileLogic.js.map +0 -1
  140. package/lib/util/UtilityLogic.d.ts +0 -33
  141. package/lib/util/UtilityLogic.d.ts.map +0 -1
  142. package/lib/util/UtilityLogic.js +0 -240
  143. package/lib/util/UtilityLogic.js.map +0 -1
  144. package/lib/util/uri.d.ts +0 -3
  145. package/lib/util/uri.d.ts.map +0 -1
  146. package/lib/util/uri.js +0 -9
  147. package/lib/util/uri.js.map +0 -1
  148. package/src/chat/ChatLogic.ts +0 -244
  149. package/src/chat/determineChatContainer.ts +0 -14
  150. package/src/discovery/discoveryLogic.ts +0 -90
  151. package/src/inbox/InboxLogic.ts +0 -66
  152. package/src/logic/SolidLogic.ts +0 -262
  153. package/src/profile/ProfileLogic.ts +0 -44
  154. package/src/util/UtilityLogic.ts +0 -161
  155. package/src/util/uri.ts +0 -5
@@ -47,76 +47,65 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
47
47
  }
48
48
  };
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.ChatLogic = void 0;
50
+ exports.createChatLogic = void 0;
51
51
  var rdflib_1 = require("rdflib");
52
- var uri_1 = require("../util/uri");
53
- var determineChatContainer_1 = require("./determineChatContainer");
52
+ var ns_1 = require("../util/ns");
53
+ var utils_1 = require("../util/utils");
54
54
  var CHAT_LOCATION_IN_CONTAINER = "index.ttl#this";
55
- /**
56
- * Chat-related logic
57
- */
58
- var ChatLogic = /** @class */ (function () {
59
- function ChatLogic(store, ns, profile) {
60
- this.store = store;
61
- this.ns = ns;
62
- this.profile = profile;
63
- }
64
- ChatLogic.prototype.setAcl = function (chatContainer, me, invitee) {
65
- var _a, _b;
55
+ function createChatLogic(store, profileLogic) {
56
+ var ns = ns_1.ns;
57
+ function setAcl(chatContainer, me, invitee) {
66
58
  return __awaiter(this, void 0, void 0, function () {
67
59
  var chatAclDoc, aclBody;
68
- return __generator(this, function (_c) {
69
- switch (_c.label) {
60
+ return __generator(this, function (_a) {
61
+ switch (_a.label) {
70
62
  case 0:
71
63
  // Some servers don't present a Link http response header
72
64
  // if the container doesn't exist yet, so refetch the container
73
65
  // now that it has been created:
74
- return [4 /*yield*/, ((_a = this.store.fetcher) === null || _a === void 0 ? void 0 : _a.load(chatContainer))];
66
+ return [4 /*yield*/, store.fetcher.load(chatContainer)];
75
67
  case 1:
76
68
  // Some servers don't present a Link http response header
77
69
  // if the container doesn't exist yet, so refetch the container
78
70
  // now that it has been created:
79
- _c.sent();
80
- chatAclDoc = this.store.any(chatContainer, new rdflib_1.NamedNode("http://www.iana.org/assignments/link-relations/acl"));
71
+ _a.sent();
72
+ chatAclDoc = store.any(chatContainer, new rdflib_1.NamedNode("http://www.iana.org/assignments/link-relations/acl"));
81
73
  if (!chatAclDoc) {
82
74
  throw new Error("Chat ACL doc not found!");
83
75
  }
84
- aclBody = "\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n<#owner>\n a acl:Authorization;\n acl:agent <".concat(me.value, ">;\n acl:accessTo <.>;\n acl:default <.>;\n acl:mode\n acl:Read, acl:Write, acl:Control.\n<#invitee>\n a acl:Authorization;\n acl:agent <").concat(invitee.value, ">;\n acl:accessTo <.>;\n acl:default <.>;\n acl:mode\n acl:Read, acl:Append.\n");
85
- return [4 /*yield*/, ((_b = this.store.fetcher) === null || _b === void 0 ? void 0 : _b.webOperation("PUT", chatAclDoc.value, {
76
+ aclBody = "\n @prefix acl: <http://www.w3.org/ns/auth/acl#>.\n <#owner>\n a acl:Authorization;\n acl:agent <".concat(me.value, ">;\n acl:accessTo <.>;\n acl:default <.>;\n acl:mode\n acl:Read, acl:Write, acl:Control.\n <#invitee>\n a acl:Authorization;\n acl:agent <").concat(invitee.value, ">;\n acl:accessTo <.>;\n acl:default <.>;\n acl:mode\n acl:Read, acl:Append.\n ");
77
+ return [4 /*yield*/, store.fetcher.webOperation("PUT", chatAclDoc.value, {
86
78
  data: aclBody,
87
79
  contentType: "text/turtle",
88
- }))];
80
+ })];
89
81
  case 2:
90
- _c.sent();
82
+ _a.sent();
91
83
  return [2 /*return*/];
92
84
  }
93
85
  });
94
86
  });
95
- };
96
- ChatLogic.prototype.addToPrivateTypeIndex = function (chatThing, me) {
97
- var _a;
87
+ }
88
+ function addToPrivateTypeIndex(chatThing, me) {
98
89
  return __awaiter(this, void 0, void 0, function () {
99
90
  var privateTypeIndex, reg, ins;
100
- var _this = this;
101
- return __generator(this, function (_b) {
102
- switch (_b.label) {
91
+ return __generator(this, function (_a) {
92
+ switch (_a.label) {
103
93
  case 0:
104
- privateTypeIndex = this.store.any(me, this.ns.solid("privateTypeIndex"));
94
+ privateTypeIndex = store.any(me, ns.solid("privateTypeIndex"));
105
95
  if (!privateTypeIndex) {
106
96
  throw new Error("Private type index not found!");
107
97
  }
108
- return [4 /*yield*/, ((_a = this.store.fetcher) === null || _a === void 0 ? void 0 : _a.load(privateTypeIndex))];
98
+ return [4 /*yield*/, store.fetcher.load(privateTypeIndex)];
109
99
  case 1:
110
- _b.sent();
111
- reg = (0, uri_1.newThing)(privateTypeIndex);
100
+ _a.sent();
101
+ reg = (0, utils_1.newThing)(privateTypeIndex);
112
102
  ins = [
113
- (0, rdflib_1.st)(reg, this.ns.rdf("type"), this.ns.solid("TypeRegistration"), privateTypeIndex.doc()),
114
- (0, rdflib_1.st)(reg, this.ns.solid("forClass"), this.ns.meeting("LongChat"), privateTypeIndex.doc()),
115
- (0, rdflib_1.st)(reg, this.ns.solid("instance"), chatThing, privateTypeIndex.doc()),
103
+ (0, rdflib_1.st)(reg, ns.rdf("type"), ns.solid("TypeRegistration"), privateTypeIndex.doc()),
104
+ (0, rdflib_1.st)(reg, ns.solid("forClass"), ns.meeting("LongChat"), privateTypeIndex.doc()),
105
+ (0, rdflib_1.st)(reg, ns.solid("instance"), chatThing, privateTypeIndex.doc()),
116
106
  ];
117
107
  return [4 /*yield*/, new Promise(function (resolve, reject) {
118
- var _a;
119
- (_a = _this.store.updater) === null || _a === void 0 ? void 0 : _a.update([], ins, function (_uri, ok, errm) {
108
+ store.updater.update([], ins, function (_uri, ok, errm) {
120
109
  if (!ok) {
121
110
  reject(new Error(errm));
122
111
  }
@@ -126,48 +115,47 @@ var ChatLogic = /** @class */ (function () {
126
115
  });
127
116
  })];
128
117
  case 2:
129
- _b.sent();
118
+ _a.sent();
130
119
  return [2 /*return*/];
131
120
  }
132
121
  });
133
122
  });
134
- };
135
- ChatLogic.prototype.findChat = function (invitee) {
136
- var _a;
123
+ }
124
+ function findChat(invitee) {
137
125
  return __awaiter(this, void 0, void 0, function () {
138
126
  var me, podRoot, chatContainer, exists, e_1;
139
- return __generator(this, function (_b) {
140
- switch (_b.label) {
141
- case 0: return [4 /*yield*/, this.profile.loadMe()];
127
+ return __generator(this, function (_a) {
128
+ switch (_a.label) {
129
+ case 0: return [4 /*yield*/, profileLogic.loadMe()];
142
130
  case 1:
143
- me = _b.sent();
144
- return [4 /*yield*/, this.profile.getPodRoot(me)];
131
+ me = _a.sent();
132
+ return [4 /*yield*/, profileLogic.getPodRoot(me)];
145
133
  case 2:
146
- podRoot = _b.sent();
147
- chatContainer = (0, determineChatContainer_1.determineChatContainer)(invitee, podRoot);
134
+ podRoot = _a.sent();
135
+ chatContainer = (0, utils_1.determineChatContainer)(invitee, podRoot);
148
136
  exists = true;
149
- _b.label = 3;
137
+ _a.label = 3;
150
138
  case 3:
151
- _b.trys.push([3, 5, , 6]);
152
- return [4 /*yield*/, ((_a = this.store.fetcher) === null || _a === void 0 ? void 0 : _a.load(new rdflib_1.NamedNode(chatContainer.value + "index.ttl#this")))];
139
+ _a.trys.push([3, 5, , 6]);
140
+ return [4 /*yield*/, store.fetcher.load(new rdflib_1.NamedNode(chatContainer.value + "index.ttl#this"))];
153
141
  case 4:
154
- _b.sent();
142
+ _a.sent();
155
143
  return [3 /*break*/, 6];
156
144
  case 5:
157
- e_1 = _b.sent();
145
+ e_1 = _a.sent();
158
146
  exists = false;
159
147
  return [3 /*break*/, 6];
160
148
  case 6: return [2 /*return*/, { me: me, chatContainer: chatContainer, exists: exists }];
161
149
  }
162
150
  });
163
151
  });
164
- };
165
- ChatLogic.prototype.createChatThing = function (chatContainer, me) {
152
+ }
153
+ function createChatThing(chatContainer, me) {
166
154
  return __awaiter(this, void 0, void 0, function () {
167
155
  var created;
168
156
  return __generator(this, function (_a) {
169
157
  switch (_a.label) {
170
- case 0: return [4 /*yield*/, this.mintNew({
158
+ case 0: return [4 /*yield*/, mintNew({
171
159
  me: me,
172
160
  newBase: chatContainer.value,
173
161
  })];
@@ -177,9 +165,9 @@ var ChatLogic = /** @class */ (function () {
177
165
  }
178
166
  });
179
167
  });
180
- };
181
- ChatLogic.prototype.mintNew = function (newPaneOptions) {
182
- var kb = this.store;
168
+ }
169
+ function mintNew(newPaneOptions) {
170
+ var kb = store;
183
171
  var updater = kb.updater;
184
172
  if (newPaneOptions.me && !newPaneOptions.me.uri) {
185
173
  throw new Error("chat mintNew: Invalid userid " + newPaneOptions.me);
@@ -188,11 +176,11 @@ var ChatLogic = /** @class */ (function () {
188
176
  newPaneOptions.newInstance ||
189
177
  kb.sym(newPaneOptions.newBase + CHAT_LOCATION_IN_CONTAINER));
190
178
  var newChatDoc = newInstance.doc();
191
- kb.add(newInstance, this.ns.rdf("type"), this.ns.meeting("LongChat"), newChatDoc);
192
- kb.add(newInstance, this.ns.dc("title"), "Chat channel", newChatDoc);
193
- kb.add(newInstance, this.ns.dc("created"), (0, rdflib_1.term)(new Date(Date.now())), newChatDoc);
179
+ kb.add(newInstance, ns.rdf("type"), ns.meeting("LongChat"), newChatDoc);
180
+ kb.add(newInstance, ns.dc("title"), "Chat channel", newChatDoc);
181
+ kb.add(newInstance, ns.dc("created"), (0, rdflib_1.term)(new Date(Date.now())), newChatDoc);
194
182
  if (newPaneOptions.me) {
195
- kb.add(newInstance, this.ns.dc("author"), newPaneOptions.me, newChatDoc);
183
+ kb.add(newInstance, ns.dc("author"), newPaneOptions.me, newChatDoc);
196
184
  }
197
185
  return new Promise(function (resolve, reject) {
198
186
  updater === null || updater === void 0 ? void 0 : updater.put(newChatDoc, kb.statementsMatching(undefined, undefined, undefined, newChatDoc), "text/turtle", function (uri2, ok, message) {
@@ -204,36 +192,36 @@ var ChatLogic = /** @class */ (function () {
204
192
  }
205
193
  });
206
194
  });
207
- };
195
+ }
208
196
  /**
209
197
  * Find (and optionally create) an individual chat between the current user and the given invitee
210
198
  * @param invitee - The person to chat with
211
199
  * @param createIfMissing - Whether the chat should be created, if missing
212
200
  * @returns null if missing, or a node referring to an already existing chat, or the newly created chat
213
201
  */
214
- ChatLogic.prototype.getChat = function (invitee, createIfMissing) {
202
+ function getChat(invitee, createIfMissing) {
215
203
  if (createIfMissing === void 0) { createIfMissing = true; }
216
204
  return __awaiter(this, void 0, void 0, function () {
217
205
  var _a, me, chatContainer, exists, chatThing;
218
206
  return __generator(this, function (_b) {
219
207
  switch (_b.label) {
220
- case 0: return [4 /*yield*/, this.findChat(invitee)];
208
+ case 0: return [4 /*yield*/, findChat(invitee)];
221
209
  case 1:
222
210
  _a = _b.sent(), me = _a.me, chatContainer = _a.chatContainer, exists = _a.exists;
223
211
  if (exists) {
224
212
  return [2 /*return*/, new rdflib_1.NamedNode(chatContainer.value + CHAT_LOCATION_IN_CONTAINER)];
225
213
  }
226
214
  if (!createIfMissing) return [3 /*break*/, 6];
227
- return [4 /*yield*/, this.createChatThing(chatContainer, me)];
215
+ return [4 /*yield*/, createChatThing(chatContainer, me)];
228
216
  case 2:
229
217
  chatThing = _b.sent();
230
- return [4 /*yield*/, this.sendInvite(invitee, chatThing)];
218
+ return [4 /*yield*/, sendInvite(invitee, chatThing)];
231
219
  case 3:
232
220
  _b.sent();
233
- return [4 /*yield*/, this.setAcl(chatContainer, me, invitee)];
221
+ return [4 /*yield*/, setAcl(chatContainer, me, invitee)];
234
222
  case 4:
235
223
  _b.sent();
236
- return [4 /*yield*/, this.addToPrivateTypeIndex(chatThing, me)];
224
+ return [4 /*yield*/, addToPrivateTypeIndex(chatThing, me)];
237
225
  case 5:
238
226
  _b.sent();
239
227
  return [2 /*return*/, chatThing];
@@ -241,27 +229,27 @@ var ChatLogic = /** @class */ (function () {
241
229
  }
242
230
  });
243
231
  });
244
- };
245
- ChatLogic.prototype.sendInvite = function (invitee, chatThing) {
246
- var _a, _b;
232
+ }
233
+ function sendInvite(invitee, chatThing) {
234
+ var _a;
247
235
  return __awaiter(this, void 0, void 0, function () {
248
236
  var inviteeInbox, inviteBody, inviteResponse, locationStr;
249
- return __generator(this, function (_c) {
250
- switch (_c.label) {
251
- case 0: return [4 /*yield*/, ((_a = this.store.fetcher) === null || _a === void 0 ? void 0 : _a.load(invitee.doc()))];
237
+ return __generator(this, function (_b) {
238
+ switch (_b.label) {
239
+ case 0: return [4 /*yield*/, store.fetcher.load(invitee.doc())];
252
240
  case 1:
253
- _c.sent();
254
- inviteeInbox = this.store.any(invitee, this.ns.ldp("inbox"), undefined, invitee.doc());
241
+ _b.sent();
242
+ inviteeInbox = store.any(invitee, ns.ldp("inbox"), undefined, invitee.doc());
255
243
  if (!inviteeInbox) {
256
244
  throw new Error("Invitee inbox not found! ".concat(invitee.value));
257
245
  }
258
- inviteBody = "\n<> a <http://www.w3.org/ns/pim/meeting#LongChatInvite> ;\n".concat(this.ns.rdf("seeAlso"), " <").concat(chatThing.value, "> .\n ");
259
- return [4 /*yield*/, ((_b = this.store.fetcher) === null || _b === void 0 ? void 0 : _b.webOperation("POST", inviteeInbox.value, {
246
+ inviteBody = "\n <> a <http://www.w3.org/ns/pim/meeting#LongChatInvite> ;\n ".concat(ns.rdf("seeAlso"), " <").concat(chatThing.value, "> .\n ");
247
+ return [4 /*yield*/, ((_a = store.fetcher) === null || _a === void 0 ? void 0 : _a.webOperation("POST", inviteeInbox.value, {
260
248
  data: inviteBody,
261
249
  contentType: "text/turtle",
262
250
  }))];
263
251
  case 2:
264
- inviteResponse = _c.sent();
252
+ inviteResponse = _b.sent();
265
253
  locationStr = inviteResponse === null || inviteResponse === void 0 ? void 0 : inviteResponse.headers.get("location");
266
254
  if (!locationStr) {
267
255
  throw new Error("Invite sending returned a ".concat(inviteResponse === null || inviteResponse === void 0 ? void 0 : inviteResponse.status));
@@ -270,8 +258,16 @@ var ChatLogic = /** @class */ (function () {
270
258
  }
271
259
  });
272
260
  });
261
+ }
262
+ return {
263
+ setAcl: setAcl,
264
+ addToPrivateTypeIndex: addToPrivateTypeIndex,
265
+ findChat: findChat,
266
+ createChatThing: createChatThing,
267
+ getChat: getChat,
268
+ sendInvite: sendInvite,
269
+ mintNew: mintNew
273
270
  };
274
- return ChatLogic;
275
- }());
276
- exports.ChatLogic = ChatLogic;
277
- //# sourceMappingURL=ChatLogic.js.map
271
+ }
272
+ exports.createChatLogic = createChatLogic;
273
+ //# sourceMappingURL=chatLogic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatLogic.js","sourceRoot":"","sources":["../../src/chat/chatLogic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { InboxLogic } from "../types";
2
+ export declare function createInboxLogic(store: any, profileLogic: any, utilityLogic: any, containerLogic: any, aclLogic: any): InboxLogic;
3
+ //# sourceMappingURL=inboxLogic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inboxLogic.d.ts","sourceRoot":"","sources":["../../src/inbox/inboxLogic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,wBAAgB,gBAAgB,CAAC,KAAK,KAAA,EAAE,YAAY,KAAA,EAAE,YAAY,KAAA,EAAE,cAAc,KAAA,EAAE,QAAQ,KAAA,GAAG,UAAU,CAqDxG"}
@@ -36,59 +36,28 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.InboxLogic = void 0;
40
- /**
41
- * Inbox-related logic
42
- */
43
- var InboxLogic = /** @class */ (function () {
44
- function InboxLogic(store, ns, profile, util) {
45
- this.store = store;
46
- this.ns = ns;
47
- this.profile = profile;
48
- this.util = util;
49
- }
50
- InboxLogic.prototype.getNewMessages = function (user) {
51
- return __awaiter(this, void 0, void 0, function () {
52
- var inbox, urls;
53
- var _this = this;
54
- return __generator(this, function (_a) {
55
- switch (_a.label) {
56
- case 0:
57
- if (!!user) return [3 /*break*/, 2];
58
- return [4 /*yield*/, this.profile.loadMe()];
59
- case 1:
60
- user = _a.sent();
61
- _a.label = 2;
62
- case 2: return [4 /*yield*/, this.profile.getMainInbox(user)];
63
- case 3:
64
- inbox = _a.sent();
65
- return [4 /*yield*/, this.util.getContainerMembers(inbox.value)];
66
- case 4:
67
- urls = _a.sent();
68
- return [2 /*return*/, urls.filter(function (url) { return !_this.util.isContainer(url); })];
69
- }
70
- });
71
- });
72
- };
73
- InboxLogic.prototype.createInboxFor = function (peerWebId, nick) {
39
+ exports.createInboxLogic = void 0;
40
+ var utils_1 = require("../util/utils");
41
+ function createInboxLogic(store, profileLogic, utilityLogic, containerLogic, aclLogic) {
42
+ function createInboxFor(peerWebId, nick) {
74
43
  return __awaiter(this, void 0, void 0, function () {
75
44
  var myWebId, podRoot, ourInbox, aclDocUrl;
76
45
  return __generator(this, function (_a) {
77
46
  switch (_a.label) {
78
- case 0: return [4 /*yield*/, this.profile.loadMe()];
47
+ case 0: return [4 /*yield*/, profileLogic.loadMe()];
79
48
  case 1:
80
- myWebId = (_a.sent());
81
- return [4 /*yield*/, this.profile.getPodRoot(myWebId)];
49
+ myWebId = _a.sent();
50
+ return [4 /*yield*/, profileLogic.getPodRoot(myWebId)];
82
51
  case 2:
83
52
  podRoot = _a.sent();
84
53
  ourInbox = "".concat(podRoot.value, "p2p-inboxes/").concat(encodeURIComponent(nick), "/");
85
- return [4 /*yield*/, this.util.createContainer(ourInbox)];
54
+ return [4 /*yield*/, containerLogic.createContainer(ourInbox)];
86
55
  case 3:
87
56
  _a.sent();
88
- return [4 /*yield*/, this.util.findAclDocUrl(ourInbox)];
57
+ return [4 /*yield*/, aclLogic.findAclDocUrl(ourInbox)];
89
58
  case 4:
90
59
  aclDocUrl = _a.sent();
91
- return [4 /*yield*/, this.util.setSinglePeerAccess({
60
+ return [4 /*yield*/, utilityLogic.setSinglePeerAccess({
92
61
  ownerWebId: myWebId.value,
93
62
  peerWebId: peerWebId,
94
63
  accessToModes: 'acl:Append',
@@ -100,47 +69,72 @@ var InboxLogic = /** @class */ (function () {
100
69
  }
101
70
  });
102
71
  });
103
- };
104
- InboxLogic.prototype.markAsRead = function (url, date) {
105
- var _a;
72
+ }
73
+ function getNewMessages(user) {
74
+ return __awaiter(this, void 0, void 0, function () {
75
+ var inbox, urls;
76
+ return __generator(this, function (_a) {
77
+ switch (_a.label) {
78
+ case 0:
79
+ if (!!user) return [3 /*break*/, 2];
80
+ return [4 /*yield*/, profileLogic.loadMe()];
81
+ case 1:
82
+ user = _a.sent();
83
+ _a.label = 2;
84
+ case 2: return [4 /*yield*/, profileLogic.getMainInbox(user)];
85
+ case 3:
86
+ inbox = _a.sent();
87
+ return [4 /*yield*/, containerLogic.getContainerMembers(inbox.value)];
88
+ case 4:
89
+ urls = _a.sent();
90
+ return [2 /*return*/, urls.filter(function (url) { return !containerLogic.isContainer(url); })];
91
+ }
92
+ });
93
+ });
94
+ }
95
+ function markAsRead(url, date) {
106
96
  return __awaiter(this, void 0, void 0, function () {
107
97
  var downloaded, archiveUrl, options, uploaded;
108
- var _b;
109
- return __generator(this, function (_c) {
110
- switch (_c.label) {
111
- case 0: return [4 /*yield*/, this.util.underlyingFetch.fetch(url)];
98
+ var _a;
99
+ return __generator(this, function (_b) {
100
+ switch (_b.label) {
101
+ case 0: return [4 /*yield*/, store.fetcher._fetch(url)];
112
102
  case 1:
113
- downloaded = _c.sent();
103
+ downloaded = _b.sent();
114
104
  if (downloaded.status !== 200) {
115
105
  throw new Error("Not OK! ".concat(url));
116
106
  }
117
- archiveUrl = this.util.getArchiveUrl(url, date);
118
- _b = {
107
+ archiveUrl = (0, utils_1.getArchiveUrl)(url, date);
108
+ _a = {
119
109
  method: 'PUT'
120
110
  };
121
111
  return [4 /*yield*/, downloaded.text()];
122
112
  case 2:
123
- options = (_b.body = _c.sent(),
124
- _b.headers = [
113
+ options = (_a.body = _b.sent(),
114
+ _a.headers = [
125
115
  ['Content-Type', downloaded.headers.get('Content-Type') || 'application/octet-stream']
126
116
  ],
127
- _b);
128
- return [4 /*yield*/, this.util.underlyingFetch.fetch(archiveUrl, options)];
117
+ _a);
118
+ return [4 /*yield*/, store.fetcher._fetch(archiveUrl, options)];
129
119
  case 3:
130
- uploaded = _c.sent();
120
+ uploaded = _b.sent();
131
121
  if (!(uploaded.status.toString()[0] === '2')) return [3 /*break*/, 5];
132
- return [4 /*yield*/, ((_a = this.store.fetcher) === null || _a === void 0 ? void 0 : _a._fetch(url, {
122
+ return [4 /*yield*/, store.fetcher._fetch(url, {
133
123
  method: 'DELETE'
134
- }))];
124
+ })];
135
125
  case 4:
136
- _c.sent();
137
- _c.label = 5;
126
+ _b.sent();
127
+ _b.label = 5;
138
128
  case 5: return [2 /*return*/];
139
129
  }
140
130
  });
141
131
  });
132
+ }
133
+ return {
134
+ createInboxFor: createInboxFor,
135
+ getNewMessages: getNewMessages,
136
+ markAsRead: markAsRead
142
137
  };
143
- return InboxLogic;
144
- }());
145
- exports.InboxLogic = InboxLogic;
146
- //# sourceMappingURL=InboxLogic.js.map
138
+ }
139
+ exports.createInboxLogic = createInboxLogic;
140
+ //# sourceMappingURL=inboxLogic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inboxLogic.js","sourceRoot":"","sources":["../../src/inbox/inboxLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAA8C;AAE9C,SAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ;IAExF,SAAe,cAAc,CAAC,SAAiB,EAAE,IAAY;;;;;4BAChC,qBAAM,YAAY,CAAC,MAAM,EAAE,EAAA;;wBAAhD,OAAO,GAAc,SAA2B;wBAC3B,qBAAM,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAA;;wBAA3D,OAAO,GAAc,SAAsC;wBAC3D,QAAQ,GAAG,UAAG,OAAO,CAAC,KAAK,yBAAe,kBAAkB,CAAC,IAAI,CAAC,MAAG,CAAC;wBAC5E,qBAAM,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBAC7B,qBAAM,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAA;;wBAAlD,SAAS,GAAG,SAAsC;wBACxD,qBAAM,YAAY,CAAC,mBAAmB,CAAC;gCACrC,UAAU,EAAE,OAAO,CAAC,KAAK;gCACzB,SAAS,WAAA;gCACT,aAAa,EAAE,YAAY;gCAC3B,MAAM,EAAE,QAAQ;6BACjB,CAAC,EAAA;;wBALF,SAKE,CAAC;wBACH,sBAAO,QAAQ,EAAC;;;;KACnB;IAED,SAAe,cAAc,CACzB,IAAgB;;;;;;6BAEZ,CAAC,IAAI,EAAL,wBAAK;wBACA,qBAAM,YAAY,CAAC,MAAM,EAAE,EAAA;;wBAAlC,IAAI,GAAG,SAA2B,CAAC;;4BAEvB,qBAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,EAAA;;wBAA7C,KAAK,GAAG,SAAqC;wBACtC,qBAAM,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAA;;wBAA5D,IAAI,GAAG,SAAqD;wBAClE,sBAAO,IAAI,CAAC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,EAAhC,CAAgC,CAAC,EAAC;;;;KAC/D;IAED,SAAe,UAAU,CAAC,GAAW,EAAE,IAAU;;;;;;4BAC5B,qBAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAA;;wBAA5C,UAAU,GAAG,SAA+B;wBAClD,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE;4BAC7B,MAAM,IAAI,KAAK,CAAC,kBAAW,GAAG,CAAE,CAAC,CAAC;yBACnC;wBACK,UAAU,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;;4BAE1C,MAAM,EAAE,KAAK;;wBACP,qBAAM,UAAU,CAAC,IAAI,EAAE,EAAA;;wBAFzB,OAAO,IAEX,OAAI,GAAE,SAAuB;4BAC7B,UAAO,GAAE;gCACP,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,0BAA0B,CAAC;6BACvF;+BACF;wBACgB,qBAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,EAAA;;wBAA1D,QAAQ,GAAG,SAA+C;6BAC5D,CAAA,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA,EAArC,wBAAqC;wBACvC,qBAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;gCAC9B,MAAM,EAAE,QAAQ;6BACjB,CAAC,EAAA;;wBAFF,SAEE,CAAC;;;;;;KAEN;IACD,OAAO;QACL,cAAc,gBAAA;QACd,cAAc,gBAAA;QACd,UAAU,YAAA;KACX,CAAA;AACH,CAAC;AArDD,4CAqDC"}
package/lib/index.d.ts CHANGED
@@ -1,17 +1,12 @@
1
+ import { solidLogicSingleton } from './logic/solidLogicSingleton';
1
2
  declare const authn: import("./types").AuthnLogic;
2
3
  declare const authSession: import("@inrupt/solid-client-authn-browser").Session;
3
4
  declare const store: import("rdflib").LiveStore;
4
- declare const chat: import("./chat/ChatLogic").ChatLogic;
5
- declare const profile: import("./profile/ProfileLogic").ProfileLogic;
6
- export { setACLUserPublic, genACLText } from './acl/aclLogic';
7
- export { ensureTypeIndexes, loadTypeIndexes, registerInTypeIndex, loadIndex } from './typeIndex/typeIndexLogic';
8
- export { loadProfile, loadPreferences, loadTypeIndexesFor, loadCommunityTypeIndexes, loadAllTypeIndexes } from './discovery/discoveryLogic';
9
- export { SolidLogic } from './logic/SolidLogic';
5
+ export { ACL_LINK } from './acl/aclLogic';
10
6
  export { offlineTestID, appContext } from './authn/authUtil';
11
- export { ACL_LINK } from './util/UtilityLogic';
12
7
  export { getSuggestedIssuers } from './issuer/issuerLogic';
13
- export { AppDetails, SolidNamespace, AuthenticationContext } from './types';
14
- export { solidLogicSingleton } from './logic/solidLogicSingleton';
15
- export { UnauthorizedError, CrossOriginForbiddenError, SameOriginForbiddenError, NotFoundError, FetchError } from './logic/CustomError';
16
- export { authn, authSession, store, chat, profile };
8
+ export { AppDetails, SolidNamespace, AuthenticationContext, SolidLogic } from './types';
9
+ export { UnauthorizedError, CrossOriginForbiddenError, SameOriginForbiddenError, NotFoundError, FetchError, NotEditableError, WebOperationError } from './logic/CustomError';
10
+ export { solidLogicSingleton, // solidLogicSingleton is exported entirely because it is used in solid-panes
11
+ store, authn, authSession };
17
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK,8BAA4B,CAAA;AACvC,QAAA,MAAM,WAAW,sDAAwC,CAAA;AACzD,QAAA,MAAM,KAAK,4BAA4B,CAAA;AAEvC,QAAA,MAAM,IAAI,sCAA2B,CAAA;AACrC,QAAA,MAAM,OAAO,+CAA8B,CAAA;AAE3C,OAAO,EACL,gBAAgB,EAChB,UAAU,EACX,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,SAAS,EACV,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACvI,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,QAAA,MAAM,KAAK,8BAA4B,CAAA;AACvC,QAAA,MAAM,WAAW,sDAAwC,CAAA;AACzD,QAAA,MAAM,KAAK,4BAA4B,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACvF,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5K,OAAO,EACL,mBAAmB,EAAE,6EAA6E;AAClG,KAAK,EACL,KAAK,EACL,WAAW,EACZ,CAAA"}
package/lib/index.js CHANGED
@@ -1,49 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.profile = exports.chat = exports.store = exports.authSession = exports.authn = exports.FetchError = exports.NotFoundError = exports.SameOriginForbiddenError = exports.CrossOriginForbiddenError = exports.UnauthorizedError = exports.solidLogicSingleton = exports.getSuggestedIssuers = exports.ACL_LINK = exports.appContext = exports.offlineTestID = exports.SolidLogic = exports.loadAllTypeIndexes = exports.loadCommunityTypeIndexes = exports.loadTypeIndexesFor = exports.loadPreferences = exports.loadProfile = exports.loadIndex = exports.registerInTypeIndex = exports.loadTypeIndexes = exports.ensureTypeIndexes = exports.genACLText = exports.setACLUserPublic = void 0;
3
+ exports.authSession = exports.authn = exports.store = exports.solidLogicSingleton = exports.WebOperationError = exports.NotEditableError = exports.FetchError = exports.NotFoundError = exports.SameOriginForbiddenError = exports.CrossOriginForbiddenError = exports.UnauthorizedError = exports.getSuggestedIssuers = exports.appContext = exports.offlineTestID = exports.ACL_LINK = void 0;
4
4
  // Make these variables directly accessible as it is what you need most of the time
5
5
  // This also makes these variable globaly accesible in mashlib
6
6
  var solidLogicSingleton_1 = require("./logic/solidLogicSingleton");
7
+ Object.defineProperty(exports, "solidLogicSingleton", { enumerable: true, get: function () { return solidLogicSingleton_1.solidLogicSingleton; } });
7
8
  var authn = solidLogicSingleton_1.solidLogicSingleton.authn;
8
9
  exports.authn = authn;
9
10
  var authSession = solidLogicSingleton_1.solidLogicSingleton.authn.authSession;
10
11
  exports.authSession = authSession;
11
12
  var store = solidLogicSingleton_1.solidLogicSingleton.store;
12
13
  exports.store = store;
13
- var chat = solidLogicSingleton_1.solidLogicSingleton.chat;
14
- exports.chat = chat;
15
- var profile = solidLogicSingleton_1.solidLogicSingleton.profile;
16
- exports.profile = profile;
17
14
  var aclLogic_1 = require("./acl/aclLogic");
18
- Object.defineProperty(exports, "setACLUserPublic", { enumerable: true, get: function () { return aclLogic_1.setACLUserPublic; } });
19
- Object.defineProperty(exports, "genACLText", { enumerable: true, get: function () { return aclLogic_1.genACLText; } });
20
- var typeIndexLogic_1 = require("./typeIndex/typeIndexLogic");
21
- Object.defineProperty(exports, "ensureTypeIndexes", { enumerable: true, get: function () { return typeIndexLogic_1.ensureTypeIndexes; } });
22
- Object.defineProperty(exports, "loadTypeIndexes", { enumerable: true, get: function () { return typeIndexLogic_1.loadTypeIndexes; } });
23
- Object.defineProperty(exports, "registerInTypeIndex", { enumerable: true, get: function () { return typeIndexLogic_1.registerInTypeIndex; } });
24
- Object.defineProperty(exports, "loadIndex", { enumerable: true, get: function () { return typeIndexLogic_1.loadIndex; } });
25
- var discoveryLogic_1 = require("./discovery/discoveryLogic");
26
- Object.defineProperty(exports, "loadProfile", { enumerable: true, get: function () { return discoveryLogic_1.loadProfile; } });
27
- Object.defineProperty(exports, "loadPreferences", { enumerable: true, get: function () { return discoveryLogic_1.loadPreferences; } });
28
- Object.defineProperty(exports, "loadTypeIndexesFor", { enumerable: true, get: function () { return discoveryLogic_1.loadTypeIndexesFor; } });
29
- Object.defineProperty(exports, "loadCommunityTypeIndexes", { enumerable: true, get: function () { return discoveryLogic_1.loadCommunityTypeIndexes; } });
30
- Object.defineProperty(exports, "loadAllTypeIndexes", { enumerable: true, get: function () { return discoveryLogic_1.loadAllTypeIndexes; } });
31
- var SolidLogic_1 = require("./logic/SolidLogic");
32
- Object.defineProperty(exports, "SolidLogic", { enumerable: true, get: function () { return SolidLogic_1.SolidLogic; } });
15
+ Object.defineProperty(exports, "ACL_LINK", { enumerable: true, get: function () { return aclLogic_1.ACL_LINK; } });
33
16
  var authUtil_1 = require("./authn/authUtil");
34
17
  Object.defineProperty(exports, "offlineTestID", { enumerable: true, get: function () { return authUtil_1.offlineTestID; } });
35
18
  Object.defineProperty(exports, "appContext", { enumerable: true, get: function () { return authUtil_1.appContext; } });
36
- var UtilityLogic_1 = require("./util/UtilityLogic");
37
- Object.defineProperty(exports, "ACL_LINK", { enumerable: true, get: function () { return UtilityLogic_1.ACL_LINK; } });
38
19
  var issuerLogic_1 = require("./issuer/issuerLogic");
39
20
  Object.defineProperty(exports, "getSuggestedIssuers", { enumerable: true, get: function () { return issuerLogic_1.getSuggestedIssuers; } });
40
- // solidLogicSingleton is exported entirely because it is used in solid-panes
41
- var solidLogicSingleton_2 = require("./logic/solidLogicSingleton");
42
- Object.defineProperty(exports, "solidLogicSingleton", { enumerable: true, get: function () { return solidLogicSingleton_2.solidLogicSingleton; } });
43
21
  var CustomError_1 = require("./logic/CustomError");
44
22
  Object.defineProperty(exports, "UnauthorizedError", { enumerable: true, get: function () { return CustomError_1.UnauthorizedError; } });
45
23
  Object.defineProperty(exports, "CrossOriginForbiddenError", { enumerable: true, get: function () { return CustomError_1.CrossOriginForbiddenError; } });
46
24
  Object.defineProperty(exports, "SameOriginForbiddenError", { enumerable: true, get: function () { return CustomError_1.SameOriginForbiddenError; } });
47
25
  Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return CustomError_1.NotFoundError; } });
48
26
  Object.defineProperty(exports, "FetchError", { enumerable: true, get: function () { return CustomError_1.FetchError; } });
27
+ Object.defineProperty(exports, "NotEditableError", { enumerable: true, get: function () { return CustomError_1.NotEditableError; } });
28
+ Object.defineProperty(exports, "WebOperationError", { enumerable: true, get: function () { return CustomError_1.WebOperationError; } });
49
29
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mFAAmF;AACnF,8DAA8D;AAC9D,mEAAiE;AACjE,IAAM,KAAK,GAAG,yCAAmB,CAAC,KAAK,CAAA;AAmC9B,sBAAK;AAlCd,IAAM,WAAW,GAAG,yCAAmB,CAAC,KAAK,CAAC,WAAW,CAAA;AAkCzC,kCAAW;AAjC3B,IAAM,KAAK,GAAG,yCAAmB,CAAC,KAAK,CAAA;AAiCV,sBAAK;AA/BlC,IAAM,IAAI,GAAG,yCAAmB,CAAC,IAAI,CAAA;AA+BD,oBAAI;AA9BxC,IAAM,OAAO,GAAG,yCAAmB,CAAC,OAAO,CAAA;AA8BD,0BAAO;AA5BjD,2CAGuB;AAFrB,4GAAA,gBAAgB,OAAA;AAChB,sGAAA,UAAU,OAAA;AAGZ,6DAKmC;AAJjC,mHAAA,iBAAiB,OAAA;AACjB,iHAAA,eAAe,OAAA;AACf,qHAAA,mBAAmB,OAAA;AACnB,2GAAA,SAAS,OAAA;AAGX,6DAMmC;AALjC,6GAAA,WAAW,OAAA;AACX,iHAAA,eAAe,OAAA;AACf,oHAAA,kBAAkB,OAAA;AAClB,0HAAA,wBAAwB,OAAA;AACxB,oHAAA,kBAAkB,OAAA;AAGpB,iDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,6CAA4D;AAAnD,yGAAA,aAAa,OAAA;AAAE,sGAAA,UAAU,OAAA;AAClC,oDAA8C;AAArC,wGAAA,QAAQ,OAAA;AACjB,oDAA0D;AAAjD,kHAAA,mBAAmB,OAAA;AAE5B,6EAA6E;AAC7E,mEAAiE;AAAxD,0HAAA,mBAAmB,OAAA;AAC5B,mDAAuI;AAA9H,gHAAA,iBAAiB,OAAA;AAAE,wHAAA,yBAAyB,OAAA;AAAE,uHAAA,wBAAwB,OAAA;AAAE,4GAAA,aAAa,OAAA;AAAE,yGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mFAAmF;AACnF,8DAA8D;AAC9D,mEAAiE;AAa/D,oGAbO,yCAAmB,OAaP;AAXrB,IAAM,KAAK,GAAG,yCAAmB,CAAC,KAAK,CAAA;AAarC,sBAAK;AAZP,IAAM,WAAW,GAAG,yCAAmB,CAAC,KAAK,CAAC,WAAW,CAAA;AAavD,kCAAW;AAZb,IAAM,KAAK,GAAG,yCAAmB,CAAC,KAAK,CAAA;AAUrC,sBAAK;AARP,2CAAyC;AAAhC,oGAAA,QAAQ,OAAA;AACjB,6CAA4D;AAAnD,yGAAA,aAAa,OAAA;AAAE,sGAAA,UAAU,OAAA;AAClC,oDAA0D;AAAjD,kHAAA,mBAAmB,OAAA;AAE5B,mDAA4K;AAAnK,gHAAA,iBAAiB,OAAA;AAAE,wHAAA,yBAAyB,OAAA;AAAE,uHAAA,wBAAwB,OAAA;AAAE,4GAAA,aAAa,OAAA;AAAE,yGAAA,UAAU,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AAAE,gHAAA,iBAAiB,OAAA"}
File without changes
File without changes
@@ -25,7 +25,7 @@ var DEFAULT_ISSUERS = [
25
25
  },
26
26
  {
27
27
  name: 'pod.Inrupt.com',
28
- uri: 'https://broker.pod.inrupt.com'
28
+ uri: 'https://login.inrupt.com'
29
29
  }
30
30
  ];
31
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"issuerLogic.js","sourceRoot":"","sources":["../../src/issuer/issuerLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,IAAM,eAAe,GAAG;IACtB;QACE,IAAI,EAAE,iBAAiB;QACvB,GAAG,EAAE,4BAA4B;KAClC;IACD;QACE,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,sBAAsB;KAC5B;IACD;QACE,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,oBAAoB;KAC1B;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,+BAA+B;KACrC;CACF,CAAA;AAED;;GAEG;AACH,SAAgB,mBAAmB;IAC/B,yCAAyC;IACzC,IAAM,OAAO,qBAAO,eAAe,OAAC,CAAA;IAEpC,mDAAmD;IAC7C,IAAA,KAAmB,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAvC,IAAI,UAAA,EAAE,MAAM,YAA2B,CAAA;IAC/C,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,EAAO;YAAL,GAAG,SAAA;QAAO,OAAA,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI;IAAjB,CAAiB,CAAC,CAAA;IACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,QAAQ,IAAI,OAAA,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,EAA7B,CAA6B,CAAC,EAAE;QACnF,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;KAC7C;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAZH,kDAYG;AAEH,SAAS,aAAa,CAAE,SAAiB,EAAE,MAAc;IACrD,IAAM,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAChD,OAAO,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC1E,CAAC"}
1
+ {"version":3,"file":"issuerLogic.js","sourceRoot":"","sources":["../../src/issuer/issuerLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,IAAM,eAAe,GAAG;IACtB;QACE,IAAI,EAAE,iBAAiB;QACvB,GAAG,EAAE,4BAA4B;KAClC;IACD;QACE,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,sBAAsB;KAC5B;IACD;QACE,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,oBAAoB;KAC1B;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,0BAA0B;KAChC;CACF,CAAA;AAED;;GAEG;AACH,SAAgB,mBAAmB;IAC/B,yCAAyC;IACzC,IAAM,OAAO,qBAAO,eAAe,OAAC,CAAA;IAEpC,mDAAmD;IAC7C,IAAA,KAAmB,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAvC,IAAI,UAAA,EAAE,MAAM,YAA2B,CAAA;IAC/C,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,EAAO;YAAL,GAAG,SAAA;QAAO,OAAA,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI;IAAjB,CAAiB,CAAC,CAAA;IACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,QAAQ,IAAI,OAAA,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,EAA7B,CAA6B,CAAC,EAAE;QACnF,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;KAC7C;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAZH,kDAYG;AAEH,SAAS,aAAa,CAAE,SAAiB,EAAE,MAAc;IACrD,IAAM,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAChD,OAAO,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAC1E,CAAC"}