@noeldemartin/solid-utils 0.1.1-next.f279ff39536b39493ea8febae8d8052a9a3b1365 → 0.2.0

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.
@@ -11,14 +11,18 @@ declare global {
11
11
  }
12
12
 
13
13
  }
14
- import { Error as Error_2 } from '@noeldemartin/utils';
15
- import type { ErrorOptions } from '@noeldemartin/utils';
14
+ import { JSError } from '@noeldemartin/utils';
15
+ import type { JSErrorOptions } from '@noeldemartin/utils';
16
16
  import type { Quad } from 'rdf-js';
17
17
 
18
18
  export declare type AnyFetch = (input: any, options?: any) => Promise<Response>;
19
19
 
20
+ export declare function compactJsonLDGraph(jsonld: JsonLDGraph): Promise<JsonLDGraph>;
21
+
20
22
  export declare function createPrivateTypeIndex(user: SolidUserProfile, fetch?: Fetch): Promise<string>;
21
23
 
24
+ export declare function createPublicTypeIndex(user: SolidUserProfile, fetch?: Fetch): Promise<string>;
25
+
22
26
  export declare function createSolidDocument(url: string, body: string, fetch?: Fetch): Promise<SolidDocument>;
23
27
 
24
28
  export declare function defineIRIPrefix(name: string, value: string): void;
@@ -51,7 +55,9 @@ export declare function fetchSolidDocumentACL(documentUrl: string, fetch: Fetch)
51
55
 
52
56
  export declare function fetchSolidDocumentIfFound(url: string, fetch?: Fetch): Promise<SolidDocument | null>;
53
57
 
54
- export declare function findContainerRegistration(typeIndexUrl: string, childrenType: string, fetch?: Fetch): Promise<SolidThing | null>;
58
+ export declare function findContainerRegistrations(typeIndexUrl: string, type: string | string[], fetch?: Fetch): Promise<string[]>;
59
+
60
+ export declare function findInstanceRegistrations(typeIndexUrl: string, type: string | string[], fetch?: Fetch): Promise<string[]>;
55
61
 
56
62
  export declare function installChaiPlugin(): void;
57
63
 
