solid-logic 1.3.10 → 1.3.13-0e650512

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 (135) hide show
  1. package/.babelrc +0 -0
  2. package/.eslintrc.js +0 -0
  3. package/.github/workflows/ci.yml +40 -5
  4. package/.github/workflows/release.yml +0 -0
  5. package/LICENSE +0 -0
  6. package/README.md +7 -1
  7. package/jest.config.js +4 -1
  8. package/lib/acl/aclLogic.d.ts +32 -0
  9. package/lib/acl/aclLogic.d.ts.map +1 -0
  10. package/lib/acl/aclLogic.js +132 -0
  11. package/lib/acl/aclLogic.js.map +1 -0
  12. package/lib/authSession/authSession.d.ts +4 -0
  13. package/lib/authSession/authSession.d.ts.map +1 -0
  14. package/lib/authSession/authSession.js +18 -0
  15. package/lib/authSession/authSession.js.map +1 -0
  16. package/lib/authn/SolidAuthnLogic.d.ts +26 -6
  17. package/lib/authn/SolidAuthnLogic.d.ts.map +1 -1
  18. package/lib/authn/SolidAuthnLogic.js +161 -5
  19. package/lib/authn/SolidAuthnLogic.js.map +1 -1
  20. package/lib/authn/authUtil.d.ts +17 -0
  21. package/lib/authn/authUtil.d.ts.map +1 -0
  22. package/lib/authn/authUtil.js +88 -0
  23. package/lib/authn/authUtil.js.map +1 -0
  24. package/lib/chat/ChatLogic.d.ts +2 -2
  25. package/lib/chat/ChatLogic.d.ts.map +1 -1
  26. package/lib/chat/ChatLogic.js +38 -33
  27. package/lib/chat/ChatLogic.js.map +1 -1
  28. package/lib/chat/determineChatContainer.d.ts +0 -0
  29. package/lib/chat/determineChatContainer.d.ts.map +0 -0
  30. package/lib/chat/determineChatContainer.js +0 -0
  31. package/lib/chat/determineChatContainer.js.map +0 -0
  32. package/lib/inbox/InboxLogic.d.ts +2 -2
  33. package/lib/inbox/InboxLogic.d.ts.map +1 -1
  34. package/lib/inbox/InboxLogic.js +14 -13
  35. package/lib/inbox/InboxLogic.js.map +1 -1
  36. package/lib/index.d.ts +9 -72
  37. package/lib/index.d.ts.map +1 -1
  38. package/lib/index.js +31 -384
  39. package/lib/index.js.map +1 -1
  40. package/lib/issuer/issuerLogic.d.ts +8 -0
  41. package/lib/issuer/issuerLogic.d.ts.map +1 -0
  42. package/lib/issuer/issuerLogic.js +53 -0
  43. package/lib/issuer/issuerLogic.js.map +1 -0
  44. package/lib/logic/CustomError.d.ts +17 -0
  45. package/lib/logic/CustomError.d.ts.map +1 -0
  46. package/lib/logic/CustomError.js +73 -0
  47. package/lib/logic/CustomError.js.map +1 -0
  48. package/lib/logic/SolidLogic.d.ts +49 -0
  49. package/lib/logic/SolidLogic.d.ts.map +1 -0
  50. package/lib/logic/SolidLogic.js +316 -0
  51. package/lib/logic/SolidLogic.js.map +1 -0
  52. package/lib/logic/solidLogicSingleton.d.ts +8 -0
  53. package/lib/logic/solidLogicSingleton.d.ts.map +1 -0
  54. package/lib/logic/solidLogicSingleton.js +88 -0
  55. package/lib/logic/solidLogicSingleton.js.map +1 -0
  56. package/lib/profile/ProfileLogic.d.ts +2 -3
  57. package/lib/profile/ProfileLogic.d.ts.map +1 -1
  58. package/lib/profile/ProfileLogic.js +10 -8
  59. package/lib/profile/ProfileLogic.js.map +1 -1
  60. package/lib/typeIndex/typeIndexLogic.d.ts +22 -0
  61. package/lib/typeIndex/typeIndexLogic.d.ts.map +1 -0
  62. package/lib/typeIndex/typeIndexLogic.js +302 -0
  63. package/lib/typeIndex/typeIndexLogic.js.map +1 -0
  64. package/lib/types.d.ts +29 -0
  65. package/lib/types.d.ts.map +1 -0
  66. package/lib/{authn/index.js → types.js} +1 -1
  67. package/lib/types.js.map +1 -0
  68. package/lib/util/UtilityLogic.d.ts +2 -2
  69. package/lib/util/UtilityLogic.d.ts.map +1 -1
  70. package/lib/util/UtilityLogic.js +10 -8
  71. package/lib/util/UtilityLogic.js.map +1 -1
  72. package/lib/{debug.d.ts → util/debug.d.ts} +0 -0
  73. package/lib/util/debug.d.ts.map +1 -0
  74. package/lib/{debug.js → util/debug.js} +0 -0
  75. package/lib/util/debug.js.map +1 -0
  76. package/lib/{uri.d.ts → util/uri.d.ts} +0 -0
  77. package/lib/util/uri.d.ts.map +1 -0
  78. package/lib/{uri.js → util/uri.js} +0 -0
  79. package/lib/util/uri.js.map +1 -0
  80. package/package.json +18 -16
  81. package/renovate.json +0 -0
  82. package/src/acl/aclLogic.ts +137 -0
  83. package/src/authSession/authSession.ts +22 -0
  84. package/src/authn/SolidAuthnLogic.ts +112 -10
  85. package/src/authn/authUtil.ts +67 -0
  86. package/src/chat/ChatLogic.ts +13 -13
  87. package/src/chat/determineChatContainer.ts +0 -0
  88. package/src/inbox/InboxLogic.ts +3 -15
  89. package/src/index.ts +18 -307
  90. package/src/issuer/issuerLogic.ts +40 -0
  91. package/src/logic/CustomError.ts +25 -0
  92. package/src/logic/SolidLogic.ts +264 -0
  93. package/src/logic/solidLogicSingleton.ts +24 -0
  94. package/src/profile/ProfileLogic.ts +4 -5
  95. package/src/typeIndex/typeIndexLogic.ts +170 -0
  96. package/src/types.ts +41 -0
  97. package/src/util/UtilityLogic.ts +4 -16
  98. package/src/{debug.ts → util/debug.ts} +0 -0
  99. package/src/{uri.ts → util/uri.ts} +0 -0
  100. package/test/aclLogic.test.ts +15 -0
  101. package/test/authUtil.test.ts +19 -0
  102. package/{src/chat/integration.test.ts → test/chatLogic.test.ts} +4 -5
  103. package/test/helpers/setup.ts +13 -0
  104. package/{src/inbox/unit.test.ts → test/inboxLogic.test.ts} +5 -6
  105. package/test/logic.test.ts +28 -0
  106. package/test/solidAuthLogic.test.ts +45 -0
  107. package/test/typeIndexLogic.test.ts +26 -0
  108. package/{src/util/unit.test.ts → test/utilityLogic.test.ts} +3 -4
  109. package/tsconfig.json +0 -0
  110. package/jest.setup.ts +0 -2
  111. package/lib/authn/NoAuthnLogic.d.ts +0 -9
  112. package/lib/authn/NoAuthnLogic.d.ts.map +0 -1
  113. package/lib/authn/NoAuthnLogic.js +0 -17
  114. package/lib/authn/NoAuthnLogic.js.map +0 -1
  115. package/lib/authn/index.d.ts +0 -5
  116. package/lib/authn/index.d.ts.map +0 -1
  117. package/lib/authn/index.js.map +0 -1
  118. package/lib/chat/integration.test.d.ts +0 -2
  119. package/lib/chat/integration.test.d.ts.map +0 -1
  120. package/lib/chat/integration.test.js +0 -318
  121. package/lib/chat/integration.test.js.map +0 -1
  122. package/lib/debug.d.ts.map +0 -1
  123. package/lib/debug.js.map +0 -1
  124. package/lib/inbox/unit.test.d.ts +0 -2
  125. package/lib/inbox/unit.test.d.ts.map +0 -1
  126. package/lib/inbox/unit.test.js +0 -264
  127. package/lib/inbox/unit.test.js.map +0 -1
  128. package/lib/uri.d.ts.map +0 -1
  129. package/lib/uri.js.map +0 -1
  130. package/lib/util/unit.test.d.ts +0 -2
  131. package/lib/util/unit.test.d.ts.map +0 -1
  132. package/lib/util/unit.test.js +0 -200
  133. package/lib/util/unit.test.js.map +0 -1
  134. package/src/authn/NoAuthnLogic.ts +0 -16
  135. package/src/authn/index.ts +0 -5
