solid-logic 1.3.10 → 1.3.13-2e3e7417

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/NoAuthnLogic.d.ts +4 -1
  17. package/lib/authn/NoAuthnLogic.d.ts.map +1 -1
  18. package/lib/authn/NoAuthnLogic.js +46 -0
  19. package/lib/authn/NoAuthnLogic.js.map +1 -1
  20. package/lib/authn/SolidAuthnLogic.d.ts +25 -2
  21. package/lib/authn/SolidAuthnLogic.d.ts.map +1 -1
  22. package/lib/authn/SolidAuthnLogic.js +161 -2
  23. package/lib/authn/SolidAuthnLogic.js.map +1 -1
  24. package/lib/authn/authUtil.d.ts +17 -0
  25. package/lib/authn/authUtil.d.ts.map +1 -0
  26. package/lib/authn/authUtil.js +88 -0
  27. package/lib/authn/authUtil.js.map +1 -0
  28. package/lib/chat/ChatLogic.d.ts +1 -1
  29. package/lib/chat/ChatLogic.d.ts.map +1 -1
  30. package/lib/chat/ChatLogic.js +38 -33
  31. package/lib/chat/ChatLogic.js.map +1 -1
  32. package/lib/chat/determineChatContainer.d.ts +0 -0
  33. package/lib/chat/determineChatContainer.d.ts.map +0 -0
  34. package/lib/chat/determineChatContainer.js +0 -0
  35. package/lib/chat/determineChatContainer.js.map +0 -0
  36. package/lib/inbox/InboxLogic.d.ts +1 -1
  37. package/lib/inbox/InboxLogic.d.ts.map +1 -1
  38. package/lib/inbox/InboxLogic.js +14 -13
  39. package/lib/inbox/InboxLogic.js.map +1 -1
  40. package/lib/index.d.ts +9 -72
  41. package/lib/index.d.ts.map +1 -1
  42. package/lib/index.js +31 -384
  43. package/lib/index.js.map +1 -1
  44. package/lib/issuer/issuerLogic.d.ts +8 -0
  45. package/lib/issuer/issuerLogic.d.ts.map +1 -0
  46. package/lib/issuer/issuerLogic.js +53 -0
  47. package/lib/issuer/issuerLogic.js.map +1 -0
  48. package/lib/logic/CustomError.d.ts +17 -0
  49. package/lib/logic/CustomError.d.ts.map +1 -0
  50. package/lib/logic/CustomError.js +73 -0
  51. package/lib/logic/CustomError.js.map +1 -0
  52. package/lib/logic/SolidLogic.d.ts +49 -0
  53. package/lib/logic/SolidLogic.d.ts.map +1 -0
  54. package/lib/logic/SolidLogic.js +320 -0
  55. package/lib/logic/SolidLogic.js.map +1 -0
  56. package/lib/logic/solidLogicSingleton.d.ts +8 -0
  57. package/lib/logic/solidLogicSingleton.d.ts.map +1 -0
  58. package/lib/logic/solidLogicSingleton.js +88 -0
  59. package/lib/logic/solidLogicSingleton.js.map +1 -0
  60. package/lib/profile/ProfileLogic.d.ts +1 -2
  61. package/lib/profile/ProfileLogic.d.ts.map +1 -1
  62. package/lib/profile/ProfileLogic.js +10 -8
  63. package/lib/profile/ProfileLogic.js.map +1 -1
  64. package/lib/typeIndex/typeIndexLogic.d.ts +22 -0
  65. package/lib/typeIndex/typeIndexLogic.d.ts.map +1 -0
  66. package/lib/typeIndex/typeIndexLogic.js +302 -0
  67. package/lib/typeIndex/typeIndexLogic.js.map +1 -0
  68. package/lib/types.d.ts +36 -0
  69. package/lib/types.d.ts.map +1 -0
  70. package/lib/{authn/index.js → types.js} +1 -1
  71. package/lib/types.js.map +1 -0
  72. package/lib/util/UtilityLogic.d.ts +1 -1
  73. package/lib/util/UtilityLogic.d.ts.map +1 -1
  74. package/lib/util/UtilityLogic.js +10 -8
  75. package/lib/util/UtilityLogic.js.map +1 -1
  76. package/lib/{debug.d.ts → util/debug.d.ts} +0 -0
  77. package/lib/util/debug.d.ts.map +1 -0
  78. package/lib/{debug.js → util/debug.js} +0 -0
  79. package/lib/util/debug.js.map +1 -0
  80. package/lib/{uri.d.ts → util/uri.d.ts} +0 -0
  81. package/lib/util/uri.d.ts.map +1 -0
  82. package/lib/{uri.js → util/uri.js} +0 -0
  83. package/lib/util/uri.js.map +1 -0
  84. package/package.json +18 -16
  85. package/renovate.json +0 -0
  86. package/src/acl/aclLogic.ts +137 -0
  87. package/src/authSession/authSession.ts +22 -0
  88. package/src/authn/NoAuthnLogic.ts +10 -1
  89. package/src/authn/SolidAuthnLogic.ts +111 -5
  90. package/src/authn/authUtil.ts +67 -0
  91. package/src/chat/ChatLogic.ts +12 -12
  92. package/src/chat/determineChatContainer.ts +0 -0
  93. package/src/inbox/InboxLogic.ts +3 -15
  94. package/src/index.ts +18 -307
  95. package/src/issuer/issuerLogic.ts +40 -0
  96. package/src/logic/CustomError.ts +25 -0
  97. package/src/logic/SolidLogic.ts +268 -0
  98. package/src/logic/solidLogicSingleton.ts +23 -0
  99. package/src/profile/ProfileLogic.ts +3 -4
  100. package/src/typeIndex/typeIndexLogic.ts +170 -0
  101. package/src/types.ts +39 -0
  102. package/src/util/UtilityLogic.ts +4 -6
  103. package/src/{debug.ts → util/debug.ts} +0 -0
  104. package/src/{uri.ts → util/uri.ts} +0 -0
  105. package/test/aclLogic.test.ts +15 -0
  106. package/test/authUtil.test.ts +19 -0
  107. package/{src/chat/integration.test.ts → test/chatLogic.test.ts} +4 -5
  108. package/test/helpers/setup.ts +13 -0
  109. package/{src/inbox/unit.test.ts → test/inboxLogic.test.ts} +5 -6
  110. package/test/logic.test.ts +28 -0
  111. package/test/solidAuthLogic.test.ts +45 -0
  112. package/test/typeIndexLogic.test.ts +26 -0
  113. package/{src/util/unit.test.ts → test/utilityLogic.test.ts} +3 -4
  114. package/tsconfig.json +0 -0
  115. package/jest.setup.ts +0 -2
  116. package/lib/authn/index.d.ts +0 -5
  117. package/lib/authn/index.d.ts.map +0 -1
  118. package/lib/authn/index.js.map +0 -1
  119. package/lib/chat/integration.test.d.ts +0 -2
  120. package/lib/chat/integration.test.d.ts.map +0 -1
  121. package/lib/chat/integration.test.js +0 -318
  122. package/lib/chat/integration.test.js.map +0 -1
  123. package/lib/debug.d.ts.map +0 -1
  124. package/lib/debug.js.map +0 -1
  125. package/lib/inbox/unit.test.d.ts +0 -2
  126. package/lib/inbox/unit.test.d.ts.map +0 -1
  127. package/lib/inbox/unit.test.js +0 -264
  128. package/lib/inbox/unit.test.js.map +0 -1
  129. package/lib/uri.d.ts.map +0 -1
  130. package/lib/uri.js.map +0 -1
  131. package/lib/util/unit.test.d.ts +0 -2
  132. package/lib/util/unit.test.d.ts.map +0 -1
  133. package/lib/util/unit.test.js +0 -200
  134. package/lib/util/unit.test.js.map +0 -1
  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 } from "rdflib";