@@ -70,6 +76,7 @@ export declare type JsonLD = Partial<{
70
76
  export declare function jsonldEquals(expected: JsonLD, actual: JsonLD): Promise<EqualityResult>;
71
77
 
72
78
  export declare type JsonLDGraph = {
79
+ '@context'?: Record<string, unknown>;
73
80
  '@graph': JsonLDResource[];
74
81
  };
75
82
 
@@ -77,9 +84,9 @@ export declare type JsonLDResource = Omit<JsonLD, '@id'> & {
77
84
  '@id': string;
78
85
  };
79
86
 
80
- export declare function jsonldToQuads(jsonld: JsonLD): Promise<Quad[]>;
87
+ export declare function jsonldToQuads(jsonld: JsonLD, baseIRI?: string): Promise<Quad[]>;
81
88
 
82
- export declare class MalformedSolidDocumentError extends Error_2 {
89
+ export declare class MalformedSolidDocumentError extends JSError {
83
90
  readonly documentUrl: string | null;
84
91
  readonly documentFormat: SolidDocumentFormat;
85
92
  readonly malformationDetails: string;
@@ -88,22 +95,24 @@ export declare class MalformedSolidDocumentError extends Error_2 {
88
95
 
89
96
  export declare function mintJsonLDIdentifiers(jsonld: JsonLD): JsonLDResource;
90
97
 
91
- export declare class NetworkRequestError extends Error_2 {
98
+ export declare class NetworkRequestError extends JSError {
92
99
  readonly url: string;
93
- constructor(url: string, options?: ErrorOptions);
100
+ constructor(url: string, options?: JSErrorOptions);
94
101
  }
95
102
 
96
103
  export declare function normalizeSparql(sparql: string): string;
97
104
 
98
- export declare class NotFoundError extends Error_2 {
105
+ export declare class NotFoundError extends JSError {
99
106
  readonly url: string;
100
107
  constructor(url: string);
101
108
  }
102
109
 
103
110
  export declare function parseResourceSubject(subject: string): SubjectParts;
104
111
 
112
+ export declare function parseTurtle(turtle: string, options?: Partial<ParsingOptions>): Promise<RDFGraphData>;
113
+
105
114
  export declare interface ParsingOptions {
106
- documentUrl: string;
115
+ baseIRI: string;
107
116
  normalizeBlankNodes: boolean;
108
117
  }
109
118
 
@@ -115,20 +124,25 @@ export declare function quadToTurtle(quad: Quad): string;
115
124
 
116
125
  export declare type RDFContext = Record<string, string>;
117
126
 
118
- export declare class SolidDocument {
127
+ export declare interface RDFGraphData {
128
+ quads: Quad[];
129
+ containsRelativeIRIs: boolean;
130
+ }
131
+
132
+ export declare class SolidDocument extends SolidStore {
119
133
  readonly url: string;
120
134
  readonly headers: Headers;
121
- private quads;
122
135
  constructor(url: string, quads: Quad[], headers: Headers);
123
- isEmpty(): boolean;
136
+ isACPResource(): boolean;
124
137
  isPersonalProfile(): boolean;
125
138
  isStorage(): boolean;
139
+ isUserWritable(): boolean;
140
+ getUserPermissions(): SolidDocumentPermission[];
141
+ getPublicPermissions(): SolidDocumentPermission[];
126
142
  getLastModified(): Date | null;
127
- statements(subject?: string, predicate?: string, object?: string): Quad[];
128
- statement(subject?: string, predicate?: string, object?: string): Quad | null;
129
- contains(subject: string, predicate?: string, object?: string): boolean;
130
- getThing(subject: string): SolidThing;
143
+ protected expandIRI(iri: string): string;
131
144
  private getLatestDocumentDate;
145
+ private getPermissionsFromWAC;
132
146
  }
133
147
 
134
148
  export declare function solidDocumentExists(url: string, fetch?: Fetch): Promise<boolean>;
@@ -137,6 +151,26 @@ export declare enum SolidDocumentFormat {
137
151
  Turtle = "Turtle"
138
152
  }
139
153
 
154
+ export declare enum SolidDocumentPermission {
155
+ Read = "read",
156
+ Write = "write",
157
+ Append = "append",
158
+ Control = "control"
159
+ }
160
+
161
+ export declare class SolidStore {
162
+ private quads;
163
+ constructor(quads?: Quad[]);
164
+ isEmpty(): boolean;
165
+ getQuads(): Quad[];
166
+ addQuads(quads: Quad[]): void;
167
+ statements(subject?: string, predicate?: string, object?: string): Quad[];
168
+ statement(subject?: string, predicate?: string, object?: string): Quad | null;
169
+ contains(subject: string, predicate?: string, object?: string): boolean;
170
+ getThing(subject: string): SolidThing;
171
+ protected expandIRI(iri: string): string;
172
+ }
173
+
140
174
  export declare class SolidThing {
141
175
  readonly url: string;
142
176
  private quads;
@@ -148,6 +182,8 @@ export declare class SolidThing {
148
182
  export declare interface SolidUserProfile {
149
183
  webId: string;
150
184
  storageUrls: string[];
185
+ cloaked: boolean;
186
+ writableProfileUrl: string | null;
151
187
  name?: string;
152
188
  avatarUrl?: string;
153
189
  oidcIssuerUrl?: string;
@@ -175,13 +211,25 @@ export declare function turtleToQuadsSync(turtle: string, options?: Partial<Pars
175
211
 
176
212
  export declare type TypedFetch = (input: RequestInfo, options?: RequestInit) => Promise<Response>;
177
213
 
178
- export declare class UnauthorizedError extends Error_2 {
214
+ export declare class UnauthorizedError extends JSError {
179
215
  readonly url: string;
180
216
  readonly responseStatus?: number;
181
217
  constructor(url: string, responseStatus?: number);
182
218
  get forbidden(): boolean | undefined;
183
219
  }
184
220
 
221
+ export declare class UnsuccessfulNetworkRequestError extends JSError {
222
+ response: Response;
223
+ constructor(response: Response);
224
+ constructor(message: string, response: Response);
225
+ }
226
+
227
+ export declare class UnsupportedAuthorizationProtocolError extends JSError {
228
+ readonly url: string;
229
+ readonly protocol: string;
230
+ constructor(url: string, protocol: string, options?: JSErrorOptions);
231
+ }
232
+
185
233
  export declare function updateSolidDocument(url: string, body: string, fetch?: Fetch): Promise<void>;
186
234
 
187
235
  export { }
@@ -1,2 +1,2 @@
1
- import"core-js/modules/es.object.to-string.js";import"core-js/modules/es.reflect.to-string-tag.js";import"core-js/modules/es.reflect.construct.js";import e from"@babel/runtime/helpers/esm/classCallCheck";import t from"@babel/runtime/helpers/esm/assertThisInitialized";import r from"@babel/runtime/helpers/esm/inherits";import n from"@babel/runtime/helpers/esm/possibleConstructorReturn";import o from"@babel/runtime/helpers/esm/getPrototypeOf";import s from"@babel/runtime/helpers/esm/defineProperty";import"core-js/modules/es.array.concat.js";import{Error as u,parseDate as a,stringMatchAll as i,objectWithoutEmpty as c,arr as l,tap as f,arrayFilter as p,arrayReplace as d,urlRoot as m,silenced as v,urlParentDirectory as h,urlRoute as j,objectDeepClone as y,urlParse as w,uuid as x,isObject as b,isArray as g,pull as k,arrayRemove as E,urlResolve as T,requireUrlParentDirectory as R}from"@noeldemartin/utils";import A from"@babel/runtime/helpers/esm/createClass";import I from"@babel/runtime/helpers/esm/asyncToGenerator";import P from"@babel/runtime/regenerator";import"core-js/modules/es.array.map.js";import"core-js/modules/esnext.async-iterator.map.js";import"core-js/modules/esnext.iterator.map.js";import"core-js/modules/es.regexp.exec.js";import"core-js/modules/es.string.replace.js";import"core-js/modules/es.function.name.js";import"core-js/modules/es.array.from.js";import"core-js/modules/es.regexp.test.js";import"core-js/modules/es.symbol.js";import"core-js/modules/es.symbol.description.js";import"core-js/modules/es.symbol.iterator.js";import S from"@babel/runtime/helpers/esm/toConsumableArray";import U from"@babel/runtime/helpers/esm/slicedToArray";import"core-js/modules/es.array.slice.js";import"core-js/modules/es.array.filter.js";import"core-js/modules/esnext.async-iterator.filter.js";import"core-js/modules/esnext.iterator.constructor.js";import"core-js/modules/esnext.iterator.filter.js";import"core-js/modules/es.array.flat-map.js";import"core-js/modules/es.array.unscopables.flat-map.js";import"core-js/modules/esnext.async-iterator.flat-map.js";import"core-js/modules/esnext.iterator.flat-map.js";import"core-js/modules/esnext.async-iterator.for-each.js";import"core-js/modules/esnext.iterator.for-each.js";import"core-js/modules/web.dom-collections.for-each.js";import"core-js/modules/es.array.iterator.js";import"core-js/modules/es.set.js";import"core-js/modules/es.string.iterator.js";import"core-js/modules/esnext.set.add-all.js";import"core-js/modules/esnext.set.delete-all.js";import"core-js/modules/esnext.set.difference.js";import"core-js/modules/esnext.set.every.js";import"core-js/modules/esnext.set.filter.js";import"core-js/modules/esnext.set.find.js";import"core-js/modules/esnext.set.intersection.js";import"core-js/modules/esnext.set.is-disjoint-from.js";import"core-js/modules/esnext.set.is-subset-of.js";import"core-js/modules/esnext.set.is-superset-of.js";import"core-js/modules/esnext.set.join.js";import"core-js/modules/esnext.set.map.js";import"core-js/modules/esnext.set.reduce.js";import"core-js/modules/esnext.set.some.js";import"core-js/modules/esnext.set.symmetric-difference.js";import"core-js/modules/esnext.set.union.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.join.js";import"core-js/modules/es.object.entries.js";import"core-js/modules/esnext.async-iterator.reduce.js";import"core-js/modules/esnext.iterator.reduce.js";import"core-js/modules/es.array.sort.js";import"core-js/modules/es.array.includes.js";import"core-js/modules/es.promise.js";import"core-js/modules/es.array.flat.js";import"core-js/modules/es.array.unscopables.flat.js";import q from"md5";import{Writer as D,Parser as N,BlankNode as C,Quad as B}from"n3";import{toRDF as O,fromRDF as z}from"jsonld";import"core-js/modules/es.string.match.js";import"core-js/modules/es.array.find.js";import"core-js/modules/esnext.async-iterator.find.js";import"core-js/modules/esnext.iterator.find.js";import"core-js/modules/es.string.starts-with.js";import"core-js/modules/es.string.split.js";import"core-js/modules/es.object.values.js";import"core-js/modules/es.regexp.constructor.js";import"core-js/modules/es.regexp.sticky.js";import"core-js/modules/es.regexp.to-string.js";import"core-js/modules/es.object.keys.js";function L(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,s=o(e);if(t){var u=o(this).constructor;r=Reflect.construct(s,arguments,u)}else r=s.apply(this,arguments);return n(this,r)}}var M;!function(e){e.Turtle="Turtle"}(M||(M={}));var F=function(n){r(MalformedSolidDocumentError,u);var o=L(MalformedSolidDocumentError);function MalformedSolidDocumentError(r,n,u){var a;return e(this,MalformedSolidDocumentError),a=o.call(this,function(e,t,r){return e?"Malformed ".concat(t," document found at ").concat(e," - ").concat(r):"Malformed ".concat(t," document - ").concat(r)}(r,n,u)),s(t(a),"documentUrl",void 0),s(t(a),"documentFormat",void 0),s(t(a),"malformationDetails",void 0),a.documentUrl=r,a.documentFormat=n,a.malformationDetails=u,a}return MalformedSolidDocumentError}();function Q(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,s=o(e);if(t){var u=o(this).constructor;r=Reflect.construct(s,arguments,u)}else r=s.apply(this,arguments);return n(this,r)}}var H=function(n){r(NetworkRequestError,u);var o=Q(NetworkRequestError);function NetworkRequestError(r,n){var u;return e(this,NetworkRequestError),u=o.call(this,"Request failed trying to fetch ".concat(r),n),s(t(u),"url",void 0),u.url=r,u}return NetworkRequestError}();function $(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,s=o(e);if(t){var u=o(this).constructor;r=Reflect.construct(s,arguments,u)}else r=s.apply(this,arguments);return n(this,r)}}var J=function(n){r(NotFoundError,u);var o=$(NotFoundError);function NotFoundError(r){var n;return e(this,NotFoundError),n=o.call(this,"Document with '".concat(r,"' url not found")),s(t(n),"url",void 0),n.url=r,n}return NotFoundError}();function W(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,s=o(e);if(t){var u=o(this).constructor;r=Reflect.construct(s,arguments,u)}else r=s.apply(this,arguments);return n(this,r)}}var _=function(n){r(UnauthorizedError,u);var o=W(UnauthorizedError);function UnauthorizedError(r,n){var u;return e(this,UnauthorizedError),u=o.call(this,function(e,t){return"Unauthorized".concat(403===t?" (Forbidden)":"",": ").concat(e)}(r,n)),s(t(u),"url",void 0),s(t(u),"responseStatus",void 0),u.url=r,u.responseStatus=n,u}return A(UnauthorizedError,[{key:"forbidden",get:function(){return void 0!==this.responseStatus?403===this.responseStatus:void 0}}]),UnauthorizedError}(),G={acl:"http://www.w3.org/ns/auth/acl#",foaf:"http://xmlns.com/foaf/0.1/",pim:"http://www.w3.org/ns/pim/space#",purl:"http://purl.org/dc/terms/",rdfs:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",schema:"https://schema.org/",solid:"http://www.w3.org/ns/solid/terms#",vcard:"http://www.w3.org/2006/vcard/ns#"};function X(e,t){G[e]=t}function K(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.startsWith("http"))return e;var r=e.split(":"),n=U(r,2),o=n[0],s=n[1];if(o&&s){var u,a,i,c=null!==(u=null!==(a=G[o])&&void 0!==a?a:null===(i=t.extraContext)||void 0===i?void 0:i[o])&&void 0!==u?u:null;if(!c)throw new Error("Can't expand IRI with unknown prefix: '".concat(e,"'"));return c+s}if(!t.defaultPrefix)throw new Error("Can't expand IRI without a default prefix: '".concat(e,"'"));return t.defaultPrefix+o}var V=function(){function t(r,n){e(this,t),s(this,"url",void 0),s(this,"quads",void 0),this.url=r,this.quads=n}return A(t,[{key:"value",value:function(e){var t;return null===(t=this.quads.find((function(t){return t.predicate.value===K(e)})))||void 0===t?void 0:t.object.value}},{key:"values",value:function(e){return this.quads.filter((function(t){return t.predicate.value===K(e)})).map((function(e){return e.object.value}))}}]),t}(),Y=function(){function t(r,n,o){e(this,t),s(this,"url",void 0),s(this,"headers",void 0),s(this,"quads",void 0),this.url=r,this.quads=n,this.headers=o}return A(t,[{key:"isEmpty",value:function(){return 0===this.statements.length}},{key:"isPersonalProfile",value:function(){return!!this.statement(this.url,K("rdfs:type"),K("foaf:PersonalProfileDocument"))}},{key:"isStorage",value:function(){var e;return!(null===(e=this.headers.get("Link"))||void 0===e||!e.match(/<http:\/\/www\.w3\.org\/ns\/pim\/space#Storage>;[^,]+rel="type"/))}},{key:"getLastModified",value:function(){var e,t,r,n;return null!==(e=null!==(t=null!==(r=a(this.headers.get("last-modified")))&&void 0!==r?r:a(null===(n=this.statement(this.url,"purl:modified"))||void 0===n?void 0:n.object.value))&&void 0!==t?t:this.getLatestDocumentDate())&&void 0!==e?e:null}},{key:"statements",value:function(e,t,r){var n=this;return this.quads.filter((function(o){return!(r&&o.object.value!==K(r,{defaultPrefix:n.url})||e&&o.subject.value!==K(e,{defaultPrefix:n.url})||t&&o.predicate.value!==K(t,{defaultPrefix:n.url}))}))}},{key:"statement",value:function(e,t,r){var n=this,o=this.quads.find((function(o){return!(r&&o.object.value!==K(r,{defaultPrefix:n.url})||e&&o.subject.value!==K(e,{defaultPrefix:n.url})||t&&o.predicate.value!==K(t,{defaultPrefix:n.url}))}));return null!=o?o:null}},{key:"contains",value:function(e,t,r){return null!==this.statement(e,t,r)}},{key:"getThing",value:function(e){var t=this.statements(e);return new V(e,t)}},{key:"getLatestDocumentDate",value:function(){var e=[].concat(S(this.statements(void 0,"purl:modified")),S(this.statements(void 0,"purl:created"))).map((function(e){return a(e.object.value)})).filter((function(e){return null!==e}));return e.length>0?e.reduce((function(e,t){return e>t?e:t})):null}}]),t}();function Z(e){return"@graph"in e}function ee(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return te(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return te(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,u=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){a=!0,s=e},f:function(){try{u||null==r.return||r.return()}finally{if(a)throw s}}}}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function re(e,t){return ne.apply(this,arguments)}function ne(){return(ne=I(P.mark((function e(t,r){var n,o,s;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={headers:{Accept:"text/turtle"}},e.prev=1,e.next=4,r(t,n);case 4:if(404!==(o=e.sent).status){e.next=7;break}throw new J(t);case 7:if(![401,403].includes(o.status)){e.next=9;break}throw new _(t,o.status);case 9:return e.next=11,o.text();case 11:return s=e.sent,e.abrupt("return",{body:s,headers:o.headers});case 15:if(e.prev=15,e.t0=e.catch(1),!(e.t0 instanceof _)){e.next=19;break}throw e.t0;case 19:if(!(e.t0 instanceof J)){e.next=21;break}throw e.t0;case 21:throw new H(t,{cause:e.t0});case 22:case"end":return e.stop()}}),e,null,[[1,15]])})))).apply(this,arguments)}function oe(e){var t,r=e.slice(0),n={},o=ee(l(e).flatMap((function(e,t){return f(p(["BlankNode"===e.object.termType?e.object.value:null,"BlankNode"===e.subject.termType?e.subject.value:null]),(function(e){return e.forEach((function(e){var r;return(null!==(r=n[e])&&void 0!==r?r:n[e]=new Set).add(t)}))}))})).filter().unique());try{var s=function(){var o,s=t.value,u=n[s],a=q(l(u).map((function(t){return e[t]})).filter((function(e){var t=e.subject,r=t.termType,n=t.value;return"BlankNode"===r&&n===s})).map((function(e){var t=e.predicate,r=e.object;return"BlankNode"===r.termType?t.value:t.value+r.value})).sorted().join()),i=ee(u);try{for(i.s();!(o=i.n()).done;){for(var c=o.value,f=r[c],p={subject:f.subject,object:f.object},m=0,v=Object.entries(p);m<v.length;m++){var h=U(v[m],2),j=h[0],y=h[1];"BlankNode"===y.termType&&y.value===s&&(p[j]=new C(a))}d(r,f,new B(p.subject,f.predicate,p.object))}}catch(e){i.e(e)}finally{i.f()}};for(o.s();!(t=o.n()).done;)s()}catch(e){o.e(e)}finally{o.f()}return r}function se(e,t,r){return ue.apply(this,arguments)}function ue(){return(ue=I(P.mark((function e(t,r,n){var o,s;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null!==(o=n)&&void 0!==o?o:window.fetch.bind(window),e.next=3,ke(r);case 3:return s=e.sent,e.next=6,n(t,{method:"PUT",headers:{"Content-Type":"text/turtle"},body:r});case 6:return e.abrupt("return",new Y(t,s,new Headers({})));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ae(e,t){return ie.apply(this,arguments)}function ie(){return(ie=I(P.mark((function e(t,r){var n,o,s,u;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,re(t,null!=r?r:window.fetch);case 2:return n=e.sent,o=n.body,s=n.headers,e.next=7,ke(o,{documentUrl:t});case 7:return u=e.sent,e.abrupt("return",new Y(t,u,s));case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ce(e,t){return le.apply(this,arguments)}function le(){return(le=I(P.mark((function e(t,r){var n;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,ae(t,r);case 3:return n=e.sent,e.abrupt("return",n);case 7:if(e.prev=7,e.t0=e.catch(0),e.t0 instanceof J){e.next=11;break}throw e.t0;case 11:return e.abrupt("return",null);case 12:case"end":return e.stop()}}),e,null,[[0,7]])})))).apply(this,arguments)}function fe(e){return pe.apply(this,arguments)}function pe(){return(pe=I(P.mark((function e(t){var r;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Z(t)){e.next=5;break}return e.next=3,Promise.all(t["@graph"].map(fe));case 3:return r=e.sent,e.abrupt("return",r.flat());case 5:return e.abrupt("return",O(t));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function de(e){var t=ge(e);return Object.entries(t).reduce((function(e,t){var r=U(t,2),n=r[0],o=r[1].map((function(e){return" "+je(e)})).sort().join("\n");return e.concat("".concat(n.toUpperCase()," DATA {\n").concat(o,"\n}"))}),[]).join(" ;\n")}function me(e){return ve.apply(this,arguments)}function ve(){return(ve=I(P.mark((function e(t){var r;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,z(t);case 2:return r=e.sent,e.abrupt("return",{"@graph":r});case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function he(e){return(new D).quadsToString(e)}function je(e){return(new D).quadsToString([e]).slice(0,-1)}function ye(e,t){return we.apply(this,arguments)}function we(){return(we=I(P.mark((function e(t,r){var n;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,ae(t,r);case 3:return n=e.sent,e.abrupt("return",!n.isEmpty());case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",!1);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})))).apply(this,arguments)}function xe(e){return be.apply(this,arguments)}function be(){return be=I(P.mark((function e(t){var r,n,o,s=arguments;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=s.length>1&&void 0!==s[1]?s[1]:{},n=i(t,/(\w+) DATA {([^}]+)}/g),o={},e.next=5,Promise.all(S(n).map(function(){var e=I(P.mark((function e(t){var n,s;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t[1].toLowerCase(),s=t[2],e.next=4,ke(s,r);case 4:o[n]=e.sent;case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 5:return e.abrupt("return",o);case 6:case"end":return e.stop()}}),e)}))),be.apply(this,arguments)}function ge(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=i(e,/(\w+) DATA {([^}]+)}/g),o={},s=ee(n);try{for(s.s();!(t=s.n()).done;){var u=t.value,a=u[1].toLowerCase(),c=u[2];o[a]=Te(c,r)}}catch(e){s.e(e)}finally{s.f()}return o}function ke(e){return Ee.apply(this,arguments)}function Ee(){return Ee=I(P.mark((function e(t){var r,n,o,s,u=arguments;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.length>1&&void 0!==u[1]?u[1]:{},n=c({baseIRI:r.documentUrl}),o=new N(n),s=[],e.abrupt("return",new Promise((function(e,n){o.parse(t,(function(t,o){var u;t?n(new F(null!==(u=r.documentUrl)&&void 0!==u?u:null,M.Turtle,t.message)):o?s.push(o):r.normalizeBlankNodes?e(oe(s)):e(s)}))})));case 5:case"end":return e.stop()}}),e)}))),Ee.apply(this,arguments)}function Te(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=c({baseIRI:t.documentUrl}),n=new N(r);try{var o=n.parse(e);return t.normalizeBlankNodes?oe(o):o}catch(e){var s,u;throw new F(null!==(s=t.documentUrl)&&void 0!==s?s:null,M.Turtle,null!==(u=e.message)&&void 0!==u?u:"")}}function Re(e,t,r){return Ae.apply(this,arguments)}function Ae(){return(Ae=I(P.mark((function e(t,r,n){var o;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null!==(o=n)&&void 0!==o?o:window.fetch.bind(window),e.next=3,n(t,{method:"PATCH",headers:{"Content-Type":"application/sparql-update"},body:r});case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ie(e,t){return Pe.apply(this,arguments)}function Pe(){return(Pe=I(P.mark((function e(t,r){var n,o,s,u,a,i,l,f,p,d,m,y,w,x;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return f=j(t),e.next=3,ae(f,r);case 3:if((p=e.sent).isPersonalProfile()||p.contains(t,"solid:oidcIssuer")){e.next=6;break}throw new Error("".concat(t," is not a valid webId."));case 6:d=p.statements(t,"pim:storage").map((function(e){return e.object.value})),m=p.statement(t,"solid:publicTypeIndex"),y=p.statement(t,"solid:privateTypeIndex"),w=h(f);case 10:if(!w||0!==d.length){e.next=20;break}return e.next=13,v(ae(w,r));case 13:if(null==(x=e.sent)||!x.isStorage()){e.next=17;break}return d.push(w),e.abrupt("break",20);case 17:w=h(w),e.next=10;break;case 20:return e.abrupt("return",c({webId:t,storageUrls:d,name:null!==(n=null===(o=p.statement(t,"vcard:fn"))||void 0===o?void 0:o.object.value)&&void 0!==n?n:null===(s=p.statement(t,"foaf:name"))||void 0===s?void 0:s.object.value,avatarUrl:null!==(u=null===(a=p.statement(t,"vcard:hasPhoto"))||void 0===a?void 0:a.object.value)&&void 0!==u?u:null===(i=p.statement(t,"foaf:img"))||void 0===i?void 0:i.object.value,oidcIssuerUrl:null===(l=p.statement(t,"solid:oidcIssuer"))||void 0===l?void 0:l.object.value,publicTypeIndexUrl:null==m?void 0:m.object.value,privateTypeIndexUrl:null==y?void 0:y.object.value}));case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Se(e,t){return Ue.apply(this,arguments)}function Ue(){return(Ue=I(P.mark((function e(t,r){var n,o,s;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=v((function(e){return Ie(e,r)})),e.next=3,s(t);case 3:if(e.t2=o=e.sent,e.t1=null!==e.t2,!e.t1){e.next=7;break}e.t1=void 0!==o;case 7:if(!e.t1){e.next=11;break}e.t3=o,e.next=14;break;case 11:return e.next=13,s(t.replace(/\/$/,"").concat("/profile/card#me"));case 13:e.t3=e.sent;case 14:if(e.t4=n=e.t3,e.t0=null!==e.t4,!e.t0){e.next=18;break}e.t0=void 0!==n;case 18:if(!e.t0){e.next=22;break}e.t5=n,e.next=25;break;case 22:return e.next=24,s(m(t).concat("/profile/card#me"));case 24:e.t5=e.sent;case 25:return e.abrupt("return",e.t5);case 26:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qe(e){var t=function(e){return e.path&&e.path.startsWith("/")?e.path.match(/^\/[^/]*$/)?"/":"/".concat(l(e.path.split("/")).filter().slice(0,-1).join("/"),"/").replace("//","/"):null}(e);return e.protocol&&e.domain?"".concat(e.protocol,"://").concat(e.domain).concat(null!=t?t:"/"):t}function De(e){var t;if("@type"in e&&!("@value"in e)){e["@id"]=null!==(t=e["@id"])&&void 0!==t?t:x();for(var r=0,n=Object.values(e);r<n.length;r++){var o=n[r];b(o)&&De(o),g(o)&&o.forEach((function(e){return b(e)&&De(e)}))}}}function Ne(e){return f(y(e),(function(e){return De(e)}))}function Ce(e){var t=w(e);return t?c({containerUrl:qe(t),documentName:t.path?t.path.split("/").pop():null,resourceHash:t.fragment}):{}}function Be(e,t){return Oe.apply(this,arguments)}function Oe(){return(Oe=I(P.mark((function e(t,r){var n,o,s;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=null!==(n=r)&&void 0!==n?n:window.fetch.bind(r),o=t.storageUrls[0],s="".concat(o,"settings/privateTypeIndex"),e.next=5,ye(s,r);case 5:if(!e.sent){e.next=9;break}e.t0="".concat(o,"settings/privateTypeIndex-").concat(x()),e.next=10;break;case 9:e.t0=s;case 10:return e.abrupt("return",e.t0);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ze(e,t){return Le.apply(this,arguments)}function Le(){return(Le=I(P.mark((function e(t,r){var n,o,s;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=null!==(n=r)&&void 0!==n?n:window.fetch.bind(r),e.next=3,Be(t,r);case 3:return o=e.sent,"\n <> a\n <http://www.w3.org/ns/solid/terms#TypeIndex>,\n <http://www.w3.org/ns/solid/terms#UnlistedDocument> .\n ",s="\n INSERT DATA {\n <".concat(t.webId,"> <http://www.w3.org/ns/solid/terms#privateTypeIndex> <").concat(o,"> .\n }\n "),e.next=8,Promise.all([se(o,"\n <> a\n <http://www.w3.org/ns/solid/terms#TypeIndex>,\n <http://www.w3.org/ns/solid/terms#UnlistedDocument> .\n ",r),Re(t.webId,s,r)]);case 8:return e.abrupt("return",o);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Me(e,t,r){return Fe.apply(this,arguments)}function Fe(){return(Fe=I(P.mark((function e(t,r,n){var o,s,u;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ae(t,n);case 2:return s=e.sent,u=s.statements(void 0,"rdfs:type","solid:TypeRegistration").find((function(e){return s.contains(e.subject.value,"solid:forClass",r)&&s.contains(e.subject.value,"solid:instanceContainer")})),e.abrupt("return",u&&null!==(o=s.getThing(u.subject.value))&&void 0!==o?o:null);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Qe(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return He(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return He(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,u=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){a=!0,s=e},f:function(){try{u||null==r.return||r.return()}finally{if(a)throw s}}}}function He(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function $e(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,s=o(e);if(t){var u=o(this).constructor;r=Reflect.construct(s,arguments,u)}else r=s.apply(this,arguments);return n(this,r)}}var Je={},We={"%uuid%":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"},_e=function(n){r(ExpectedQuadAssertionError,u);var o=$e(ExpectedQuadAssertionError);function ExpectedQuadAssertionError(r){var n;return e(this,ExpectedQuadAssertionError),n=o.call(this,"Couldn't find the following triple: ".concat(je(r))),s(t(n),"expectedQuad",void 0),n.expectedQuad=r,n}return ExpectedQuadAssertionError}();function Ge(e,t){var r,n=Qe(e);try{var o=function(){var e=r.value,n=t.find((function(t){return n=t,function(e,t){if(e.termType!==t.termType)return!1;if("Literal"===e.termType&&"Literal"===t.termType){if(e.datatype.value!==t.datatype.value)return!1;if(!Xe(e.value))return"http://www.w3.org/2001/XMLSchema#dateTime"===e.datatype.value?new Date(e.value).getTime()===new Date(t.value).getTime():e.value===t.value}return Ke(e.value,t.value)}((r=e).object,n.object)&&Ke(r.subject.value,n.subject.value)&&Ke(r.predicate.value,n.predicate.value);var r,n}));if(!n)throw new _e(e);E(t,n)};for(n.s();!(r=n.n()).done;)o()}catch(e){n.e(e)}finally{n.f()}}function Xe(e){return/\[\[(.*\]\[)?([^\]]+)\]\]/.test(e)}function Ke(e,t){var r,n;return Xe(e)?(null!==(n=(r=Je)[e])&&void 0!==n?n:r[e]=function(e){var t,r=[],n=[],o=e,s=Qe(i(e,/\[\[((.*?)\]\[)?([^\]]+)\]\]/g));try{for(s.s();!(t=s.n()).done;){var u=t.value;u[2]&&r.push(u[2]),n.push(u[3]),o=o.replace(u[0],"%PATTERN".concat(n.length-1,"%"))}}catch(e){s.e(e)}finally{s.f()}o=o.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");for(var a=0,c=Object.entries(n);a<c.length;a++){var l,f=U(c[a],2),p=f[0],d=f[1];o=o.replace("%PATTERN".concat(p,"%"),null!==(l=We[d])&&void 0!==l?l:d)}return new RegExp(o)}(e)).test(t):e===t}function Ve(){Je={}}function Ye(e,t){return Ze.apply(this,arguments)}function Ze(){return(Ze=I(P.mark((function e(t,r){var n,o,s,u,a;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Ve(),e.next=3,fe(t);case 3:return n=e.sent,e.next=6,fe(r);case 6:if(o=e.sent,s=he(n),u=he(o),a=function(e,t){return{success:e,message:t,expected:s,actual:u}},n.length===o.length){e.next=12;break}return e.abrupt("return",a(!1,"Expected ".concat(n.length," triples, found ").concat(o.length,".")));case 12:e.prev=12,Ge(n,o),e.next=21;break;case 16:if(e.prev=16,e.t0=e.catch(12),e.t0 instanceof _e){e.next=20;break}throw e.t0;case 20:return e.abrupt("return",a(!1,e.t0.message));case 21:return e.abrupt("return",a(!0,"jsonld matches"));case 22:case"end":return e.stop()}}),e,null,[[12,16]])})))).apply(this,arguments)}function et(e,t){var r;Ve();for(var n=ge(e,{normalizeBlankNodes:!0}),o=ge(t,{normalizeBlankNodes:!0}),s=function(r,n){return{success:r,message:n,expected:e,actual:t}},u=0,a=Object.keys(n);u<a.length;u++){var i=a[u];if(!(i in o))return s(!1,"Couldn't find expected ".concat(i," operation."));var c=k(n,i),l=k(o,i);if(c.length!==l.length)return s(!1,"Expected ".concat(c.length," ").concat(i," triples, found ").concat(l.length,"."));try{Ge(c,l)}catch(e){if(!(e instanceof _e))throw e;return s(!1,"Couldn't find the following ".concat(i," triple: ").concat(je(e.expectedQuad)))}}var f=null!==(r=Object.keys(o)[0])&&void 0!==r?r:null;return f?s(!1,"Did not expect to find ".concat(f," triples.")):s(!0,"sparql matches")}function tt(e,t){Ve();var r=Te(e,{normalizeBlankNodes:!0}),n=Te(t,{normalizeBlankNodes:!0}),o=function(r,n){return{success:r,message:n,expected:e,actual:t}};if(r.length!==n.length)return o(!1,"Expected ".concat(r.length," triples, found ").concat(n.length,"."));try{Ge(r,n)}catch(e){if(!(e instanceof _e))throw e;return o(!1,e.message)}return o(!0,"turtle matches")}function rt(e,t){return nt.apply(this,arguments)}function nt(){return(nt=I(P.mark((function e(t,r){var n,o,s,u,a,i,c;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=null!==(n=r)&&void 0!==n?n:window.fetch.bind(window),e.next=3,r(t,{method:"HEAD"});case 3:if(a=e.sent,i=null!==(o=a.headers.get("Link"))&&void 0!==o?o:"",c=null!==(s=null===(u=i.match(/<([^>]+)>;\s*rel="acl"/))||void 0===u?void 0:u[1])&&void 0!==s?s:null){e.next=8;break}throw new Error("Could not find ACL Resource for '".concat(t,"'"));case 8:return e.abrupt("return",T(R(t),c));case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ot(e,t,r){return st.apply(this,arguments)}function st(){return(st=I(P.mark((function e(t,r,n){var o,s,u;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null===(o=n)||void 0===o){e.next=4;break}e.t0=o,e.next=7;break;case 4:return e.next=6,rt(t,r);case 6:e.t0=e.sent;case 7:return n=e.t0,e.next=10,ce(null!==(u=n)&&void 0!==u?u:"",r);case 10:if(e.t2=s=e.sent,e.t1=null!==e.t2,!e.t1){e.next=14;break}e.t1=void 0!==s;case 14:if(!e.t1){e.next=18;break}e.t3=s,e.next=21;break;case 18:return e.next=20,ot(R(t),r);case 20:e.t3=e.sent;case 21:return e.abrupt("return",e.t3);case 22:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ut(e,t){return at.apply(this,arguments)}function at(){return(at=I(P.mark((function e(t,r){var n,o;return P.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rt(t,r);case 2:return n=e.sent,e.next=5,ot(t,r,n);case 5:return o=e.sent,e.abrupt("return",c({url:n,effectiveUrl:o.url,document:o}));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var it={turtle:function(e){var t=this._obj,r=this.assert.bind(this),n=tt(e,t);r(n.success,n.message,"",n.expected,n.actual)},sparql:function(e){var t=this._obj,r=this.assert.bind(this),n=et(e,t);r(n.success,n.message,"",n.expected,n.actual)}};function ct(){chai.use((function(e){return Object.entries(it).forEach((function(t){var r=U(t,2),n=r[0],o=r[1];return e.Assertion.addMethod(n,o)}))}))}function lt(e,t){var r=e.success,n=t.context.utils;return{pass:r,message:r?function(){return[e.message,n.matcherHint(t.hint)].join("\n\n")}:function(){return[e.message,n.matcherHint(t.hint),["Expected: not ".concat(n.printExpected(t.expected)),"Received: ".concat(n.printReceived(t.received))].join("\n")].join("\n\n")}}}var ft={toEqualJsonLD:function(e,t){var r=this;return I(P.mark((function n(){var o;return P.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Ye(t,e);case 2:return o=n.sent,n.abrupt("return",lt(o,{context:r,hint:"toEqualJsonLD",expected:t,received:e}));case 4:case"end":return n.stop()}}),n)})))()},toEqualSparql:function(e,t){return lt(et(t,e),{context:this,hint:"toEqualSparql",expected:de(t),received:de(e)})}};function pt(){expect.extend(ft)}export{F as MalformedSolidDocumentError,H as NetworkRequestError,J as NotFoundError,Y as SolidDocument,M as SolidDocumentFormat,V as SolidThing,_ as UnauthorizedError,ze as createPrivateTypeIndex,se as createSolidDocument,X as defineIRIPrefix,K as expandIRI,Se as fetchLoginUserProfile,ae as fetchSolidDocument,ut as fetchSolidDocumentACL,ce as fetchSolidDocumentIfFound,Me as findContainerRegistration,ct as installChaiPlugin,pt as installJestPlugin,Z as isJsonLDGraph,Ye as jsonldEquals,fe as jsonldToQuads,Ne as mintJsonLDIdentifiers,de as normalizeSparql,Ce as parseResourceSubject,je as quadToTurtle,me as quadsToJsonLD,he as quadsToTurtle,ye as solidDocumentExists,et as sparqlEquals,xe as sparqlToQuads,ge as sparqlToQuadsSync,tt as turtleEquals,ke as turtleToQuads,Te as turtleToQuadsSync,Re as updateSolidDocument};
1
+ import"core-js/modules/es.object.to-string.js";import"core-js/modules/es.reflect.to-string-tag.js";import"core-js/modules/es.reflect.construct.js";import e from"@babel/runtime/helpers/esm/classCallCheck";import t from"@babel/runtime/helpers/esm/assertThisInitialized";import r from"@babel/runtime/helpers/esm/inherits";import n from"@babel/runtime/helpers/esm/possibleConstructorReturn";import o from"@babel/runtime/helpers/esm/getPrototypeOf";import u from"@babel/runtime/helpers/esm/defineProperty";import"core-js/modules/es.array.concat.js";import{JSError as s,parseDate as a,stringMatch as c,arrayFilter as i,objectWithoutEmpty as l,stringMatchAll as f,arr as p,tap as d,arrayReplace as m,urlRoot as v,silenced as h,arrayUnique as y,urlParentDirectory as b,urlRoute as j,objectDeepClone as w,urlParse as x,uuid as g,isObject as k,isArray as R,pull as E,arrayRemove as I,urlResolve as P,requireUrlParentDirectory as A}from"@noeldemartin/utils";import T from"@babel/runtime/helpers/esm/createClass";import"core-js/modules/es.object.keys.js";import"core-js/modules/es.symbol.js";import"core-js/modules/es.array.filter.js";import"core-js/modules/esnext.async-iterator.filter.js";import"core-js/modules/esnext.iterator.filter.js";import"core-js/modules/es.object.get-own-property-descriptor.js";import"core-js/modules/es.object.get-own-property-descriptors.js";import U from"@babel/runtime/helpers/esm/slicedToArray";import O from"@babel/runtime/helpers/esm/asyncToGenerator";import q from"@babel/runtime/regenerator";import"core-js/modules/esnext.async-iterator.for-each.js";import"core-js/modules/esnext.iterator.constructor.js";import"core-js/modules/esnext.iterator.for-each.js";import"core-js/modules/web.dom-collections.for-each.js";import"core-js/modules/es.array.map.js";import"core-js/modules/esnext.async-iterator.map.js";import"core-js/modules/esnext.iterator.map.js";import"core-js/modules/es.object.entries.js";import"core-js/modules/esnext.async-iterator.some.js";import"core-js/modules/esnext.iterator.some.js";import"core-js/modules/es.object.values.js";import"core-js/modules/es.array.find.js";import"core-js/modules/esnext.async-iterator.find.js";import"core-js/modules/esnext.iterator.find.js";import"core-js/modules/es.regexp.exec.js";import"core-js/modules/es.string.replace.js";import C from"@babel/runtime/helpers/esm/toConsumableArray";import"core-js/modules/es.array.slice.js";import"core-js/modules/es.string.starts-with.js";import"core-js/modules/es.string.split.js";import"core-js/modules/es.function.name.js";import"core-js/modules/es.array.from.js";import"core-js/modules/es.regexp.test.js";import"core-js/modules/es.symbol.description.js";import"core-js/modules/es.symbol.iterator.js";import"core-js/modules/es.array.flat-map.js";import"core-js/modules/es.array.unscopables.flat-map.js";import"core-js/modules/esnext.async-iterator.flat-map.js";import"core-js/modules/esnext.iterator.flat-map.js";import"core-js/modules/es.array.iterator.js";import"core-js/modules/es.set.js";import"core-js/modules/es.string.iterator.js";import"core-js/modules/esnext.set.add-all.js";import"core-js/modules/esnext.set.delete-all.js";import"core-js/modules/esnext.set.difference.js";import"core-js/modules/esnext.set.every.js";import"core-js/modules/esnext.set.filter.js";import"core-js/modules/esnext.set.find.js";import"core-js/modules/esnext.set.intersection.js";import"core-js/modules/esnext.set.is-disjoint-from.js";import"core-js/modules/esnext.set.is-subset-of.js";import"core-js/modules/esnext.set.is-superset-of.js";import"core-js/modules/esnext.set.join.js";import"core-js/modules/esnext.set.map.js";import"core-js/modules/esnext.set.reduce.js";import"core-js/modules/esnext.set.some.js";import"core-js/modules/esnext.set.symmetric-difference.js";import"core-js/modules/esnext.set.union.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.join.js";import"core-js/modules/esnext.async-iterator.reduce.js";import"core-js/modules/esnext.iterator.reduce.js";import"core-js/modules/es.array.sort.js";import"core-js/modules/es.promise.js";import"core-js/modules/es.array.includes.js";import"core-js/modules/es.array.flat.js";import"core-js/modules/es.array.unscopables.flat.js";import S from"md5";import{compactJsonLD as D,jsonLDToRDF as B,TurtleParser as N,jsonLDFromRDF as z,TurtleWriter as L,createBlankNode as M,createQuad as Q}from"@noeldemartin/solid-utils-external";import"core-js/modules/es.string.match.js";import"core-js/modules/es.string.includes.js";import"core-js/modules/es.regexp.constructor.js";import"core-js/modules/es.regexp.sticky.js";import"core-js/modules/es.regexp.to-string.js";function W(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,u=o(e);if(t){var s=o(this).constructor;r=Reflect.construct(u,arguments,s)}else r=u.apply(this,arguments);return n(this,r)}}var F;!function(e){e.Turtle="Turtle"}(F||(F={}));var H=function(n){r(MalformedSolidDocumentError,s);var o=W(MalformedSolidDocumentError);function MalformedSolidDocumentError(r,n,s){var a;return e(this,MalformedSolidDocumentError),a=o.call(this,function(e,t,r){return e?"Malformed ".concat(t," document found at ").concat(e," - ").concat(r):"Malformed ".concat(t," document - ").concat(r)}(r,n,s)),u(t(a),"documentUrl",void 0),u(t(a),"documentFormat",void 0),u(t(a),"malformationDetails",void 0),a.documentUrl=r,a.documentFormat=n,a.malformationDetails=s,a}return MalformedSolidDocumentError}();function $(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,u=o(e);if(t){var s=o(this).constructor;r=Reflect.construct(u,arguments,s)}else r=u.apply(this,arguments);return n(this,r)}}var _=function(n){r(NetworkRequestError,s);var o=$(NetworkRequestError);function NetworkRequestError(r,n){var s;return e(this,NetworkRequestError),s=o.call(this,"Request failed trying to fetch ".concat(r),n),u(t(s),"url",void 0),s.url=r,s}return NetworkRequestError}();function J(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,u=o(e);if(t){var s=o(this).constructor;r=Reflect.construct(u,arguments,s)}else r=u.apply(this,arguments);return n(this,r)}}var G=function(n){r(NotFoundError,s);var o=J(NotFoundError);function NotFoundError(r){var n;return e(this,NotFoundError),n=o.call(this,"Document with '".concat(r,"' url not found")),u(t(n),"url",void 0),n.url=r,n}return NotFoundError}();function X(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,u=o(e);if(t){var s=o(this).constructor;r=Reflect.construct(u,arguments,s)}else r=u.apply(this,arguments);return n(this,r)}}var K=function(n){r(UnauthorizedError,s);var o=X(UnauthorizedError);function UnauthorizedError(r,n){var s;return e(this,UnauthorizedError),s=o.call(this,function(e,t){return"Unauthorized".concat(403===t?" (Forbidden)":"",": ").concat(e)}(r,n)),u(t(s),"url",void 0),u(t(s),"responseStatus",void 0),s.url=r,s.responseStatus=n,s}return T(UnauthorizedError,[{key:"forbidden",get:function(){return void 0!==this.responseStatus?403===this.responseStatus:void 0}}]),UnauthorizedError}();function V(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,u=o(e);if(t){var s=o(this).constructor;r=Reflect.construct(u,arguments,s)}else r=u.apply(this,arguments);return n(this,r)}}var Y=function(n){r(UnsuccessfulRequestError,s);var o=V(UnsuccessfulRequestError);function UnsuccessfulRequestError(r,n){var s;return e(this,UnsuccessfulRequestError),s=o.call(this,function(e,t){var r;return t=null!==(r=t)&&void 0!==r?r:e,"string"==typeof e?"".concat(e," (returned ").concat(t.status," status code)"):"Request to ".concat(t.url," returned ").concat(t.status," status code")}(r,n)),u(t(s),"response",void 0),s.response=null!=n?n:r,s}return UnsuccessfulRequestError}();function Z(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,u=o(e);if(t){var s=o(this).constructor;r=Reflect.construct(u,arguments,s)}else r=u.apply(this,arguments);return n(this,r)}}var ee=function(n){r(UnsupportedAuthorizationProtocolError,s);var o=Z(UnsupportedAuthorizationProtocolError);function UnsupportedAuthorizationProtocolError(r,n,s){var a;return e(this,UnsupportedAuthorizationProtocolError),a=o.call(this,"The resource at ".concat(r," is using an unsupported authorization protocol (").concat(n,")"),s),u(t(a),"url",void 0),u(t(a),"protocol",void 0),a.url=r,a.protocol=n,a}return UnsupportedAuthorizationProtocolError}(),te={acl:"http://www.w3.org/ns/auth/acl#",foaf:"http://xmlns.com/foaf/0.1/",pim:"http://www.w3.org/ns/pim/space#",purl:"http://purl.org/dc/terms/",rdf:"http://www.w3.org/1999/02/22-rdf-syntax-ns#",rdfs:"http://www.w3.org/2000/01/rdf-schema#",schema:"https://schema.org/",solid:"http://www.w3.org/ns/solid/terms#",vcard:"http://www.w3.org/2006/vcard/ns#"};function re(e,t){te[e]=t}function ne(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.startsWith("http"))return e;var r=e.split(":"),n=U(r,2),o=n[0],u=n[1];if(o&&u){var s,a,c,i=null!==(s=null!==(a=te[o])&&void 0!==a?a:null===(c=t.extraContext)||void 0===c?void 0:c[o])&&void 0!==s?s:null;if(!i)throw new Error("Can't expand IRI with unknown prefix: '".concat(e,"'"));return i+u}if(!t.defaultPrefix)throw new Error("Can't expand IRI without a default prefix: '".concat(e,"'"));return t.defaultPrefix+o}var oe,ue=function(){function t(r,n){e(this,t),u(this,"url",void 0),u(this,"quads",void 0),this.url=r,this.quads=n}return T(t,[{key:"value",value:function(e){var t;return null===(t=this.quads.find((function(t){return t.predicate.value===ne(e)})))||void 0===t?void 0:t.object.value}},{key:"values",value:function(e){return this.quads.filter((function(t){return t.predicate.value===ne(e)})).map((function(e){return e.object.value}))}}]),t}(),se=function(){function t(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e(this,t),u(this,"quads",void 0),this.quads=r}return T(t,[{key:"isEmpty",value:function(){return 0===this.statements.length}},{key:"getQuads",value:function(){return this.quads.slice(0)}},{key:"addQuads",value:function(e){var t;(t=this.quads).push.apply(t,C(e))}},{key:"statements",value:function(e,t,r){var n=this;return this.quads.filter((function(o){return!(r&&o.object.value!==n.expandIRI(r)||e&&o.subject.value!==n.expandIRI(e)||t&&o.predicate.value!==n.expandIRI(t))}))}},{key:"statement",value:function(e,t,r){var n=this,o=this.quads.find((function(o){return!(r&&o.object.value!==n.expandIRI(r)||e&&o.subject.value!==n.expandIRI(e)||t&&o.predicate.value!==n.expandIRI(t))}));return null!=o?o:null}},{key:"contains",value:function(e,t,r){return null!==this.statement(e,t,r)}},{key:"getThing",value:function(e){var t=this.statements(e);return new ue(e,t)}},{key:"expandIRI",value:function(e){return ne(e)}}]),t}();function ae(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,u=o(e);if(t){var s=o(this).constructor;r=Reflect.construct(u,arguments,s)}else r=u.apply(this,arguments);return n(this,r)}}!function(e){e.Read="read",e.Write="write",e.Append="append",e.Control="control"}(oe||(oe={}));var ce=function(n){r(s,se);var o=ae(s);function s(r,n,a){var c;return e(this,s),c=o.call(this,n),u(t(c),"url",void 0),u(t(c),"headers",void 0),c.url=r,c.headers=a,c}return T(s,[{key:"isACPResource",value:function(){var e;return!(null===(e=this.headers.get("Link"))||void 0===e||!e.match(/<http:\/\/www\.w3\.org\/ns\/solid\/acp#AccessControlResource>;[^,]+rel="type"/))}},{key:"isPersonalProfile",value:function(){return!!this.statement(this.url,ne("rdf:type"),ne("foaf:PersonalProfileDocument"))}},{key:"isStorage",value:function(){var e;return!(null===(e=this.headers.get("Link"))||void 0===e||!e.match(/<http:\/\/www\.w3\.org\/ns\/pim\/space#Storage>;[^,]+rel="type"/))}},{key:"isUserWritable",value:function(){return this.getUserPermissions().includes(oe.Write)}},{key:"getUserPermissions",value:function(){return this.getPermissionsFromWAC("user")}},{key:"getPublicPermissions",value:function(){return this.getPermissionsFromWAC("public")}},{key:"getLastModified",value:function(){var e,t,r,n;return null!==(e=null!==(t=null!==(r=a(this.headers.get("last-modified")))&&void 0!==r?r:a(null===(n=this.statement(this.url,"purl:modified"))||void 0===n?void 0:n.object.value))&&void 0!==t?t:this.getLatestDocumentDate())&&void 0!==e?e:null}},{key:"expandIRI",value:function(e){return ne(e,{defaultPrefix:this.url})}},{key:"getLatestDocumentDate",value:function(){var e=[].concat(C(this.statements(void 0,"purl:modified")),C(this.statements(void 0,"purl:created"))).map((function(e){return a(e.object.value)})).filter((function(e){return null!==e}));return e.length>0?e.reduce((function(e,t){return e>t?e:t})):null}},{key:"getPermissionsFromWAC",value:function(e){var t,r,n,o=null!==(t=this.headers.get("WAC-Allow"))&&void 0!==t?t:"",u=null!==(r=null===(n=c(o,new RegExp("".concat(e,'="([^"]+)"'))))||void 0===n?void 0:n[1])&&void 0!==r?r:"";return i([u.includes("read")&&oe.Read,u.includes("write")&&oe.Write,u.includes("append")&&oe.Append,u.includes("control")&&oe.Control])}}]),s}();function ie(e){return le.apply(this,arguments)}function le(){return(le=O(q.mark((function e(t){var r;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,D(t,{});case 2:if(!("@graph"in(r=e.sent))){e.next=5;break}return e.abrupt("return",r);case 5:if(!("@id"in r)){e.next=7;break}return e.abrupt("return",{"@graph":[r]});case 7:return e.abrupt("return",{"@graph":[]});case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function fe(e){return"@graph"in e}function pe(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return de(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return de(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,s=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){a=!0,u=e},f:function(){try{s||null==r.return||r.return()}finally{if(a)throw u}}}}function de(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function me(e,t){return ve.apply(this,arguments)}function ve(){return(ve=O(q.mark((function e(t,r){var n,o,u;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={headers:{Accept:"text/turtle"}},e.prev=1,e.next=4,r(t,n);case 4:if(404!==(o=e.sent).status){e.next=7;break}throw new G(t);case 7:if(![401,403].includes(o.status)){e.next=9;break}throw new K(t,o.status);case 9:return e.next=11,o.text();case 11:return u=e.sent,e.abrupt("return",{body:u,headers:o.headers});case 15:if(e.prev=15,e.t0=e.catch(1),!(e.t0 instanceof K)){e.next=19;break}throw e.t0;case 19:if(!(e.t0 instanceof G)){e.next=21;break}throw e.t0;case 21:throw new _(t,{cause:e.t0});case 22:case"end":return e.stop()}}),e,null,[[1,15]])})))).apply(this,arguments)}function he(e){var t,r=e.slice(0),n={},o=pe(p(e).flatMap((function(e,t){return d(i(["BlankNode"===e.object.termType?e.object.value:null,"BlankNode"===e.subject.termType?e.subject.value:null]),(function(e){return e.forEach((function(e){var r;return(null!==(r=n[e])&&void 0!==r?r:n[e]=new Set).add(t)}))}))})).filter().unique());try{var u=function(){var o,u=t.value,s=n[u],a=S(p(s).map((function(t){return e[t]})).filter((function(e){var t=e.subject,r=t.termType,n=t.value;return"BlankNode"===r&&n===u})).map((function(e){var t=e.predicate,r=e.object;return"BlankNode"===r.termType?t.value:t.value+r.value})).sorted().join()),c=pe(s);try{for(c.s();!(o=c.n()).done;){for(var i=o.value,l=r[i],f={subject:l.subject,object:l.object},d=0,v=Object.entries(f);d<v.length;d++){var h=U(v[d],2),y=h[0],b=h[1];"BlankNode"===b.termType&&b.value===u&&(f[y]=M(a))}m(r,l,Q(f.subject,l.predicate,f.object))}}catch(e){c.e(e)}finally{c.f()}};for(o.s();!(t=o.n()).done;)u()}catch(e){o.e(e)}finally{o.f()}return r}function ye(e,t,r){return be.apply(this,arguments)}function be(){return(be=O(q.mark((function e(t,r,n){var o,u;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null!==(o=n)&&void 0!==o?o:window.fetch.bind(window),e.next=3,Be(r);case 3:return u=e.sent,e.next=6,n(t,{method:"PUT",headers:{"Content-Type":"text/turtle"},body:r});case 6:return e.abrupt("return",new ce(t,u,new Headers({})));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function je(e,t){return we.apply(this,arguments)}function we(){return(we=O(q.mark((function e(t,r){var n,o,u,s;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,me(t,null!=r?r:window.fetch);case 2:return n=e.sent,o=n.body,u=n.headers,e.next=7,Be(o,{baseIRI:t});case 7:return s=e.sent,e.abrupt("return",new ce(t,s,u));case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function xe(e,t){return ge.apply(this,arguments)}function ge(){return(ge=O(q.mark((function e(t,r){var n;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,je(t,r);case 3:return n=e.sent,e.abrupt("return",n);case 7:if(e.prev=7,e.t0=e.catch(0),e.t0 instanceof G){e.next=11;break}throw e.t0;case 11:return e.abrupt("return",null);case 12:case"end":return e.stop()}}),e,null,[[0,7]])})))).apply(this,arguments)}function ke(e,t){return Re.apply(this,arguments)}function Re(){return(Re=O(q.mark((function e(t,r){var n;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!fe(t)){e.next=5;break}return e.next=3,Promise.all(t["@graph"].map((function(e){return ke(e,r)})));case 3:return n=e.sent,e.abrupt("return",n.flat());case 5:return e.abrupt("return",B(t,{base:r}));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ee(e){var t=De(e);return Object.entries(t).reduce((function(e,t){var r=U(t,2),n=r[0],o=r[1].map((function(e){return" "+Ue(e)})).sort().join("\n");return e.concat("".concat(n.toUpperCase()," DATA {\n").concat(o,"\n}"))}),[]).join(" ;\n")}function Ie(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=l({baseIRI:t.baseIRI}),n=new N(r),o={quads:[],containsRelativeIRIs:!1};return new Promise((function(r,u){var s=n._resolveRelativeIRI;n._resolveRelativeIRI=function(){return o.containsRelativeIRIs=!0,n._resolveRelativeIRI=s,n._resolveRelativeIRI.apply(n,arguments)},n.parse(e,(function(e,n){var s;e?u(new H(null!==(s=t.baseIRI)&&void 0!==s?s:null,F.Turtle,e.message)):n?o.quads.push(n):r(o)}))}))}function Pe(e){return Ae.apply(this,arguments)}function Ae(){return(Ae=O(q.mark((function e(t){var r;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,z(t);case 2:return r=e.sent,e.abrupt("return",{"@graph":r});case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Te(e){return(new L).quadsToString(e)}function Ue(e){return(new L).quadsToString([e]).slice(0,-1)}function Oe(e,t){return qe.apply(this,arguments)}function qe(){return(qe=O(q.mark((function e(t,r){var n;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,je(t,r);case 3:return n=e.sent,e.abrupt("return",!n.isEmpty());case 7:return e.prev=7,e.t0=e.catch(0),e.abrupt("return",!1);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})))).apply(this,arguments)}function Ce(e){return Se.apply(this,arguments)}function Se(){return Se=O(q.mark((function e(t){var r,n,o,u=arguments;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.length>1&&void 0!==u[1]?u[1]:{},n=f(t,/(\w+) DATA {([^}]+)}/g),o={},e.next=5,Promise.all(C(n).map(function(){var e=O(q.mark((function e(t){var n,u;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t[1].toLowerCase(),u=t[2],e.next=4,Be(u,r);case 4:o[n]=e.sent;case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 5:return e.abrupt("return",o);case 6:case"end":return e.stop()}}),e)}))),Se.apply(this,arguments)}function De(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=f(e,/(\w+) DATA {([^}]+)}/g),o={},u=pe(n);try{for(u.s();!(t=u.n()).done;){var s=t.value,a=s[1].toLowerCase(),c=s[2];o[a]=ze(c,r)}}catch(e){u.e(e)}finally{u.f()}return o}function Be(e){return Ne.apply(this,arguments)}function Ne(){return Ne=O(q.mark((function e(t){var r,n,o,u=arguments;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.length>1&&void 0!==u[1]?u[1]:{},e.next=3,Ie(t,r);case 3:return n=e.sent,o=n.quads,e.abrupt("return",o);case 6:case"end":return e.stop()}}),e)}))),Ne.apply(this,arguments)}function ze(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=l({baseIRI:t.baseIRI}),n=new N(r);try{var o=n.parse(e);return t.normalizeBlankNodes?he(o):o}catch(e){var u,s;throw new H(null!==(u=t.baseIRI)&&void 0!==u?u:null,F.Turtle,null!==(s=e.message)&&void 0!==s?s:"")}}function Le(e,t,r){return Me.apply(this,arguments)}function Me(){return(Me=O(q.mark((function e(t,r,n){var o;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null!==(o=n)&&void 0!==o?o:window.fetch.bind(window),e.next=3,n(t,{method:"PATCH",headers:{"Content-Type":"application/sparql-update"},body:r});case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Qe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function We(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Qe(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Fe(e,t){return He.apply(this,arguments)}function He(){return He=O(q.mark((function e(t,r){var n,o,s,a,c,i;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:s=new se(t.getQuads()),a=u({},t.url,t),c=function(e){e.statements(void 0,"foaf:isPrimaryTopicOf").map((function(e){return e.object.value})).forEach((function(e){var t;return a[e]=null!==(t=a[e])&&void 0!==t?t:null})),e.statements(void 0,"foaf:primaryTopic").map((function(e){return e.subject.value})).forEach((function(e){var t;return a[e]=null!==(t=a[e])&&void 0!==t?t:null}))},i=function(){var e=O(q.mark((function e(){var t,n,o,u,i;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=0,n=Object.entries(a);case 1:if(!(t<n.length)){e.next=23;break}if(o=U(n[t],2),u=o[0],null===o[1]){e.next=5;break}return e.abrupt("continue",20);case 5:return e.prev=5,e.next=8,je(u,r);case 8:i=e.sent,a[u]=i,s.addQuads(i.getQuads()),c(i),e.next=20;break;case 14:if(e.prev=14,e.t0=e.catch(5),!(e.t0 instanceof K)){e.next=19;break}return a[u]=!1,e.abrupt("continue",20);case 19:throw e.t0;case 20:t++,e.next=1;break;case 23:case"end":return e.stop()}}),e,null,[[5,14]])})));return function(){return e.apply(this,arguments)}}(),c(t);case 5:return e.next=7,i();case 7:if(Object.values(a).some((function(e){return null===e}))){e.next=5;break}case 8:return e.abrupt("return",{store:s,cloaked:Object.values(a).some((function(e){return!1===e})),writableProfileUrl:t.isUserWritable()?t.url:null!==(n=null===(o=Object.values(a).find((function(e){return!!e&&e.isUserWritable()})))||void 0===o?void 0:o.url)&&void 0!==n?n:null});case 9:case"end":return e.stop()}}),e)}))),He.apply(this,arguments)}function $e(e,t){return _e.apply(this,arguments)}function _e(){return(_e=O(q.mark((function e(t,r){var n,o,u,s,a,c,i,f,p,d,m,v,w,x,g,k,R,E;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return f=j(t),e.next=3,je(f,r);case 3:if((p=e.sent).isPersonalProfile()||p.contains(t,"solid:oidcIssuer")){e.next=6;break}throw new Error("".concat(t," is not a valid webId."));case 6:return e.next=8,Fe(p,r);case 8:d=e.sent,m=d.store,v=d.writableProfileUrl,w=d.cloaked,x=m.statements(t,"pim:storage").map((function(e){return e.object.value})),g=m.statement(t,"solid:publicTypeIndex"),k=m.statement(t,"solid:privateTypeIndex"),R=b(f);case 16:if(!R||0!==x.length){e.next=26;break}return e.next=19,h(je(R,r));case 19:if(null==(E=e.sent)||!E.isStorage()){e.next=23;break}return x.push(R),e.abrupt("break",26);case 23:R=b(R),e.next=16;break;case 26:return e.abrupt("return",We({webId:t,cloaked:w,writableProfileUrl:v,storageUrls:y(x)},l({name:null!==(n=null===(o=m.statement(t,"vcard:fn"))||void 0===o?void 0:o.object.value)&&void 0!==n?n:null===(u=m.statement(t,"foaf:name"))||void 0===u?void 0:u.object.value,avatarUrl:null!==(s=null===(a=m.statement(t,"vcard:hasPhoto"))||void 0===a?void 0:a.object.value)&&void 0!==s?s:null===(c=m.statement(t,"foaf:img"))||void 0===c?void 0:c.object.value,oidcIssuerUrl:null===(i=m.statement(t,"solid:oidcIssuer"))||void 0===i?void 0:i.object.value,publicTypeIndexUrl:null==g?void 0:g.object.value,privateTypeIndexUrl:null==k?void 0:k.object.value})));case 27:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Je(e,t){return Ge.apply(this,arguments)}function Ge(){return(Ge=O(q.mark((function e(t,r){var n,o,u;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=h((function(e){return $e(e,r)})),e.next=3,u(t);case 3:if(e.t2=o=e.sent,e.t1=null!==e.t2,!e.t1){e.next=7;break}e.t1=void 0!==o;case 7:if(!e.t1){e.next=11;break}e.t3=o,e.next=14;break;case 11:return e.next=13,u(t.replace(/\/$/,"").concat("/profile/card#me"));case 13:e.t3=e.sent;case 14:if(e.t4=n=e.t3,e.t0=null!==e.t4,!e.t0){e.next=18;break}e.t0=void 0!==n;case 18:if(!e.t0){e.next=22;break}e.t5=n,e.next=25;break;case 22:return e.next=24,u(v(t).concat("/profile/card#me"));case 24:e.t5=e.sent;case 25:return e.abrupt("return",e.t5);case 26:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Xe(e){var t=function(e){return e.path&&e.path.startsWith("/")?e.path.match(/^\/[^/]*$/)?"/":"/".concat(p(e.path.split("/")).filter().slice(0,-1).join("/"),"/").replace("//","/"):null}(e);return e.protocol&&e.domain?"".concat(e.protocol,"://").concat(e.domain).concat(null!=t?t:"/"):t}function Ke(e){var t;if("@type"in e&&!("@value"in e)){e["@id"]=null!==(t=e["@id"])&&void 0!==t?t:g();for(var r=0,n=Object.values(e);r<n.length;r++){var o=n[r];k(o)&&Ke(o),R(o)&&o.forEach((function(e){return k(e)&&Ke(e)}))}}}function Ve(e){return d(w(e),(function(e){return Ke(e)}))}function Ye(e){var t=x(e);return t?l({containerUrl:Xe(t),documentName:t.path?t.path.split("/").pop():null,resourceHash:t.fragment}):{}}function Ze(e,t,r){return et.apply(this,arguments)}function et(){return(et=O(q.mark((function e(t,r,n){var o,u,s;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null!==(o=n)&&void 0!==o?o:window.fetch.bind(n),u=t.storageUrls[0],s="".concat(u,"settings/").concat(r,"TypeIndex"),e.next=5,Oe(s,n);case 5:if(!e.sent){e.next=9;break}e.t0="".concat(u,"settings/").concat(r,"TypeIndex-").concat(g()),e.next=10;break;case 9:e.t0=s;case 10:return e.abrupt("return",e.t0);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function tt(e,t,r){return rt.apply(this,arguments)}function rt(){return(rt=O(q.mark((function e(t,r,n){var o,u,s,a;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==t.writableProfileUrl){e.next=2;break}throw new Error("Can't create type index without a writable profile document");case 2:return n=null!==(o=n)&&void 0!==o?o:window.fetch.bind(n),e.next=5,Ze(t,r,n);case 5:return u=e.sent,s="public"===r?"<> a <http://www.w3.org/ns/solid/terms#TypeIndex> .":"\n <> a\n <http://www.w3.org/ns/solid/terms#TypeIndex>,\n <http://www.w3.org/ns/solid/terms#UnlistedDocument> .\n ",a="\n INSERT DATA {\n <".concat(t.webId,"> <http://www.w3.org/ns/solid/terms#").concat(r,"TypeIndex> <").concat(u,"> .\n }\n "),e.next=10,Promise.all([ye(u,s,n),Le(t.writableProfileUrl,a,n)]);case 10:return e.abrupt("return",u);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function nt(e,t,r,n){return ot.apply(this,arguments)}function ot(){return(ot=O(q.mark((function e(t,r,n,o){var u,s;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,je(t,o);case 2:return u=e.sent,s=Array.isArray(r)?r:[r],e.abrupt("return",s.map((function(e){return u.statements(void 0,"rdf:type","solid:TypeRegistration").filter((function(t){return u.contains(t.subject.value,"solid:forClass",e)})).map((function(e){return u.statements(e.subject.value,n)})).flat().map((function(e){return e.object.value})).filter((function(e){return!!e}))})).flat());case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ut(e,t){return st.apply(this,arguments)}function st(){return(st=O(q.mark((function e(t,r){return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",tt(t,"public",r));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function at(e,t){return ct.apply(this,arguments)}function ct(){return(ct=O(q.mark((function e(t,r){return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",tt(t,"private",r));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function it(e,t,r){return lt.apply(this,arguments)}function lt(){return(lt=O(q.mark((function e(t,r,n){return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",nt(t,r,"solid:instanceContainer",n));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ft(e,t,r){return pt.apply(this,arguments)}function pt(){return(pt=O(q.mark((function e(t,r,n){return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",nt(t,r,"solid:instance",n));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function dt(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return mt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mt(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,s=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){a=!0,u=e},f:function(){try{s||null==r.return||r.return()}finally{if(a)throw u}}}}function mt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function vt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,u=o(e);if(t){var s=o(this).constructor;r=Reflect.construct(u,arguments,s)}else r=u.apply(this,arguments);return n(this,r)}}var ht={},yt={"%uuid%":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"},bt=function(n){r(ExpectedQuadAssertionError,s);var o=vt(ExpectedQuadAssertionError);function ExpectedQuadAssertionError(r){var n;return e(this,ExpectedQuadAssertionError),n=o.call(this,"Couldn't find the following triple: ".concat(Ue(r))),u(t(n),"expectedQuad",void 0),n.expectedQuad=r,n}return ExpectedQuadAssertionError}();function jt(e,t){var r,n=dt(e);try{var o=function(){var e=r.value,n=t.find((function(t){return n=t,function(e,t){if(e.termType!==t.termType)return!1;if("Literal"===e.termType&&"Literal"===t.termType){if(e.datatype.value!==t.datatype.value)return!1;if(!wt(e.value))return"http://www.w3.org/2001/XMLSchema#dateTime"===e.datatype.value?new Date(e.value).getTime()===new Date(t.value).getTime():e.value===t.value}return xt(e.value,t.value)}((r=e).object,n.object)&&xt(r.subject.value,n.subject.value)&&xt(r.predicate.value,n.predicate.value);var r,n}));if(!n)throw new bt(e);I(t,n)};for(n.s();!(r=n.n()).done;)o()}catch(e){n.e(e)}finally{n.f()}}function wt(e){return/\[\[(.*\]\[)?([^\]]+)\]\]/.test(e)}function xt(e,t){var r,n;return wt(e)?(null!==(n=(r=ht)[e])&&void 0!==n?n:r[e]=function(e){var t,r=[],n=[],o=e,u=dt(f(e,/\[\[((.*?)\]\[)?([^\]]+)\]\]/g));try{for(u.s();!(t=u.n()).done;){var s=t.value;s[2]&&r.push(s[2]),n.push(s[3]),o=o.replace(s[0],"%PATTERN".concat(n.length-1,"%"))}}catch(e){u.e(e)}finally{u.f()}o=o.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");for(var a=0,c=Object.entries(n);a<c.length;a++){var i,l=U(c[a],2),p=l[0],d=l[1];o=o.replace("%PATTERN".concat(p,"%"),null!==(i=yt[d])&&void 0!==i?i:d)}return new RegExp(o)}(e)).test(t):e===t}function gt(){ht={}}function kt(e,t){return Rt.apply(this,arguments)}function Rt(){return(Rt=O(q.mark((function e(t,r){var n,o,u,s,a;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return gt(),e.next=3,ke(t);case 3:return n=e.sent,e.next=6,ke(r);case 6:if(o=e.sent,u=Te(n),s=Te(o),a=function(e,t){return{success:e,message:t,expected:u,actual:s}},n.length===o.length){e.next=12;break}return e.abrupt("return",a(!1,"Expected ".concat(n.length," triples, found ").concat(o.length,".")));case 12:e.prev=12,jt(n,o),e.next=21;break;case 16:if(e.prev=16,e.t0=e.catch(12),e.t0 instanceof bt){e.next=20;break}throw e.t0;case 20:return e.abrupt("return",a(!1,e.t0.message));case 21:return e.abrupt("return",a(!0,"jsonld matches"));case 22:case"end":return e.stop()}}),e,null,[[12,16]])})))).apply(this,arguments)}function Et(e,t){var r;gt();for(var n=De(e,{normalizeBlankNodes:!0}),o=De(t,{normalizeBlankNodes:!0}),u=function(r,n){return{success:r,message:n,expected:e,actual:t}},s=0,a=Object.keys(n);s<a.length;s++){var c=a[s];if(!(c in o))return u(!1,"Couldn't find expected ".concat(c," operation."));var i=E(n,c),l=E(o,c);if(i.length!==l.length)return u(!1,"Expected ".concat(i.length," ").concat(c," triples, found ").concat(l.length,"."));try{jt(i,l)}catch(e){if(!(e instanceof bt))throw e;return u(!1,"Couldn't find the following ".concat(c," triple: ").concat(Ue(e.expectedQuad)))}}var f=null!==(r=Object.keys(o)[0])&&void 0!==r?r:null;return f?u(!1,"Did not expect to find ".concat(f," triples.")):u(!0,"sparql matches")}function It(e,t){gt();var r=ze(e,{normalizeBlankNodes:!0}),n=ze(t,{normalizeBlankNodes:!0}),o=function(r,n){return{success:r,message:n,expected:e,actual:t}};if(r.length!==n.length)return o(!1,"Expected ".concat(r.length," triples, found ").concat(n.length,"."));try{jt(r,n)}catch(e){if(!(e instanceof bt))throw e;return o(!1,e.message)}return o(!0,"turtle matches")}function Pt(e,t){return At.apply(this,arguments)}function At(){return(At=O(q.mark((function e(t,r){var n,o,u,s,a,c,i;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=null!==(n=r)&&void 0!==n?n:window.fetch.bind(window),e.next=3,r(t,{method:"HEAD"});case 3:if(a=e.sent,c=null!==(o=a.headers.get("Link"))&&void 0!==o?o:"",i=null!==(u=null===(s=c.match(/<([^>]+)>;\s*rel="acl"/))||void 0===s?void 0:s[1])&&void 0!==u?u:null){e.next=8;break}throw new Error("Could not find ACL Resource for '".concat(t,"'"));case 8:return e.abrupt("return",P(A(t),i));case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Tt(e,t,r){return Ut.apply(this,arguments)}function Ut(){return(Ut=O(q.mark((function e(t,r,n){var o,u,s;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null===(o=n)||void 0===o){e.next=4;break}e.t0=o,e.next=7;break;case 4:return e.next=6,Pt(t,r);case 6:e.t0=e.sent;case 7:return n=e.t0,e.next=10,xe(null!==(u=n)&&void 0!==u?u:"",r);case 10:if(s=e.sent){e.next=13;break}return e.abrupt("return",Tt(A(t),r));case 13:if(!s.isACPResource()){e.next=15;break}throw new ee(t,"ACP");case 15:return e.abrupt("return",s);case 16:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ot(e,t){return qt.apply(this,arguments)}function qt(){return(qt=O(q.mark((function e(t,r){var n,o;return q.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Pt(t,r);case 2:return n=e.sent,e.next=5,Tt(t,r,n);case 5:return o=e.sent,e.abrupt("return",l({url:n,effectiveUrl:o.url,document:o}));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ct={turtle:function(e){var t=this._obj,r=this.assert.bind(this),n=It(e,t);r(n.success,n.message,"",n.expected,n.actual)},sparql:function(e){var t=this._obj,r=this.assert.bind(this),n=Et(e,t);r(n.success,n.message,"",n.expected,n.actual)}};function St(){chai.use((function(e){return Object.entries(Ct).forEach((function(t){var r=U(t,2),n=r[0],o=r[1];return e.Assertion.addMethod(n,o)}))}))}function Dt(e,t){var r=e.success,n=t.context.utils;return{pass:r,message:r?function(){return[e.message,n.matcherHint(t.hint)].join("\n\n")}:function(){return[e.message,n.matcherHint(t.hint),["Expected: not ".concat(n.printExpected(t.expected)),"Received: ".concat(n.printReceived(t.received))].join("\n")].join("\n\n")}}}var Bt={toEqualJsonLD:function(e,t){var r=this;return O(q.mark((function n(){var o;return q.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,kt(t,e);case 2:return o=n.sent,n.abrupt("return",Dt(o,{context:r,hint:"toEqualJsonLD",expected:t,received:e}));case 4:case"end":return n.stop()}}),n)})))()},toEqualSparql:function(e,t){return Dt(Et(t,e),{context:this,hint:"toEqualSparql",expected:Ee(t),received:Ee(e)})}};function Nt(){expect.extend(Bt)}export{H as MalformedSolidDocumentError,_ as NetworkRequestError,G as NotFoundError,ce as SolidDocument,F as SolidDocumentFormat,oe as SolidDocumentPermission,se as SolidStore,ue as SolidThing,K as UnauthorizedError,Y as UnsuccessfulNetworkRequestError,ee as UnsupportedAuthorizationProtocolError,ie as compactJsonLDGraph,at as createPrivateTypeIndex,ut as createPublicTypeIndex,ye as createSolidDocument,re as defineIRIPrefix,ne as expandIRI,Je as fetchLoginUserProfile,je as fetchSolidDocument,Ot as fetchSolidDocumentACL,xe as fetchSolidDocumentIfFound,it as findContainerRegistrations,ft as findInstanceRegistrations,St as installChaiPlugin,Nt as installJestPlugin,fe as isJsonLDGraph,kt as jsonldEquals,ke as jsonldToQuads,Ve as mintJsonLDIdentifiers,Ee as normalizeSparql,Ye as parseResourceSubject,Ie as parseTurtle,Ue as quadToTurtle,Pe as quadsToJsonLD,Te as quadsToTurtle,Oe as solidDocumentExists,Et as sparqlEquals,Ce as sparqlToQuads,De as sparqlToQuadsSync,It as turtleEquals,Be as turtleToQuads,ze as turtleToQuadsSync,Le as updateSolidDocument};
2
2
  //# sourceMappingURL=noeldemartin-solid-utils.esm.js.map