@@ -0,0 +1,49 @@
1
+ import { Session } from "@inrupt/solid-client-authn-browser";
2
+ import * as rdf from "rdflib";
3
+ import { NamedNode, Statement, LiveStore } from "rdflib";
4
+ import { ChatLogic } from "../chat/ChatLogic";
5
+ import { ProfileLogic } from "../profile/ProfileLogic";
6
+ import { AuthnLogic } from "../types";
7
+ import { UtilityLogic } from "../util/UtilityLogic";
8
+ export declare class SolidLogic {
9
+ cache: {
10
+ profileDocument: {
11
+ [WebID: string]: NamedNode;
12
+ };
13
+ preferencesFile: {
14
+ [WebID: string]: NamedNode;
15
+ };
16
+ };
17
+ store: LiveStore;
18
+ me: string | undefined;
19
+ fetcher: {
20
+ fetch: (url: string, options?: any) => any;
21
+ };
22
+ chat: ChatLogic;
23
+ profile: ProfileLogic;
24
+ authn: AuthnLogic;
25
+ util: UtilityLogic;
26
+ constructor(fetcher: {
27
+ fetch: (url: any, requestInit: any) => any;
28
+ }, session: Session);
29
+ findAclDocUrl(url: string): Promise<string>;
30
+ loadDoc(doc: NamedNode): Promise<void>;
31
+ loadProfile(me: NamedNode): Promise<NamedNode>;
32
+ loadPreferences(me: NamedNode): Promise<NamedNode>;
33
+ getTypeIndex(me: NamedNode | string, preferencesFile: NamedNode | string, isPublic: boolean): NamedNode[];
34
+ getRegistrations(instance: any, theClass: any): rdf.Node[];
35
+ load(doc: NamedNode | NamedNode[] | string): Promise<Response> | Promise<Response[]>;
36
+ loadIndexes(me: NamedNode | string, publicProfile: NamedNode | string | null, preferencesFile: NamedNode | string | null, onWarning?: (_err: Error) => Promise<undefined>): Promise<{
37
+ private: any;
38
+ public: any;
39
+ }>;
40
+ createEmptyRdfDoc(doc: NamedNode, comment: string): Promise<void>;
41
+ updatePromise(del: Array<Statement>, ins?: Array<Statement>): Promise<void>;
42
+ isContainer(url: string): boolean;
43
+ getContainerElements(containerNode: NamedNode): NamedNode[];
44
+ getContainerMembers(containerUrl: string): Promise<string[]>;
45
+ recursiveDelete(url: string): Promise<any>;
46
+ clearStore(): void;
47
+ fetch(url: string, options?: any): Promise<any>;
48
+ }
49
+ //# sourceMappingURL=SolidLogic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidLogic.d.ts","sourceRoot":"","sources":["../../src/logic/SolidLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAkB,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAMpD,qBAAa,UAAU;IACnB,KAAK,EAAE;QACH,eAAe,EAAE;YACjB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;SAC1B,CAAC;QACF,eAAe,EAAE;YACjB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;SAC1B,CAAC;KACL,CAAC;IAEF,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,CAAC;IAExD,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;gBAEP,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,EAAE,OAAO,EAAE,OAAO;IAgBrF,aAAa,CAAC,GAAG,EAAE,MAAM;IAIzB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC,WAAW,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAgB9C,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAwDxD,YAAY,CACR,EAAE,EAAE,SAAS,GAAG,MAAM,EACtB,eAAe,EAAE,SAAS,GAAG,MAAM,EACnC,QAAQ,EAAE,OAAO,GAClB,SAAS,EAAE;IAUd,gBAAgB,CAAC,QAAQ,KAAA,EAAE,QAAQ,KAAA;IAQnC,IAAI,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,MAAM;IAOpC,WAAW,CACb,EAAE,EAAE,SAAS,GAAG,MAAM,EACtB,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,EACxC,eAAe,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,EAC1C,SAAS,UAAgB,KAAK,uBAE7B,GACF,OAAO,CAAC;QACP,OAAO,EAAE,GAAG,CAAC;QACb,MAAM,EAAE,GAAG,CAAC;KACf,CAAC;IAyCI,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;IAYvD,aAAa,CACT,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EACrB,GAAG,GAAE,KAAK,CAAC,SAAS,CAAM,GAC3B,OAAO,CAAC,IAAI,CAAC;IAehB,WAAW,CAAC,GAAG,EAAE,MAAM;IAIvB,oBAAoB,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,EAAE;IAI3D,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAItD,eAAe,CAAC,GAAG,EAAE,MAAM;IAIjC,UAAU;IAIJ,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAGzC"}
@@ -0,0 +1,316 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __generator = (this && this.__generator) || function (thisArg, body) {
31
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
+ function verb(n) { return function (v) { return step([n, v]); }; }
34
+ function step(op) {
35
+ if (f) throw new TypeError("Generator is already executing.");
36
+ while (_) try {
37
+ 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;
38
+ if (y = 0, t) op = [op[0] & 2, t.value];
39
+ switch (op[0]) {
40
+ case 0: case 1: t = op; break;
41
+ case 4: _.label++; return { value: op[1], done: false };
42
+ case 5: _.label++; y = op[1]; op = [0]; continue;
43
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
+ default:
45
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
+ if (t[2]) _.ops.pop();
50
+ _.trys.pop(); continue;
51
+ }
52
+ op = body.call(thisArg, _);
53
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
+ }
56
+ };
57
+ var __importDefault = (this && this.__importDefault) || function (mod) {
58
+ return (mod && mod.__esModule) ? mod : { "default": mod };
59
+ };
60
+ Object.defineProperty(exports, "__esModule", { value: true });
61
+ exports.SolidLogic = void 0;
62
+ var rdf = __importStar(require("rdflib"));
63
+ var solid_namespace_1 = __importDefault(require("solid-namespace"));
64
+ var SolidAuthnLogic_1 = require("../authn/SolidAuthnLogic");
65
+ var ChatLogic_1 = require("../chat/ChatLogic");
66
+ var ProfileLogic_1 = require("../profile/ProfileLogic");
67
+ var debug = __importStar(require("../util/debug"));
68
+ var UtilityLogic_1 = require("../util/UtilityLogic");
69
+ var CustomError_1 = require("./CustomError");
70
+ var ns = (0, solid_namespace_1.default)(rdf);
71
+ var SolidLogic = /** @class */ (function () {
72
+ function SolidLogic(fetcher, session) {
73
+ this.store = rdf.graph(); // Make a Quad store
74
+ rdf.fetcher(this.store, fetcher); // Attach a web I/O module, store.fetcher
75
+ this.store.updater = new rdf.UpdateManager(this.store); // Add real-time live updates store.updater
76
+ this.cache = {
77
+ profileDocument: {},
78
+ preferencesFile: {},
79
+ };
80
+ this.fetcher = fetcher;
81
+ this.authn = new SolidAuthnLogic_1.SolidAuthnLogic(session);
82
+ debug.log('SolidAuthnLogic initialized');
83
+ this.profile = new ProfileLogic_1.ProfileLogic(this.store, ns, this.authn);
84
+ this.chat = new ChatLogic_1.ChatLogic(this.store, ns, this.profile);
85
+ this.util = new UtilityLogic_1.UtilityLogic(this.store, ns, this.fetcher);
86
+ }
87
+ SolidLogic.prototype.findAclDocUrl = function (url) {
88
+ return this.util.findAclDocUrl(url);
89
+ };
90
+ SolidLogic.prototype.loadDoc = function (doc) {
91
+ return this.util.loadDoc(doc);
92
+ };
93
+ SolidLogic.prototype.loadProfile = function (me) {
94
+ return __awaiter(this, void 0, void 0, function () {
95
+ var profileDocument, err_1, message;
96
+ return __generator(this, function (_a) {
97
+ switch (_a.label) {
98
+ case 0:
99
+ // console.log('loadProfile', me)
100
+ if (this.cache.profileDocument[me.value]) {
101
+ return [2 /*return*/, this.cache.profileDocument[me.value]];
102
+ }
103
+ _a.label = 1;
104
+ case 1:
105
+ _a.trys.push([1, 3, , 4]);
106
+ profileDocument = me.doc();
107
+ return [4 /*yield*/, this.loadDoc(profileDocument)];
108
+ case 2:
109
+ _a.sent();
110
+ return [2 /*return*/, profileDocument];
111
+ case 3:
112
+ err_1 = _a.sent();
113
+ message = "Logged in but cannot load profile ".concat(profileDocument, " : ").concat(err_1);
114
+ throw new Error(message);
115
+ case 4: return [2 /*return*/];
116
+ }
117
+ });
118
+ });
119
+ };
120
+ SolidLogic.prototype.loadPreferences = function (me) {
121
+ return __awaiter(this, void 0, void 0, function () {
122
+ // console.log('this.store.any()', this.store.any())
123
+ /**
124
+ * Are we working cross-origin?
125
+ * Returns True if we are in a webapp at an origin, and the file origin is different
126
+ */
127
+ function differentOrigin() {
128
+ if (!preferencesFile) {
129
+ return true;
130
+ }
131
+ return ("".concat(window.location.origin, "/") !== new URL(preferencesFile.value).origin);
132
+ }
133
+ var preferencesFile, err_2, status_1;
134
+ return __generator(this, function (_a) {
135
+ switch (_a.label) {
136
+ case 0:
137
+ // console.log('loadPreferences', me)
138
+ if (this.cache.preferencesFile[me.value]) {
139
+ return [2 /*return*/, this.cache.preferencesFile[me.value]];
140
+ }
141
+ preferencesFile = this.store.any(me, ns.space("preferencesFile"));
142
+ if (!preferencesFile) {
143
+ throw new Error("Can't find a preference file pointer in profile ".concat(me.doc()));
144
+ }
145
+ if (!this.store.fetcher) {
146
+ throw new Error("Cannot load doc, have no fetcher");
147
+ }
148
+ _a.label = 1;
149
+ case 1:
150
+ _a.trys.push([1, 3, , 4]);
151
+ return [4 /*yield*/, this.store.fetcher.load(preferencesFile, {
152
+ withCredentials: true,
153
+ })];
154
+ case 2:
155
+ _a.sent();
156
+ return [3 /*break*/, 4];
157
+ case 3:
158
+ err_2 = _a.sent();
159
+ status_1 = err_2.status;
160
+ debug.log("HTTP status ".concat(status_1, " for preference file ").concat(preferencesFile));
161
+ if (status_1 === 401) {
162
+ throw new CustomError_1.UnauthorizedError();
163
+ }
164
+ if (status_1 === 403) {
165
+ if (differentOrigin()) {
166
+ throw new CustomError_1.CrossOriginForbiddenError();
167
+ }
168
+ throw new CustomError_1.SameOriginForbiddenError();
169
+ }
170
+ if (status_1 === 404) {
171
+ throw new CustomError_1.NotFoundError(preferencesFile.value);
172
+ }
173
+ throw new CustomError_1.FetchError(err_2.status, err_2.message);
174
+ case 4: return [2 /*return*/, preferencesFile];
175
+ }
176
+ });
177
+ });
178
+ };
179
+ SolidLogic.prototype.getTypeIndex = function (me, preferencesFile, isPublic) {
180
+ // console.log('getTypeIndex', this.store.each(me, undefined, undefined, preferencesFile), isPublic, preferencesFile)
181
+ return this.store.each(me, isPublic ? ns.solid("publicTypeIndex") : ns.solid("privateTypeIndex"), undefined, preferencesFile);
182
+ };
183
+ SolidLogic.prototype.getRegistrations = function (instance, theClass) {
184
+ var _this = this;
185
+ return this.store
186
+ .each(undefined, ns.solid("instance"), instance)
187
+ .filter(function (r) {
188
+ return _this.store.holds(r, ns.solid("forClass"), theClass);
189
+ });
190
+ };
191
+ SolidLogic.prototype.load = function (doc) {
192
+ if (!this.store.fetcher) {
193
+ throw new Error("Cannot load doc(s), have no fetcher");
194
+ }
195
+ return this.store.fetcher.load(doc);
196
+ };
197
+ SolidLogic.prototype.loadIndexes = function (me, publicProfile, preferencesFile, onWarning) {
198
+ var _this = this;
199
+ if (onWarning === void 0) { onWarning = function (_err) { return __awaiter(_this, void 0, void 0, function () {
200
+ return __generator(this, function (_a) {
201
+ return [2 /*return*/, undefined];
202
+ });
203
+ }); }; }
204
+ return __awaiter(this, void 0, void 0, function () {
205
+ var privateIndexes, publicIndexes, err_3, err_4;
206
+ return __generator(this, function (_a) {
207
+ switch (_a.label) {
208
+ case 0:
209
+ privateIndexes = [];
210
+ publicIndexes = [];
211
+ if (!publicProfile) return [3 /*break*/, 4];
212
+ publicIndexes = this.getTypeIndex(me, publicProfile, true);
213
+ _a.label = 1;
214
+ case 1:
215
+ _a.trys.push([1, 3, , 4]);
216
+ return [4 /*yield*/, this.load(publicIndexes)];
217
+ case 2:
218
+ _a.sent();
219
+ return [3 /*break*/, 4];
220
+ case 3:
221
+ err_3 = _a.sent();
222
+ onWarning(new Error("loadIndex: loading public type index(es) ".concat(err_3)));
223
+ return [3 /*break*/, 4];
224
+ case 4:
225
+ if (!preferencesFile) return [3 /*break*/, 9];
226
+ privateIndexes = this.getTypeIndex(me, preferencesFile, false);
227
+ if (!(privateIndexes.length === 0)) return [3 /*break*/, 6];
228
+ return [4 /*yield*/, onWarning(new Error("Your preference file ".concat(preferencesFile, " does not point to a private type index.")))];
229
+ case 5:
230
+ _a.sent();
231
+ return [3 /*break*/, 9];
232
+ case 6:
233
+ _a.trys.push([6, 8, , 9]);
234
+ return [4 /*yield*/, this.load(privateIndexes)];
235
+ case 7:
236
+ _a.sent();
237
+ return [3 /*break*/, 9];
238
+ case 8:
239
+ err_4 = _a.sent();
240
+ onWarning(new Error("loadIndex: loading private type index(es) ".concat(err_4)));
241
+ return [3 /*break*/, 9];
242
+ case 9: return [2 /*return*/, {
243
+ private: privateIndexes,
244
+ public: publicIndexes,
245
+ }];
246
+ }
247
+ });
248
+ });
249
+ };
250
+ SolidLogic.prototype.createEmptyRdfDoc = function (doc, comment) {
251
+ return __awaiter(this, void 0, void 0, function () {
252
+ return __generator(this, function (_a) {
253
+ switch (_a.label) {
254
+ case 0:
255
+ if (!this.store.fetcher) {
256
+ throw new Error("Cannot create empty rdf doc, have no fetcher");
257
+ }
258
+ return [4 /*yield*/, this.store.fetcher.webOperation("PUT", doc.uri, {
259
+ data: "# ".concat(new Date(), " ").concat(comment, "\n "),
260
+ contentType: "text/turtle",
261
+ })];
262
+ case 1:
263
+ _a.sent();
264
+ return [2 /*return*/];
265
+ }
266
+ });
267
+ });
268
+ };
269
+ // @@@@ use the one in rdflib.js when it is available and delete this
270
+ SolidLogic.prototype.updatePromise = function (del, ins) {
271
+ var _this = this;
272
+ if (ins === void 0) { ins = []; }
273
+ return new Promise(function (resolve, reject) {
274
+ if (!_this.store.updater) {
275
+ throw new Error("Cannot updatePromise, have no updater");
276
+ }
277
+ _this.store.updater.update(del, ins, function (_uri, ok, errorBody) {
278
+ if (!ok) {
279
+ reject(new Error(errorBody));
280
+ }
281
+ else {
282
+ resolve();
283
+ }
284
+ }); // callback
285
+ }); // promise
286
+ };
287
+ SolidLogic.prototype.isContainer = function (url) {
288
+ return this.util.isContainer(url);
289
+ };
290
+ SolidLogic.prototype.getContainerElements = function (containerNode) {
291
+ return this.util.getContainerElements(containerNode);
292
+ };
293
+ SolidLogic.prototype.getContainerMembers = function (containerUrl) {
294
+ return this.util.getContainerMembers(containerUrl);
295
+ };
296
+ SolidLogic.prototype.recursiveDelete = function (url) {
297
+ return __awaiter(this, void 0, void 0, function () {
298
+ return __generator(this, function (_a) {
299
+ return [2 /*return*/, this.util.recursiveDelete(url)];
300
+ });
301
+ });
302
+ };
303
+ SolidLogic.prototype.clearStore = function () {
304
+ return this.util.clearStore();
305
+ };
306
+ SolidLogic.prototype.fetch = function (url, options) {
307
+ return __awaiter(this, void 0, void 0, function () {
308
+ return __generator(this, function (_a) {
309
+ return [2 /*return*/, this.fetcher.fetch(url, options)];
310
+ });
311
+ });
312
+ };
313
+ return SolidLogic;
314
+ }());
315
+ exports.SolidLogic = SolidLogic;
316
+ //# sourceMappingURL=SolidLogic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidLogic.js","sourceRoot":"","sources":["../../src/logic/SolidLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAA8B;AAE9B,oEAA6C;AAC7C,4DAA2D;AAC3D,+CAA8C;AAC9C,wDAAuD;AAEvD,mDAAuC;AACvC,qDAAoD;AACpD,6CAAkI;AAGlI,IAAM,EAAE,GAAmB,IAAA,yBAAc,EAAC,GAAG,CAAC,CAAC;AAE/C;IAmBI,oBAAY,OAAuD,EAAE,OAAgB;QACjF,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,EAAe,CAAC,CAAC,oBAAoB;QAC3D,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,yCAAyC;QAC3E,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,2CAA2C;QACnG,IAAI,CAAC,KAAK,GAAG;YACb,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,EAAE;SAClB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,iCAAe,CAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,kCAAa,GAAb,UAAc,GAAW;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,4BAAO,GAAP,UAAQ,GAAc;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAEK,gCAAW,GAAjB,UAAkB,EAAa;;;;;;wBAC3B,iCAAiC;wBACjC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;4BAC1C,sBAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,EAAC;yBAC3C;;;;wBAGD,eAAe,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;wBAC3B,qBAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAA;;wBAAnC,SAAmC,CAAC;wBACpC,sBAAO,eAAe,EAAC;;;wBAEjB,OAAO,GAAG,4CAAqC,eAAe,gBAAM,KAAG,CAAE,CAAC;wBAChF,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;;;;;KAE5B;IAEK,oCAAe,GAArB,UAAsB,EAAa;;YAO/B,oDAAoD;YACpD;;;eAGG;YACH,SAAS,eAAe;gBACxB,IAAI,CAAC,eAAe,EAAE;oBAClB,OAAO,IAAI,CAAC;iBACf;gBACD,OAAO,CACH,UAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,MAAG,KAAK,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,MAAM,CACzE,CAAC;YACF,CAAC;;;;;wBAlBD,qCAAqC;wBACrC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;4BAC1C,sBAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,EAAC;yBAC3C;wBACK,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBAgBxE,IAAI,CAAC,eAAe,EAAE;4BACtB,MAAM,IAAI,KAAK,CACX,0DAAmD,EAAE,CAAC,GAAG,EAAE,CAAE,CAChE,CAAC;yBACD;wBAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;4BACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;yBACnD;;;;wBAGD,qBAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAA4B,EAAE;gCACxD,eAAe,EAAE,IAAI;6BACxB,CAAC,EAAA;;wBAFF,SAEE,CAAC;;;;wBAGG,WAAS,KAAG,CAAC,MAAM,CAAC;wBAC1B,KAAK,CAAC,GAAG,CAAC,sBAAe,QAAM,kCAAwB,eAAe,CAAE,CAAC,CAAC;wBAC1E,IAAI,QAAM,KAAK,GAAG,EAAE;4BAChB,MAAM,IAAI,+BAAiB,EAAE,CAAC;yBACjC;wBACD,IAAI,QAAM,KAAK,GAAG,EAAE;4BAChB,IAAI,eAAe,EAAE,EAAE;gCACvB,MAAM,IAAI,uCAAyB,EAAE,CAAC;6BACrC;4BACD,MAAM,IAAI,sCAAwB,EAAE,CAAC;yBACxC;wBACD,IAAI,QAAM,KAAK,GAAG,EAAE;4BAChB,MAAM,IAAI,2BAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;yBAClD;wBACD,MAAM,IAAI,wBAAU,CAAC,KAAG,CAAC,MAAM,EAAE,KAAG,CAAC,OAAO,CAAC,CAAC;4BAE9C,sBAAO,eAA4B,EAAC;;;;KACvC;IAED,iCAAY,GAAZ,UACI,EAAsB,EACtB,eAAmC,EACnC,QAAiB;QAEjB,qHAAqH;QACrH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CACtB,EAAe,EACf,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,EACrE,SAAS,EACT,eAA4B,CACZ,CAAC;IACrB,CAAC;IAED,qCAAgB,GAAhB,UAAiB,QAAQ,EAAE,QAAQ;QAAnC,iBAMC;QALG,OAAO,IAAI,CAAC,KAAK;aAChB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC;aAC/C,MAAM,CAAC,UAAC,CAAC;YACN,OAAO,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,yBAAI,GAAJ,UAAK,GAAqC;QACtC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAEK,gCAAW,GAAjB,UACI,EAAsB,EACtB,aAAwC,EACxC,eAA0C,EAC1C,SAEC;QANL,iBAiDC;QA7CG,0BAAA,EAAA,sBAAmB,IAAW;;gBAC1B,sBAAO,SAAS,EAAC;;aACpB;;;;;;wBAKG,cAAc,GAAU,EAAE,CAAC;wBAC3B,aAAa,GAAU,EAAE,CAAC;6BAC1B,aAAa,EAAb,wBAAa;wBACjB,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;;;;wBAEvD,qBAAM,IAAI,CAAC,IAAI,CAAC,aAA4B,CAAC,EAAA;;wBAA7C,SAA6C,CAAC;;;;wBAE9C,SAAS,CAAC,IAAI,KAAK,CAAC,mDAA4C,KAAG,CAAE,CAAC,CAAC,CAAC;;;6BAGxE,eAAe,EAAf,wBAAe;wBACnB,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;6BAE3D,CAAA,cAAc,CAAC,MAAM,KAAK,CAAC,CAAA,EAA3B,wBAA2B;wBAC3B,qBAAM,SAAS,CACf,IAAI,KAAK,CACL,+BAAwB,eAAe,6CAA0C,CACpF,CACA,EAAA;;wBAJD,SAIC,CAAC;;;;wBAGF,qBAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAA;;wBAA/B,SAA+B,CAAC;;;;wBAEhC,SAAS,CACL,IAAI,KAAK,CAAC,oDAA6C,KAAG,CAAE,CAAC,CAChE,CAAC;;4BASN,sBAAO;4BACP,OAAO,EAAE,cAAc;4BACvB,MAAM,EAAE,aAAa;yBACpB,EAAC;;;;KACL;IAEK,sCAAiB,GAAvB,UAAwB,GAAc,EAAE,OAAe;;;;;wBACnD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;4BACzB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;yBAC/D;wBACD,qBAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE;gCACtD,IAAI,EAAE,YAAK,IAAI,IAAI,EAAE,cAAI,OAAO,WACnC;gCACG,WAAW,EAAE,aAAa;6BACzB,CAAC,EAAA;;wBAJF,SAIE,CAAC;;;;;KACN;IAED,qEAAqE;IACrE,kCAAa,GAAb,UACI,GAAqB,EACrB,GAA0B;QAF9B,iBAgBC;QAdG,oBAAA,EAAA,QAA0B;QAE1B,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACnC,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC5D;YACD,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,IAAI,EAAE,EAAE,EAAE,SAAS;gBAC7D,IAAI,CAAC,EAAE,EAAE;oBACT,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;iBAC5B;qBAAM;oBACP,OAAO,EAAE,CAAC;iBACT;YACL,CAAC,CAAC,CAAC,CAAC,WAAW;QACf,CAAC,CAAC,CAAC,CAAC,UAAU;IAClB,CAAC;IAED,gCAAW,GAAX,UAAY,GAAW;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,yCAAoB,GAApB,UAAqB,aAAwB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,wCAAmB,GAAnB,UAAoB,YAAoB;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IAEK,oCAAe,GAArB,UAAsB,GAAW;;;gBAC7B,sBAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAC;;;KACzC;IAED,+BAAU,GAAV;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAEK,0BAAK,GAAX,UAAY,GAAW,EAAE,OAAa;;;gBAClC,sBAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,EAAC;;;KAC3C;IACL,iBAAC;AAAD,CAAC,AAxPD,IAwPC;AAxPY,gCAAU"}
@@ -0,0 +1,8 @@
1
+ import { SolidLogic } from "./SolidLogic";
2
+ declare const solidLogicSingleton: SolidLogic;
3
+ declare const authn: import("../types").AuthnLogic;
4
+ declare const store: import("rdflib").LiveStore;
5
+ declare const chat: import("../chat/ChatLogic").ChatLogic;
6
+ declare const profile: import("../profile/ProfileLogic").ProfileLogic;
7
+ export { solidLogicSingleton, authn, store, chat, profile };
8
+ //# sourceMappingURL=solidLogicSingleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidLogicSingleton.d.ts","sourceRoot":"","sources":["../../src/logic/solidLogicSingleton.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAUzC,QAAA,MAAM,mBAAmB,YAAkD,CAAA;AAG3E,QAAA,MAAM,KAAK,+BAA4B,CAAA;AACvC,QAAA,MAAM,KAAK,4BAA4B,CAAA;AAEvC,QAAA,MAAM,IAAI,uCAA2B,CAAA;AACrC,QAAA,MAAM,OAAO,gDAA8B,CAAA;AAI3C,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __generator = (this && this.__generator) || function (thisArg, body) {
31
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
+ function verb(n) { return function (v) { return step([n, v]); }; }
34
+ function step(op) {
35
+ if (f) throw new TypeError("Generator is already executing.");
36
+ while (_) try {
37
+ 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;
38
+ if (y = 0, t) op = [op[0] & 2, t.value];
39
+ switch (op[0]) {
40
+ case 0: case 1: t = op; break;
41
+ case 4: _.label++; return { value: op[1], done: false };
42
+ case 5: _.label++; y = op[1]; op = [0]; continue;
43
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
+ default:
45
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
+ if (t[2]) _.ops.pop();
50
+ _.trys.pop(); continue;
51
+ }
52
+ op = body.call(thisArg, _);
53
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
+ }
56
+ };
57
+ var __importDefault = (this && this.__importDefault) || function (mod) {
58
+ return (mod && mod.__esModule) ? mod : { "default": mod };
59
+ };
60
+ Object.defineProperty(exports, "__esModule", { value: true });
61
+ exports.profile = exports.chat = exports.store = exports.authn = exports.solidLogicSingleton = void 0;
62
+ var debug = __importStar(require("../util/debug"));
63
+ var authSession_1 = __importDefault(require("../authSession/authSession"));
64
+ var SolidLogic_1 = require("./SolidLogic");
65
+ var fetcher = function (url, requestInit) { return __awaiter(void 0, void 0, void 0, function () {
66
+ return __generator(this, function (_a) {
67
+ if (authSession_1.default.info.webId) {
68
+ return [2 /*return*/, authSession_1.default.fetch(url, requestInit)];
69
+ }
70
+ else {
71
+ return [2 /*return*/, window.fetch(url, requestInit)];
72
+ }
73
+ return [2 /*return*/];
74
+ });
75
+ }); };
76
+ var solidLogicSingleton = new SolidLogic_1.SolidLogic({ fetch: fetcher }, authSession_1.default);
77
+ exports.solidLogicSingleton = solidLogicSingleton;
78
+ // Make this directly accessible as it is what you need most of the time
79
+ var authn = solidLogicSingleton.authn;
80
+ exports.authn = authn;
81
+ var store = solidLogicSingleton.store;
82
+ exports.store = store;
83
+ var chat = solidLogicSingleton.chat;
84
+ exports.chat = chat;
85
+ var profile = solidLogicSingleton.profile;
86
+ exports.profile = profile;
87
+ debug.log('Unique quadstore initialized.');
88
+ //# sourceMappingURL=solidLogicSingleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidLogicSingleton.js","sourceRoot":"","sources":["../../src/logic/solidLogicSingleton.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAsC;AACtC,2EAAoD;AACpD,2CAAyC;AAEzC,IAAM,OAAO,GAAG,UAAO,GAAG,EAAE,WAAW;;QACnC,IAAI,qBAAW,CAAC,IAAI,CAAC,KAAK,EAAE;YACxB,sBAAO,qBAAW,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAA;SAC7C;aAAM;YACH,sBAAO,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAA;SACxC;;;KACJ,CAAA;AAED,IAAM,mBAAmB,GAAG,IAAI,uBAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,qBAAW,CAAC,CAAA;AAWlE,kDAAmB;AAT5B,wEAAwE;AACxE,IAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;AAQT,sBAAK;AAPnC,IAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;AAOF,sBAAK;AAL1C,IAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAA;AAKO,oBAAI;AAJhD,IAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAA;AAIO,0BAAO;AAFzD,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA"}
@@ -1,6 +1,5 @@
1
- import { NamedNode } from "rdflib";
2
- import { AuthnLogic } from "../authn";
3
- import { LiveStore, SolidNamespace } from "../index";
1
+ import { NamedNode, LiveStore } from "rdflib";
2
+ import { AuthnLogic, SolidNamespace } from "../types";
4
3
  export declare class ProfileLogic {
5
4
  store: LiveStore;
6
5
  ns: SolidNamespace;
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileLogic.d.ts","sourceRoot":"","sources":["../../src/profile/ProfileLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAErD,qBAAa,YAAY;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,cAAc,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;gBAEN,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU;IAM7D,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;IASlC,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAQhC,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IASvD,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"ProfileLogic.d.ts","sourceRoot":"","sources":["../../src/profile/ProfileLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEtD,qBAAa,YAAY;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,cAAc,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;gBAEN,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU;IAM7D,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;IASlC,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAQhC,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IASvD,OAAO,CAAC,WAAW;CAGpB"}
@@ -44,18 +44,19 @@ var ProfileLogic = /** @class */ (function () {
44
44
  this.authn = authn;
45
45
  }
46
46
  ProfileLogic.prototype.loadMe = function () {
47
+ var _a;
47
48
  return __awaiter(this, void 0, void 0, function () {
48
49
  var me;
49
- return __generator(this, function (_a) {
50
- switch (_a.label) {
50
+ return __generator(this, function (_b) {
51
+ switch (_b.label) {
51
52
  case 0:
52
53
  me = this.authn.currentUser();
53
54
  if (me === null) {
54
55
  throw new Error("Current user not found! Not logged in?");
55
56
  }
56
- return [4 /*yield*/, this.store.fetcher.load(me.doc())];
57
+ return [4 /*yield*/, ((_a = this.store.fetcher) === null || _a === void 0 ? void 0 : _a.load(me.doc()))];
57
58
  case 1:
58
- _a.sent();
59
+ _b.sent();
59
60
  return [2 /*return*/, me];
60
61
  }
61
62
  });
@@ -69,13 +70,14 @@ var ProfileLogic = /** @class */ (function () {
69
70
  return podRoot;
70
71
  };
71
72
  ProfileLogic.prototype.getMainInbox = function (user) {
73
+ var _a;
72
74
  return __awaiter(this, void 0, void 0, function () {
73
75
  var mainInbox;
74
- return __generator(this, function (_a) {
75
- switch (_a.label) {
76
- case 0: return [4 /*yield*/, this.store.fetcher.load(user)];
76
+ return __generator(this, function (_b) {
77
+ switch (_b.label) {
78
+ case 0: return [4 /*yield*/, ((_a = this.store.fetcher) === null || _a === void 0 ? void 0 : _a.load(user))];
77
79
  case 1:
78
- _a.sent();
80
+ _b.sent();
79
81
  mainInbox = this.store.any(user, this.ns.ldp("inbox"), undefined, user.doc());
80
82
  if (!mainInbox) {
81
83
  throw new Error("User main inbox not found!");
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileLogic.js","sourceRoot":"","sources":["../../src/profile/ProfileLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IAKE,sBAAY,KAAgB,EAAE,EAAkB,EAAE,KAAiB;QACjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEK,6BAAM,GAAZ;;;;;;wBACQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;wBACpC,IAAI,EAAE,KAAK,IAAI,EAAE;4BACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;yBAC3D;wBACD,qBAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,sBAAO,EAAE,EAAC;;;;KACX;IAED,iCAAU,GAAV,UAAW,IAAe;QACxB,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QACD,OAAO,OAAoB,CAAC;IAC9B,CAAC;IAEK,mCAAY,GAAlB,UAAmB,IAAe;;;;;4BAChC,qBAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;wBAAnC,SAAmC,CAAC;wBAC9B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBACpF,IAAI,CAAC,SAAS,EAAE;4BACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;yBAC/C;wBACD,sBAAO,SAAsB,EAAC;;;;KAC/B;IAEO,kCAAW,GAAnB,UAAoB,EAAa;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC;IACH,mBAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,oCAAY"}
1
+ {"version":3,"file":"ProfileLogic.js","sourceRoot":"","sources":["../../src/profile/ProfileLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;IAKE,sBAAY,KAAgB,EAAE,EAAkB,EAAE,KAAiB;QACjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEK,6BAAM,GAAZ;;;;;;;wBACQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;wBACpC,IAAI,EAAE,KAAK,IAAI,EAAE;4BACf,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;yBAC3D;wBACD,qBAAM,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAA,EAAA;;wBAAxC,SAAwC,CAAC;wBACzC,sBAAO,EAAE,EAAC;;;;KACX;IAED,iCAAU,GAAV,UAAW,IAAe;QACxB,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QACD,OAAO,OAAoB,CAAC;IAC9B,CAAC;IAEK,mCAAY,GAAlB,UAAmB,IAAe;;;;;;4BAChC,qBAAM,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAA,EAAA;;wBAApC,SAAoC,CAAC;wBAC/B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBACpF,IAAI,CAAC,SAAS,EAAE;4BACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;yBAC/C;wBACD,sBAAO,SAAsB,EAAC;;;;KAC/B;IAEO,kCAAW,GAAnB,UAAoB,EAAa;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC;IACH,mBAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,oCAAY"}
@@ -0,0 +1,22 @@
1
+ import { NamedNode } from "rdflib";
2
+ import { AuthenticationContext } from "../types";
3
+ export declare const ns: any;
4
+ /**
5
+ * Resolves with the same context, outputting
6
+ * output: index.public, index.private
7
+ *
8
+ * @see https://github.com/solid/solid/blob/main/proposals/data-discovery.md#discoverability
9
+ */
10
+ export declare function loadIndex(context: AuthenticationContext, isPublic: boolean): Promise<AuthenticationContext>;
11
+ export declare function loadTypeIndexes(context: AuthenticationContext): Promise<AuthenticationContext>;
12
+ /**
13
+ * Resolves with the same context, outputting
14
+ * @see https://github.com/solid/solid/blob/main/proposals/data-discovery.md#discoverability
15
+ */
16
+ export declare function ensureTypeIndexes(context: AuthenticationContext): Promise<AuthenticationContext>;
17
+ /**
18
+ * Register a new app in a type index
19
+ * used in chat in bookmark.js (solid-ui)
20
+ */
21
+ export declare function registerInTypeIndex(context: AuthenticationContext, instance: NamedNode, theClass: NamedNode, isPublic: boolean): Promise<AuthenticationContext>;
22
+ //# sourceMappingURL=typeIndexLogic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeIndexLogic.d.ts","sourceRoot":"","sources":["../../src/typeIndex/typeIndexLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,QAAQ,CAAA;AAK3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGhD,eAAO,MAAM,EAAE,KAAuB,CAAA;AAEtC;;;;;GAKG;AACH,wBAAsB,SAAS,CAC/B,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,OAAO,GACd,OAAO,CAAC,qBAAqB,CAAC,CAYhC;AAED,wBAAsB,eAAe,CAAE,OAAO,EAAE,qBAAqB,kCAYpE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAIvG;AAiFD;;;GAGG;AACH,wBAAsB,mBAAmB,CACzC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,OAAO,GACd,OAAO,CAAC,qBAAqB,CAAC,CAwBhC"}