4
+ import { ChatLogic } from "../chat/ChatLogic";
5
+ import { ProfileLogic } from "../profile/ProfileLogic";
6
+ import { AuthnLogic, LiveStore } 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,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAkB,MAAM,UAAU,CAAC;AAEjE,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;IAoBrF,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,320 @@
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
+ // if (authSession) {
82
+ this.authn = new SolidAuthnLogic_1.SolidAuthnLogic(session);
83
+ debug.log('SolidAuthnLogic initialized');
84
+ /* } else {
85
+ this.authn = new NoAuthnLogic();
86
+ }*/
87
+ this.profile = new ProfileLogic_1.ProfileLogic(this.store, ns, this.authn);
88
+ this.chat = new ChatLogic_1.ChatLogic(this.store, ns, this.profile);
89
+ this.util = new UtilityLogic_1.UtilityLogic(this.store, ns, this.fetcher);
90
+ }
91
+ SolidLogic.prototype.findAclDocUrl = function (url) {
92
+ return this.util.findAclDocUrl(url);
93
+ };
94
+ SolidLogic.prototype.loadDoc = function (doc) {
95
+ return this.util.loadDoc(doc);
96
+ };
97
+ SolidLogic.prototype.loadProfile = function (me) {
98
+ return __awaiter(this, void 0, void 0, function () {
99
+ var profileDocument, err_1, message;
100
+ return __generator(this, function (_a) {
101
+ switch (_a.label) {
102
+ case 0:
103
+ // console.log('loadProfile', me)
104
+ if (this.cache.profileDocument[me.value]) {
105
+ return [2 /*return*/, this.cache.profileDocument[me.value]];
106
+ }
107
+ _a.label = 1;
108
+ case 1:
109
+ _a.trys.push([1, 3, , 4]);
110
+ profileDocument = me.doc();
111
+ return [4 /*yield*/, this.loadDoc(profileDocument)];
112
+ case 2:
113
+ _a.sent();
114
+ return [2 /*return*/, profileDocument];
115
+ case 3:
116
+ err_1 = _a.sent();
117
+ message = "Logged in but cannot load profile ".concat(profileDocument, " : ").concat(err_1);
118
+ throw new Error(message);
119
+ case 4: return [2 /*return*/];
120
+ }
121
+ });
122
+ });
123
+ };
124
+ SolidLogic.prototype.loadPreferences = function (me) {
125
+ return __awaiter(this, void 0, void 0, function () {
126
+ // console.log('this.store.any()', this.store.any())
127
+ /**
128
+ * Are we working cross-origin?
129
+ * Returns True if we are in a webapp at an origin, and the file origin is different
130
+ */
131
+ function differentOrigin() {
132
+ if (!preferencesFile) {
133
+ return true;
134
+ }
135
+ return ("".concat(window.location.origin, "/") !== new URL(preferencesFile.value).origin);
136
+ }
137
+ var preferencesFile, err_2, status_1;
138
+ return __generator(this, function (_a) {
139
+ switch (_a.label) {
140
+ case 0:
141
+ // console.log('loadPreferences', me)
142
+ if (this.cache.preferencesFile[me.value]) {
143
+ return [2 /*return*/, this.cache.preferencesFile[me.value]];
144
+ }
145
+ preferencesFile = this.store.any(me, ns.space("preferencesFile"));
146
+ if (!preferencesFile) {
147
+ throw new Error("Can't find a preference file pointer in profile ".concat(me.doc()));
148
+ }
149
+ if (!this.store.fetcher) {
150
+ throw new Error("Cannot load doc, have no fetcher");
151
+ }
152
+ _a.label = 1;
153
+ case 1:
154
+ _a.trys.push([1, 3, , 4]);
155
+ return [4 /*yield*/, this.store.fetcher.load(preferencesFile, {
156
+ withCredentials: true,
157
+ })];
158
+ case 2:
159
+ _a.sent();
160
+ return [3 /*break*/, 4];
161
+ case 3:
162
+ err_2 = _a.sent();
163
+ status_1 = err_2.status;
164
+ debug.log("HTTP status ".concat(status_1, " for preference file ").concat(preferencesFile));
165
+ if (status_1 === 401) {
166
+ throw new CustomError_1.UnauthorizedError();
167
+ }
168
+ if (status_1 === 403) {
169
+ if (differentOrigin()) {
170
+ throw new CustomError_1.CrossOriginForbiddenError();
171
+ }
172
+ throw new CustomError_1.SameOriginForbiddenError();
173
+ }
174
+ if (status_1 === 404) {
175
+ throw new CustomError_1.NotFoundError(preferencesFile.value);
176
+ }
177
+ throw new CustomError_1.FetchError(err_2.status, err_2.message);
178
+ case 4: return [2 /*return*/, preferencesFile];
179
+ }
180
+ });
181
+ });
182
+ };
183
+ SolidLogic.prototype.getTypeIndex = function (me, preferencesFile, isPublic) {
184
+ // console.log('getTypeIndex', this.store.each(me, undefined, undefined, preferencesFile), isPublic, preferencesFile)
185
+ return this.store.each(me, isPublic ? ns.solid("publicTypeIndex") : ns.solid("privateTypeIndex"), undefined, preferencesFile);
186
+ };
187
+ SolidLogic.prototype.getRegistrations = function (instance, theClass) {
188
+ var _this = this;
189
+ return this.store
190
+ .each(undefined, ns.solid("instance"), instance)
191
+ .filter(function (r) {
192
+ return _this.store.holds(r, ns.solid("forClass"), theClass);
193
+ });
194
+ };
195
+ SolidLogic.prototype.load = function (doc) {
196
+ if (!this.store.fetcher) {
197
+ throw new Error("Cannot load doc(s), have no fetcher");
198
+ }
199
+ return this.store.fetcher.load(doc);
200
+ };
201
+ SolidLogic.prototype.loadIndexes = function (me, publicProfile, preferencesFile, onWarning) {
202
+ var _this = this;
203
+ if (onWarning === void 0) { onWarning = function (_err) { return __awaiter(_this, void 0, void 0, function () {
204
+ return __generator(this, function (_a) {
205
+ return [2 /*return*/, undefined];
206
+ });
207
+ }); }; }
208
+ return __awaiter(this, void 0, void 0, function () {
209
+ var privateIndexes, publicIndexes, err_3, err_4;
210
+ return __generator(this, function (_a) {
211
+ switch (_a.label) {
212
+ case 0:
213
+ privateIndexes = [];
214
+ publicIndexes = [];
215
+ if (!publicProfile) return [3 /*break*/, 4];
216
+ publicIndexes = this.getTypeIndex(me, publicProfile, true);
217
+ _a.label = 1;
218
+ case 1:
219
+ _a.trys.push([1, 3, , 4]);
220
+ return [4 /*yield*/, this.load(publicIndexes)];
221
+ case 2:
222
+ _a.sent();
223
+ return [3 /*break*/, 4];
224
+ case 3:
225
+ err_3 = _a.sent();
226
+ onWarning(new Error("loadIndex: loading public type index(es) ".concat(err_3)));
227
+ return [3 /*break*/, 4];
228
+ case 4:
229
+ if (!preferencesFile) return [3 /*break*/, 9];
230
+ privateIndexes = this.getTypeIndex(me, preferencesFile, false);
231
+ if (!(privateIndexes.length === 0)) return [3 /*break*/, 6];
232
+ return [4 /*yield*/, onWarning(new Error("Your preference file ".concat(preferencesFile, " does not point to a private type index.")))];
233
+ case 5:
234
+ _a.sent();
235
+ return [3 /*break*/, 9];
236
+ case 6:
237
+ _a.trys.push([6, 8, , 9]);
238
+ return [4 /*yield*/, this.load(privateIndexes)];
239
+ case 7:
240
+ _a.sent();
241
+ return [3 /*break*/, 9];
242
+ case 8:
243
+ err_4 = _a.sent();
244
+ onWarning(new Error("loadIndex: loading private type index(es) ".concat(err_4)));
245
+ return [3 /*break*/, 9];
246
+ case 9: return [2 /*return*/, {
247
+ private: privateIndexes,
248
+ public: publicIndexes,
249
+ }];
250
+ }
251
+ });
252
+ });
253
+ };
254
+ SolidLogic.prototype.createEmptyRdfDoc = function (doc, comment) {
255
+ return __awaiter(this, void 0, void 0, function () {
256
+ return __generator(this, function (_a) {
257
+ switch (_a.label) {
258
+ case 0:
259
+ if (!this.store.fetcher) {
260
+ throw new Error("Cannot create empty rdf doc, have no fetcher");
261
+ }
262
+ return [4 /*yield*/, this.store.fetcher.webOperation("PUT", doc.uri, {
263
+ data: "# ".concat(new Date(), " ").concat(comment, "\n "),
264
+ contentType: "text/turtle",
265
+ })];
266
+ case 1:
267
+ _a.sent();
268
+ return [2 /*return*/];
269
+ }
270
+ });
271
+ });
272
+ };
273
+ // @@@@ use the one in rdflib.js when it is available and delete this
274
+ SolidLogic.prototype.updatePromise = function (del, ins) {
275
+ var _this = this;
276
+ if (ins === void 0) { ins = []; }
277
+ return new Promise(function (resolve, reject) {
278
+ if (!_this.store.updater) {
279
+ throw new Error("Cannot updatePromise, have no updater");
280
+ }
281
+ _this.store.updater.update(del, ins, function (_uri, ok, errorBody) {
282
+ if (!ok) {
283
+ reject(new Error(errorBody));
284
+ }
285
+ else {
286
+ resolve();
287
+ }
288
+ }); // callback
289
+ }); // promise
290
+ };
291
+ SolidLogic.prototype.isContainer = function (url) {
292
+ return this.util.isContainer(url);
293
+ };
294
+ SolidLogic.prototype.getContainerElements = function (containerNode) {
295
+ return this.util.getContainerElements(containerNode);
296
+ };
297
+ SolidLogic.prototype.getContainerMembers = function (containerUrl) {
298
+ return this.util.getContainerMembers(containerUrl);
299
+ };
300
+ SolidLogic.prototype.recursiveDelete = function (url) {
301
+ return __awaiter(this, void 0, void 0, function () {
302
+ return __generator(this, function (_a) {
303
+ return [2 /*return*/, this.util.recursiveDelete(url)];
304
+ });
305
+ });
306
+ };
307
+ SolidLogic.prototype.clearStore = function () {
308
+ return this.util.clearStore();
309
+ };
310
+ SolidLogic.prototype.fetch = function (url, options) {
311
+ return __awaiter(this, void 0, void 0, function () {
312
+ return __generator(this, function (_a) {
313
+ return [2 /*return*/, this.fetcher.fetch(url, options)];
314
+ });
315
+ });
316
+ };
317
+ return SolidLogic;
318
+ }());
319
+ exports.SolidLogic = SolidLogic;
320
+ //# sourceMappingURL=SolidLogic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidLogic.js","sourceRoot":"","sources":["../../src/logic/SolidLogic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { SolidLogic } from "./SolidLogic";
2
+ declare const solidLogicSingleton: SolidLogic;
3
+ declare const authn: import("..").AuthnLogic;
4
+ declare const store: import("..").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,yBAA4B,CAAA;AACvC,QAAA,MAAM,KAAK,wBAA4B,CAAA;AACvC,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;AAUlE,kDAAmB;AAR5B,wEAAwE;AACxE,IAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;AAOT,sBAAK;AANnC,IAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;AAMF,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
1
  import { NamedNode } from "rdflib";
2
- import { AuthnLogic } from "../authn";
3
- import { LiveStore, SolidNamespace } from "../index";
2
+ import { AuthnLogic, LiveStore, 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,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEjE,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"}