diff --git a/dist/515.rdflib.min.js b/dist/515.rdflib.min.js new file mode 100644 index 000000000..fa9618f3c --- /dev/null +++ b/dist/515.rdflib.min.js @@ -0,0 +1,3 @@ +/*! For license information please see 515.rdflib.min.js.LICENSE.txt */ +(self.webpackChunk$rdf=self.webpackChunk$rdf||[]).push([[515],{7471:e=>{"use strict";e.exports=function e(t){return null===t||"object"!=typeof t||null!=t.toJSON?JSON.stringify(t):Array.isArray(t)?"["+t.reduce(((t,n,o)=>t+(0===o?"":",")+e(void 0===n||"symbol"==typeof n?null:n)),"")+"]":"{"+Object.keys(t).sort().reduce(((n,o,r)=>void 0===t[o]||"symbol"==typeof t[o]?n:n+(0===n.length?"":",")+e(o)+":"+e(t[o])),"")+"}"}},3899:(e,t,n)=>{"use strict";const{isArray:o,isObject:r,isString:a}=n(7904),{asArray:i}=n(9721),{prependBase:s}=n(904),l=n(8325),c=n(2206);function d(e){throw new l("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:e})}function u({context:e,base:t}){if(!e)return;const n=e["@context"];if(a(n))e["@context"]=s(t,n);else if(o(n))for(let e=0;e10)throw new l("Maximum number of @context URLs exceeded.","jsonld.ContextUrlError",{code:"json-ld-1.0"===e.processingMode?"loading remote context failed":"context overflow",max:10});if(i.has(t))throw new l("Cyclical @context URLs detected.","jsonld.ContextUrlError",{code:"json-ld-1.0"===e.processingMode?"recursive context inclusion":"context overflow",url:t});let s,c;i.add(t);try{c=await n(t),s=c.document||null,a(s)&&(s=JSON.parse(s))}catch(e){throw new l("Dereferencing a URL did not result in a valid JSON-LD object. Possible causes are an inaccessible URL perhaps due to a same-origin policy (ensure the server uses CORS if you are using client-side JavaScript), too many redirects, a non-JSON response, or more than one HTTP Link Header was provided for a remote context.","jsonld.InvalidUrl",{code:"loading remote context failed",url:t,cause:e})}if(!r(s))throw new l("Dereferencing a URL did not result in a JSON object. The response was valid JSON, but it was not a JSON object.","jsonld.InvalidUrl",{code:"invalid remote context",url:t});return s="@context"in s?{"@context":s["@context"]}:{"@context":{}},c.contextUrl&&(o(s["@context"])||(s["@context"]=[s["@context"]]),s["@context"].push(c.contextUrl)),{context:s,remoteDoc:c}}}},8325:e=>{"use strict";e.exports=class extends Error{constructor(e="An unspecified JSON-LD error occurred.",t="jsonld.Error",n={}){super(e),this.name=t,this.message=e,this.details=n}}},71:e=>{"use strict";e.exports=e=>{class t{toString(){return"[object JsonLdProcessor]"}}return Object.defineProperty(t,"prototype",{writable:!1,enumerable:!1}),Object.defineProperty(t.prototype,"constructor",{writable:!0,enumerable:!1,configurable:!0,value:t}),t.compact=function(t,n){return arguments.length<2?Promise.reject(new TypeError("Could not compact, too few arguments.")):e.compact(t,n)},t.expand=function(t){return arguments.length<1?Promise.reject(new TypeError("Could not expand, too few arguments.")):e.expand(t)},t.flatten=function(t){return arguments.length<1?Promise.reject(new TypeError("Could not flatten, too few arguments.")):e.flatten(t)},t}},431:(e,t,n)=>{"use strict";e.exports=n(4051).NQuads},9889:e=>{"use strict";e.exports=class{constructor(){this._requests={}}wrapLoader(e){const t=this;return t._loader=e,function(){return t.add.apply(t,arguments)}}async add(e){let t=this._requests[e];if(t)return Promise.resolve(t);t=this._requests[e]=this._loader(e);try{return await t}finally{delete this._requests[e]}}}},2206:(e,t,n)=>{"use strict";const o=n(8729);e.exports=class{constructor({document:e}){this.document=e,this.cache=new o({max:10})}getProcessed(e){return this.cache.get(e)}setProcessed(e,t){this.cache.set(e,t)}}},964:(e,t,n)=>{"use strict";const o=n(8325),{isArray:r,isObject:a,isString:i,isUndefined:s}=n(7904),{isList:l,isValue:c,isGraph:d,isSimpleGraph:u,isSubjectReference:p}=n(7848),{expandIri:h,getContextValue:f,isKeyword:v,process:g,processingMode:y}=n(4974),{removeBase:m,prependBase:x}=n(904),{REGEX_KEYWORD:b,addValue:w,asArray:j,compareShortestLeast:I}=n(9721),N={};function S(e,t,n){if("@nest"!==h(e,t,{vocab:!0},n))throw new o("JSON-LD compact error; nested property must have an @nest value resolving to @nest.","jsonld.SyntaxError",{code:"invalid @nest value"})}e.exports=N,N.compact=async({activeCtx:e,activeProperty:t=null,element:n,options:h={}})=>{if(r(n)){let o=[];for(let r=0;r1&&(O=Array.from(O).sort());const E=e;for(const t of O){const n=N.compactIri({activeCtx:E,iri:t,relativeTo:{vocab:!0}}),o=f(b,n,"@context");s(o)||(e=await g({activeCtx:e,localCtx:o,options:h,propagate:!1}))}const D=Object.keys(n).sort();for(const s of D){const p=n[s];if("@id"!==s)if("@type"!==s)if("@reverse"!==s)if("@preserve"!==s)if("@index"!==s)if("@graph"!==s&&"@list"!==s&&"@included"!==s&&v(s)){const t=N.compactIri({activeCtx:e,iri:s,relativeTo:{vocab:!0}});w(x,t,p)}else{if(!r(p))throw new o("JSON-LD expansion error; expanded value must be an array.","jsonld.SyntaxError");if(0===p.length){const t=N.compactIri({activeCtx:e,iri:s,value:p,relativeTo:{vocab:!0},reverse:m}),n=e.mappings.has(t)?e.mappings.get(t)["@nest"]:null;let o=x;n&&(S(e,n,h),a(x[n])||(x[n]={}),o=x[n]),w(o,t,p,{propertyIsArray:!0})}for(const t of p){const n=N.compactIri({activeCtx:e,iri:s,value:t,relativeTo:{vocab:!0},reverse:m}),o=e.mappings.has(n)?e.mappings.get(n)["@nest"]:null;let p=x;o&&(S(e,o,h),a(x[o])||(x[o]={}),p=x[o]);const v=f(e,n,"@container")||[],g=d(t),y=l(t);let b;y?b=t["@list"]:g&&(b=t["@graph"]);let I=await N.compact({activeCtx:e,activeProperty:n,element:y||g?b:t,options:h});if(y){if(r(I)||(I=[I]),v.includes("@list")){w(p,n,I,{valueIsArray:!0,allowDuplicate:!0});continue}I={[N.compactIri({activeCtx:e,iri:"@list",relativeTo:{vocab:!0}})]:I},"@index"in t&&(I[N.compactIri({activeCtx:e,iri:"@index",relativeTo:{vocab:!0}})]=t["@index"])}if(g)if(v.includes("@graph")&&(v.includes("@id")||v.includes("@index")&&u(t))){let o;p.hasOwnProperty(n)?o=p[n]:p[n]=o={};const r=(v.includes("@id")?t["@id"]:t["@index"])||N.compactIri({activeCtx:e,iri:"@none",relativeTo:{vocab:!0}});w(o,r,I,{propertyIsArray:!h.compactArrays||v.includes("@set")})}else v.includes("@graph")&&u(t)?(r(I)&&I.length>1&&(I={"@included":I}),w(p,n,I,{propertyIsArray:!h.compactArrays||v.includes("@set")})):(r(I)&&1===I.length&&h.compactArrays&&(I=I[0]),I={[N.compactIri({activeCtx:e,iri:"@graph",relativeTo:{vocab:!0}})]:I},"@id"in t&&(I[N.compactIri({activeCtx:e,iri:"@id",relativeTo:{vocab:!0}})]=t["@id"]),"@index"in t&&(I[N.compactIri({activeCtx:e,iri:"@index",relativeTo:{vocab:!0}})]=t["@index"]),w(p,n,I,{propertyIsArray:!h.compactArrays||v.includes("@set")}));else if(v.includes("@language")||v.includes("@index")||v.includes("@id")||v.includes("@type")){let o,r;if(p.hasOwnProperty(n)?o=p[n]:p[n]=o={},v.includes("@language"))c(I)&&(I=I["@value"]),r=t["@language"];else if(v.includes("@index")){const o=f(e,n,"@index")||"@index",a=N.compactIri({activeCtx:e,iri:o,relativeTo:{vocab:!0}});if("@index"===o)r=t["@index"],delete I[a];else{let e;if([r,...e]=j(I[o]||[]),i(r))switch(e.length){case 0:delete I[o];break;case 1:I[o]=e[0];break;default:I[o]=e}else r=null}}else if(v.includes("@id")){const t=N.compactIri({activeCtx:e,iri:"@id",relativeTo:{vocab:!0}});r=I[t],delete I[t]}else if(v.includes("@type")){const o=N.compactIri({activeCtx:e,iri:"@type",relativeTo:{vocab:!0}});let a;switch([r,...a]=j(I[o]||[]),a.length){case 0:delete I[o];break;case 1:I[o]=a[0];break;default:I[o]=a}1===Object.keys(I).length&&"@id"in t&&(I=await N.compact({activeCtx:e,activeProperty:n,element:{"@id":t["@id"]},options:h}))}r||(r=N.compactIri({activeCtx:e,iri:"@none",relativeTo:{vocab:!0}})),w(o,r,I,{propertyIsArray:v.includes("@set")})}else{const e=!h.compactArrays||v.includes("@set")||v.includes("@list")||r(I)&&0===I.length||"@list"===s||"@graph"===s;w(p,n,I,{propertyIsArray:e})}}}else{if((f(e,t,"@container")||[]).includes("@index"))continue;const n=N.compactIri({activeCtx:e,iri:s,relativeTo:{vocab:!0}});w(x,n,p)}else{const n=await N.compact({activeCtx:e,activeProperty:t,element:p,options:h});r(n)&&0===n.length||w(x,s,n)}else{const t=await N.compact({activeCtx:e,activeProperty:"@reverse",element:p,options:h});for(const n in t)if(e.mappings.has(n)&&e.mappings.get(n).reverse){const o=t[n],r=(f(e,n,"@container")||[]).includes("@set")||!h.compactArrays;w(x,n,o,{propertyIsArray:r}),delete t[n]}if(Object.keys(t).length>0){const n=N.compactIri({activeCtx:e,iri:s,relativeTo:{vocab:!0}});w(x,n,t)}}else{let t=j(p).map((e=>N.compactIri({activeCtx:b,iri:e,relativeTo:{vocab:!0}})));1===t.length&&(t=t[0]);const n=N.compactIri({activeCtx:e,iri:"@type",relativeTo:{vocab:!0}}),o=(f(e,n,"@container")||[]).includes("@set")&&y(e,1.1)||r(t)&&0===p.length;w(x,n,t,{propertyIsArray:o})}else{let t=j(p).map((t=>N.compactIri({activeCtx:e,iri:t,relativeTo:{vocab:!1},base:h.base})));1===t.length&&(t=t[0]),x[N.compactIri({activeCtx:e,iri:"@id",relativeTo:{vocab:!0}})]=t}}return x}return n},N.compactIri=({activeCtx:e,iri:t,value:n=null,relativeTo:r={vocab:!1},reverse:i=!1,base:s=null})=>{if(null===t)return t;e.isPropertyTermScoped&&e.previousContext&&(e=e.previousContext);const u=e.getInverse();if(v(t)&&t in u&&"@none"in u[t]&&"@type"in u[t]["@none"]&&"@none"in u[t]["@none"]["@type"])return u[t]["@none"]["@type"]["@none"];if(r.vocab&&t in u){const o=e["@language"]||"@none",r=[];a(n)&&"@index"in n&&!("@graph"in n)&&r.push("@index","@index@set"),a(n)&&"@preserve"in n&&(n=n["@preserve"][0]),d(n)?("@index"in n&&r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n&&r.push("@graph@id","@graph@id@set"),r.push("@graph","@graph@set","@set"),"@index"in n||r.push("@graph@index","@graph@index@set","@index","@index@set"),"@id"in n||r.push("@graph@id","@graph@id@set")):a(n)&&!c(n)&&r.push("@id","@id@set","@type","@set@type");let s="@language",u="@null";if(i)s="@type",u="@reverse",r.push("@set");else if(l(n)){"@index"in n||r.push("@list");const e=n["@list"];if(0===e.length)s="@any",u="@none";else{let t=0===e.length?o:null,n=null;for(let o=0;oe.includes("_")));e&&s.push(e.replace(/^[^_]+_/,"_"))}s.push("@none");const l=e.inverse[t];for(const e of o){if(!(e in l))continue;const t=l[e][r];for(const e of s)if(e in t)return t[e]}return null}(e,t,n,r,s,u);if(null!==p)return p}if(r.vocab&&"@vocab"in e){const n=e["@vocab"];if(0===t.indexOf(n)&&t!==n){const o=t.substr(n.length);if(!e.mappings.has(o))return o}}let p=null;const h=[];let f=e.fastCurieMap;const g=t.length-1;for(let e=0;e=0;--o){const r=h[o],a=r.terms;for(const o of a){const a=o+":"+t.substr(r.iri.length);e.mappings.get(o)._prefix&&(!e.mappings.has(a)||null===n&&e.mappings.get(a)["@id"]===t)&&(null===p||I(a,p)<0)&&(p=a)}}if(null!==p)return p;for(const[n,r]of e.mappings)if(r&&r._prefix&&t.startsWith(n+":"))throw new o(`Absolute IRI "${t}" confused with prefix "${n}".`,"jsonld.SyntaxError",{code:"IRI confused with prefix",context:e});if(!r.vocab){if("@base"in e){if(e["@base"]){const n=m(x(s,e["@base"]),t);return b.test(n)?`./${n}`:n}return t}return m(s,t)}return t},N.compactValue=({activeCtx:e,activeProperty:t,value:n,options:o})=>{if(c(n)){const o=f(e,t,"@type"),r=f(e,t,"@language"),a=f(e,t,"@direction"),s=f(e,t,"@container")||[],l="@index"in n&&!s.includes("@index");if(!l&&"@none"!==o){if(n["@type"]===o)return n["@value"];if("@language"in n&&n["@language"]===r&&"@direction"in n&&n["@direction"]===a)return n["@value"];if("@language"in n&&n["@language"]===r)return n["@value"];if("@direction"in n&&n["@direction"]===a)return n["@value"]}const c=Object.keys(n).length,d=1===c||2===c&&"@index"in n&&!l,u="@language"in e,p=i(n["@value"]),h=e.mappings.has(t)&&null===e.mappings.get(t)["@language"];if(d&&"@none"!==o&&(!u||!p||h))return n["@value"];const v={};return l&&(v[N.compactIri({activeCtx:e,iri:"@index",relativeTo:{vocab:!0}})]=n["@index"]),"@type"in n?v[N.compactIri({activeCtx:e,iri:"@type",relativeTo:{vocab:!0}})]=N.compactIri({activeCtx:e,iri:n["@type"],relativeTo:{vocab:!0}}):"@language"in n&&(v[N.compactIri({activeCtx:e,iri:"@language",relativeTo:{vocab:!0}})]=n["@language"]),"@direction"in n&&(v[N.compactIri({activeCtx:e,iri:"@direction",relativeTo:{vocab:!0}})]=n["@direction"]),v[N.compactIri({activeCtx:e,iri:"@value",relativeTo:{vocab:!0}})]=n["@value"],v}const r=h(e,t,{vocab:!0},o),a=f(e,t,"@type"),s=N.compactIri({activeCtx:e,iri:n["@id"],relativeTo:{vocab:"@vocab"===a},base:o.base});return"@id"===a||"@vocab"===a||"@graph"===r?s:{[N.compactIri({activeCtx:e,iri:"@id",relativeTo:{vocab:!0}})]:s}}},8648:e=>{"use strict";const t="http://www.w3.org/1999/02/22-rdf-syntax-ns#",n="http://www.w3.org/2001/XMLSchema#";e.exports={LINK_HEADER_REL:"http://www.w3.org/ns/json-ld#context",LINK_HEADER_CONTEXT:"http://www.w3.org/ns/json-ld#context",RDF:t,RDF_LIST:t+"List",RDF_FIRST:t+"first",RDF_REST:t+"rest",RDF_NIL:t+"nil",RDF_TYPE:t+"type",RDF_PLAIN_LITERAL:t+"PlainLiteral",RDF_XML_LITERAL:t+"XMLLiteral",RDF_JSON_LITERAL:t+"JSON",RDF_OBJECT:t+"object",RDF_LANGSTRING:t+"langString",XSD:n,XSD_BOOLEAN:n+"boolean",XSD_DOUBLE:n+"double",XSD_INTEGER:n+"integer",XSD_STRING:n+"string"}},4974:(e,t,n)=>{"use strict";const o=n(9721),r=n(8325),{isArray:a,isObject:i,isString:s,isUndefined:l}=n(7904),{isAbsolute:c,isRelative:d,prependBase:u}=n(904),{handleEvent:p}=n(9788),{REGEX_BCP47:h,REGEX_KEYWORD:f,asArray:v,compareShortestLeast:g}=n(9721),y=new Map,m={};function x(e,t,n,o,r,a){if(null===t||!s(t)||m.isKeyword(t))return t;if(t.match(f))return null;if(o&&o.hasOwnProperty(t)&&!0!==r.get(t)&&m.createTermDefinition({activeCtx:e,localCtx:o,term:t,defined:r,options:a}),(n=n||{}).vocab){const n=e.mappings.get(t);if(null===n)return null;if(i(n)&&"@id"in n)return n["@id"]}const l=t.indexOf(":");if(l>0){const n=t.substr(0,l),i=t.substr(l+1);if("_"===n||0===i.indexOf("//"))return t;o&&o.hasOwnProperty(n)&&m.createTermDefinition({activeCtx:e,localCtx:o,term:n,defined:r,options:a});const s=e.mappings.get(n);if(s&&s._prefix)return s["@id"]+i;if(c(t))return t}if(n.vocab&&"@vocab"in e)t=e["@vocab"]+t;else if(n.base){let n,o;"@base"in e?e["@base"]?(o=u(a.base,e["@base"]),n=u(o,t)):(o=e["@base"],n=t):(o=a.base,n=u(a.base,t)),t=n}return t}function b(e,t){if(!e||"object"!=typeof e||!t||"object"!=typeof t)return e===t;const n=Array.isArray(e);if(n!==Array.isArray(t))return!1;if(n){if(e.length!==t.length)return!1;for(let n=0;n{if(i(t)&&"@context"in t&&a(t["@context"])&&(t=t["@context"]),0===v(t).length)return e;const g=[],y=[({event:e,next:t})=>{g.push(e),t()}];n.eventHandler&&y.push(n.eventHandler);const b=n;n={...n,eventHandler:y};const w=await n.contextResolver.resolve({activeCtx:e,context:t,documentLoader:n.documentLoader,base:n.base});i(w[0].document)&&"boolean"==typeof w[0].document["@propagate"]&&(o=w[0].document["@propagate"]);let j=e;o||j.previousContext||(j=j.clone(),j.previousContext=e);for(const o of w){let{document:a}=o;if(e=j,null===a){if(!l&&0!==Object.keys(e.protected).length)throw new r("Tried to nullify a context with protected terms outside of a term definition.","jsonld.SyntaxError",{code:"invalid context nullification"});j=e=m.getInitialContext(n).clone();continue}const v=o.getProcessed(e);if(v){if(b.eventHandler)for(const e of v.events)p({event:e,options:b});j=e=v.context;continue}if(i(a)&&"@context"in a&&(a=a["@context"]),!i(a))throw new r("Invalid JSON-LD syntax; @context must be an object.","jsonld.SyntaxError",{code:"invalid local context",context:a});j=j.clone();const y=new Map;if("@version"in a){if(1.1!==a["@version"])throw new r("Unsupported JSON-LD version: "+a["@version"],"jsonld.UnsupportedVersion",{code:"invalid @version value",context:a});if(e.processingMode&&"json-ld-1.0"===e.processingMode)throw new r("@version: "+a["@version"]+" not compatible with "+e.processingMode,"jsonld.ProcessingModeConflict",{code:"processing mode conflict",context:a});j.processingMode="json-ld-1.1",j["@version"]=a["@version"],y.set("@version",!0)}if(j.processingMode=j.processingMode||e.processingMode,"@base"in a){let e=a["@base"];if(null===e||c(e));else{if(!d(e))throw new r('Invalid JSON-LD syntax; the value of "@base" in a @context must be an absolute IRI, a relative IRI, or null.',"jsonld.SyntaxError",{code:"invalid base IRI",context:a});e=u(j["@base"],e)}j["@base"]=e,y.set("@base",!0)}if("@vocab"in a){const e=a["@vocab"];if(null===e)delete j["@vocab"];else{if(!s(e))throw new r('Invalid JSON-LD syntax; the value of "@vocab" in a @context must be a string or null.',"jsonld.SyntaxError",{code:"invalid vocab mapping",context:a});if(!c(e)&&m.processingMode(j,1))throw new r('Invalid JSON-LD syntax; the value of "@vocab" in a @context must be an absolute IRI.',"jsonld.SyntaxError",{code:"invalid vocab mapping",context:a});{const t=x(j,e,{vocab:!0,base:!0},void 0,void 0,n);c(t)||n.eventHandler&&p({event:{type:["JsonLdEvent"],code:"relative @vocab reference",level:"warning",message:"Relative @vocab reference found.",details:{vocab:t}},options:n}),j["@vocab"]=t}}y.set("@vocab",!0)}if("@language"in a){const e=a["@language"];if(null===e)delete j["@language"];else{if(!s(e))throw new r('Invalid JSON-LD syntax; the value of "@language" in a @context must be a string or null.',"jsonld.SyntaxError",{code:"invalid default language",context:a});e.match(h)||n.eventHandler&&p({event:{type:["JsonLdEvent"],code:"invalid @language value",level:"warning",message:"@language value must be valid BCP47.",details:{language:e}},options:n}),j["@language"]=e.toLowerCase()}y.set("@language",!0)}if("@direction"in a){const t=a["@direction"];if("json-ld-1.0"===e.processingMode)throw new r("Invalid JSON-LD syntax; @direction not compatible with "+e.processingMode,"jsonld.SyntaxError",{code:"invalid context member",context:a});if(null===t)delete j["@direction"];else{if("ltr"!==t&&"rtl"!==t)throw new r('Invalid JSON-LD syntax; the value of "@direction" in a @context must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:a});j["@direction"]=t}y.set("@direction",!0)}if("@propagate"in a){const n=a["@propagate"];if("json-ld-1.0"===e.processingMode)throw new r("Invalid JSON-LD syntax; @propagate not compatible with "+e.processingMode,"jsonld.SyntaxError",{code:"invalid context entry",context:a});if("boolean"!=typeof n)throw new r("Invalid JSON-LD syntax; @propagate value must be a boolean.","jsonld.SyntaxError",{code:"invalid @propagate value",context:t});y.set("@propagate",!0)}if("@import"in a){const o=a["@import"];if("json-ld-1.0"===e.processingMode)throw new r("Invalid JSON-LD syntax; @import not compatible with "+e.processingMode,"jsonld.SyntaxError",{code:"invalid context entry",context:a});if(!s(o))throw new r("Invalid JSON-LD syntax; @import must be a string.","jsonld.SyntaxError",{code:"invalid @import value",context:t});const i=await n.contextResolver.resolve({activeCtx:e,context:o,documentLoader:n.documentLoader,base:n.base});if(1!==i.length)throw new r("Invalid JSON-LD syntax; @import must reference a single context.","jsonld.SyntaxError",{code:"invalid remote context",context:t});const l=i[0].getProcessed(e);if(l)a=l;else{const n=i[0].document;if("@import"in n)throw new r("Invalid JSON-LD syntax: imported context must not include @import.","jsonld.SyntaxError",{code:"invalid context entry",context:t});for(const e in n)a.hasOwnProperty(e)||(a[e]=n[e]);i[0].setProcessed(e,a)}y.set("@import",!0)}y.set("@protected",a["@protected"]||!1);for(const e in a)if(m.createTermDefinition({activeCtx:j,localCtx:a,term:e,defined:y,options:n,overrideProtected:l}),i(a[e])&&"@context"in a[e]){const t=a[e]["@context"];let o=!0;if(s(t)){const e=u(n.base,t);f.has(e)?o=!1:f.add(e)}if(o)try{await m.process({activeCtx:j.clone(),localCtx:a[e]["@context"],overrideProtected:!0,options:n,cycles:f})}catch(t){throw new r("Invalid JSON-LD syntax; invalid scoped context.","jsonld.SyntaxError",{code:"invalid scoped context",context:a[e]["@context"],term:e})}}o.setProcessed(e,{context:j,events:g})}return j},m.createTermDefinition=({activeCtx:e,localCtx:t,term:n,defined:o,options:l,overrideProtected:d=!1})=>{if(o.has(n)){if(o.get(n))return;throw new r("Cyclical context definition detected.","jsonld.CyclicalContext",{code:"cyclic IRI mapping",context:t,term:n})}let u;if(o.set(n,!1),t.hasOwnProperty(n)&&(u=t[n]),"@type"===n&&i(u)&&"@set"===(u["@container"]||"@set")&&m.processingMode(e,1.1)){const e=["@container","@id","@protected"],o=Object.keys(u);if(0===o.length||o.some((t=>!e.includes(t))))throw new r("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:t,term:n})}else{if(m.isKeyword(n))throw new r("Invalid JSON-LD syntax; keywords cannot be overridden.","jsonld.SyntaxError",{code:"keyword redefinition",context:t,term:n});if(n.match(f))return void(l.eventHandler&&p({event:{type:["JsonLdEvent"],code:"reserved term",level:"warning",message:'Terms beginning with "@" are reserved for future use and dropped.',details:{term:n}},options:l}));if(""===n)throw new r("Invalid JSON-LD syntax; a term cannot be an empty string.","jsonld.SyntaxError",{code:"invalid term definition",context:t})}const h=e.mappings.get(n);e.mappings.has(n)&&e.mappings.delete(n);let v=!1;if((s(u)||null===u)&&(v=!0,u={"@id":u}),!i(u))throw new r("Invalid JSON-LD syntax; @context term values must be strings or objects.","jsonld.SyntaxError",{code:"invalid term definition",context:t});const g={};e.mappings.set(n,g),g.reverse=!1;const y=["@container","@id","@language","@reverse","@type"];m.processingMode(e,1.1)&&y.push("@context","@direction","@index","@nest","@prefix","@protected");for(const e in u)if(!y.includes(e))throw new r("Invalid JSON-LD syntax; a term definition must not contain "+e,"jsonld.SyntaxError",{code:"invalid term definition",context:t});const w=n.indexOf(":");if(g._termHasColon=w>0,"@reverse"in u){if("@id"in u)throw new r("Invalid JSON-LD syntax; a @reverse term definition must not contain @id.","jsonld.SyntaxError",{code:"invalid reverse property",context:t});if("@nest"in u)throw new r("Invalid JSON-LD syntax; a @reverse term definition must not contain @nest.","jsonld.SyntaxError",{code:"invalid reverse property",context:t});const a=u["@reverse"];if(!s(a))throw new r("Invalid JSON-LD syntax; a @context @reverse value must be a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:t});if(a.match(f))return l.eventHandler&&p({event:{type:["JsonLdEvent"],code:"reserved @reverse value",level:"warning",message:'@reverse values beginning with "@" are reserved for future use and dropped.',details:{reverse:a}},options:l}),void(h?e.mappings.set(n,h):e.mappings.delete(n));const i=x(e,a,{vocab:!0,base:!1},t,o,l);if(!c(i))throw new r("Invalid JSON-LD syntax; a @context @reverse value must be an absolute IRI or a blank node identifier.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:t});g["@id"]=i,g.reverse=!0}else if("@id"in u){let a=u["@id"];if(a&&!s(a))throw new r("Invalid JSON-LD syntax; a @context @id value must be an array of strings or a string.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:t});if(null===a)g["@id"]=null;else{if(!m.isKeyword(a)&&a.match(f))return l.eventHandler&&p({event:{type:["JsonLdEvent"],code:"reserved @id value",level:"warning",message:'@id values beginning with "@" are reserved for future use and dropped.',details:{id:a}},options:l}),void(h?e.mappings.set(n,h):e.mappings.delete(n));if(a!==n){if(a=x(e,a,{vocab:!0,base:!1},t,o,l),!c(a)&&!m.isKeyword(a))throw new r("Invalid JSON-LD syntax; a @context @id value must be an absolute IRI, a blank node identifier, or a keyword.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:t});if(n.match(/(?::[^:])|\//)&&x(e,n,{vocab:!0,base:!1},t,new Map(o).set(n,!0),l)!==a)throw new r("Invalid JSON-LD syntax; term in form of IRI must expand to definition.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:t});g["@id"]=a,g._prefix=v&&!g._termHasColon&&null!==a.match(/[:\/\?#\[\]@]$/)}}}if(!("@id"in g))if(g._termHasColon){const r=n.substr(0,w);if(t.hasOwnProperty(r)&&m.createTermDefinition({activeCtx:e,localCtx:t,term:r,defined:o,options:l}),e.mappings.has(r)){const t=n.substr(w+1);g["@id"]=e.mappings.get(r)["@id"]+t}else g["@id"]=n}else if("@type"===n)g["@id"]=n;else{if(!("@vocab"in e))throw new r("Invalid JSON-LD syntax; @context terms must define an @id.","jsonld.SyntaxError",{code:"invalid IRI mapping",context:t,term:n});g["@id"]=e["@vocab"]+n}if((!0===u["@protected"]||!0===o.get("@protected")&&!1!==u["@protected"])&&(e.protected[n]=!0,g.protected=!0),o.set(n,!0),"@type"in u){let n=u["@type"];if(!s(n))throw new r("Invalid JSON-LD syntax; an @context @type value must be a string.","jsonld.SyntaxError",{code:"invalid type mapping",context:t});if("@json"===n||"@none"===n){if(m.processingMode(e,1))throw new r(`Invalid JSON-LD syntax; an @context @type value must not be "${n}" in JSON-LD 1.0 mode.`,"jsonld.SyntaxError",{code:"invalid type mapping",context:t})}else if("@id"!==n&&"@vocab"!==n){if(n=x(e,n,{vocab:!0,base:!1},t,o,l),!c(n))throw new r("Invalid JSON-LD syntax; an @context @type value must be an absolute IRI.","jsonld.SyntaxError",{code:"invalid type mapping",context:t});if(0===n.indexOf("_:"))throw new r("Invalid JSON-LD syntax; an @context @type value must be an IRI, not a blank node identifier.","jsonld.SyntaxError",{code:"invalid type mapping",context:t})}g["@type"]=n}if("@container"in u){const n=s(u["@container"])?[u["@container"]]:u["@container"]||[],o=["@list","@set","@index","@language"];let i=!0;const l=n.includes("@set");if(m.processingMode(e,1.1)){if(o.push("@graph","@id","@type"),n.includes("@list")){if(1!==n.length)throw new r("Invalid JSON-LD syntax; @context @container with @list must have no other values","jsonld.SyntaxError",{code:"invalid container mapping",context:t})}else if(n.includes("@graph")){if(n.some((e=>"@graph"!==e&&"@id"!==e&&"@index"!==e&&"@set"!==e)))throw new r("Invalid JSON-LD syntax; @context @container with @graph must have no other values other than @id, @index, and @set","jsonld.SyntaxError",{code:"invalid container mapping",context:t})}else i&=n.length<=(l?2:1);if(n.includes("@type")&&(g["@type"]=g["@type"]||"@id",!["@id","@vocab"].includes(g["@type"])))throw new r("Invalid JSON-LD syntax; container: @type requires @type to be @id or @vocab.","jsonld.SyntaxError",{code:"invalid type mapping",context:t})}else i&=!a(u["@container"]),i&=n.length<=1;if(i&=n.every((e=>o.includes(e))),i&=!(l&&n.includes("@list")),!i)throw new r("Invalid JSON-LD syntax; @context @container value must be one of the following: "+o.join(", "),"jsonld.SyntaxError",{code:"invalid container mapping",context:t});if(g.reverse&&!n.every((e=>["@index","@set"].includes(e))))throw new r("Invalid JSON-LD syntax; @context @container value for a @reverse type definition must be @index or @set.","jsonld.SyntaxError",{code:"invalid reverse property",context:t});g["@container"]=n}if("@index"in u){if(!("@container"in u)||!g["@container"].includes("@index"))throw new r(`Invalid JSON-LD syntax; @index without @index in @container: "${u["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:t});if(!s(u["@index"])||0===u["@index"].indexOf("@"))throw new r(`Invalid JSON-LD syntax; @index must expand to an IRI: "${u["@index"]}" on term "${n}".`,"jsonld.SyntaxError",{code:"invalid term definition",context:t});g["@index"]=u["@index"]}if("@context"in u&&(g["@context"]=u["@context"]),"@language"in u&&!("@type"in u)){let e=u["@language"];if(null!==e&&!s(e))throw new r("Invalid JSON-LD syntax; @context @language value must be a string or null.","jsonld.SyntaxError",{code:"invalid language mapping",context:t});null!==e&&(e=e.toLowerCase()),g["@language"]=e}if("@prefix"in u){if(n.match(/:|\//))throw new r("Invalid JSON-LD syntax; @context @prefix used on a compact IRI term","jsonld.SyntaxError",{code:"invalid term definition",context:t});if(m.isKeyword(g["@id"]))throw new r("Invalid JSON-LD syntax; keywords may not be used as prefixes","jsonld.SyntaxError",{code:"invalid term definition",context:t});if("boolean"!=typeof u["@prefix"])throw new r("Invalid JSON-LD syntax; @context value for @prefix must be boolean","jsonld.SyntaxError",{code:"invalid @prefix value",context:t});g._prefix=!0===u["@prefix"]}if("@direction"in u){const e=u["@direction"];if(null!==e&&"ltr"!==e&&"rtl"!==e)throw new r('Invalid JSON-LD syntax; @direction value must be null, "ltr", or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",context:t});g["@direction"]=e}if("@nest"in u){const e=u["@nest"];if(!s(e)||"@nest"!==e&&0===e.indexOf("@"))throw new r("Invalid JSON-LD syntax; @context @nest value must be a string which is not a keyword other than @nest.","jsonld.SyntaxError",{code:"invalid @nest value",context:t});g["@nest"]=e}const j=g["@id"];if("@context"===j||"@preserve"===j)throw new r("Invalid JSON-LD syntax; @context and @preserve cannot be aliased.","jsonld.SyntaxError",{code:"invalid keyword alias",context:t});if(h&&h.protected&&!d&&(e.protected[n]=!0,g.protected=!0,!b(h,g)))throw new r("Invalid JSON-LD syntax; tried to redefine a protected term.","jsonld.SyntaxError",{code:"protected term redefinition",context:t,term:n})},m.expandIri=(e,t,n,o)=>x(e,t,n,void 0,void 0,o),m.getInitialContext=e=>{const t=JSON.stringify({processingMode:e.processingMode}),n=y.get(t);if(n)return n;const r={processingMode:e.processingMode,mappings:new Map,inverse:null,getInverse:function(){const e=this;if(e.inverse)return e.inverse;const t=e.inverse={},n=e.fastCurieMap={},o={},r=(e["@language"]||"@none").toLowerCase(),s=e["@direction"],l=e.mappings,c=[...l.keys()].sort(g);for(const e of c){const a=l.get(e);if(null===a)continue;let c=a["@container"]||"@none";if(c=[].concat(c).sort().join(""),null===a["@id"])continue;const d=v(a["@id"]);for(const l of d){let d=t[l];const u=m.isKeyword(l);if(d)u||a._termHasColon||o[l].push(e);else if(t[l]=d={},!u&&!a._termHasColon){o[l]=[e];const t={iri:l,terms:o[l]};l[0]in n?n[l[0]].push(t):n[l[0]]=[t]}if(d[c]||(d[c]={"@language":{},"@type":{},"@any":{}}),d=d[c],i(e,d["@any"],"@none"),a.reverse)i(e,d["@type"],"@reverse");else if("@none"===a["@type"])i(e,d["@any"],"@none"),i(e,d["@language"],"@none"),i(e,d["@type"],"@none");else if("@type"in a)i(e,d["@type"],a["@type"]);else if("@language"in a&&"@direction"in a){const t=a["@language"],n=a["@direction"];i(e,d["@language"],t&&n?`${t}_${n}`.toLowerCase():t?t.toLowerCase():n?`_${n}`:"@null")}else"@language"in a?i(e,d["@language"],(a["@language"]||"@null").toLowerCase()):"@direction"in a?a["@direction"]?i(e,d["@language"],`_${a["@direction"]}`):i(e,d["@language"],"@none"):s?(i(e,d["@language"],`_${s}`),i(e,d["@language"],"@none"),i(e,d["@type"],"@none")):(i(e,d["@language"],r),i(e,d["@language"],"@none"),i(e,d["@type"],"@none"))}}for(const e in n)a(n,e,1);return t},clone:function(){const e={};return e.mappings=o.clone(this.mappings),e.clone=this.clone,e.inverse=null,e.getInverse=this.getInverse,e.protected=o.clone(this.protected),this.previousContext&&(e.previousContext=this.previousContext.clone()),e.revertToPreviousContext=this.revertToPreviousContext,"@base"in this&&(e["@base"]=this["@base"]),"@language"in this&&(e["@language"]=this["@language"]),"@vocab"in this&&(e["@vocab"]=this["@vocab"]),e},revertToPreviousContext:function(){return this.previousContext?this.previousContext.clone():this},protected:{}};return 1e4===y.size&&y.clear(),y.set(t,r),r;function a(e,t,n){const o=e[t],r=e[t]={};let i,s;for(const e of o)i=e.iri,s=n>=i.length?"":i[n],s in r?r[s].push(e):r[s]=[e];for(const e in r)""!==e&&a(r,e,n+1)}function i(e,t,n){t.hasOwnProperty(n)||(t[n]=e)}},m.getContextValue=(e,t,n)=>{if(null===t){if("@context"===n)return;return null}if(e.mappings.has(t)){const o=e.mappings.get(t);if(l(n))return o;if(o.hasOwnProperty(n))return o[n]}return"@language"===n&&n in e||"@direction"===n&&n in e?e[n]:"@context"!==n?null:void 0},m.processingMode=(e,t)=>t.toString()>="1.1"?!e.processingMode||e.processingMode>="json-ld-"+t.toString():"json-ld-1.0"===e.processingMode,m.isKeyword=e=>{if(!s(e)||"@"!==e[0])return!1;switch(e){case"@base":case"@container":case"@context":case"@default":case"@direction":case"@embed":case"@explicit":case"@graph":case"@id":case"@included":case"@index":case"@json":case"@language":case"@list":case"@nest":case"@none":case"@omitDefault":case"@prefix":case"@preserve":case"@protected":case"@requireAll":case"@reverse":case"@set":case"@type":case"@value":case"@version":case"@vocab":return!0}return!1}},827:(e,t,n)=>{"use strict";const{parseLinkHeader:o,buildHeaders:r}=n(9721),{LINK_HEADER_CONTEXT:a}=n(8648),i=n(8325),s=n(9889),{prependBase:l}=n(904),c=/(^|(\r\n))link:/i;e.exports=({secure:e,headers:t={},xhr:n}={headers:{}})=>(t=r(t),(new s).wrapLoader((async function r(s){if(0!==s.indexOf("http:")&&0!==s.indexOf("https:"))throw new i('URL could not be dereferenced; only "http" and "https" URLs are supported.',"jsonld.InvalidUrl",{code:"loading document failed",url:s});if(e&&0!==s.indexOf("https"))throw new i('URL could not be dereferenced; secure mode is enabled and the URL\'s scheme is not "https".',"jsonld.InvalidUrl",{code:"loading document failed",url:s});let d;try{d=await function(e,t,n){const o=new(e=e||XMLHttpRequest);return new Promise(((e,r)=>{o.onload=()=>e(o),o.onerror=e=>r(e),o.open("GET",t,!0);for(const e in n)o.setRequestHeader(e,n[e]);o.send()}))}(n,s,t)}catch(e){throw new i("URL could not be dereferenced, an error occurred.","jsonld.LoadDocumentError",{code:"loading document failed",url:s,cause:e})}if(d.status>=400)throw new i("URL could not be dereferenced: "+d.statusText,"jsonld.LoadDocumentError",{code:"loading document failed",url:s,httpStatusCode:d.status});let u={contextUrl:null,documentUrl:s,document:d.response},p=null;const h=d.getResponseHeader("Content-Type");let f;if(c.test(d.getAllResponseHeaders())&&(f=d.getResponseHeader("Link")),f&&"application/ld+json"!==h){const e=o(f),t=e[a];if(Array.isArray(t))throw new i("URL could not be dereferenced, it has more than one associated HTTP Link Header.","jsonld.InvalidUrl",{code:"multiple context link headers",url:s});t&&(u.contextUrl=t.target),p=e.alternate,p&&"application/ld+json"==p.type&&!(h||"").match(/^application\/(\w*\+)?json$/)&&(u=await r(l(s,p.target)))}return u})))},9788:(e,t,n)=>{"use strict";var o=n(6357);const r=n(8325),{isArray:a}=n(7904),{asArray:i}=n(9721),s={};function l({event:e,handlers:t}){let n=!0;for(let o=0;n&&o{n=!0}});else{if("object"!=typeof i)throw new r("Invalid event handler.","jsonld.InvalidEventHandler",{event:e});e.code in i?i[e.code]({event:e,next:()=>{n=!0}}):n=!0}}return n}e.exports=s,s.defaultEventHandler=null,s.setupEventHandler=({options:e={}})=>{const t=[].concat(e.safe?s.safeEventHandler:[],e.eventHandler?i(e.eventHandler):[],s.defaultEventHandler?s.defaultEventHandler:[]);return 0===t.length?null:t},s.handleEvent=({event:e,options:t})=>{l({event:e,handlers:t.eventHandler})};const c=new Set(["empty object","free-floating scalar","invalid @language value","invalid property","null @id value","null @value value","object with only @id","object with only @language","object with only @list","object with only @value","relative @id reference","relative @type reference","relative @vocab reference","reserved @id value","reserved @reverse value","reserved term","blank node predicate","relative graph reference","relative object reference","relative predicate reference","relative subject reference","rdfDirection not set"]);s.safeEventHandler=function({event:e,next:t}){if("warning"===e.level&&c.has(e.code))throw new r("Safe mode validation error.","jsonld.ValidationError",{event:e});t()},s.logEventHandler=function({event:e,next:t}){o.log(`EVENT: ${e.message}`,{event:e}),t()},s.logWarningEventHandler=function({event:e,next:t}){"warning"===e.level&&o.warn(`WARNING: ${e.message}`,{event:e}),t()},s.unhandledEventHandler=function({event:e}){throw new r("No handler for event.","jsonld.UnhandledEvent",{event:e})},s.setDefaultEventHandler=function({eventHandler:e}={}){s.defaultEventHandler=e?i(e):null}},5961:(e,t,n)=>{"use strict";const o=n(8325),{isArray:r,isObject:a,isEmptyObject:i,isString:s,isUndefined:l}=n(7904),{isList:c,isValue:d,isGraph:u,isSubject:p}=n(7848),{expandIri:h,getContextValue:f,isKeyword:v,process:g,processingMode:y}=n(4974),{isAbsolute:m}=n(904),{REGEX_BCP47:x,REGEX_KEYWORD:b,addValue:w,asArray:j,getValues:I,validateTypeValue:N}=n(9721),{handleEvent:S}=n(9788),O={};function E({value:e,count:t,options:n}){if(0===t||"@value"in e||"@list"in e||1===t&&"@id"in e){if(n.eventHandler){let o,r;0===t?(o="empty object",r="Dropping empty object."):"@value"in e?(o="object with only @value",r="Dropping object with only @value."):"@list"in e?(o="object with only @list",r="Dropping object with only @list."):1===t&&"@id"in e&&(o="object with only @id",r="Dropping object with only @id."),S({event:{type:["JsonLdEvent"],code:o,level:"warning",message:r,details:{value:e}},options:n})}return null}return e}async function D({activeCtx:e,activeProperty:t,expandedActiveProperty:n,element:u,expandedParent:b,options:I={},insideList:k,typeKey:R,typeScopedContext:T}){const A=Object.keys(u).sort(),_=[];let M;const J=u[R]&&"@json"===h(e,r(u[R])?u[R][0]:u[R],{vocab:!0},{...I,typeExpansion:!0});for(const D of A){let k,R=u[D];if("@context"===D)continue;const A=h(e,D,{vocab:!0},I);if(null===A||!m(A)&&!v(A)){I.eventHandler&&S({event:{type:["JsonLdEvent"],code:"invalid property",level:"warning",message:"Dropping property that did not expand into an absolute IRI or keyword.",details:{property:D,expandedProperty:A}},options:I});continue}if(v(A)){if("@reverse"===n)throw new o("Invalid JSON-LD syntax; a keyword cannot be used as a @reverse property.","jsonld.SyntaxError",{code:"invalid reverse property map",value:R});if(A in b&&"@included"!==A&&"@type"!==A)throw new o("Invalid JSON-LD syntax; colliding keywords detected.","jsonld.SyntaxError",{code:"colliding keywords",keyword:A})}if("@id"===A){if(!s(R)){if(!I.isFrame)throw new o('Invalid JSON-LD syntax; "@id" value must a string.',"jsonld.SyntaxError",{code:"invalid @id value",value:R});if(a(R)){if(!i(R))throw new o('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:R})}else{if(!r(R))throw new o('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:R});if(!R.every((e=>s(e))))throw new o('Invalid JSON-LD syntax; "@id" value an empty object or array of strings, if framing',"jsonld.SyntaxError",{code:"invalid @id value",value:R})}}w(b,"@id",j(R).map((t=>{if(s(t)){const n=h(e,t,{base:!0},I);return I.eventHandler&&(null===n?S(null===t?{event:{type:["JsonLdEvent"],code:"null @id value",level:"warning",message:"Null @id found.",details:{id:t}},options:I}:{event:{type:["JsonLdEvent"],code:"reserved @id value",level:"warning",message:"Reserved @id found.",details:{id:t}},options:I}):m(n)||S({event:{type:["JsonLdEvent"],code:"relative @id reference",level:"warning",message:"Relative @id reference found.",details:{id:t,expandedId:n}},options:I})),n}return t})),{propertyIsArray:I.isFrame});continue}if("@type"===A){a(R)&&(R=Object.fromEntries(Object.entries(R).map((([e,t])=>[h(T,e,{vocab:!0}),j(t).map((e=>h(T,e,{base:!0,vocab:!0},{...I,typeExpansion:!0})))])))),N(R,I.isFrame),w(b,"@type",j(R).map((e=>{if(s(e)){const t=h(T,e,{base:!0,vocab:!0},{...I,typeExpansion:!0});return"@json"===t||m(t)||I.eventHandler&&S({event:{type:["JsonLdEvent"],code:"relative @type reference",level:"warning",message:"Relative @type reference found.",details:{type:e}},options:I}),t}return e})),{propertyIsArray:!!I.isFrame});continue}if("@included"===A&&y(e,1.1)){const n=j(await O.expand({activeCtx:e,activeProperty:t,element:R,options:I}));if(!n.every((e=>p(e))))throw new o("Invalid JSON-LD syntax; values of @included must expand to node objects.","jsonld.SyntaxError",{code:"invalid @included value",value:R});w(b,"@included",n,{propertyIsArray:!0});continue}if("@graph"===A&&!a(R)&&!r(R))throw new o('Invalid JSON-LD syntax; "@graph" value must not be an object or an array.',"jsonld.SyntaxError",{code:"invalid @graph value",value:R});if("@value"===A){M=R,J&&y(e,1.1)?b["@value"]=R:w(b,"@value",R,{propertyIsArray:I.isFrame});continue}if("@language"===A){if(null===R)continue;if(!s(R)&&!I.isFrame)throw new o('Invalid JSON-LD syntax; "@language" value must be a string.',"jsonld.SyntaxError",{code:"invalid language-tagged string",value:R});R=j(R).map((e=>s(e)?e.toLowerCase():e));for(const e of R)s(e)&&!e.match(x)&&I.eventHandler&&S({event:{type:["JsonLdEvent"],code:"invalid @language value",level:"warning",message:"@language value must be valid BCP47.",details:{language:e}},options:I});w(b,"@language",R,{propertyIsArray:I.isFrame});continue}if("@direction"===A){if(!s(R)&&!I.isFrame)throw new o('Invalid JSON-LD syntax; "@direction" value must be a string.',"jsonld.SyntaxError",{code:"invalid base direction",value:R});R=j(R);for(const e of R)if(s(e)&&"ltr"!==e&&"rtl"!==e)throw new o('Invalid JSON-LD syntax; "@direction" must be "ltr" or "rtl".',"jsonld.SyntaxError",{code:"invalid base direction",value:R});w(b,"@direction",R,{propertyIsArray:I.isFrame});continue}if("@index"===A){if(!s(R))throw new o('Invalid JSON-LD syntax; "@index" value must be a string.',"jsonld.SyntaxError",{code:"invalid @index value",value:R});w(b,"@index",R);continue}if("@reverse"===A){if(!a(R))throw new o('Invalid JSON-LD syntax; "@reverse" value must be an object.',"jsonld.SyntaxError",{code:"invalid @reverse value",value:R});if(k=await O.expand({activeCtx:e,activeProperty:"@reverse",element:R,options:I}),"@reverse"in k)for(const e in k["@reverse"])w(b,e,k["@reverse"][e],{propertyIsArray:!0});let t=b["@reverse"]||null;for(const e in k){if("@reverse"===e)continue;null===t&&(t=b["@reverse"]={}),w(t,e,[],{propertyIsArray:!0});const n=k[e];for(let r=0;r"@id"===e||"@index"===e))){if(k=j(k),I.isFrame||(k=k.filter((e=>null!==E({value:e,count:Object.keys(e).length,options:I})))),0===k.length)continue;k=k.map((e=>({"@graph":j(e)})))}if(P.mappings.has(D)&&P.mappings.get(D).reverse){const e=b["@reverse"]=b["@reverse"]||{};k=j(k);for(let t=0;t"@value"===h(e,t,{vocab:!0},I))))throw new o("Invalid JSON-LD syntax; nested value must be a node object.","jsonld.SyntaxError",{code:"invalid @nest value",value:r});await D({activeCtx:e,activeProperty:t,expandedActiveProperty:n,element:r,expandedParent:b,options:I,insideList:k,typeScopedContext:T,typeKey:R})}}}function k({activeCtx:e,activeProperty:t,value:n,options:o}){if(null==n)return null;const r=h(e,t,{vocab:!0},o);if("@id"===r)return h(e,n,{base:!0},o);if("@type"===r)return h(e,n,{vocab:!0,base:!0},{...o,typeExpansion:!0});const a=f(e,t,"@type");if(("@id"===a||"@graph"===r)&&s(n)){const r=h(e,n,{base:!0},o);return null===r&&n.match(b)&&o.eventHandler&&S({event:{type:["JsonLdEvent"],code:"reserved @id value",level:"warning",message:"Reserved @id found.",details:{id:t}},options:o}),{"@id":r}}if("@vocab"===a&&s(n))return{"@id":h(e,n,{vocab:!0,base:!0},o)};if(v(r))return n;const i={};if(a&&!["@id","@vocab","@none"].includes(a))i["@type"]=a;else if(s(n)){const n=f(e,t,"@language");null!==n&&(i["@language"]=n);const o=f(e,t,"@direction");null!==o&&(i["@direction"]=o)}return["boolean","number","string"].includes(typeof n)||(n=n.toString()),i["@value"]=n,i}function C(e,t,n,a){const i=[],l=Object.keys(t).sort();for(const c of l){const l=h(e,c,{vocab:!0},a);let d=t[c];r(d)||(d=[d]);for(const e of d){if(null===e)continue;if(!s(e))throw new o("Invalid JSON-LD syntax; language map values must be strings.","jsonld.SyntaxError",{code:"invalid language map value",languageMap:t});const r={"@value":e};"@none"!==l&&(c.match(x)||a.eventHandler&&S({event:{type:["JsonLdEvent"],code:"invalid @language value",level:"warning",message:"@language value must be valid BCP47.",details:{language:c}},options:a}),r["@language"]=c.toLowerCase()),n&&(r["@direction"]=n),i.push(r)}}return i}async function L({activeCtx:e,options:t,activeProperty:n,value:a,asGraph:i,indexKey:s,propertyIndex:c}){const p=[],v=Object.keys(a).sort(),y="@type"===s;for(let m of v){if(y){const n=f(e,m,"@context");l(n)||(e=await g({activeCtx:e,localCtx:n,propagate:!1,options:t}))}let v,x=a[m];r(x)||(x=[x]),x=await O.expand({activeCtx:e,activeProperty:n,element:x,options:t,insideList:!1,insideIndex:!0}),v=c?"@none"===m?"@none":k({activeCtx:e,activeProperty:s,value:m,options:t}):h(e,m,{vocab:!0},t),"@id"===s?m=h(e,m,{base:!0},t):y&&(m=v);for(let e of x){if(i&&!u(e)&&(e={"@graph":[e]}),"@type"===s)"@none"===v||(e["@type"]?e["@type"]=[m].concat(e["@type"]):e["@type"]=[m]);else{if(d(e)&&!["@language","@type","@index"].includes(s))throw new o(`Invalid JSON-LD syntax; Attempt to add illegal key to value object: "${s}".`,"jsonld.SyntaxError",{code:"invalid value object",value:e});c?"@none"!==v&&w(e,c,v,{propertyIsArray:!0,prependValue:!0}):"@none"===v||s in e||(e[s]=m)}p.push(e)}}return p}e.exports=O,O.expand=async({activeCtx:e,activeProperty:t=null,element:n,options:c={},insideList:d=!1,insideIndex:u=!1,typeScopedContext:p=null})=>{if(null==n)return null;if("@default"===t&&(c=Object.assign({},c,{isFrame:!1})),!r(n)&&!a(n))return d||null!==t&&"@graph"!==h(e,t,{vocab:!0},c)?k({activeCtx:e,activeProperty:t,value:n,options:c}):(c.eventHandler&&S({event:{type:["JsonLdEvent"],code:"free-floating scalar",level:"warning",message:"Dropping free-floating scalar not in a list.",details:{value:n}},options:c}),null);if(r(n)){let o=[];const a=f(e,t,"@container")||[];d=d||a.includes("@list");for(let a=0;a1?o.slice().sort():o:[o];for(const t of r){const n=f(p,t,"@context");l(n)||(e=await g({activeCtx:e,localCtx:n,options:c,propagate:!1}))}}let C={};await D({activeCtx:e,activeProperty:t,expandedActiveProperty:v,element:n,expandedParent:C,options:c,insideList:d,typeKey:N,typeScopedContext:p}),b=Object.keys(C);let L=b.length;if("@value"in C){if("@type"in C&&("@language"in C||"@direction"in C))throw new o('Invalid JSON-LD syntax; an element containing "@value" may not contain both "@type" and either "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:C});let t=L-1;if("@type"in C&&(t-=1),"@index"in C&&(t-=1),"@language"in C&&(t-=1),"@direction"in C&&(t-=1),0!==t)throw new o('Invalid JSON-LD syntax; an element containing "@value" may only have an "@index" property and either "@type" or either or both "@language" or "@direction".',"jsonld.SyntaxError",{code:"invalid value object",element:C});const n=null===C["@value"]?[]:j(C["@value"]),r=I(C,"@type");if(y(e,1.1)&&r.includes("@json")&&1===r.length);else if(0===n.length)c.eventHandler&&S({event:{type:["JsonLdEvent"],code:"null @value value",level:"warning",message:"Dropping null @value value.",details:{value:C}},options:c}),C=null;else{if(!n.every((e=>s(e)||i(e)))&&"@language"in C)throw new o("Invalid JSON-LD syntax; only strings may be language-tagged.","jsonld.SyntaxError",{code:"invalid language-tagged value",element:C});if(!r.every((e=>m(e)&&!(s(e)&&0===e.indexOf("_:"))||i(e))))throw new o('Invalid JSON-LD syntax; an element containing "@value" and "@type" must have an absolute IRI for the value of "@type".',"jsonld.SyntaxError",{code:"invalid typed value",element:C})}}else if("@type"in C&&!r(C["@type"]))C["@type"]=[C["@type"]];else if("@set"in C||"@list"in C){if(L>1&&(2!==L||!("@index"in C)))throw new o('Invalid JSON-LD syntax; if an element has the property "@set" or "@list", then it can have at most one other property that is "@index".',"jsonld.SyntaxError",{code:"invalid set or list object",element:C});"@set"in C&&(C=C["@set"],b=Object.keys(C),L=b.length)}else 1===L&&"@language"in C&&(c.eventHandler&&S({event:{type:["JsonLdEvent"],code:"object with only @language",level:"warning",message:"Dropping object with only @language.",details:{value:C}},options:c}),C=null);return!a(C)||c.keepFreeFloatingNodes||d||null!==t&&"@graph"!==v&&!(f(e,t,"@container")||[]).includes("@graph")||(C=E({value:C,count:L,options:c})),C}},2147:(e,t,n)=>{"use strict";const{isSubjectReference:o}=n(7848),{createMergedNodeMap:r}=n(5447),a={};e.exports=a,a.flatten=e=>{const t=r(e),n=[],a=Object.keys(t).sort();for(let e=0;e{"use strict";const{isKeyword:o}=n(4974),r=n(7848),a=n(7904),i=n(9721),s=n(904),l=n(8325),{createNodeMap:c,mergeNodeMapGraphs:d}=n(5447),u={};function p(e){const t={};for(const n in e)void 0!==e[n]&&(t["@"+n]=[e[n]]);return[t]}function h(e,t,n){for(let o=n.length-1;o>=0;--o){const r=n[o];if(r.graph===t&&r.subject["@id"]===e["@id"])return!0}return!1}function f(e,t,n){const o="@"+n;let r=o in e?e[o][0]:t[n];if("embed"===n)if(!0===r)r="@once";else if(!1===r)r="@never";else if("@always"!==r&&"@never"!==r&&"@link"!==r&&"@first"!==r&&"@last"!==r&&"@once"!==r)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:e});return r}function v(e){if(!a.isArray(e)||1!==e.length||!a.isObject(e[0]))throw new l("Invalid JSON-LD syntax; a JSON-LD frame must be a single object.","jsonld.SyntaxError",{frame:e});if("@id"in e[0])for(const t of i.asArray(e[0]["@id"]))if(!a.isObject(t)&&!s.isAbsolute(t)||a.isString(t)&&0===t.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @id in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:e});if("@type"in e[0])for(const t of i.asArray(e[0]["@type"]))if(!a.isObject(t)&&!s.isAbsolute(t)&&"@json"!==t||a.isString(t)&&0===t.indexOf("_:"))throw new l("Invalid JSON-LD syntax; invalid @type in frame.","jsonld.SyntaxError",{code:"invalid frame",frame:e})}function g(e,t,n,s){let l=!0,c=!1;for(const d in n){let u=!1;const p=i.getValues(t,d),h=0===i.getValues(n,d).length;if("@id"===d){if(a.isEmptyObject(n["@id"][0]||{})?u=!0:n["@id"].length>=0&&(u=n["@id"].includes(p[0])),!s.requireAll)return u}else if("@type"===d){if(l=!1,h){if(p.length>0)return!1;u=!0}else if(1===n["@type"].length&&a.isEmptyObject(n["@type"][0]))u=p.length>0;else for(const e of n["@type"])u=!(!a.isObject(e)||!("@default"in e))||u||p.some((t=>t===e));if(!s.requireAll)return u}else{if(o(d))continue;{const t=i.getValues(n,d)[0];let o=!1;if(t&&(v([t]),o="@default"in t),l=!1,0===p.length&&o)continue;if(p.length>0&&h)return!1;if(void 0===t){if(p.length>0)return!1;u=!0}else if(r.isList(t)){const n=t["@list"][0];if(r.isList(p[0])){const t=p[0]["@list"];r.isValue(n)?u=t.some((e=>w(n,e))):(r.isSubject(n)||r.isSubjectReference(n))&&(u=t.some((t=>b(e,n,t,s))))}}else u=r.isValue(t)?p.some((e=>w(t,e))):r.isSubjectReference(t)?p.some((n=>b(e,t,n,s))):!!a.isObject(t)&&p.length>0}}if(!u&&s.requireAll)return!1;c=c||u}return l||c}function y(e,t){const n=e.uniqueEmbeds[e.graph],o=n[t],r=o.parent,s=o.property,l={"@id":t};if(a.isArray(r)){for(let e=0;e{const t=Object.keys(n);for(const o of t)o in n&&a.isObject(n[o].parent)&&n[o].parent["@id"]===e&&(delete n[o],c(o))};c(t)}function m(e,t){if(a.isArray(e))return e.map((e=>m(e,t)));if(a.isObject(e)){if("@preserve"in e)return e["@preserve"][0];if(r.isValue(e))return e;if(r.isList(e))return e["@list"]=m(e["@list"],t),e;if("@id"in e){const n=e["@id"];if(t.link.hasOwnProperty(n)){const o=t.link[n].indexOf(e);if(-1!==o)return t.link[n][o];t.link[n].push(e)}else t.link[n]=[e]}for(const n in e)"@id"===n&&t.bnodesToClear.includes(e[n])?delete e["@id"]:e[n]=m(e[n],t)}return e}function x(e,t,n){a.isObject(e)?i.addValue(e,t,n,{propertyIsArray:!0}):e.push(n)}function b(e,t,n,o){if(!("@id"in n))return!1;const r=e.subjects[n["@id"]];return r&&g(e,r,t,o)}function w(e,t){const n=t["@value"],o=t["@type"],r=t["@language"],i=e["@value"]?a.isArray(e["@value"])?e["@value"]:[e["@value"]]:[],s=e["@type"]?a.isArray(e["@type"])?e["@type"]:[e["@type"]]:[],l=e["@language"]?a.isArray(e["@language"])?e["@language"]:[e["@language"]]:[];return 0===i.length&&0===s.length&&0===l.length||!(!i.includes(n)&&!a.isEmptyObject(i[0]))&&!!(!o&&0===s.length||s.includes(o)||o&&a.isEmptyObject(s[0]))&&!!(!r&&0===l.length||l.includes(r)||r&&a.isEmptyObject(l[0]))}e.exports=u,u.frameMergedOrDefault=(e,t,n)=>{const o={options:n,embedded:!1,graph:"@default",graphMap:{"@default":{}},subjectStack:[],link:{},bnodeMap:{}},r=new i.IdentifierIssuer("_:b");c(e,o.graphMap,"@default",r),n.merged&&(o.graphMap["@merged"]=d(o.graphMap),o.graph="@merged"),o.subjects=o.graphMap[o.graph];const a=[];return u.frame(o,Object.keys(o.subjects).sort(),t,a),n.pruneBlankNodeIdentifiers&&(n.bnodesToClear=Object.keys(o.bnodeMap).filter((e=>1===o.bnodeMap[e].length))),n.link={},m(a,n)},u.frame=(e,t,n,s,c=null)=>{v(n),n=n[0];const d=e.options,m={embed:f(n,d,"embed"),explicit:f(n,d,"explicit"),requireAll:f(n,d,"requireAll")};e.link.hasOwnProperty(e.graph)||(e.link[e.graph]={});const b=e.link[e.graph],j=function(e,t,n,o){const r={};for(const a of t){const t=e.graphMap[e.graph][a];g(e,t,n,o)&&(r[a]=t)}return r}(e,t,n,m),I=Object.keys(j).sort();for(const v of I){const g=j[v];if(null===c?e.uniqueEmbeds={[e.graph]:{}}:e.uniqueEmbeds[e.graph]=e.uniqueEmbeds[e.graph]||{},"@link"===m.embed&&v in b){x(s,c,b[v]);continue}const I={"@id":v};if(0===v.indexOf("_:")&&i.addValue(e.bnodeMap,v,I,{propertyIsArray:!0}),b[v]=I,("@first"===m.embed||"@last"===m.embed)&&e.is11)throw new l("Invalid JSON-LD syntax; invalid value of @embed.","jsonld.SyntaxError",{code:"invalid @embed value",frame:n});if(e.embedded||!e.uniqueEmbeds[e.graph].hasOwnProperty(v))if(!e.embedded||"@never"!==m.embed&&!h(g,e.graph,e.subjectStack))if(!e.embedded||"@first"!=m.embed&&"@once"!=m.embed||!e.uniqueEmbeds[e.graph].hasOwnProperty(v)){if("@last"===m.embed&&v in e.uniqueEmbeds[e.graph]&&y(e,v),e.uniqueEmbeds[e.graph][v]={parent:s,property:c},e.subjectStack.push({subject:g,graph:e.graph}),v in e.graphMap){let t=!1,o=null;"@graph"in n?(o=n["@graph"][0],t=!("@merged"===v||"@default"===v),a.isObject(o)||(o={})):(t="@merged"!==e.graph,o={}),t&&u.frame({...e,graph:v,embedded:!1},Object.keys(e.graphMap[v]).sort(),[o],I,"@graph")}"@included"in n&&u.frame({...e,embedded:!1},t,n["@included"],I,"@included");for(const t of Object.keys(g).sort())if(o(t)){if(I[t]=i.clone(g[t]),"@type"===t)for(const t of g["@type"])0===t.indexOf("_:")&&i.addValue(e.bnodeMap,t,I,{propertyIsArray:!0})}else if(!m.explicit||t in n)for(const o of g[t]){const a=t in n?n[t]:p(m);if(r.isList(o)){const a=n[t]&&n[t][0]&&n[t][0]["@list"]?n[t][0]["@list"]:p(m),s={"@list":[]};x(I,t,s);const l=o["@list"];for(const t of l)r.isSubjectReference(t)?u.frame({...e,embedded:!0},[t["@id"]],a,s,"@list"):x(s,"@list",i.clone(t))}else r.isSubjectReference(o)?u.frame({...e,embedded:!0},[o["@id"]],a,I,t):w(a[0],o)&&x(I,t,i.clone(o))}for(const e of Object.keys(n).sort()){if("@type"===e){if(!a.isObject(n[e][0])||!("@default"in n[e][0]))continue}else if(o(e))continue;const t=n[e][0]||{};if(!f(t,d,"omitDefault")&&!(e in I)){let n="@null";"@default"in t&&(n=i.clone(t["@default"])),a.isArray(n)||(n=[n]),I[e]=[{"@preserve":n}]}}for(const t of Object.keys(n["@reverse"]||{}).sort()){const o=n["@reverse"][t];for(const n of Object.keys(e.subjects))i.getValues(e.subjects[n],t).some((e=>e["@id"]===v))&&(I["@reverse"]=I["@reverse"]||{},i.addValue(I["@reverse"],t,[],{propertyIsArray:!0}),u.frame({...e,embedded:!0},[n],o,I["@reverse"][t],c))}x(s,c,I),e.subjectStack.pop()}else x(s,c,I);else x(s,c,I)}},u.cleanupNull=(e,t)=>{if(a.isArray(e))return e.map((e=>u.cleanupNull(e,t))).filter((e=>e));if("@null"===e)return null;if(a.isObject(e)){if("@id"in e){const n=e["@id"];if(t.link.hasOwnProperty(n)){const o=t.link[n].indexOf(e);if(-1!==o)return t.link[n][o];t.link[n].push(e)}else t.link[n]=[e]}for(const n in e)e[n]=u.cleanupNull(e[n],t)}return e}},1661:(e,t,n)=>{"use strict";const o=n(8325),r=n(7848),a=n(7904),{REGEX_BCP47:i,addValue:s}=n(9721),{handleEvent:l}=n(9788),{RDF_LIST:c,RDF_FIRST:d,RDF_REST:u,RDF_NIL:p,RDF_TYPE:h,RDF_JSON_LITERAL:f,XSD_BOOLEAN:v,XSD_DOUBLE:g,XSD_INTEGER:y,XSD_STRING:m}=n(8648),x={};function b(e,t,n,r){if(e.termType.endsWith("Node"))return{"@id":e.value};const s={"@value":e.value};if(e.language)e.language.match(i)||r.eventHandler&&l({event:{type:["JsonLdEvent"],code:"invalid @language value",level:"warning",message:"@language value must be valid BCP47.",details:{language:e.language}},options:r}),s["@language"]=e.language;else{let c=e.datatype.value;if(c||(c=m),c===f){c="@json";try{s["@value"]=JSON.parse(s["@value"])}catch(e){throw new o("JSON literal could not be parsed.","jsonld.InvalidJsonLiteral",{code:"invalid JSON literal",value:s["@value"],cause:e})}}if(t){if(c===v)"true"===s["@value"]?s["@value"]=!0:"false"===s["@value"]&&(s["@value"]=!1);else if(a.isNumeric(s["@value"]))if(c===y){const e=parseInt(s["@value"],10);e.toFixed(0)===s["@value"]&&(s["@value"]=e)}else c===g&&(s["@value"]=parseFloat(s["@value"]));[v,y,g,m].includes(c)||(s["@type"]=c)}else if("i18n-datatype"===n&&c.startsWith("https://www.w3.org/ns/i18n#")){const[,e,t]=c.split(/[#_]/);e.length>0&&(s["@language"]=e,e.match(i)||r.eventHandler&&l({event:{type:["JsonLdEvent"],code:"invalid @language value",level:"warning",message:"@language value must be valid BCP47.",details:{language:e}},options:r})),s["@direction"]=t}else c!==m&&(s["@type"]=c)}return s}e.exports=x,x.fromRDF=async(e,t)=>{const{useRdfType:n=!1,useNativeTypes:i=!1,rdfDirection:l=null}=t,f={},v={"@default":f},g={};if(l){if("compound-literal"===l)throw new o("Unsupported rdfDirection value.","jsonld.InvalidRdfDirection",{value:l});if("i18n-datatype"!==l)throw new o("Unknown rdfDirection value.","jsonld.InvalidRdfDirection",{value:l})}for(const o of e){const e="DefaultGraph"===o.graph.termType?"@default":o.graph.value;e in v||(v[e]={}),"@default"===e||e in f||(f[e]={"@id":e});const r=v[e],a=o.subject.value,c=o.predicate.value,d=o.object;a in r||(r[a]={"@id":a});const u=r[a],y=d.termType.endsWith("Node");if(y&&!(d.value in r)&&(r[d.value]={"@id":d.value}),c===h&&!n&&y){s(u,"@type",d.value,{propertyIsArray:!0});continue}const m=b(d,i,l,t);if(s(u,c,m,{propertyIsArray:!0}),y)if(d.value===p){const e=r[d.value];"usages"in e||(e.usages=[]),e.usages.push({node:u,property:c,value:m})}else d.value in g?g[d.value]=!1:g[d.value]={node:u,property:c,value:m}}for(const e in v){const t=v[e];if(!(p in t))continue;const n=t[p];if(n.usages){for(let e of n.usages){let n=e.node,o=e.property,i=e.value;const s=[],l=[];let p=Object.keys(n).length;for(;o===u&&a.isObject(g[n["@id"]])&&a.isArray(n[d])&&1===n[d].length&&a.isArray(n[u])&&1===n[u].length&&(3===p||4===p&&a.isArray(n["@type"])&&1===n["@type"].length&&n["@type"][0]===c)&&(s.push(n[d][0]),l.push(n["@id"]),e=g[n["@id"]],n=e.node,o=e.property,i=e.value,p=Object.keys(n).length,r.isBlankNode(n)););delete i["@id"],i["@list"]=s.reverse();for(const e of l)delete t[e]}delete n.usages}}const y=[],m=Object.keys(f).sort();for(const e of m){const t=f[e];if(e in v){const n=t["@graph"]=[],o=v[e],a=Object.keys(o).sort();for(const e of a){const t=o[e];r.isSubjectReference(t)||n.push(t)}}r.isSubjectReference(t)||y.push(t)}return y}},7848:(e,t,n)=>{"use strict";const o=n(7904),r={};e.exports=r,r.isSubject=e=>!(!o.isObject(e)||"@value"in e||"@set"in e||"@list"in e)&&(Object.keys(e).length>1||!("@id"in e)),r.isSubjectReference=e=>o.isObject(e)&&1===Object.keys(e).length&&"@id"in e,r.isValue=e=>o.isObject(e)&&"@value"in e,r.isList=e=>o.isObject(e)&&"@list"in e,r.isGraph=e=>o.isObject(e)&&"@graph"in e&&1===Object.keys(e).filter((e=>"@id"!==e&&"@index"!==e)).length,r.isSimpleGraph=e=>r.isGraph(e)&&!("@id"in e),r.isBlankNode=e=>{if(o.isObject(e)){if("@id"in e){const t=e["@id"];return!o.isString(t)||0===t.indexOf("_:")}return 0===Object.keys(e).length||!("@value"in e||"@set"in e||"@list"in e)}return!1}},8515:(e,t,n)=>{const o=n(4051),r=n(1699),a=n(9721),i=n(3899),s=a.IdentifierIssuer,l=n(8325),c=n(8729),d=n(431),{expand:u}=n(5961),{flatten:p}=n(2147),{fromRDF:h}=n(1661),{toRDF:f}=n(2686),{frameMergedOrDefault:v,cleanupNull:g}=n(9480),{isArray:y,isObject:m,isString:x}=n(7904),{isSubjectReference:b}=n(7848),{expandIri:w,getInitialContext:j,process:I,processingMode:N}=n(4974),{compact:S,compactIri:O}=n(964),{createNodeMap:E,createMergedNodeMap:D,mergeNodeMaps:k}=n(5447),{logEventHandler:C,logWarningEventHandler:L,safeEventHandler:R,setDefaultEventHandler:T,setupEventHandler:A,strictEventHandler:_,unhandledEventHandler:M}=n(9788),J=function(e){const t={},J=new c({max:100});function P(t,{documentLoader:n=e.documentLoader,...o}){if(t&&"compactionMap"in t)throw new l('"compactionMap" not supported.',"jsonld.OptionsError");if(t&&"expansionMap"in t)throw new l('"expansionMap" not supported.',"jsonld.OptionsError");return Object.assign({},{documentLoader:n},o,t,{eventHandler:A({options:t})})}return e.compact=async function(t,n,o){if(arguments.length<2)throw new TypeError("Could not compact, too few arguments.");if(null===n)throw new l("The compaction context must not be null.","jsonld.CompactError",{code:"invalid local context"});if(null===t)return null;let r;(o=P(o,{base:x(t)?t:"",compactArrays:!0,compactToRelative:!0,graph:!1,skipExpansion:!1,link:!1,issuer:new s("_:b"),contextResolver:new i({sharedCache:J})})).link&&(o.skipExpansion=!0),o.compactToRelative||delete o.base,r=o.skipExpansion?t:await e.expand(t,o);const c=await e.processContext(j(o),n,o);let d=await S({activeCtx:c,element:r,options:o});o.compactArrays&&!o.graph&&y(d)?1===d.length?d=d[0]:0===d.length&&(d={}):o.graph&&m(d)&&(d=[d]),m(n)&&"@context"in n&&(n=n["@context"]),n=a.clone(n),y(n)||(n=[n]);const u=n;n=[];for(let e=0;e0)&&n.push(u[e]);const p=n.length>0;if(1===n.length&&(n=n[0]),y(d)){const e=O({activeCtx:c,iri:"@graph",relativeTo:{vocab:!0}}),t=d;d={},p&&(d["@context"]=n),d[e]=t}else if(m(d)&&p){const e=d;d={"@context":n};for(const t in e)d[t]=e[t]}return d},e.expand=async function(t,n){if(arguments.length<1)throw new TypeError("Could not expand, too few arguments.");const o={},r=[];if("expandContext"in(n=P(n,{keepFreeFloatingNodes:!1,contextResolver:new i({sharedCache:J})}))){const e=a.clone(n.expandContext);m(e)&&"@context"in e?o.expandContext=e:o.expandContext={"@context":e},r.push(o.expandContext)}let s;if(x(t)){const a=await e.get(t,n);s=a.documentUrl,o.input=a.document,a.contextUrl&&(o.remoteContext={"@context":a.contextUrl},r.push(o.remoteContext))}else o.input=a.clone(t);"base"in n||(n.base=s||"");let l=j(n);for(const e of r)l=await I({activeCtx:l,localCtx:e,options:n});let c=await u({activeCtx:l,element:o.input,options:n});return m(c)&&"@graph"in c&&1===Object.keys(c).length?c=c["@graph"]:null===c&&(c=[]),y(c)||(c=[c]),c},e.flatten=async function(t,n,o){if(arguments.length<1)return new TypeError("Could not flatten, too few arguments.");n="function"==typeof n?null:n||null,o=P(o,{base:x(t)?t:"",contextResolver:new i({sharedCache:J})});const r=await e.expand(t,o),a=p(r);return null===n?a:(o.graph=!0,o.skipExpansion=!0,await e.compact(a,n,o))},e.frame=async function(t,n,o){if(arguments.length<2)throw new TypeError("Could not frame, too few arguments.");if(o=P(o,{base:x(t)?t:"",embed:"@once",explicit:!1,requireAll:!1,omitDefault:!1,bnodesToClear:[],contextResolver:new i({sharedCache:J})}),x(n)){const t=await e.get(n,o);if(n=t.document,t.contextUrl){let e=n["@context"];e?y(e)?e.push(t.contextUrl):e=[e,t.contextUrl]:e=t.contextUrl,n["@context"]=e}}const r=n&&n["@context"]||{},a=await e.processContext(j(o),r,o);o.hasOwnProperty("omitGraph")||(o.omitGraph=N(a,1.1)),o.hasOwnProperty("pruneBlankNodeIdentifiers")||(o.pruneBlankNodeIdentifiers=N(a,1.1));const s=await e.expand(t,o),l={...o};l.isFrame=!0,l.keepFreeFloatingNodes=!0;const c=await e.expand(n,l),d=Object.keys(n).map((e=>w(a,e,{vocab:!0})));l.merged=!d.includes("@graph"),l.is11=N(a,1.1);const u=v(s,c,l);l.graph=!o.omitGraph,l.skipExpansion=!0,l.link={},l.framing=!0;let p=await e.compact(u,r,l);return l.link={},p=g(p,l),p},e.link=async function(t,n,o){const r={};return n&&(r["@context"]=n),r["@embed"]="@link",e.frame(t,r,o)},e.normalize=e.canonize=async function(t,n){if(arguments.length<1)throw new TypeError("Could not canonize, too few arguments.");if("inputFormat"in(n=P(n,{base:x(t)?t:null,algorithm:"URDNA2015",skipExpansion:!1,safe:!0,contextResolver:new i({sharedCache:J})}))){if("application/n-quads"!==n.inputFormat&&"application/nquads"!==n.inputFormat)throw new l("Unknown canonicalization input format.","jsonld.CanonizeError");const e=d.parse(t);return o.canonize(e,n)}const r={...n};delete r.format,r.produceGeneralizedRdf=!1;const a=await e.toRDF(t,r);return o.canonize(a,n)},e.fromRDF=async function(e,n){if(arguments.length<1)throw new TypeError("Could not convert from RDF, too few arguments.");n=P(n,{format:x(e)?"application/n-quads":void 0});const{format:o}=n;let{rdfParser:r}=n;if(o){if(r=r||t[o],!r)throw new l("Unknown input format.","jsonld.UnknownFormat",{format:o})}else r=()=>e;const a=await r(e);return h(a,n)},e.toRDF=async function(t,n){if(arguments.length<1)throw new TypeError("Could not convert to RDF, too few arguments.");let o;o=(n=P(n,{base:x(t)?t:"",skipExpansion:!1,contextResolver:new i({sharedCache:J})})).skipExpansion?t:await e.expand(t,n);const r=f(o,n);if(n.format){if("application/n-quads"===n.format||"application/nquads"===n.format)return d.serialize(r);throw new l("Unknown output format.","jsonld.UnknownFormat",{format:n.format})}return r},e.createNodeMap=async function(t,n){if(arguments.length<1)throw new TypeError("Could not create node map, too few arguments.");n=P(n,{base:x(t)?t:"",contextResolver:new i({sharedCache:J})});const o=await e.expand(t,n);return D(o,n)},e.merge=async function(t,n,o){if(arguments.length<1)throw new TypeError("Could not merge, too few arguments.");if(!y(t))throw new TypeError('Could not merge, "docs" must be an array.');n="function"==typeof n?null:n||null,o=P(o,{contextResolver:new i({sharedCache:J})});const r=await Promise.all(t.map((t=>{const n={...o};return e.expand(t,n)})));let l=!0;"mergeNodes"in o&&(l=o.mergeNodes);const c=o.issuer||new s("_:b"),d={"@default":{}};for(let e=0;ee._documentLoader,set:t=>e._documentLoader=t}),e.documentLoader=async e=>{throw new l("Could not retrieve a JSON-LD document from the URL. URL dereferencing not implemented.","jsonld.LoadDocumentError",{code:"loading document failed",url:e})},e.get=async function(t,n){let o;o="function"==typeof n.documentLoader?n.documentLoader:e.documentLoader;const r=await o(t);try{if(!r.document)throw new l("No remote document found at the given URL.","jsonld.NullRemoteDocument");x(r.document)&&(r.document=JSON.parse(r.document))}catch(e){throw new l("Could not retrieve a JSON-LD document from the URL.","jsonld.LoadDocumentError",{code:"loading document failed",cause:e,remoteDoc:r})}return r},e.processContext=async function(e,t,n){return n=P(n,{base:"",contextResolver:new i({sharedCache:J})}),null===t?j(n):(t=a.clone(t),m(t)&&"@context"in t||(t={"@context":t}),I({activeCtx:e,localCtx:t,options:n}))},e.getContextValue=n(4974).getContextValue,e.documentLoaders={},e.useDocumentLoader=function(t){if(!(t in e.documentLoaders))throw new l('Unknown document loader type: "'+t+'"',"jsonld.UnknownDocumentLoader",{type:t});e.documentLoader=e.documentLoaders[t].apply(e,Array.prototype.slice.call(arguments,1))},e.registerRDFParser=function(e,n){t[e]=n},e.unregisterRDFParser=function(e){delete t[e]},e.registerRDFParser("application/n-quads",d.parse),e.registerRDFParser("application/nquads",d.parse),e.url=n(904),e.logEventHandler=C,e.logWarningEventHandler=L,e.safeEventHandler=R,e.setDefaultEventHandler=T,e.strictEventHandler=_,e.unhandledEventHandler=M,e.util=a,Object.assign(e,a),e.promises=e,e.RequestQueue=n(9889),e.JsonLdProcessor=n(71)(e),r.setupGlobals(e),r.setupDocumentLoaders(e),e},P=function(){return J((function(){return P()}))};J(P),e.exports=P},5447:(e,t,n)=>{"use strict";const{isKeyword:o}=n(4974),r=n(7848),a=n(7904),i=n(9721),s=n(8325),l={};e.exports=l,l.createMergedNodeMap=(e,t)=>{const n=(t=t||{}).issuer||new i.IdentifierIssuer("_:b"),o={"@default":{}};return l.createNodeMap(e,o,"@default",n),l.mergeNodeMaps(o)},l.createNodeMap=(e,t,n,c,d,u)=>{if(a.isArray(e)){for(const o of e)l.createNodeMap(o,t,n,c,void 0,u);return}if(!a.isObject(e))return void(u&&u.push(e));if(r.isValue(e)){if("@type"in e){let t=e["@type"];0===t.indexOf("_:")&&(e["@type"]=t=c.getId(t))}return void(u&&u.push(e))}if(u&&r.isList(e)){const o=[];return l.createNodeMap(e["@list"],t,n,c,d,o),void u.push({"@list":o})}if("@type"in e){const t=e["@type"];for(const e of t)0===e.indexOf("_:")&&c.getId(e)}a.isUndefined(d)&&(d=r.isBlankNode(e)?c.getId(e["@id"]):e["@id"]),u&&u.push({"@id":d});const p=t[n],h=p[d]=p[d]||{};h["@id"]=d;const f=Object.keys(e).sort();for(let a of f){if("@id"===a)continue;if("@reverse"===a){const o={"@id":d},a=e["@reverse"];for(const e in a){const s=a[e];for(const a of s){let s=a["@id"];r.isBlankNode(a)&&(s=c.getId(s)),l.createNodeMap(a,t,n,c,s),i.addValue(p[s],e,o,{propertyIsArray:!0,allowDuplicate:!1})}}continue}if("@graph"===a){d in t||(t[d]={}),l.createNodeMap(e[a],t,d,c);continue}if("@included"===a){l.createNodeMap(e[a],t,n,c);continue}if("@type"!==a&&o(a)){if("@index"===a&&a in h&&(e[a]!==h[a]||e[a]["@id"]!==h[a]["@id"]))throw new s("Invalid JSON-LD syntax; conflicting @index property detected.","jsonld.SyntaxError",{code:"conflicting indexes",subject:h});h[a]=e[a];continue}const u=e[a];if(0===a.indexOf("_:")&&(a=c.getId(a)),0!==u.length)for(let e of u)if("@type"===a&&(e=0===e.indexOf("_:")?c.getId(e):e),r.isSubject(e)||r.isSubjectReference(e)){if("@id"in e&&!e["@id"])continue;const o=r.isBlankNode(e)?c.getId(e["@id"]):e["@id"];i.addValue(h,a,{"@id":o},{propertyIsArray:!0,allowDuplicate:!1}),l.createNodeMap(e,t,n,c,o)}else if(r.isValue(e))i.addValue(h,a,e,{propertyIsArray:!0,allowDuplicate:!1});else if(r.isList(e)){const o=[];l.createNodeMap(e["@list"],t,n,c,d,o),e={"@list":o},i.addValue(h,a,e,{propertyIsArray:!0,allowDuplicate:!1})}else l.createNodeMap(e,t,n,c,d),i.addValue(h,a,e,{propertyIsArray:!0,allowDuplicate:!1});else i.addValue(h,a,[],{propertyIsArray:!0})}},l.mergeNodeMapGraphs=e=>{const t={};for(const n of Object.keys(e).sort())for(const r of Object.keys(e[n]).sort()){const a=e[n][r];r in t||(t[r]={"@id":r});const s=t[r];for(const e of Object.keys(a).sort())if(o(e)&&"@type"!==e)s[e]=i.clone(a[e]);else for(const t of a[e])i.addValue(s,e,i.clone(t),{propertyIsArray:!0,allowDuplicate:!1})}return t},l.mergeNodeMaps=e=>{const t=e["@default"],n=Object.keys(e).sort();for(const o of n){if("@default"===o)continue;const n=e[o];let a=t[o];a?"@graph"in a||(a["@graph"]=[]):t[o]=a={"@id":o,"@graph":[]};const i=a["@graph"];for(const e of Object.keys(n).sort()){const t=n[e];r.isSubjectReference(t)||i.push(t)}}return t}},1699:(e,t,n)=>{"use strict";const o=n(827),r={};e.exports=r,r.setupDocumentLoaders=function(e){"undefined"!=typeof XMLHttpRequest&&(e.documentLoaders.xhr=o,e.useDocumentLoader("xhr"))},r.setupGlobals=function(e){void 0===globalThis.JsonLdProcessor&&Object.defineProperty(globalThis,"JsonLdProcessor",{writable:!0,enumerable:!1,configurable:!0,value:e.JsonLdProcessor})}},2686:(e,t,n)=>{"use strict";const{createNodeMap:o}=n(5447),{isKeyword:r}=n(4974),a=n(7848),i=n(7471),s=n(8325),l=n(7904),c=n(9721),{handleEvent:d}=n(9788),{RDF_FIRST:u,RDF_REST:p,RDF_NIL:h,RDF_TYPE:f,RDF_JSON_LITERAL:v,RDF_LANGSTRING:g,XSD_BOOLEAN:y,XSD_DOUBLE:m,XSD_INTEGER:x,XSD_STRING:b}=n(8648),{isAbsolute:w}=n(904),j={};function I(e,t,n,o,a){const i=Object.keys(t).sort();for(const s of i){const i=t[s],l=Object.keys(i).sort();for(let t of l){const l=i[t];if("@type"===t)t=f;else if(r(t))continue;for(const r of l){const i={termType:s.startsWith("_:")?"BlankNode":"NamedNode",value:s};if(!w(s)){a.eventHandler&&d({event:{type:["JsonLdEvent"],code:"relative subject reference",level:"warning",message:"Relative subject reference found.",details:{subject:s}},options:a});continue}const l={termType:t.startsWith("_:")?"BlankNode":"NamedNode",value:t};if(!w(t)){a.eventHandler&&d({event:{type:["JsonLdEvent"],code:"relative predicate reference",level:"warning",message:"Relative predicate reference found.",details:{predicate:t}},options:a});continue}if("BlankNode"===l.termType&&!a.produceGeneralizedRdf){a.eventHandler&&d({event:{type:["JsonLdEvent"],code:"blank node predicate",level:"warning",message:"Dropping blank node predicate.",details:{property:o.getOldIds().find((e=>o.getId(e)===t))}},options:a});continue}const c=N(r,o,e,n,a.rdfDirection,a);c&&e.push({subject:i,predicate:l,object:c,graph:n})}}}}function N(e,t,n,o,r,c){const f={};if(a.isValue(e)){f.termType="Literal",f.value=void 0,f.datatype={termType:"NamedNode"};let t=e["@value"];const n=e["@type"]||null;if("@json"===n)f.value=i(t),f.datatype.value=v;else if(l.isBoolean(t))f.value=t.toString(),f.datatype.value=n||y;else if(l.isDouble(t)||n===m)l.isDouble(t)||(t=parseFloat(t)),f.value=t.toExponential(15).replace(/(\d)0*e\+?/,"$1E"),f.datatype.value=n||m;else if(l.isNumber(t))f.value=t.toFixed(0),f.datatype.value=n||x;else if("@direction"in e&&"i18n-datatype"===r){const n=`https://www.w3.org/ns/i18n#${(e["@language"]||"").toLowerCase()}_${e["@direction"]}`;f.datatype.value=n,f.value=t}else{if("@direction"in e&&"compound-literal"===r)throw new s("Unsupported rdfDirection value.","jsonld.InvalidRdfDirection",{value:r});if("@direction"in e&&r)throw new s("Unknown rdfDirection value.","jsonld.InvalidRdfDirection",{value:r});"@language"in e?("@direction"in e&&!r&&c.eventHandler&&d({event:{type:["JsonLdEvent"],code:"rdfDirection not set",level:"warning",message:"rdfDirection not set for @direction.",details:{object:f.value}},options:c}),f.value=t,f.datatype.value=n||g,f.language=e["@language"]):("@direction"in e&&!r&&c.eventHandler&&d({event:{type:["JsonLdEvent"],code:"rdfDirection not set",level:"warning",message:"rdfDirection not set for @direction.",details:{object:f.value}},options:c}),f.value=t,f.datatype.value=n||b)}}else if(a.isList(e)){const a=function(e,t,n,o,r,a){const i={termType:"NamedNode",value:u},s={termType:"NamedNode",value:p},l={termType:"NamedNode",value:h},c=e.pop(),d=c?{termType:"BlankNode",value:t.getId()}:l;let f=d;for(const l of e){const e=N(l,t,n,o,r,a),c={termType:"BlankNode",value:t.getId()};n.push({subject:f,predicate:i,object:e,graph:o}),n.push({subject:f,predicate:s,object:c,graph:o}),f=c}if(c){const e=N(c,t,n,o,r,a);n.push({subject:f,predicate:i,object:e,graph:o}),n.push({subject:f,predicate:s,object:l,graph:o})}return d}(e["@list"],t,n,o,r,c);f.termType=a.termType,f.value=a.value}else{const t=l.isObject(e)?e["@id"]:e;f.termType=t.startsWith("_:")?"BlankNode":"NamedNode",f.value=t}return"NamedNode"!==f.termType||w(f.value)?f:(c.eventHandler&&d({event:{type:["JsonLdEvent"],code:"relative object reference",level:"warning",message:"Relative object reference found.",details:{object:f.value}},options:c}),null)}e.exports=j,j.toRDF=(e,t)=>{const n=new c.IdentifierIssuer("_:b"),r={"@default":{}};o(e,r,"@default",n);const a=[],i=Object.keys(r).sort();for(const e of i){let o;if("@default"===e)o={termType:"DefaultGraph",value:""};else{if(!w(e)){t.eventHandler&&d({event:{type:["JsonLdEvent"],code:"relative graph reference",level:"warning",message:"Relative graph reference found.",details:{graph:e}},options:t});continue}o=e.startsWith("_:")?{termType:"BlankNode"}:{termType:"NamedNode"},o.value=e}I(a,r[e],o,n,t)}return a}},7904:e=>{"use strict";const t={};e.exports=t,t.isArray=Array.isArray,t.isBoolean=e=>"boolean"==typeof e||"[object Boolean]"===Object.prototype.toString.call(e),t.isDouble=e=>t.isNumber(e)&&(-1!==String(e).indexOf(".")||Math.abs(e)>=1e21),t.isEmptyObject=e=>t.isObject(e)&&0===Object.keys(e).length,t.isNumber=e=>"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e),t.isNumeric=e=>!isNaN(parseFloat(e))&&isFinite(e),t.isObject=e=>"[object Object]"===Object.prototype.toString.call(e),t.isString=e=>"string"==typeof e||"[object String]"===Object.prototype.toString.call(e),t.isUndefined=e=>void 0===e},904:(e,t,n)=>{"use strict";const o=n(7904),r={};e.exports=r,r.parsers={simple:{keys:["href","scheme","authority","path","query","fragment"],regex:/^(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/},full:{keys:["href","protocol","scheme","authority","auth","user","password","hostname","port","path","directory","file","query","fragment"],regex:/^(([a-zA-Z][a-zA-Z0-9+-.]*):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?(?:(((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/}},r.parse=(e,t)=>{const n={},o=r.parsers[t||"full"],a=o.regex.exec(e);let i=o.keys.length;for(;i--;)n[o.keys[i]]=void 0===a[i]?null:a[i];return("https"===n.scheme&&"443"===n.port||"http"===n.scheme&&"80"===n.port)&&(n.href=n.href.replace(":"+n.port,""),n.authority=n.authority.replace(":"+n.port,""),n.port=null),n.normalizedPath=r.removeDotSegments(n.path),n},r.prependBase=(e,t)=>{if(null===e)return t;if(r.isAbsolute(t))return t;e&&!o.isString(e)||(e=r.parse(e||""));const n=r.parse(t),a={protocol:e.protocol||""};if(null!==n.authority)a.authority=n.authority,a.path=n.path,a.query=n.query;else if(a.authority=e.authority,""===n.path)a.path=e.path,null!==n.query?a.query=n.query:a.query=e.query;else{if(0===n.path.indexOf("/"))a.path=n.path;else{let t=e.path;t=t.substr(0,t.lastIndexOf("/")+1),(t.length>0||e.authority)&&"/"!==t.substr(-1)&&(t+="/"),t+=n.path,a.path=t}a.query=n.query}""!==n.path&&(a.path=r.removeDotSegments(a.path));let i=a.protocol;return null!==a.authority&&(i+="//"+a.authority),i+=a.path,null!==a.query&&(i+="?"+a.query),null!==n.fragment&&(i+="#"+n.fragment),""===i&&(i="./"),i},r.removeBase=(e,t)=>{if(null===e)return t;e&&!o.isString(e)||(e=r.parse(e||""));let n="";if(""!==e.href?n+=(e.protocol||"")+"//"+(e.authority||""):t.indexOf("//")&&(n+="//"),0!==t.indexOf(n))return t;const a=r.parse(t.substr(n.length)),i=e.normalizedPath.split("/"),s=a.normalizedPath.split("/"),l=a.fragment||a.query?0:1;for(;i.length>0&&s.length>l&&i[0]===s[0];)i.shift(),s.shift();let c="";if(i.length>0){i.pop();for(let e=0;e{if(0===e.length)return"";const t=e.split("/"),n=[];for(;t.length>0;){const e=t.shift(),o=0===t.length;"."!==e?".."!==e?n.push(e):(n.pop(),o&&n.push("")):o&&n.push("")}return"/"===e[0]&&n.length>0&&""!==n[0]&&n.unshift(""),1===n.length&&""===n[0]?"/":n.join("/")};const a=/^([A-Za-z][A-Za-z0-9+-.]*|_):[^\s]*$/;r.isAbsolute=e=>o.isString(e)&&a.test(e),r.isRelative=e=>o.isString(e)},9721:(e,t,n)=>{"use strict";const o=n(7848),r=n(7904),a=n(4051).IdentifierIssuer,i=n(8325),s=/(?:<[^>]*?>|"[^"]*?"|[^,])+/g,l=/\s*<([^>]*?)>\s*(?:;\s*(.*))?/,c=/(.*?)=(?:(?:"([^"]*?)")|([^"]*?))\s*(?:(?:;\s*)|$)/g,d="application/ld+json, application/json",u={};function p(e,t){if(r.isArray(t))for(let n=0;n{if(Object.keys(e).some((e=>"accept"===e.toLowerCase())))throw new RangeError('Accept header may not be specified; only "'+d+'" is supported.');return Object.assign({Accept:d},e)},u.parseLinkHeader=e=>{const t={},n=e.match(s);for(let e=0;e{if(!(r.isString(e)||r.isArray(e)&&e.every((e=>r.isString(e))))){if(t&&r.isObject(e))switch(Object.keys(e).length){case 0:return;case 1:if("@default"in e&&u.asArray(e["@default"]).every((e=>r.isString(e))))return}throw new i('Invalid JSON-LD syntax; "@type" value must a string, an array of strings, an empty object, or a default object.',"jsonld.SyntaxError",{code:"invalid type value",value:e})}},u.hasProperty=(e,t)=>{if(e.hasOwnProperty(t)){const n=e[t];return!r.isArray(n)||n.length>0}return!1},u.hasValue=(e,t,n)=>{if(u.hasProperty(e,t)){let a=e[t];const i=o.isList(a);if(r.isArray(a)||i){i&&(a=a["@list"]);for(let e=0;e{if("propertyIsArray"in(o=o||{})||(o.propertyIsArray=!1),"valueIsArray"in o||(o.valueIsArray=!1),"allowDuplicate"in o||(o.allowDuplicate=!0),"prependValue"in o||(o.prependValue=!1),o.valueIsArray)e[t]=n;else if(r.isArray(n)){0===n.length&&o.propertyIsArray&&!e.hasOwnProperty(t)&&(e[t]=[]),o.prependValue&&(n=n.concat(e[t]),e[t]=[]);for(let r=0;r[].concat(e[t]||[]),u.removeProperty=(e,t)=>{delete e[t]},u.removeValue=(e,t,n,o)=>{"propertyIsArray"in(o=o||{})||(o.propertyIsArray=!1);const r=u.getValues(e,t).filter((e=>!u.compareValues(e,n)));0===r.length?u.removeProperty(e,t):1!==r.length||o.propertyIsArray?e[t]=r:e[t]=r[0]},u.relabelBlankNodes=(e,t)=>p((t=t||{}).issuer||new a("_:b"),e),u.compareValues=(e,t)=>e===t||!(!o.isValue(e)||!o.isValue(t)||e["@value"]!==t["@value"]||e["@type"]!==t["@type"]||e["@language"]!==t["@language"]||e["@index"]!==t["@index"])||!!(r.isObject(e)&&"@id"in e&&r.isObject(t)&&"@id"in t)&&e["@id"]===t["@id"],u.compareShortestLeast=(e,t)=>e.length{"use strict";const o=n(8171),r=Symbol("max"),a=Symbol("length"),i=Symbol("lengthCalculator"),s=Symbol("allowStale"),l=Symbol("maxAge"),c=Symbol("dispose"),d=Symbol("noDisposeOnSet"),u=Symbol("lruList"),p=Symbol("cache"),h=Symbol("updateAgeOnGet"),f=()=>1,v=(e,t,n)=>{const o=e[p].get(t);if(o){const t=o.value;if(g(e,t)){if(m(e,o),!e[s])return}else n&&(e[h]&&(o.value.now=Date.now()),e[u].unshiftNode(o));return t.value}},g=(e,t)=>{if(!t||!t.maxAge&&!e[l])return!1;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[l]&&n>e[l]},y=e=>{if(e[a]>e[r])for(let t=e[u].tail;e[a]>e[r]&&null!==t;){const n=t.prev;m(e,t),t=n}},m=(e,t)=>{if(t){const n=t.value;e[c]&&e[c](n.key,n.value),e[a]-=n.length,e[p].delete(n.key),e[u].removeNode(t)}};class x{constructor(e,t,n,o,r){this.key=e,this.value=t,this.length=n,this.now=o,this.maxAge=r||0}}const b=(e,t,n,o)=>{let r=n.value;g(e,r)&&(m(e,n),e[s]||(r=void 0)),r&&t.call(o,r.value,r.key,e)};e.exports=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw new TypeError("max must be a non-negative number");this[r]=e.max||1/0;const t=e.length||f;if(this[i]="function"!=typeof t?f:t,this[s]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw new TypeError("maxAge must be a number");this[l]=e.maxAge||0,this[c]=e.dispose,this[d]=e.noDisposeOnSet||!1,this[h]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw new TypeError("max must be a non-negative number");this[r]=e||1/0,y(this)}get max(){return this[r]}set allowStale(e){this[s]=!!e}get allowStale(){return this[s]}set maxAge(e){if("number"!=typeof e)throw new TypeError("maxAge must be a non-negative number");this[l]=e,y(this)}get maxAge(){return this[l]}set lengthCalculator(e){"function"!=typeof e&&(e=f),e!==this[i]&&(this[i]=e,this[a]=0,this[u].forEach((e=>{e.length=this[i](e.value,e.key),this[a]+=e.length}))),y(this)}get lengthCalculator(){return this[i]}get length(){return this[a]}get itemCount(){return this[u].length}rforEach(e,t){t=t||this;for(let n=this[u].tail;null!==n;){const o=n.prev;b(this,e,n,t),n=o}}forEach(e,t){t=t||this;for(let n=this[u].head;null!==n;){const o=n.next;b(this,e,n,t),n=o}}keys(){return this[u].toArray().map((e=>e.key))}values(){return this[u].toArray().map((e=>e.value))}reset(){this[c]&&this[u]&&this[u].length&&this[u].forEach((e=>this[c](e.key,e.value))),this[p]=new Map,this[u]=new o,this[a]=0}dump(){return this[u].map((e=>!g(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)})).toArray().filter((e=>e))}dumpLru(){return this[u]}set(e,t,n){if((n=n||this[l])&&"number"!=typeof n)throw new TypeError("maxAge must be a number");const o=n?Date.now():0,s=this[i](t,e);if(this[p].has(e)){if(s>this[r])return m(this,this[p].get(e)),!1;const i=this[p].get(e).value;return this[c]&&(this[d]||this[c](e,i.value)),i.now=o,i.maxAge=n,i.value=t,this[a]+=s-i.length,i.length=s,this.get(e),y(this),!0}const h=new x(e,t,s,o,n);return h.length>this[r]?(this[c]&&this[c](e,t),!1):(this[a]+=h.length,this[u].unshift(h),this[p].set(e,this[u].head),y(this),!0)}has(e){if(!this[p].has(e))return!1;const t=this[p].get(e).value;return!g(this,t)}get(e){return v(this,e,!0)}peek(e){return v(this,e,!1)}pop(){const e=this[u].tail;return e?(m(this,e),e.value):null}del(e){m(this,this[p].get(e))}load(e){this.reset();const t=Date.now();for(let n=e.length-1;n>=0;n--){const o=e[n],r=o.e||0;if(0===r)this.set(o.k,o.v);else{const e=r-t;e>0&&this.set(o.k,o.v,e)}}}prune(){this[p].forEach(((e,t)=>v(this,t,!1)))}}},9919:e=>{"use strict";e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}},8171:(e,t,n)=>{"use strict";function o(e){var t=this;if(t instanceof o||(t=new o),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");o=this.head.next,n=this.head.value}for(var r=0;null!==o;r++)n=e(n,o.value,r),o=o.next;return n},o.prototype.reduceReverse=function(e,t){var n,o=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");o=this.tail.prev,n=this.tail.value}for(var r=this.length-1;null!==o;r--)n=e(n,o.value,r),o=o.prev;return n},o.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},o.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},o.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new o;if(tthis.length&&(t=this.length);for(var r=0,a=this.head;null!==a&&rthis.length&&(t=this.length);for(var r=this.length,a=this.tail;null!==a&&r>t;r--)a=a.prev;for(;null!==a&&r>e;r--,a=a.prev)n.push(a.value);return n},o.prototype.splice=function(e,t,...n){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var o=0,a=this.head;null!==a&&o{e.exports=n(147)},7207:e=>{"use strict";e.exports=class e{constructor(e,t=new Map,n=0){this.prefix=e,this._existing=t,this.counter=n}clone(){const{prefix:t,_existing:n,counter:o}=this;return new e(t,new Map(n),o)}getId(e){const t=e&&this._existing.get(e);if(t)return t;const n=this.prefix+this.counter;return this.counter++,e&&this._existing.set(e,n),n}hasId(e){return this._existing.has(e)}getOldIds(){return[...this._existing.keys()]}}},2269:(e,t,n)=>{"use strict";n(6945);const o=self.crypto||self.msCrypto;e.exports=class{constructor(e){if(!o||!o.subtle)throw new Error("crypto.subtle not found.");if("sha256"===e)this.algorithm={name:"SHA-256"};else{if("sha1"!==e)throw new Error(`Unsupported algorithm "${e}".`);this.algorithm={name:"SHA-1"}}this._content=""}update(e){this._content+=e}async digest(){const e=(new TextEncoder).encode(this._content),t=new Uint8Array(await o.subtle.digest(this.algorithm,e));let n="";for(let e=0;e{"use strict";const t="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString",n="http://www.w3.org/2001/XMLSchema#string",o="NamedNode",r="BlankNode",a="Literal",i="DefaultGraph",s={};(()=>{const e="(?:<([^:]+:[^>]*)>)",t="A-Za-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�_",n=t+"0-9-·̀-ͯ‿-⁀",o="(_:(?:["+t+"0-9])(?:(?:["+n+".])*(?:["+n+"]))?)",r="[ \\t]+",a="[ \\t]*",i="(?:"+e+"|"+o+")"+r,l=e+r,c="(?:"+e+"|"+o+'|(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"(?:(?:\\^\\^'+e+")|(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)))?))"+a,d="(?:\\.|(?:(?:"+e+"|"+o+")"+a+"\\.))";s.eoln=/(?:\r\n)|(?:\n)|(?:\r)/g,s.empty=new RegExp("^"+a+"$"),s.quad=new RegExp("^"+a+i+l+c+d+a+"$")})(),e.exports=class e{static parse(e){const l=[],d={},u=e.split(s.eoln);let p=0;for(const e of u){if(p++,s.empty.test(e))continue;const u=e.match(s.quad);if(null===u)throw new Error("N-Quads parse error on line "+p+".");const v={subject:null,predicate:null,object:null,graph:null};if(void 0!==u[1]?v.subject={termType:o,value:u[1]}:v.subject={termType:r,value:u[2]},v.predicate={termType:o,value:u[3]},void 0!==u[4]?v.object={termType:o,value:u[4]}:void 0!==u[5]?v.object={termType:r,value:u[5]}:(v.object={termType:a,value:void 0,datatype:{termType:o}},void 0!==u[7]?v.object.datatype.value=u[7]:void 0!==u[8]?(v.object.datatype.value=t,v.object.language=u[8]):v.object.datatype.value=n,v.object.value=u[6].replace(c,(function(e,t,n,o){if(t)switch(t){case"t":return"\t";case"b":return"\b";case"n":return"\n";case"r":return"\r";case"f":return"\f";case'"':return'"';case"'":return"'";case"\\":return"\\"}if(n)return String.fromCharCode(parseInt(n,16));if(o)throw new Error("Unsupported U escape")}))),void 0!==u[9]?v.graph={termType:o,value:u[9]}:void 0!==u[10]?v.graph={termType:r,value:u[10]}:v.graph={termType:i,value:""},v.graph.value in d){let e=!0;const t=d[v.graph.value];for(const n of t)if(f=v,(h=n).subject.termType===f.subject.termType&&h.object.termType===f.object.termType&&h.subject.value===f.subject.value&&h.predicate.value===f.predicate.value&&h.object.value===f.object.value&&(h.object.termType!==a||h.object.datatype.termType===f.object.datatype.termType&&h.object.language===f.object.language&&h.object.datatype.value===f.object.datatype.value)){e=!1;break}e&&(t.push(v),l.push(v))}else d[v.graph.value]=[v],l.push(v)}var h,f;return l}static serialize(t){Array.isArray(t)||(t=e.legacyDatasetToQuads(t));const n=[];for(const o of t)n.push(e.serializeQuad(o));return n.sort().join("")}static serializeQuadComponents(e,a,i,s){let c="";return e.termType===o?c+=`<${e.value}>`:c+=`${e.value}`,c+=` <${a.value}> `,i.termType===o?c+=`<${i.value}>`:i.termType===r?c+=i.value:(c+=`"${function(e){return e.replace(l,(function(e){switch(e){case'"':return'\\"';case"\\":return"\\\\";case"\n":return"\\n";case"\r":return"\\r"}}))}(i.value)}"`,i.datatype.value===t?i.language&&(c+=`@${i.language}`):i.datatype.value!==n&&(c+=`^^<${i.datatype.value}>`)),s.termType===o?c+=` <${s.value}>`:s.termType===r&&(c+=` ${s.value}`),c+=" .\n",c}static serializeQuad(t){return e.serializeQuadComponents(t.subject,t.predicate,t.object,t.graph)}static legacyDatasetToQuads(e){const s=[],l={"blank node":r,IRI:o,literal:a};for(const c in e)e[c].forEach((e=>{const d={};for(const r in e){const i=e[r],s={termType:l[i.type],value:i.value};s.termType===a&&(s.datatype={termType:o},"datatype"in i&&(s.datatype.value=i.datatype),"language"in i?("datatype"in i||(s.datatype.value=t),s.language=i.language):"datatype"in i||(s.datatype.value=n)),d[r]=s}d.graph="@default"===c?{termType:i,value:""}:{termType:c.startsWith("_:")?r:o,value:c},s.push(d)}));return s}};const l=/["\\\n\r]/g,c=/(?:\\([tbnrf"'\\]))|(?:\\u([0-9A-Fa-f]{4}))|(?:\\U([0-9A-Fa-f]{8}))/g},1747:e=>{"use strict";e.exports=class{constructor(e){this.current=e.sort(),this.done=!1,this.dir=new Map;for(let t=0;to)&&(s&&n>0&&i>e[n-1]||!s&&ne[n+1])&&(o=i,r=n)}if(null===o)this.done=!0;else{const n=t.get(o)?r-1:r+1;e[r]=e[n],e[n]=o;for(const n of e)n>o&&t.set(n,!t.get(n))}return n}}},6991:(e,t,n)=>{"use strict";const o=n(7207),r=n(2269),a=n(1747),i=n(3281);function s(e,t){return e.hasht.hash?1:0}e.exports=class{constructor({createMessageDigest:e=(()=>new r("sha256")),canonicalIdMap:t=new Map,maxDeepIterations:n=1/0}={}){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new o("_:c14n",t),this.createMessageDigest=e,this.maxDeepIterations=n,this.quads=null,this.deepIterations=null}async main(e){this.deepIterations=new Map,this.quads=e;for(const t of e)this._addBlankNodeQuadInfo({quad:t,component:t.subject}),this._addBlankNodeQuadInfo({quad:t,component:t.object}),this._addBlankNodeQuadInfo({quad:t,component:t.graph});const t=new Map,n=[...this.blankNodeInfo.keys()];let r=0;for(const e of n)++r%100==0&&await this._yield(),await this._hashAndTrackBlankNode({id:e,hashToBlankNodes:t});const a=[...t.keys()].sort(),l=[];for(const e of a){const n=t.get(e);if(n.length>1){l.push(n);continue}const o=n[0];this.canonicalIssuer.getId(o)}for(const e of l){const t=[];for(const n of e){if(this.canonicalIssuer.hasId(n))continue;const e=new o("_:b");e.getId(n);const r=await this.hashNDegreeQuads(n,e);t.push(r)}t.sort(s);for(const e of t){const t=e.issuer.getOldIds();for(const e of t)this.canonicalIssuer.getId(e)}}const c=[];for(const e of this.quads){const t=i.serializeQuadComponents(this._componentWithCanonicalId(e.subject),e.predicate,this._componentWithCanonicalId(e.object),this._componentWithCanonicalId(e.graph));c.push(t)}return c.sort(),c.join("")}async hashFirstDegreeQuads(e){const t=[],n=this.blankNodeInfo.get(e),o=n.quads;for(const n of o){const o={subject:null,predicate:n.predicate,object:null,graph:null};o.subject=this.modifyFirstDegreeComponent(e,n.subject,"subject"),o.object=this.modifyFirstDegreeComponent(e,n.object,"object"),o.graph=this.modifyFirstDegreeComponent(e,n.graph,"graph"),t.push(i.serializeQuad(o))}t.sort();const r=this.createMessageDigest();for(const e of t)r.update(e);return n.hash=await r.digest(),n.hash}async hashRelatedBlankNode(e,t,n,o){let r;r=this.canonicalIssuer.hasId(e)?this.canonicalIssuer.getId(e):n.hasId(e)?n.getId(e):this.blankNodeInfo.get(e).hash;const a=this.createMessageDigest();return a.update(o),"g"!==o&&a.update(this.getRelatedPredicate(t)),a.update(r),a.digest()}async hashNDegreeQuads(e,t){const n=this.deepIterations.get(e)||0;if(n>this.maxDeepIterations)throw new Error(`Maximum deep iterations (${this.maxDeepIterations}) exceeded.`);this.deepIterations.set(e,n+1);const o=this.createMessageDigest(),r=await this.createHashToRelated(e,t),i=[...r.keys()].sort();for(const e of i){o.update(e);let n,i="";const s=new a(r.get(e));let l=0;for(;s.hasNext();){const e=s.next();++l%3==0&&await this._yield();let o=t.clone(),r="";const a=[];let c=!1;for(const t of e)if(this.canonicalIssuer.hasId(t)?r+=this.canonicalIssuer.getId(t):(o.hasId(t)||a.push(t),r+=o.getId(t)),0!==i.length&&r>i){c=!0;break}if(!c){for(const e of a){const t=await this.hashNDegreeQuads(e,o);if(r+=o.getId(e),r+=`<${t.hash}>`,o=t.issuer,0!==i.length&&r>i){c=!0;break}}c||(0===i.length||r`}async createHashToRelated(e,t){const n=new Map,o=this.blankNodeInfo.get(e).quads;let r=0;for(const a of o)++r%100==0&&await this._yield(),await Promise.all([this._addRelatedBlankNodeHash({quad:a,component:a.subject,position:"s",id:e,issuer:t,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:a,component:a.object,position:"o",id:e,issuer:t,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:a,component:a.graph,position:"g",id:e,issuer:t,hashToRelated:n})]);return n}async _hashAndTrackBlankNode({id:e,hashToBlankNodes:t}){const n=await this.hashFirstDegreeQuads(e),o=t.get(n);o?o.push(e):t.set(n,[e])}_addBlankNodeQuadInfo({quad:e,component:t}){if("BlankNode"!==t.termType)return;const n=t.value,o=this.blankNodeInfo.get(n);o?o.quads.add(e):this.blankNodeInfo.set(n,{quads:new Set([e]),hash:null})}async _addRelatedBlankNodeHash({quad:e,component:t,position:n,id:o,issuer:r,hashToRelated:a}){if("BlankNode"!==t.termType||t.value===o)return;const i=t.value,s=await this.hashRelatedBlankNode(i,e,r,n),l=a.get(s);l?l.push(i):a.set(s,[i])}_componentWithCanonicalId(e){return"BlankNode"!==e.termType||e.value.startsWith(this.canonicalIssuer.prefix)?e:{termType:"BlankNode",value:this.canonicalIssuer.getId(e.value)}}async _yield(){return new Promise((e=>setImmediate(e)))}}},6280:(e,t,n)=>{"use strict";const o=n(7207),r=n(2269),a=n(1747),i=n(3281);function s(e,t){return e.hasht.hash?1:0}e.exports=class{constructor({createMessageDigest:e=(()=>new r("sha256")),canonicalIdMap:t=new Map,maxDeepIterations:n=1/0}={}){this.name="URDNA2015",this.blankNodeInfo=new Map,this.canonicalIssuer=new o("_:c14n",t),this.createMessageDigest=e,this.maxDeepIterations=n,this.quads=null,this.deepIterations=null}main(e){this.deepIterations=new Map,this.quads=e;for(const t of e)this._addBlankNodeQuadInfo({quad:t,component:t.subject}),this._addBlankNodeQuadInfo({quad:t,component:t.object}),this._addBlankNodeQuadInfo({quad:t,component:t.graph});const t=new Map,n=[...this.blankNodeInfo.keys()];for(const e of n)this._hashAndTrackBlankNode({id:e,hashToBlankNodes:t});const r=[...t.keys()].sort(),a=[];for(const e of r){const n=t.get(e);if(n.length>1){a.push(n);continue}const o=n[0];this.canonicalIssuer.getId(o)}for(const e of a){const t=[];for(const n of e){if(this.canonicalIssuer.hasId(n))continue;const e=new o("_:b");e.getId(n);const r=this.hashNDegreeQuads(n,e);t.push(r)}t.sort(s);for(const e of t){const t=e.issuer.getOldIds();for(const e of t)this.canonicalIssuer.getId(e)}}const l=[];for(const e of this.quads){const t=i.serializeQuadComponents(this._componentWithCanonicalId({component:e.subject}),e.predicate,this._componentWithCanonicalId({component:e.object}),this._componentWithCanonicalId({component:e.graph}));l.push(t)}return l.sort(),l.join("")}hashFirstDegreeQuads(e){const t=[],n=this.blankNodeInfo.get(e),o=n.quads;for(const n of o){const o={subject:null,predicate:n.predicate,object:null,graph:null};o.subject=this.modifyFirstDegreeComponent(e,n.subject,"subject"),o.object=this.modifyFirstDegreeComponent(e,n.object,"object"),o.graph=this.modifyFirstDegreeComponent(e,n.graph,"graph"),t.push(i.serializeQuad(o))}t.sort();const r=this.createMessageDigest();for(const e of t)r.update(e);return n.hash=r.digest(),n.hash}hashRelatedBlankNode(e,t,n,o){let r;r=this.canonicalIssuer.hasId(e)?this.canonicalIssuer.getId(e):n.hasId(e)?n.getId(e):this.blankNodeInfo.get(e).hash;const a=this.createMessageDigest();return a.update(o),"g"!==o&&a.update(this.getRelatedPredicate(t)),a.update(r),a.digest()}hashNDegreeQuads(e,t){const n=this.deepIterations.get(e)||0;if(n>this.maxDeepIterations)throw new Error(`Maximum deep iterations (${this.maxDeepIterations}) exceeded.`);this.deepIterations.set(e,n+1);const o=this.createMessageDigest(),r=this.createHashToRelated(e,t),i=[...r.keys()].sort();for(const e of i){o.update(e);let n,i="";const s=new a(r.get(e));for(;s.hasNext();){const e=s.next();let o=t.clone(),r="";const a=[];let l=!1;for(const t of e)if(this.canonicalIssuer.hasId(t)?r+=this.canonicalIssuer.getId(t):(o.hasId(t)||a.push(t),r+=o.getId(t)),0!==i.length&&r>i){l=!0;break}if(!l){for(const e of a){const t=this.hashNDegreeQuads(e,o);if(r+=o.getId(e),r+=`<${t.hash}>`,o=t.issuer,0!==i.length&&r>i){l=!0;break}}l||(0===i.length||r`}createHashToRelated(e,t){const n=new Map,o=this.blankNodeInfo.get(e).quads;for(const r of o)this._addRelatedBlankNodeHash({quad:r,component:r.subject,position:"s",id:e,issuer:t,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.object,position:"o",id:e,issuer:t,hashToRelated:n}),this._addRelatedBlankNodeHash({quad:r,component:r.graph,position:"g",id:e,issuer:t,hashToRelated:n});return n}_hashAndTrackBlankNode({id:e,hashToBlankNodes:t}){const n=this.hashFirstDegreeQuads(e),o=t.get(n);o?o.push(e):t.set(n,[e])}_addBlankNodeQuadInfo({quad:e,component:t}){if("BlankNode"!==t.termType)return;const n=t.value,o=this.blankNodeInfo.get(n);o?o.quads.add(e):this.blankNodeInfo.set(n,{quads:new Set([e]),hash:null})}_addRelatedBlankNodeHash({quad:e,component:t,position:n,id:o,issuer:r,hashToRelated:a}){if("BlankNode"!==t.termType||t.value===o)return;const i=t.value,s=this.hashRelatedBlankNode(i,e,r,n),l=a.get(s);l?l.push(i):a.set(s,[i])}_componentWithCanonicalId({component:e}){return"BlankNode"!==e.termType||e.value.startsWith(this.canonicalIssuer.prefix)?e:{termType:"BlankNode",value:this.canonicalIssuer.getId(e.value)}}}},715:(e,t,n)=>{"use strict";const o=n(2269),r=n(6991);e.exports=class extends r{constructor(){super(),this.name="URGNA2012",this.createMessageDigest=()=>new o("sha1")}modifyFirstDegreeComponent(e,t,n){return"BlankNode"!==t.termType?t:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:t.value===e?"_:a":"_:z"}}getRelatedPredicate(e){return e.predicate.value}async createHashToRelated(e,t){const n=new Map,o=this.blankNodeInfo.get(e).quads;let r=0;for(const a of o){let o,i;if("BlankNode"===a.subject.termType&&a.subject.value!==e)i=a.subject.value,o="p";else{if("BlankNode"!==a.object.termType||a.object.value===e)continue;i=a.object.value,o="r"}++r%100==0&&await this._yield();const s=await this.hashRelatedBlankNode(i,a,t,o),l=n.get(s);l?l.push(i):n.set(s,[i])}return n}}},8172:(e,t,n)=>{"use strict";const o=n(2269),r=n(6280);e.exports=class extends r{constructor(){super(),this.name="URGNA2012",this.createMessageDigest=()=>new o("sha1")}modifyFirstDegreeComponent(e,t,n){return"BlankNode"!==t.termType?t:"graph"===n?{termType:"BlankNode",value:"_:g"}:{termType:"BlankNode",value:t.value===e?"_:a":"_:z"}}getRelatedPredicate(e){return e.predicate.value}createHashToRelated(e,t){const n=new Map,o=this.blankNodeInfo.get(e).quads;for(const r of o){let o,a;if("BlankNode"===r.subject.termType&&r.subject.value!==e)a=r.subject.value,o="p";else{if("BlankNode"!==r.object.termType||r.object.value===e)continue;a=r.object.value,o="r"}const i=this.hashRelatedBlankNode(a,r,t,o),s=n.get(i);s?s.push(a):n.set(i,[a])}return n}}},147:(e,t,n)=>{"use strict";const o=n(6991),r=n(715),a=n(6280),i=n(8172);let s;try{s=n(7789)}catch(e){}function l(e){return Array.isArray(e)?e:t.NQuads.legacyDatasetToQuads(e)}t.NQuads=n(3281),t.IdentifierIssuer=n(7207),t._rdfCanonizeNative=function(e){return e&&(s=e),s},t.canonize=async function(e,t){const n=l(e);if(t.useNative){if(!s)throw new Error("rdf-canonize-native not available");if(t.createMessageDigest)throw new Error('"createMessageDigest" cannot be used with "useNative".');return new Promise(((e,o)=>s.canonize(n,t,((t,n)=>t?o(t):e(n)))))}if("URDNA2015"===t.algorithm)return new o(t).main(n);if("URGNA2012"===t.algorithm){if(t.createMessageDigest)throw new Error('"createMessageDigest" cannot be used with "URGNA2012".');return new r(t).main(n)}if(!("algorithm"in t))throw new Error("No RDF Dataset Canonicalization algorithm specified.");throw new Error("Invalid RDF Dataset Canonicalization algorithm: "+t.algorithm)},t._canonizeSync=function(e,t){const n=l(e);if(t.useNative){if(!s)throw new Error("rdf-canonize-native not available");if(t.createMessageDigest)throw new Error('"createMessageDigest" cannot be used with "useNative".');return s.canonizeSync(n,t)}if("URDNA2015"===t.algorithm)return new a(t).main(n);if("URGNA2012"===t.algorithm){if(t.createMessageDigest)throw new Error('"createMessageDigest" cannot be used with "URGNA2012".');return new i(t).main(n)}if(!("algorithm"in t))throw new Error("No RDF Dataset Canonicalization algorithm specified.");throw new Error("Invalid RDF Dataset Canonicalization algorithm: "+t.algorithm)}},6945:function(e,t,n){var o=n(9964);!function(e,t){"use strict";if(!e.setImmediate){var n,r,a,i,s,l=1,c={},d=!1,u=e.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(e);p=p&&p.setTimeout?p:e,"[object process]"==={}.toString.call(e.process)?n=function(e){o.nextTick((function(){f(e)}))}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(i="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(i)&&f(+t.data.slice(i.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),n=function(t){e.postMessage(i+t,"*")}):e.MessageChannel?((a=new MessageChannel).port1.onmessage=function(e){f(e.data)},n=function(e){a.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(r=u.documentElement,n=function(e){var t=u.createElement("script");t.onreadystatechange=function(){f(e),t.onreadystatechange=null,r.removeChild(t),t=null},r.appendChild(t)}):n=function(e){setTimeout(f,0,e)},p.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),o=0;o {\n const comma = ci === 0 ? '' : ',';\n const value = cv === undefined || typeof cv === 'symbol' ? null : cv;\n return t + comma + serialize(value);\n }, '') + ']';\n }\n\n return '{' + Object.keys(object).sort().reduce((t, cv, ci) => {\n if (object[cv] === undefined ||\n typeof object[cv] === 'symbol') {\n return t;\n }\n const comma = t.length === 0 ? '' : ',';\n return t + comma + serialize(cv) + ':' + serialize(object[cv]);\n }, '') + '}';\n};\n","/*\n * Copyright (c) 2019 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst {\n isArray: _isArray,\n isObject: _isObject,\n isString: _isString,\n} = require('./types');\nconst {\n asArray: _asArray\n} = require('./util');\nconst {prependBase} = require('./url');\nconst JsonLdError = require('./JsonLdError');\nconst ResolvedContext = require('./ResolvedContext');\n\nconst MAX_CONTEXT_URLS = 10;\n\nmodule.exports = class ContextResolver {\n /**\n * Creates a ContextResolver.\n *\n * @param sharedCache a shared LRU cache with `get` and `set` APIs.\n */\n constructor({sharedCache}) {\n this.perOpCache = new Map();\n this.sharedCache = sharedCache;\n }\n\n async resolve({\n activeCtx, context, documentLoader, base, cycles = new Set()\n }) {\n // process `@context`\n if(context && _isObject(context) && context['@context']) {\n context = context['@context'];\n }\n\n // context is one or more contexts\n context = _asArray(context);\n\n // resolve each context in the array\n const allResolved = [];\n for(const ctx of context) {\n if(_isString(ctx)) {\n // see if `ctx` has been resolved before...\n let resolved = this._get(ctx);\n if(!resolved) {\n // not resolved yet, resolve\n resolved = await this._resolveRemoteContext(\n {activeCtx, url: ctx, documentLoader, base, cycles});\n }\n\n // add to output and continue\n if(_isArray(resolved)) {\n allResolved.push(...resolved);\n } else {\n allResolved.push(resolved);\n }\n continue;\n }\n if(ctx === null) {\n // handle `null` context, nothing to cache\n allResolved.push(new ResolvedContext({document: null}));\n continue;\n }\n if(!_isObject(ctx)) {\n _throwInvalidLocalContext(context);\n }\n // context is an object, get/create `ResolvedContext` for it\n const key = JSON.stringify(ctx);\n let resolved = this._get(key);\n if(!resolved) {\n // create a new static `ResolvedContext` and cache it\n resolved = new ResolvedContext({document: ctx});\n this._cacheResolvedContext({key, resolved, tag: 'static'});\n }\n allResolved.push(resolved);\n }\n\n return allResolved;\n }\n\n _get(key) {\n // get key from per operation cache; no `tag` is used with this cache so\n // any retrieved context will always be the same during a single operation\n let resolved = this.perOpCache.get(key);\n if(!resolved) {\n // see if the shared cache has a `static` entry for this URL\n const tagMap = this.sharedCache.get(key);\n if(tagMap) {\n resolved = tagMap.get('static');\n if(resolved) {\n this.perOpCache.set(key, resolved);\n }\n }\n }\n return resolved;\n }\n\n _cacheResolvedContext({key, resolved, tag}) {\n this.perOpCache.set(key, resolved);\n if(tag !== undefined) {\n let tagMap = this.sharedCache.get(key);\n if(!tagMap) {\n tagMap = new Map();\n this.sharedCache.set(key, tagMap);\n }\n tagMap.set(tag, resolved);\n }\n return resolved;\n }\n\n async _resolveRemoteContext({activeCtx, url, documentLoader, base, cycles}) {\n // resolve relative URL and fetch context\n url = prependBase(base, url);\n const {context, remoteDoc} = await this._fetchContext(\n {activeCtx, url, documentLoader, cycles});\n\n // update base according to remote document and resolve any relative URLs\n base = remoteDoc.documentUrl || url;\n _resolveContextUrls({context, base});\n\n // resolve, cache, and return context\n const resolved = await this.resolve(\n {activeCtx, context, documentLoader, base, cycles});\n this._cacheResolvedContext({key: url, resolved, tag: remoteDoc.tag});\n return resolved;\n }\n\n async _fetchContext({activeCtx, url, documentLoader, cycles}) {\n // check for max context URLs fetched during a resolve operation\n if(cycles.size > MAX_CONTEXT_URLS) {\n throw new JsonLdError(\n 'Maximum number of @context URLs exceeded.',\n 'jsonld.ContextUrlError',\n {\n code: activeCtx.processingMode === 'json-ld-1.0' ?\n 'loading remote context failed' :\n 'context overflow',\n max: MAX_CONTEXT_URLS\n });\n }\n\n // check for context URL cycle\n // shortcut to avoid extra work that would eventually hit the max above\n if(cycles.has(url)) {\n throw new JsonLdError(\n 'Cyclical @context URLs detected.',\n 'jsonld.ContextUrlError',\n {\n code: activeCtx.processingMode === 'json-ld-1.0' ?\n 'recursive context inclusion' :\n 'context overflow',\n url\n });\n }\n\n // track cycles\n cycles.add(url);\n\n let context;\n let remoteDoc;\n\n try {\n remoteDoc = await documentLoader(url);\n context = remoteDoc.document || null;\n // parse string context as JSON\n if(_isString(context)) {\n context = JSON.parse(context);\n }\n } catch(e) {\n throw new JsonLdError(\n 'Dereferencing a URL did not result in a valid JSON-LD object. ' +\n 'Possible causes are an inaccessible URL perhaps due to ' +\n 'a same-origin policy (ensure the server uses CORS if you are ' +\n 'using client-side JavaScript), too many redirects, a ' +\n 'non-JSON response, or more than one HTTP Link Header was ' +\n 'provided for a remote context.',\n 'jsonld.InvalidUrl',\n {code: 'loading remote context failed', url, cause: e});\n }\n\n // ensure ctx is an object\n if(!_isObject(context)) {\n throw new JsonLdError(\n 'Dereferencing a URL did not result in a JSON object. The ' +\n 'response was valid JSON, but it was not a JSON object.',\n 'jsonld.InvalidUrl', {code: 'invalid remote context', url});\n }\n\n // use empty context if no @context key is present\n if(!('@context' in context)) {\n context = {'@context': {}};\n } else {\n context = {'@context': context['@context']};\n }\n\n // append @context URL to context if given\n if(remoteDoc.contextUrl) {\n if(!_isArray(context['@context'])) {\n context['@context'] = [context['@context']];\n }\n context['@context'].push(remoteDoc.contextUrl);\n }\n\n return {context, remoteDoc};\n }\n};\n\nfunction _throwInvalidLocalContext(ctx) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context must be an object.',\n 'jsonld.SyntaxError', {\n code: 'invalid local context', context: ctx\n });\n}\n\n/**\n * Resolve all relative `@context` URLs in the given context by inline\n * replacing them with absolute URLs.\n *\n * @param context the context.\n * @param base the base IRI to use to resolve relative IRIs.\n */\nfunction _resolveContextUrls({context, base}) {\n if(!context) {\n return;\n }\n\n const ctx = context['@context'];\n\n if(_isString(ctx)) {\n context['@context'] = prependBase(base, ctx);\n return;\n }\n\n if(_isArray(ctx)) {\n for(let i = 0; i < ctx.length; ++i) {\n const element = ctx[i];\n if(_isString(element)) {\n ctx[i] = prependBase(base, element);\n continue;\n }\n if(_isObject(element)) {\n _resolveContextUrls({context: {'@context': element}, base});\n }\n }\n return;\n }\n\n if(!_isObject(ctx)) {\n // no @context URLs can be found in non-object\n return;\n }\n\n // ctx is an object, resolve any context URLs in terms\n for(const term in ctx) {\n _resolveContextUrls({context: ctx[term], base});\n }\n}\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nmodule.exports = class JsonLdError extends Error {\n /**\n * Creates a JSON-LD Error.\n *\n * @param msg the error message.\n * @param type the error type.\n * @param details the error details.\n */\n constructor(\n message = 'An unspecified JSON-LD error occurred.',\n name = 'jsonld.Error',\n details = {}) {\n super(message);\n this.name = name;\n this.message = message;\n this.details = details;\n }\n};\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nmodule.exports = jsonld => {\n class JsonLdProcessor {\n toString() {\n return '[object JsonLdProcessor]';\n }\n }\n Object.defineProperty(JsonLdProcessor, 'prototype', {\n writable: false,\n enumerable: false\n });\n Object.defineProperty(JsonLdProcessor.prototype, 'constructor', {\n writable: true,\n enumerable: false,\n configurable: true,\n value: JsonLdProcessor\n });\n\n // The Web IDL test harness will check the number of parameters defined in\n // the functions below. The number of parameters must exactly match the\n // required (non-optional) parameters of the JsonLdProcessor interface as\n // defined here:\n // https://www.w3.org/TR/json-ld-api/#the-jsonldprocessor-interface\n\n JsonLdProcessor.compact = function(input, ctx) {\n if(arguments.length < 2) {\n return Promise.reject(\n new TypeError('Could not compact, too few arguments.'));\n }\n return jsonld.compact(input, ctx);\n };\n JsonLdProcessor.expand = function(input) {\n if(arguments.length < 1) {\n return Promise.reject(\n new TypeError('Could not expand, too few arguments.'));\n }\n return jsonld.expand(input);\n };\n JsonLdProcessor.flatten = function(input) {\n if(arguments.length < 1) {\n return Promise.reject(\n new TypeError('Could not flatten, too few arguments.'));\n }\n return jsonld.flatten(input);\n };\n\n return JsonLdProcessor;\n};\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\n// TODO: move `NQuads` to its own package\nmodule.exports = require('rdf-canonize').NQuads;\n","/*\n * Copyright (c) 2017-2019 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nmodule.exports = class RequestQueue {\n /**\n * Creates a simple queue for requesting documents.\n */\n constructor() {\n this._requests = {};\n }\n\n wrapLoader(loader) {\n const self = this;\n self._loader = loader;\n return function(/* url */) {\n return self.add.apply(self, arguments);\n };\n }\n\n async add(url) {\n let promise = this._requests[url];\n if(promise) {\n // URL already queued, wait for it to load\n return Promise.resolve(promise);\n }\n\n // queue URL and load it\n promise = this._requests[url] = this._loader(url);\n\n try {\n return await promise;\n } finally {\n delete this._requests[url];\n }\n }\n};\n","/*\n * Copyright (c) 2019 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst LRU = require('lru-cache');\n\nconst MAX_ACTIVE_CONTEXTS = 10;\n\nmodule.exports = class ResolvedContext {\n /**\n * Creates a ResolvedContext.\n *\n * @param document the context document.\n */\n constructor({document}) {\n this.document = document;\n // TODO: enable customization of processed context cache\n // TODO: limit based on size of processed contexts vs. number of them\n this.cache = new LRU({max: MAX_ACTIVE_CONTEXTS});\n }\n\n getProcessed(activeCtx) {\n return this.cache.get(activeCtx);\n }\n\n setProcessed(activeCtx, processedCtx) {\n this.cache.set(activeCtx, processedCtx);\n }\n};\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst JsonLdError = require('./JsonLdError');\n\nconst {\n isArray: _isArray,\n isObject: _isObject,\n isString: _isString,\n isUndefined: _isUndefined\n} = require('./types');\n\nconst {\n isList: _isList,\n isValue: _isValue,\n isGraph: _isGraph,\n isSimpleGraph: _isSimpleGraph,\n isSubjectReference: _isSubjectReference\n} = require('./graphTypes');\n\nconst {\n expandIri: _expandIri,\n getContextValue: _getContextValue,\n isKeyword: _isKeyword,\n process: _processContext,\n processingMode: _processingMode\n} = require('./context');\n\nconst {\n removeBase: _removeBase,\n prependBase: _prependBase\n} = require('./url');\n\nconst {\n REGEX_KEYWORD,\n addValue: _addValue,\n asArray: _asArray,\n compareShortestLeast: _compareShortestLeast\n} = require('./util');\n\nconst api = {};\nmodule.exports = api;\n\n/**\n * Recursively compacts an element using the given active context. All values\n * must be in expanded form before this method is called.\n *\n * @param activeCtx the active context to use.\n * @param activeProperty the compacted property associated with the element\n * to compact, null for none.\n * @param element the element to compact.\n * @param options the compaction options.\n *\n * @return a promise that resolves to the compacted value.\n */\napi.compact = async ({\n activeCtx,\n activeProperty = null,\n element,\n options = {}\n}) => {\n // recursively compact array\n if(_isArray(element)) {\n let rval = [];\n for(let i = 0; i < element.length; ++i) {\n const compacted = await api.compact({\n activeCtx,\n activeProperty,\n element: element[i],\n options\n });\n if(compacted === null) {\n // FIXME: need event?\n continue;\n }\n rval.push(compacted);\n }\n if(options.compactArrays && rval.length === 1) {\n // use single element if no container is specified\n const container = _getContextValue(\n activeCtx, activeProperty, '@container') || [];\n if(container.length === 0) {\n rval = rval[0];\n }\n }\n return rval;\n }\n\n // use any scoped context on activeProperty\n const ctx = _getContextValue(activeCtx, activeProperty, '@context');\n if(!_isUndefined(ctx)) {\n activeCtx = await _processContext({\n activeCtx,\n localCtx: ctx,\n propagate: true,\n overrideProtected: true,\n options\n });\n }\n\n // recursively compact object\n if(_isObject(element)) {\n if(options.link && '@id' in element &&\n options.link.hasOwnProperty(element['@id'])) {\n // check for a linked element to reuse\n const linked = options.link[element['@id']];\n for(let i = 0; i < linked.length; ++i) {\n if(linked[i].expanded === element) {\n return linked[i].compacted;\n }\n }\n }\n\n // do value compaction on @values and subject references\n if(_isValue(element) || _isSubjectReference(element)) {\n const rval =\n api.compactValue({activeCtx, activeProperty, value: element, options});\n if(options.link && _isSubjectReference(element)) {\n // store linked element\n if(!(options.link.hasOwnProperty(element['@id']))) {\n options.link[element['@id']] = [];\n }\n options.link[element['@id']].push({expanded: element, compacted: rval});\n }\n return rval;\n }\n\n // if expanded property is @list and we're contained within a list\n // container, recursively compact this item to an array\n if(_isList(element)) {\n const container = _getContextValue(\n activeCtx, activeProperty, '@container') || [];\n if(container.includes('@list')) {\n return api.compact({\n activeCtx,\n activeProperty,\n element: element['@list'],\n options\n });\n }\n }\n\n // FIXME: avoid misuse of active property as an expanded property?\n const insideReverse = (activeProperty === '@reverse');\n\n const rval = {};\n\n // original context before applying property-scoped and local contexts\n const inputCtx = activeCtx;\n\n // revert to previous context, if there is one,\n // and element is not a value object or a node reference\n if(!_isValue(element) && !_isSubjectReference(element)) {\n activeCtx = activeCtx.revertToPreviousContext();\n }\n\n // apply property-scoped context after reverting term-scoped context\n const propertyScopedCtx =\n _getContextValue(inputCtx, activeProperty, '@context');\n if(!_isUndefined(propertyScopedCtx)) {\n activeCtx = await _processContext({\n activeCtx,\n localCtx: propertyScopedCtx,\n propagate: true,\n overrideProtected: true,\n options\n });\n }\n\n if(options.link && '@id' in element) {\n // store linked element\n if(!options.link.hasOwnProperty(element['@id'])) {\n options.link[element['@id']] = [];\n }\n options.link[element['@id']].push({expanded: element, compacted: rval});\n }\n\n // apply any context defined on an alias of @type\n // if key is @type and any compacted value is a term having a local\n // context, overlay that context\n let types = element['@type'] || [];\n if(types.length > 1) {\n types = Array.from(types).sort();\n }\n // find all type-scoped contexts based on current context, prior to\n // updating it\n const typeContext = activeCtx;\n for(const type of types) {\n const compactedType = api.compactIri(\n {activeCtx: typeContext, iri: type, relativeTo: {vocab: true}});\n\n // Use any type-scoped context defined on this value\n const ctx = _getContextValue(inputCtx, compactedType, '@context');\n if(!_isUndefined(ctx)) {\n activeCtx = await _processContext({\n activeCtx,\n localCtx: ctx,\n options,\n propagate: false\n });\n }\n }\n\n // process element keys in order\n const keys = Object.keys(element).sort();\n for(const expandedProperty of keys) {\n const expandedValue = element[expandedProperty];\n\n // compact @id\n if(expandedProperty === '@id') {\n let compactedValue = _asArray(expandedValue).map(\n expandedIri => api.compactIri({\n activeCtx,\n iri: expandedIri,\n relativeTo: {vocab: false},\n base: options.base\n }));\n if(compactedValue.length === 1) {\n compactedValue = compactedValue[0];\n }\n\n // use keyword alias and add value\n const alias = api.compactIri(\n {activeCtx, iri: '@id', relativeTo: {vocab: true}});\n\n rval[alias] = compactedValue;\n continue;\n }\n\n // compact @type(s)\n if(expandedProperty === '@type') {\n // resolve type values against previous context\n let compactedValue = _asArray(expandedValue).map(\n expandedIri => api.compactIri({\n activeCtx: inputCtx,\n iri: expandedIri,\n relativeTo: {vocab: true}\n }));\n if(compactedValue.length === 1) {\n compactedValue = compactedValue[0];\n }\n\n // use keyword alias and add value\n const alias = api.compactIri(\n {activeCtx, iri: '@type', relativeTo: {vocab: true}});\n const container = _getContextValue(\n activeCtx, alias, '@container') || [];\n\n // treat as array for @type if @container includes @set\n const typeAsSet =\n container.includes('@set') &&\n _processingMode(activeCtx, 1.1);\n const isArray =\n typeAsSet || (_isArray(compactedValue) && expandedValue.length === 0);\n _addValue(rval, alias, compactedValue, {propertyIsArray: isArray});\n continue;\n }\n\n // handle @reverse\n if(expandedProperty === '@reverse') {\n // recursively compact expanded value\n const compactedValue = await api.compact({\n activeCtx,\n activeProperty: '@reverse',\n element: expandedValue,\n options\n });\n\n // handle double-reversed properties\n for(const compactedProperty in compactedValue) {\n if(activeCtx.mappings.has(compactedProperty) &&\n activeCtx.mappings.get(compactedProperty).reverse) {\n const value = compactedValue[compactedProperty];\n const container = _getContextValue(\n activeCtx, compactedProperty, '@container') || [];\n const useArray = (\n container.includes('@set') || !options.compactArrays);\n _addValue(\n rval, compactedProperty, value, {propertyIsArray: useArray});\n delete compactedValue[compactedProperty];\n }\n }\n\n if(Object.keys(compactedValue).length > 0) {\n // use keyword alias and add value\n const alias = api.compactIri({\n activeCtx,\n iri: expandedProperty,\n relativeTo: {vocab: true}\n });\n _addValue(rval, alias, compactedValue);\n }\n\n continue;\n }\n\n if(expandedProperty === '@preserve') {\n // compact using activeProperty\n const compactedValue = await api.compact({\n activeCtx,\n activeProperty,\n element: expandedValue,\n options\n });\n\n if(!(_isArray(compactedValue) && compactedValue.length === 0)) {\n _addValue(rval, expandedProperty, compactedValue);\n }\n continue;\n }\n\n // handle @index property\n if(expandedProperty === '@index') {\n // drop @index if inside an @index container\n const container = _getContextValue(\n activeCtx, activeProperty, '@container') || [];\n if(container.includes('@index')) {\n continue;\n }\n\n // use keyword alias and add value\n const alias = api.compactIri({\n activeCtx,\n iri: expandedProperty,\n relativeTo: {vocab: true}\n });\n _addValue(rval, alias, expandedValue);\n continue;\n }\n\n // skip array processing for keywords that aren't\n // @graph, @list, or @included\n if(expandedProperty !== '@graph' && expandedProperty !== '@list' &&\n expandedProperty !== '@included' &&\n _isKeyword(expandedProperty)) {\n // use keyword alias and add value as is\n const alias = api.compactIri({\n activeCtx,\n iri: expandedProperty,\n relativeTo: {vocab: true}\n });\n _addValue(rval, alias, expandedValue);\n continue;\n }\n\n // Note: expanded value must be an array due to expansion algorithm.\n if(!_isArray(expandedValue)) {\n throw new JsonLdError(\n 'JSON-LD expansion error; expanded value must be an array.',\n 'jsonld.SyntaxError');\n }\n\n // preserve empty arrays\n if(expandedValue.length === 0) {\n const itemActiveProperty = api.compactIri({\n activeCtx,\n iri: expandedProperty,\n value: expandedValue,\n relativeTo: {vocab: true},\n reverse: insideReverse\n });\n const nestProperty = activeCtx.mappings.has(itemActiveProperty) ?\n activeCtx.mappings.get(itemActiveProperty)['@nest'] : null;\n let nestResult = rval;\n if(nestProperty) {\n _checkNestProperty(activeCtx, nestProperty, options);\n if(!_isObject(rval[nestProperty])) {\n rval[nestProperty] = {};\n }\n nestResult = rval[nestProperty];\n }\n _addValue(\n nestResult, itemActiveProperty, expandedValue, {\n propertyIsArray: true\n });\n }\n\n // recusively process array values\n for(const expandedItem of expandedValue) {\n // compact property and get container type\n const itemActiveProperty = api.compactIri({\n activeCtx,\n iri: expandedProperty,\n value: expandedItem,\n relativeTo: {vocab: true},\n reverse: insideReverse\n });\n\n // if itemActiveProperty is a @nest property, add values to nestResult,\n // otherwise rval\n const nestProperty = activeCtx.mappings.has(itemActiveProperty) ?\n activeCtx.mappings.get(itemActiveProperty)['@nest'] : null;\n let nestResult = rval;\n if(nestProperty) {\n _checkNestProperty(activeCtx, nestProperty, options);\n if(!_isObject(rval[nestProperty])) {\n rval[nestProperty] = {};\n }\n nestResult = rval[nestProperty];\n }\n\n const container = _getContextValue(\n activeCtx, itemActiveProperty, '@container') || [];\n\n // get simple @graph or @list value if appropriate\n const isGraph = _isGraph(expandedItem);\n const isList = _isList(expandedItem);\n let inner;\n if(isList) {\n inner = expandedItem['@list'];\n } else if(isGraph) {\n inner = expandedItem['@graph'];\n }\n\n // recursively compact expanded item\n let compactedItem = await api.compact({\n activeCtx,\n activeProperty: itemActiveProperty,\n element: (isList || isGraph) ? inner : expandedItem,\n options\n });\n\n // handle @list\n if(isList) {\n // ensure @list value is an array\n if(!_isArray(compactedItem)) {\n compactedItem = [compactedItem];\n }\n\n if(!container.includes('@list')) {\n // wrap using @list alias\n compactedItem = {\n [api.compactIri({\n activeCtx,\n iri: '@list',\n relativeTo: {vocab: true}\n })]: compactedItem\n };\n\n // include @index from expanded @list, if any\n if('@index' in expandedItem) {\n compactedItem[api.compactIri({\n activeCtx,\n iri: '@index',\n relativeTo: {vocab: true}\n })] = expandedItem['@index'];\n }\n } else {\n _addValue(nestResult, itemActiveProperty, compactedItem, {\n valueIsArray: true,\n allowDuplicate: true\n });\n continue;\n }\n }\n\n // Graph object compaction cases\n if(isGraph) {\n if(container.includes('@graph') && (container.includes('@id') ||\n container.includes('@index') && _isSimpleGraph(expandedItem))) {\n // get or create the map object\n let mapObject;\n if(nestResult.hasOwnProperty(itemActiveProperty)) {\n mapObject = nestResult[itemActiveProperty];\n } else {\n nestResult[itemActiveProperty] = mapObject = {};\n }\n\n // index on @id or @index or alias of @none\n const key = (container.includes('@id') ?\n expandedItem['@id'] : expandedItem['@index']) ||\n api.compactIri({activeCtx, iri: '@none',\n relativeTo: {vocab: true}});\n // add compactedItem to map, using value of `@id` or a new blank\n // node identifier\n\n _addValue(\n mapObject, key, compactedItem, {\n propertyIsArray:\n (!options.compactArrays || container.includes('@set'))\n });\n } else if(container.includes('@graph') &&\n _isSimpleGraph(expandedItem)) {\n // container includes @graph but not @id or @index and value is a\n // simple graph object add compact value\n // if compactedItem contains multiple values, it is wrapped in\n // `@included`\n if(_isArray(compactedItem) && compactedItem.length > 1) {\n compactedItem = {'@included': compactedItem};\n }\n _addValue(\n nestResult, itemActiveProperty, compactedItem, {\n propertyIsArray:\n (!options.compactArrays || container.includes('@set'))\n });\n } else {\n // wrap using @graph alias, remove array if only one item and\n // compactArrays not set\n if(_isArray(compactedItem) && compactedItem.length === 1 &&\n options.compactArrays) {\n compactedItem = compactedItem[0];\n }\n compactedItem = {\n [api.compactIri({\n activeCtx,\n iri: '@graph',\n relativeTo: {vocab: true}\n })]: compactedItem\n };\n\n // include @id from expanded graph, if any\n if('@id' in expandedItem) {\n compactedItem[api.compactIri({\n activeCtx,\n iri: '@id',\n relativeTo: {vocab: true}\n })] = expandedItem['@id'];\n }\n\n // include @index from expanded graph, if any\n if('@index' in expandedItem) {\n compactedItem[api.compactIri({\n activeCtx,\n iri: '@index',\n relativeTo: {vocab: true}\n })] = expandedItem['@index'];\n }\n _addValue(\n nestResult, itemActiveProperty, compactedItem, {\n propertyIsArray:\n (!options.compactArrays || container.includes('@set'))\n });\n }\n } else if(container.includes('@language') ||\n container.includes('@index') || container.includes('@id') ||\n container.includes('@type')) {\n // handle language and index maps\n // get or create the map object\n let mapObject;\n if(nestResult.hasOwnProperty(itemActiveProperty)) {\n mapObject = nestResult[itemActiveProperty];\n } else {\n nestResult[itemActiveProperty] = mapObject = {};\n }\n\n let key;\n if(container.includes('@language')) {\n // if container is a language map, simplify compacted value to\n // a simple string\n if(_isValue(compactedItem)) {\n compactedItem = compactedItem['@value'];\n }\n key = expandedItem['@language'];\n } else if(container.includes('@index')) {\n const indexKey = _getContextValue(\n activeCtx, itemActiveProperty, '@index') || '@index';\n const containerKey = api.compactIri(\n {activeCtx, iri: indexKey, relativeTo: {vocab: true}});\n if(indexKey === '@index') {\n key = expandedItem['@index'];\n delete compactedItem[containerKey];\n } else {\n let others;\n [key, ...others] = _asArray(compactedItem[indexKey] || []);\n if(!_isString(key)) {\n // Will use @none if it isn't a string.\n key = null;\n } else {\n switch(others.length) {\n case 0:\n delete compactedItem[indexKey];\n break;\n case 1:\n compactedItem[indexKey] = others[0];\n break;\n default:\n compactedItem[indexKey] = others;\n break;\n }\n }\n }\n } else if(container.includes('@id')) {\n const idKey = api.compactIri({activeCtx, iri: '@id',\n relativeTo: {vocab: true}});\n key = compactedItem[idKey];\n delete compactedItem[idKey];\n } else if(container.includes('@type')) {\n const typeKey = api.compactIri({\n activeCtx,\n iri: '@type',\n relativeTo: {vocab: true}\n });\n let types;\n [key, ...types] = _asArray(compactedItem[typeKey] || []);\n switch(types.length) {\n case 0:\n delete compactedItem[typeKey];\n break;\n case 1:\n compactedItem[typeKey] = types[0];\n break;\n default:\n compactedItem[typeKey] = types;\n break;\n }\n\n // If compactedItem contains a single entry\n // whose key maps to @id, recompact without @type\n if(Object.keys(compactedItem).length === 1 &&\n '@id' in expandedItem) {\n compactedItem = await api.compact({\n activeCtx,\n activeProperty: itemActiveProperty,\n element: {'@id': expandedItem['@id']},\n options\n });\n }\n }\n\n // if compacting this value which has no key, index on @none\n if(!key) {\n key = api.compactIri({activeCtx, iri: '@none',\n relativeTo: {vocab: true}});\n }\n // add compact value to map object using key from expanded value\n // based on the container type\n _addValue(\n mapObject, key, compactedItem, {\n propertyIsArray: container.includes('@set')\n });\n } else {\n // use an array if: compactArrays flag is false,\n // @container is @set or @list , value is an empty\n // array, or key is @graph\n const isArray = (!options.compactArrays ||\n container.includes('@set') || container.includes('@list') ||\n (_isArray(compactedItem) && compactedItem.length === 0) ||\n expandedProperty === '@list' || expandedProperty === '@graph');\n\n // add compact value\n _addValue(\n nestResult, itemActiveProperty, compactedItem,\n {propertyIsArray: isArray});\n }\n }\n }\n\n return rval;\n }\n\n // only primitives remain which are already compact\n return element;\n};\n\n/**\n * Compacts an IRI or keyword into a term or prefix if it can be. If the\n * IRI has an associated value it may be passed.\n *\n * @param activeCtx the active context to use.\n * @param iri the IRI to compact.\n * @param value the value to check or null.\n * @param relativeTo options for how to compact IRIs:\n * vocab: true to split after @vocab, false not to.\n * @param reverse true if a reverse property is being compacted, false if not.\n * @param base the absolute URL to use for compacting document-relative IRIs.\n *\n * @return the compacted term, prefix, keyword alias, or the original IRI.\n */\napi.compactIri = ({\n activeCtx,\n iri,\n value = null,\n relativeTo = {vocab: false},\n reverse = false,\n base = null\n}) => {\n // can't compact null\n if(iri === null) {\n return iri;\n }\n\n // if context is from a property term scoped context composed with a\n // type-scoped context, then use the previous context instead\n if(activeCtx.isPropertyTermScoped && activeCtx.previousContext) {\n activeCtx = activeCtx.previousContext;\n }\n\n const inverseCtx = activeCtx.getInverse();\n\n // if term is a keyword, it may be compacted to a simple alias\n if(_isKeyword(iri) &&\n iri in inverseCtx &&\n '@none' in inverseCtx[iri] &&\n '@type' in inverseCtx[iri]['@none'] &&\n '@none' in inverseCtx[iri]['@none']['@type']) {\n return inverseCtx[iri]['@none']['@type']['@none'];\n }\n\n // use inverse context to pick a term if iri is relative to vocab\n if(relativeTo.vocab && iri in inverseCtx) {\n const defaultLanguage = activeCtx['@language'] || '@none';\n\n // prefer @index if available in value\n const containers = [];\n if(_isObject(value) && '@index' in value && !('@graph' in value)) {\n containers.push('@index', '@index@set');\n }\n\n // if value is a preserve object, use its value\n if(_isObject(value) && '@preserve' in value) {\n value = value['@preserve'][0];\n }\n\n // prefer most specific container including @graph, prefering @set\n // variations\n if(_isGraph(value)) {\n // favor indexmap if the graph is indexed\n if('@index' in value) {\n containers.push(\n '@graph@index', '@graph@index@set', '@index', '@index@set');\n }\n // favor idmap if the graph is has an @id\n if('@id' in value) {\n containers.push(\n '@graph@id', '@graph@id@set');\n }\n containers.push('@graph', '@graph@set', '@set');\n // allow indexmap if the graph is not indexed\n if(!('@index' in value)) {\n containers.push(\n '@graph@index', '@graph@index@set', '@index', '@index@set');\n }\n // allow idmap if the graph does not have an @id\n if(!('@id' in value)) {\n containers.push('@graph@id', '@graph@id@set');\n }\n } else if(_isObject(value) && !_isValue(value)) {\n containers.push('@id', '@id@set', '@type', '@set@type');\n }\n\n // defaults for term selection based on type/language\n let typeOrLanguage = '@language';\n let typeOrLanguageValue = '@null';\n\n if(reverse) {\n typeOrLanguage = '@type';\n typeOrLanguageValue = '@reverse';\n containers.push('@set');\n } else if(_isList(value)) {\n // choose the most specific term that works for all elements in @list\n // only select @list containers if @index is NOT in value\n if(!('@index' in value)) {\n containers.push('@list');\n }\n const list = value['@list'];\n if(list.length === 0) {\n // any empty list can be matched against any term that uses the\n // @list container regardless of @type or @language\n typeOrLanguage = '@any';\n typeOrLanguageValue = '@none';\n } else {\n let commonLanguage = (list.length === 0) ? defaultLanguage : null;\n let commonType = null;\n for(let i = 0; i < list.length; ++i) {\n const item = list[i];\n let itemLanguage = '@none';\n let itemType = '@none';\n if(_isValue(item)) {\n if('@direction' in item) {\n const lang = (item['@language'] || '').toLowerCase();\n const dir = item['@direction'];\n itemLanguage = `${lang}_${dir}`;\n } else if('@language' in item) {\n itemLanguage = item['@language'].toLowerCase();\n } else if('@type' in item) {\n itemType = item['@type'];\n } else {\n // plain literal\n itemLanguage = '@null';\n }\n } else {\n itemType = '@id';\n }\n if(commonLanguage === null) {\n commonLanguage = itemLanguage;\n } else if(itemLanguage !== commonLanguage && _isValue(item)) {\n commonLanguage = '@none';\n }\n if(commonType === null) {\n commonType = itemType;\n } else if(itemType !== commonType) {\n commonType = '@none';\n }\n // there are different languages and types in the list, so choose\n // the most generic term, no need to keep iterating the list\n if(commonLanguage === '@none' && commonType === '@none') {\n break;\n }\n }\n commonLanguage = commonLanguage || '@none';\n commonType = commonType || '@none';\n if(commonType !== '@none') {\n typeOrLanguage = '@type';\n typeOrLanguageValue = commonType;\n } else {\n typeOrLanguageValue = commonLanguage;\n }\n }\n } else {\n if(_isValue(value)) {\n if('@language' in value && !('@index' in value)) {\n containers.push('@language', '@language@set');\n typeOrLanguageValue = value['@language'];\n const dir = value['@direction'];\n if(dir) {\n typeOrLanguageValue = `${typeOrLanguageValue}_${dir}`;\n }\n } else if('@direction' in value && !('@index' in value)) {\n typeOrLanguageValue = `_${value['@direction']}`;\n } else if('@type' in value) {\n typeOrLanguage = '@type';\n typeOrLanguageValue = value['@type'];\n }\n } else {\n typeOrLanguage = '@type';\n typeOrLanguageValue = '@id';\n }\n containers.push('@set');\n }\n\n // do term selection\n containers.push('@none');\n\n // an index map can be used to index values using @none, so add as a low\n // priority\n if(_isObject(value) && !('@index' in value)) {\n // allow indexing even if no @index present\n containers.push('@index', '@index@set');\n }\n\n // values without type or language can use @language map\n if(_isValue(value) && Object.keys(value).length === 1) {\n // allow indexing even if no @index present\n containers.push('@language', '@language@set');\n }\n\n const term = _selectTerm(\n activeCtx, iri, value, containers, typeOrLanguage, typeOrLanguageValue);\n if(term !== null) {\n return term;\n }\n }\n\n // no term match, use @vocab if available\n if(relativeTo.vocab) {\n if('@vocab' in activeCtx) {\n // determine if vocab is a prefix of the iri\n const vocab = activeCtx['@vocab'];\n if(iri.indexOf(vocab) === 0 && iri !== vocab) {\n // use suffix as relative iri if it is not a term in the active context\n const suffix = iri.substr(vocab.length);\n if(!activeCtx.mappings.has(suffix)) {\n return suffix;\n }\n }\n }\n }\n\n // no term or @vocab match, check for possible CURIEs\n let choice = null;\n // TODO: make FastCurieMap a class with a method to do this lookup\n const partialMatches = [];\n let iriMap = activeCtx.fastCurieMap;\n // check for partial matches of against `iri`, which means look until\n // iri.length - 1, not full length\n const maxPartialLength = iri.length - 1;\n for(let i = 0; i < maxPartialLength && iri[i] in iriMap; ++i) {\n iriMap = iriMap[iri[i]];\n if('' in iriMap) {\n partialMatches.push(iriMap[''][0]);\n }\n }\n // check partial matches in reverse order to prefer longest ones first\n for(let i = partialMatches.length - 1; i >= 0; --i) {\n const entry = partialMatches[i];\n const terms = entry.terms;\n for(const term of terms) {\n // a CURIE is usable if:\n // 1. it has no mapping, OR\n // 2. value is null, which means we're not compacting an @value, AND\n // the mapping matches the IRI\n const curie = term + ':' + iri.substr(entry.iri.length);\n const isUsableCurie = (activeCtx.mappings.get(term)._prefix &&\n (!activeCtx.mappings.has(curie) ||\n (value === null && activeCtx.mappings.get(curie)['@id'] === iri)));\n\n // select curie if it is shorter or the same length but lexicographically\n // less than the current choice\n if(isUsableCurie && (choice === null ||\n _compareShortestLeast(curie, choice) < 0)) {\n choice = curie;\n }\n }\n }\n\n // return chosen curie\n if(choice !== null) {\n return choice;\n }\n\n // If iri could be confused with a compact IRI using a term in this context,\n // signal an error\n for(const [term, td] of activeCtx.mappings) {\n if(td && td._prefix && iri.startsWith(term + ':')) {\n throw new JsonLdError(\n `Absolute IRI \"${iri}\" confused with prefix \"${term}\".`,\n 'jsonld.SyntaxError',\n {code: 'IRI confused with prefix', context: activeCtx});\n }\n }\n\n // compact IRI relative to base\n if(!relativeTo.vocab) {\n if('@base' in activeCtx) {\n if(!activeCtx['@base']) {\n // The None case preserves rval as potentially relative\n return iri;\n } else {\n const _iri = _removeBase(_prependBase(base, activeCtx['@base']), iri);\n return REGEX_KEYWORD.test(_iri) ? `./${_iri}` : _iri;\n }\n } else {\n return _removeBase(base, iri);\n }\n }\n\n // return IRI as is\n return iri;\n};\n\n/**\n * Performs value compaction on an object with '@value' or '@id' as the only\n * property.\n *\n * @param activeCtx the active context.\n * @param activeProperty the active property that points to the value.\n * @param value the value to compact.\n * @param {Object} [options] - processing options.\n *\n * @return the compaction result.\n */\napi.compactValue = ({activeCtx, activeProperty, value, options}) => {\n // value is a @value\n if(_isValue(value)) {\n // get context rules\n const type = _getContextValue(activeCtx, activeProperty, '@type');\n const language = _getContextValue(activeCtx, activeProperty, '@language');\n const direction = _getContextValue(activeCtx, activeProperty, '@direction');\n const container =\n _getContextValue(activeCtx, activeProperty, '@container') || [];\n\n // whether or not the value has an @index that must be preserved\n const preserveIndex = '@index' in value && !container.includes('@index');\n\n // if there's no @index to preserve ...\n if(!preserveIndex && type !== '@none') {\n // matching @type or @language specified in context, compact value\n if(value['@type'] === type) {\n return value['@value'];\n }\n if('@language' in value && value['@language'] === language &&\n '@direction' in value && value['@direction'] === direction) {\n return value['@value'];\n }\n if('@language' in value && value['@language'] === language) {\n return value['@value'];\n }\n if('@direction' in value && value['@direction'] === direction) {\n return value['@value'];\n }\n }\n\n // return just the value of @value if all are true:\n // 1. @value is the only key or @index isn't being preserved\n // 2. there is no default language or @value is not a string or\n // the key has a mapping with a null @language\n const keyCount = Object.keys(value).length;\n const isValueOnlyKey = (keyCount === 1 ||\n (keyCount === 2 && '@index' in value && !preserveIndex));\n const hasDefaultLanguage = ('@language' in activeCtx);\n const isValueString = _isString(value['@value']);\n const hasNullMapping = (activeCtx.mappings.has(activeProperty) &&\n activeCtx.mappings.get(activeProperty)['@language'] === null);\n if(isValueOnlyKey &&\n type !== '@none' &&\n (!hasDefaultLanguage || !isValueString || hasNullMapping)) {\n return value['@value'];\n }\n\n const rval = {};\n\n // preserve @index\n if(preserveIndex) {\n rval[api.compactIri({\n activeCtx,\n iri: '@index',\n relativeTo: {vocab: true}\n })] = value['@index'];\n }\n\n if('@type' in value) {\n // compact @type IRI\n rval[api.compactIri({\n activeCtx,\n iri: '@type',\n relativeTo: {vocab: true}\n })] = api.compactIri(\n {activeCtx, iri: value['@type'], relativeTo: {vocab: true}});\n } else if('@language' in value) {\n // alias @language\n rval[api.compactIri({\n activeCtx,\n iri: '@language',\n relativeTo: {vocab: true}\n })] = value['@language'];\n }\n\n if('@direction' in value) {\n // alias @direction\n rval[api.compactIri({\n activeCtx,\n iri: '@direction',\n relativeTo: {vocab: true}\n })] = value['@direction'];\n }\n\n // alias @value\n rval[api.compactIri({\n activeCtx,\n iri: '@value',\n relativeTo: {vocab: true}\n })] = value['@value'];\n\n return rval;\n }\n\n // value is a subject reference\n const expandedProperty = _expandIri(activeCtx, activeProperty, {vocab: true},\n options);\n const type = _getContextValue(activeCtx, activeProperty, '@type');\n const compacted = api.compactIri({\n activeCtx,\n iri: value['@id'],\n relativeTo: {vocab: type === '@vocab'},\n base: options.base});\n\n // compact to scalar\n if(type === '@id' || type === '@vocab' || expandedProperty === '@graph') {\n return compacted;\n }\n\n return {\n [api.compactIri({\n activeCtx,\n iri: '@id',\n relativeTo: {vocab: true}\n })]: compacted\n };\n};\n\n/**\n * Picks the preferred compaction term from the given inverse context entry.\n *\n * @param activeCtx the active context.\n * @param iri the IRI to pick the term for.\n * @param value the value to pick the term for.\n * @param containers the preferred containers.\n * @param typeOrLanguage either '@type' or '@language'.\n * @param typeOrLanguageValue the preferred value for '@type' or '@language'.\n *\n * @return the preferred term.\n */\nfunction _selectTerm(\n activeCtx, iri, value, containers, typeOrLanguage, typeOrLanguageValue) {\n if(typeOrLanguageValue === null) {\n typeOrLanguageValue = '@null';\n }\n\n // preferences for the value of @type or @language\n const prefs = [];\n\n // determine prefs for @id based on whether or not value compacts to a term\n if((typeOrLanguageValue === '@id' || typeOrLanguageValue === '@reverse') &&\n _isObject(value) && '@id' in value) {\n // prefer @reverse first\n if(typeOrLanguageValue === '@reverse') {\n prefs.push('@reverse');\n }\n // try to compact value to a term\n const term = api.compactIri(\n {activeCtx, iri: value['@id'], relativeTo: {vocab: true}});\n if(activeCtx.mappings.has(term) &&\n activeCtx.mappings.get(term) &&\n activeCtx.mappings.get(term)['@id'] === value['@id']) {\n // prefer @vocab\n prefs.push.apply(prefs, ['@vocab', '@id']);\n } else {\n // prefer @id\n prefs.push.apply(prefs, ['@id', '@vocab']);\n }\n } else {\n prefs.push(typeOrLanguageValue);\n\n // consider direction only\n const langDir = prefs.find(el => el.includes('_'));\n if(langDir) {\n // consider _dir portion\n prefs.push(langDir.replace(/^[^_]+_/, '_'));\n }\n }\n prefs.push('@none');\n\n const containerMap = activeCtx.inverse[iri];\n for(const container of containers) {\n // if container not available in the map, continue\n if(!(container in containerMap)) {\n continue;\n }\n\n const typeOrLanguageValueMap = containerMap[container][typeOrLanguage];\n for(const pref of prefs) {\n // if type/language option not available in the map, continue\n if(!(pref in typeOrLanguageValueMap)) {\n continue;\n }\n\n // select term\n return typeOrLanguageValueMap[pref];\n }\n }\n\n return null;\n}\n\n/**\n * The value of `@nest` in the term definition must either be `@nest`, or a term\n * which resolves to `@nest`.\n *\n * @param activeCtx the active context.\n * @param nestProperty a term in the active context or `@nest`.\n * @param {Object} [options] - processing options.\n */\nfunction _checkNestProperty(activeCtx, nestProperty, options) {\n if(_expandIri(activeCtx, nestProperty, {vocab: true}, options) !== '@nest') {\n throw new JsonLdError(\n 'JSON-LD compact error; nested property must have an @nest value ' +\n 'resolving to @nest.',\n 'jsonld.SyntaxError', {code: 'invalid @nest value'});\n }\n}\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';\nconst XSD = 'http://www.w3.org/2001/XMLSchema#';\n\nmodule.exports = {\n // TODO: Deprecated and will be removed later. Use LINK_HEADER_CONTEXT.\n LINK_HEADER_REL: 'http://www.w3.org/ns/json-ld#context',\n\n LINK_HEADER_CONTEXT: 'http://www.w3.org/ns/json-ld#context',\n\n RDF,\n RDF_LIST: RDF + 'List',\n RDF_FIRST: RDF + 'first',\n RDF_REST: RDF + 'rest',\n RDF_NIL: RDF + 'nil',\n RDF_TYPE: RDF + 'type',\n RDF_PLAIN_LITERAL: RDF + 'PlainLiteral',\n RDF_XML_LITERAL: RDF + 'XMLLiteral',\n RDF_JSON_LITERAL: RDF + 'JSON',\n RDF_OBJECT: RDF + 'object',\n RDF_LANGSTRING: RDF + 'langString',\n\n XSD,\n XSD_BOOLEAN: XSD + 'boolean',\n XSD_DOUBLE: XSD + 'double',\n XSD_INTEGER: XSD + 'integer',\n XSD_STRING: XSD + 'string',\n};\n","/*\n * Copyright (c) 2017-2019 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst util = require('./util');\nconst JsonLdError = require('./JsonLdError');\n\nconst {\n isArray: _isArray,\n isObject: _isObject,\n isString: _isString,\n isUndefined: _isUndefined\n} = require('./types');\n\nconst {\n isAbsolute: _isAbsoluteIri,\n isRelative: _isRelativeIri,\n prependBase\n} = require('./url');\n\nconst {\n handleEvent: _handleEvent\n} = require('./events');\n\nconst {\n REGEX_BCP47,\n REGEX_KEYWORD,\n asArray: _asArray,\n compareShortestLeast: _compareShortestLeast\n} = require('./util');\n\nconst INITIAL_CONTEXT_CACHE = new Map();\nconst INITIAL_CONTEXT_CACHE_MAX_SIZE = 10000;\n\nconst api = {};\nmodule.exports = api;\n\n/**\n * Processes a local context and returns a new active context.\n *\n * @param activeCtx the current active context.\n * @param localCtx the local context to process.\n * @param options the context processing options.\n * @param propagate `true` if `false`, retains any previously defined term,\n * which can be rolled back when the descending into a new node object.\n * @param overrideProtected `false` allows protected terms to be modified.\n *\n * @return a Promise that resolves to the new active context.\n */\napi.process = async ({\n activeCtx, localCtx, options,\n propagate = true,\n overrideProtected = false,\n cycles = new Set()\n}) => {\n // normalize local context to an array of @context objects\n if(_isObject(localCtx) && '@context' in localCtx &&\n _isArray(localCtx['@context'])) {\n localCtx = localCtx['@context'];\n }\n const ctxs = _asArray(localCtx);\n\n // no contexts in array, return current active context w/o changes\n if(ctxs.length === 0) {\n return activeCtx;\n }\n\n // event handler for capturing events to replay when using a cached context\n const events = [];\n const eventCaptureHandler = [\n ({event, next}) => {\n events.push(event);\n next();\n }\n ];\n // chain to original handler\n if(options.eventHandler) {\n eventCaptureHandler.push(options.eventHandler);\n }\n // store original options to use when replaying events\n const originalOptions = options;\n // shallow clone options with event capture handler\n options = {...options, eventHandler: eventCaptureHandler};\n\n // resolve contexts\n const resolved = await options.contextResolver.resolve({\n activeCtx,\n context: localCtx,\n documentLoader: options.documentLoader,\n base: options.base\n });\n\n // override propagate if first resolved context has `@propagate`\n if(_isObject(resolved[0].document) &&\n typeof resolved[0].document['@propagate'] === 'boolean') {\n // retrieve early, error checking done later\n propagate = resolved[0].document['@propagate'];\n }\n\n // process each context in order, update active context\n // on each iteration to ensure proper caching\n let rval = activeCtx;\n\n // track the previous context\n // if not propagating, make sure rval has a previous context\n if(!propagate && !rval.previousContext) {\n // clone `rval` context before updating\n rval = rval.clone();\n rval.previousContext = activeCtx;\n }\n\n for(const resolvedContext of resolved) {\n let {document: ctx} = resolvedContext;\n\n // update active context to one computed from last iteration\n activeCtx = rval;\n\n // reset to initial context\n if(ctx === null) {\n // We can't nullify if there are protected terms and we're\n // not allowing overrides (e.g. processing a property term scoped context)\n if(!overrideProtected && Object.keys(activeCtx.protected).length !== 0) {\n throw new JsonLdError(\n 'Tried to nullify a context with protected terms outside of ' +\n 'a term definition.',\n 'jsonld.SyntaxError',\n {code: 'invalid context nullification'});\n }\n rval = activeCtx = api.getInitialContext(options).clone();\n continue;\n }\n\n // get processed context from cache if available\n const processed = resolvedContext.getProcessed(activeCtx);\n if(processed) {\n if(originalOptions.eventHandler) {\n // replay events with original non-capturing options\n for(const event of processed.events) {\n _handleEvent({event, options: originalOptions});\n }\n }\n\n rval = activeCtx = processed.context;\n continue;\n }\n\n // dereference @context key if present\n if(_isObject(ctx) && '@context' in ctx) {\n ctx = ctx['@context'];\n }\n\n // context must be an object by now, all URLs retrieved before this call\n if(!_isObject(ctx)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context must be an object.',\n 'jsonld.SyntaxError', {code: 'invalid local context', context: ctx});\n }\n\n // TODO: there is likely a `previousContext` cloning optimization that\n // could be applied here (no need to copy it under certain conditions)\n\n // clone context before updating it\n rval = rval.clone();\n\n // define context mappings for keys in local context\n const defined = new Map();\n\n // handle @version\n if('@version' in ctx) {\n if(ctx['@version'] !== 1.1) {\n throw new JsonLdError(\n 'Unsupported JSON-LD version: ' + ctx['@version'],\n 'jsonld.UnsupportedVersion',\n {code: 'invalid @version value', context: ctx});\n }\n if(activeCtx.processingMode &&\n activeCtx.processingMode === 'json-ld-1.0') {\n throw new JsonLdError(\n '@version: ' + ctx['@version'] + ' not compatible with ' +\n activeCtx.processingMode,\n 'jsonld.ProcessingModeConflict',\n {code: 'processing mode conflict', context: ctx});\n }\n rval.processingMode = 'json-ld-1.1';\n rval['@version'] = ctx['@version'];\n defined.set('@version', true);\n }\n\n // if not set explicitly, set processingMode to \"json-ld-1.1\"\n rval.processingMode =\n rval.processingMode || activeCtx.processingMode;\n\n // handle @base\n if('@base' in ctx) {\n let base = ctx['@base'];\n\n if(base === null || _isAbsoluteIri(base)) {\n // no action\n } else if(_isRelativeIri(base)) {\n base = prependBase(rval['@base'], base);\n } else {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; the value of \"@base\" in a ' +\n '@context must be an absolute IRI, a relative IRI, or null.',\n 'jsonld.SyntaxError', {code: 'invalid base IRI', context: ctx});\n }\n\n rval['@base'] = base;\n defined.set('@base', true);\n }\n\n // handle @vocab\n if('@vocab' in ctx) {\n const value = ctx['@vocab'];\n if(value === null) {\n delete rval['@vocab'];\n } else if(!_isString(value)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; the value of \"@vocab\" in a ' +\n '@context must be a string or null.',\n 'jsonld.SyntaxError', {code: 'invalid vocab mapping', context: ctx});\n } else if(!_isAbsoluteIri(value) && api.processingMode(rval, 1.0)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; the value of \"@vocab\" in a ' +\n '@context must be an absolute IRI.',\n 'jsonld.SyntaxError', {code: 'invalid vocab mapping', context: ctx});\n } else {\n const vocab = _expandIri(rval, value, {vocab: true, base: true},\n undefined, undefined, options);\n if(!_isAbsoluteIri(vocab)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'relative @vocab reference',\n level: 'warning',\n message: 'Relative @vocab reference found.',\n details: {\n vocab\n }\n },\n options\n });\n }\n }\n rval['@vocab'] = vocab;\n }\n defined.set('@vocab', true);\n }\n\n // handle @language\n if('@language' in ctx) {\n const value = ctx['@language'];\n if(value === null) {\n delete rval['@language'];\n } else if(!_isString(value)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; the value of \"@language\" in a ' +\n '@context must be a string or null.',\n 'jsonld.SyntaxError',\n {code: 'invalid default language', context: ctx});\n } else {\n if(!value.match(REGEX_BCP47)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'invalid @language value',\n level: 'warning',\n message: '@language value must be valid BCP47.',\n details: {\n language: value\n }\n },\n options\n });\n }\n }\n rval['@language'] = value.toLowerCase();\n }\n defined.set('@language', true);\n }\n\n // handle @direction\n if('@direction' in ctx) {\n const value = ctx['@direction'];\n if(activeCtx.processingMode === 'json-ld-1.0') {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @direction not compatible with ' +\n activeCtx.processingMode,\n 'jsonld.SyntaxError',\n {code: 'invalid context member', context: ctx});\n }\n if(value === null) {\n delete rval['@direction'];\n } else if(value !== 'ltr' && value !== 'rtl') {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; the value of \"@direction\" in a ' +\n '@context must be null, \"ltr\", or \"rtl\".',\n 'jsonld.SyntaxError',\n {code: 'invalid base direction', context: ctx});\n } else {\n rval['@direction'] = value;\n }\n defined.set('@direction', true);\n }\n\n // handle @propagate\n // note: we've already extracted it, here we just do error checking\n if('@propagate' in ctx) {\n const value = ctx['@propagate'];\n if(activeCtx.processingMode === 'json-ld-1.0') {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @propagate not compatible with ' +\n activeCtx.processingMode,\n 'jsonld.SyntaxError',\n {code: 'invalid context entry', context: ctx});\n }\n if(typeof value !== 'boolean') {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @propagate value must be a boolean.',\n 'jsonld.SyntaxError',\n {code: 'invalid @propagate value', context: localCtx});\n }\n defined.set('@propagate', true);\n }\n\n // handle @import\n if('@import' in ctx) {\n const value = ctx['@import'];\n if(activeCtx.processingMode === 'json-ld-1.0') {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @import not compatible with ' +\n activeCtx.processingMode,\n 'jsonld.SyntaxError',\n {code: 'invalid context entry', context: ctx});\n }\n if(!_isString(value)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @import must be a string.',\n 'jsonld.SyntaxError',\n {code: 'invalid @import value', context: localCtx});\n }\n\n // resolve contexts\n const resolvedImport = await options.contextResolver.resolve({\n activeCtx,\n context: value,\n documentLoader: options.documentLoader,\n base: options.base\n });\n if(resolvedImport.length !== 1) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @import must reference a single context.',\n 'jsonld.SyntaxError',\n {code: 'invalid remote context', context: localCtx});\n }\n const processedImport = resolvedImport[0].getProcessed(activeCtx);\n if(processedImport) {\n // Note: if the same context were used in this active context\n // as a reference context, then processed_input might not\n // be a dict.\n ctx = processedImport;\n } else {\n const importCtx = resolvedImport[0].document;\n if('@import' in importCtx) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax: ' +\n 'imported context must not include @import.',\n 'jsonld.SyntaxError',\n {code: 'invalid context entry', context: localCtx});\n }\n\n // merge ctx into importCtx and replace rval with the result\n for(const key in importCtx) {\n if(!ctx.hasOwnProperty(key)) {\n ctx[key] = importCtx[key];\n }\n }\n\n // Note: this could potenially conflict if the import\n // were used in the same active context as a referenced\n // context and an import. In this case, we\n // could override the cached result, but seems unlikely.\n resolvedImport[0].setProcessed(activeCtx, ctx);\n }\n\n defined.set('@import', true);\n }\n\n // handle @protected; determine whether this sub-context is declaring\n // all its terms to be \"protected\" (exceptions can be made on a\n // per-definition basis)\n defined.set('@protected', ctx['@protected'] || false);\n\n // process all other keys\n for(const key in ctx) {\n api.createTermDefinition({\n activeCtx: rval,\n localCtx: ctx,\n term: key,\n defined,\n options,\n overrideProtected\n });\n\n if(_isObject(ctx[key]) && '@context' in ctx[key]) {\n const keyCtx = ctx[key]['@context'];\n let process = true;\n if(_isString(keyCtx)) {\n const url = prependBase(options.base, keyCtx);\n // track processed contexts to avoid scoped context recursion\n if(cycles.has(url)) {\n process = false;\n } else {\n cycles.add(url);\n }\n }\n // parse context to validate\n if(process) {\n try {\n await api.process({\n activeCtx: rval.clone(),\n localCtx: ctx[key]['@context'],\n overrideProtected: true,\n options,\n cycles\n });\n } catch(e) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; invalid scoped context.',\n 'jsonld.SyntaxError',\n {\n code: 'invalid scoped context',\n context: ctx[key]['@context'],\n term: key\n });\n }\n }\n }\n }\n\n // cache processed result\n resolvedContext.setProcessed(activeCtx, {\n context: rval,\n events\n });\n }\n\n return rval;\n};\n\n/**\n * Creates a term definition during context processing.\n *\n * @param activeCtx the current active context.\n * @param localCtx the local context being processed.\n * @param term the term in the local context to define the mapping for.\n * @param defined a map of defining/defined keys to detect cycles and prevent\n * double definitions.\n * @param {Object} [options] - creation options.\n * @param overrideProtected `false` allows protected terms to be modified.\n */\napi.createTermDefinition = ({\n activeCtx,\n localCtx,\n term,\n defined,\n options,\n overrideProtected = false,\n}) => {\n if(defined.has(term)) {\n // term already defined\n if(defined.get(term)) {\n return;\n }\n // cycle detected\n throw new JsonLdError(\n 'Cyclical context definition detected.',\n 'jsonld.CyclicalContext',\n {code: 'cyclic IRI mapping', context: localCtx, term});\n }\n\n // now defining term\n defined.set(term, false);\n\n // get context term value\n let value;\n if(localCtx.hasOwnProperty(term)) {\n value = localCtx[term];\n }\n\n if(term === '@type' &&\n _isObject(value) &&\n (value['@container'] || '@set') === '@set' &&\n api.processingMode(activeCtx, 1.1)) {\n\n const validKeys = ['@container', '@id', '@protected'];\n const keys = Object.keys(value);\n if(keys.length === 0 || keys.some(k => !validKeys.includes(k))) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; keywords cannot be overridden.',\n 'jsonld.SyntaxError',\n {code: 'keyword redefinition', context: localCtx, term});\n }\n } else if(api.isKeyword(term)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; keywords cannot be overridden.',\n 'jsonld.SyntaxError',\n {code: 'keyword redefinition', context: localCtx, term});\n } else if(term.match(REGEX_KEYWORD)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'reserved term',\n level: 'warning',\n message:\n 'Terms beginning with \"@\" are ' +\n 'reserved for future use and dropped.',\n details: {\n term\n }\n },\n options\n });\n }\n return;\n } else if(term === '') {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; a term cannot be an empty string.',\n 'jsonld.SyntaxError',\n {code: 'invalid term definition', context: localCtx});\n }\n\n // keep reference to previous mapping for potential `@protected` check\n const previousMapping = activeCtx.mappings.get(term);\n\n // remove old mapping\n if(activeCtx.mappings.has(term)) {\n activeCtx.mappings.delete(term);\n }\n\n // convert short-hand value to object w/@id\n let simpleTerm = false;\n if(_isString(value) || value === null) {\n simpleTerm = true;\n value = {'@id': value};\n }\n\n if(!_isObject(value)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context term values must be ' +\n 'strings or objects.',\n 'jsonld.SyntaxError',\n {code: 'invalid term definition', context: localCtx});\n }\n\n // create new mapping\n const mapping = {};\n activeCtx.mappings.set(term, mapping);\n mapping.reverse = false;\n\n // make sure term definition only has expected keywords\n const validKeys = ['@container', '@id', '@language', '@reverse', '@type'];\n\n // JSON-LD 1.1 support\n if(api.processingMode(activeCtx, 1.1)) {\n validKeys.push(\n '@context', '@direction', '@index', '@nest', '@prefix', '@protected');\n }\n\n for(const kw in value) {\n if(!validKeys.includes(kw)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; a term definition must not contain ' + kw,\n 'jsonld.SyntaxError',\n {code: 'invalid term definition', context: localCtx});\n }\n }\n\n // always compute whether term has a colon as an optimization for\n // _compactIri\n const colon = term.indexOf(':');\n mapping._termHasColon = (colon > 0);\n\n if('@reverse' in value) {\n if('@id' in value) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; a @reverse term definition must not ' +\n 'contain @id.', 'jsonld.SyntaxError',\n {code: 'invalid reverse property', context: localCtx});\n }\n if('@nest' in value) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; a @reverse term definition must not ' +\n 'contain @nest.', 'jsonld.SyntaxError',\n {code: 'invalid reverse property', context: localCtx});\n }\n const reverse = value['@reverse'];\n if(!_isString(reverse)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; a @context @reverse value must be a string.',\n 'jsonld.SyntaxError', {code: 'invalid IRI mapping', context: localCtx});\n }\n\n if(reverse.match(REGEX_KEYWORD)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'reserved @reverse value',\n level: 'warning',\n message:\n '@reverse values beginning with \"@\" are ' +\n 'reserved for future use and dropped.',\n details: {\n reverse\n }\n },\n options\n });\n }\n if(previousMapping) {\n activeCtx.mappings.set(term, previousMapping);\n } else {\n activeCtx.mappings.delete(term);\n }\n return;\n }\n\n // expand and add @id mapping\n const id = _expandIri(\n activeCtx, reverse, {vocab: true, base: false}, localCtx, defined,\n options);\n if(!_isAbsoluteIri(id)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; a @context @reverse value must be an ' +\n 'absolute IRI or a blank node identifier.',\n 'jsonld.SyntaxError', {code: 'invalid IRI mapping', context: localCtx});\n }\n\n mapping['@id'] = id;\n mapping.reverse = true;\n } else if('@id' in value) {\n let id = value['@id'];\n if(id && !_isString(id)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; a @context @id value must be an array ' +\n 'of strings or a string.',\n 'jsonld.SyntaxError', {code: 'invalid IRI mapping', context: localCtx});\n }\n if(id === null) {\n // reserve a null term, which may be protected\n mapping['@id'] = null;\n } else if(!api.isKeyword(id) && id.match(REGEX_KEYWORD)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'reserved @id value',\n level: 'warning',\n message:\n '@id values beginning with \"@\" are ' +\n 'reserved for future use and dropped.',\n details: {\n id\n }\n },\n options\n });\n }\n if(previousMapping) {\n activeCtx.mappings.set(term, previousMapping);\n } else {\n activeCtx.mappings.delete(term);\n }\n return;\n } else if(id !== term) {\n // expand and add @id mapping\n id = _expandIri(\n activeCtx, id, {vocab: true, base: false}, localCtx, defined, options);\n if(!_isAbsoluteIri(id) && !api.isKeyword(id)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; a @context @id value must be an ' +\n 'absolute IRI, a blank node identifier, or a keyword.',\n 'jsonld.SyntaxError',\n {code: 'invalid IRI mapping', context: localCtx});\n }\n\n // if term has the form of an IRI it must map the same\n if(term.match(/(?::[^:])|\\//)) {\n const termDefined = new Map(defined).set(term, true);\n const termIri = _expandIri(\n activeCtx, term, {vocab: true, base: false},\n localCtx, termDefined, options);\n if(termIri !== id) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; term in form of IRI must ' +\n 'expand to definition.',\n 'jsonld.SyntaxError',\n {code: 'invalid IRI mapping', context: localCtx});\n }\n }\n\n mapping['@id'] = id;\n // indicate if this term may be used as a compact IRI prefix\n mapping._prefix = (simpleTerm &&\n !mapping._termHasColon &&\n id.match(/[:\\/\\?#\\[\\]@]$/) !== null);\n }\n }\n\n if(!('@id' in mapping)) {\n // see if the term has a prefix\n if(mapping._termHasColon) {\n const prefix = term.substr(0, colon);\n if(localCtx.hasOwnProperty(prefix)) {\n // define parent prefix\n api.createTermDefinition({\n activeCtx, localCtx, term: prefix, defined, options\n });\n }\n\n if(activeCtx.mappings.has(prefix)) {\n // set @id based on prefix parent\n const suffix = term.substr(colon + 1);\n mapping['@id'] = activeCtx.mappings.get(prefix)['@id'] + suffix;\n } else {\n // term is an absolute IRI\n mapping['@id'] = term;\n }\n } else if(term === '@type') {\n // Special case, were we've previously determined that container is @set\n mapping['@id'] = term;\n } else {\n // non-IRIs *must* define @ids if @vocab is not available\n if(!('@vocab' in activeCtx)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context terms must define an @id.',\n 'jsonld.SyntaxError',\n {code: 'invalid IRI mapping', context: localCtx, term});\n }\n // prepend vocab to term\n mapping['@id'] = activeCtx['@vocab'] + term;\n }\n }\n\n // Handle term protection\n if(value['@protected'] === true ||\n (defined.get('@protected') === true && value['@protected'] !== false)) {\n activeCtx.protected[term] = true;\n mapping.protected = true;\n }\n\n // IRI mapping now defined\n defined.set(term, true);\n\n if('@type' in value) {\n let type = value['@type'];\n if(!_isString(type)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; an @context @type value must be a string.',\n 'jsonld.SyntaxError',\n {code: 'invalid type mapping', context: localCtx});\n }\n\n if((type === '@json' || type === '@none')) {\n if(api.processingMode(activeCtx, 1.0)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; an @context @type value must not be ' +\n `\"${type}\" in JSON-LD 1.0 mode.`,\n 'jsonld.SyntaxError',\n {code: 'invalid type mapping', context: localCtx});\n }\n } else if(type !== '@id' && type !== '@vocab') {\n // expand @type to full IRI\n type = _expandIri(\n activeCtx, type, {vocab: true, base: false}, localCtx, defined,\n options);\n if(!_isAbsoluteIri(type)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; an @context @type value must be an ' +\n 'absolute IRI.',\n 'jsonld.SyntaxError',\n {code: 'invalid type mapping', context: localCtx});\n }\n if(type.indexOf('_:') === 0) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; an @context @type value must be an IRI, ' +\n 'not a blank node identifier.',\n 'jsonld.SyntaxError',\n {code: 'invalid type mapping', context: localCtx});\n }\n }\n\n // add @type to mapping\n mapping['@type'] = type;\n }\n\n if('@container' in value) {\n // normalize container to an array form\n const container = _isString(value['@container']) ?\n [value['@container']] : (value['@container'] || []);\n const validContainers = ['@list', '@set', '@index', '@language'];\n let isValid = true;\n const hasSet = container.includes('@set');\n\n // JSON-LD 1.1 support\n if(api.processingMode(activeCtx, 1.1)) {\n validContainers.push('@graph', '@id', '@type');\n\n // check container length\n if(container.includes('@list')) {\n if(container.length !== 1) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context @container with @list must ' +\n 'have no other values',\n 'jsonld.SyntaxError',\n {code: 'invalid container mapping', context: localCtx});\n }\n } else if(container.includes('@graph')) {\n if(container.some(key =>\n key !== '@graph' && key !== '@id' && key !== '@index' &&\n key !== '@set')) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context @container with @graph must ' +\n 'have no other values other than @id, @index, and @set',\n 'jsonld.SyntaxError',\n {code: 'invalid container mapping', context: localCtx});\n }\n } else {\n // otherwise, container may also include @set\n isValid &= container.length <= (hasSet ? 2 : 1);\n }\n\n if(container.includes('@type')) {\n // If mapping does not have an @type,\n // set it to @id\n mapping['@type'] = mapping['@type'] || '@id';\n\n // type mapping must be either @id or @vocab\n if(!['@id', '@vocab'].includes(mapping['@type'])) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; container: @type requires @type to be ' +\n '@id or @vocab.',\n 'jsonld.SyntaxError',\n {code: 'invalid type mapping', context: localCtx});\n }\n }\n } else {\n // in JSON-LD 1.0, container must not be an array (it must be a string,\n // which is one of the validContainers)\n isValid &= !_isArray(value['@container']);\n\n // check container length\n isValid &= container.length <= 1;\n }\n\n // check against valid containers\n isValid &= container.every(c => validContainers.includes(c));\n\n // @set not allowed with @list\n isValid &= !(hasSet && container.includes('@list'));\n\n if(!isValid) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context @container value must be ' +\n 'one of the following: ' + validContainers.join(', '),\n 'jsonld.SyntaxError',\n {code: 'invalid container mapping', context: localCtx});\n }\n\n if(mapping.reverse &&\n !container.every(c => ['@index', '@set'].includes(c))) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context @container value for a @reverse ' +\n 'type definition must be @index or @set.', 'jsonld.SyntaxError',\n {code: 'invalid reverse property', context: localCtx});\n }\n\n // add @container to mapping\n mapping['@container'] = container;\n }\n\n // property indexing\n if('@index' in value) {\n if(!('@container' in value) || !mapping['@container'].includes('@index')) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @index without @index in @container: ' +\n `\"${value['@index']}\" on term \"${term}\".`, 'jsonld.SyntaxError',\n {code: 'invalid term definition', context: localCtx});\n }\n if(!_isString(value['@index']) || value['@index'].indexOf('@') === 0) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @index must expand to an IRI: ' +\n `\"${value['@index']}\" on term \"${term}\".`, 'jsonld.SyntaxError',\n {code: 'invalid term definition', context: localCtx});\n }\n mapping['@index'] = value['@index'];\n }\n\n // scoped contexts\n if('@context' in value) {\n mapping['@context'] = value['@context'];\n }\n\n if('@language' in value && !('@type' in value)) {\n let language = value['@language'];\n if(language !== null && !_isString(language)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context @language value must be ' +\n 'a string or null.', 'jsonld.SyntaxError',\n {code: 'invalid language mapping', context: localCtx});\n }\n\n // add @language to mapping\n if(language !== null) {\n language = language.toLowerCase();\n }\n mapping['@language'] = language;\n }\n\n // term may be used as a prefix\n if('@prefix' in value) {\n if(term.match(/:|\\//)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context @prefix used on a compact IRI term',\n 'jsonld.SyntaxError',\n {code: 'invalid term definition', context: localCtx});\n }\n if(api.isKeyword(mapping['@id'])) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; keywords may not be used as prefixes',\n 'jsonld.SyntaxError',\n {code: 'invalid term definition', context: localCtx});\n }\n if(typeof value['@prefix'] === 'boolean') {\n mapping._prefix = value['@prefix'] === true;\n } else {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context value for @prefix must be boolean',\n 'jsonld.SyntaxError',\n {code: 'invalid @prefix value', context: localCtx});\n }\n }\n\n if('@direction' in value) {\n const direction = value['@direction'];\n if(direction !== null && direction !== 'ltr' && direction !== 'rtl') {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @direction value must be ' +\n 'null, \"ltr\", or \"rtl\".',\n 'jsonld.SyntaxError',\n {code: 'invalid base direction', context: localCtx});\n }\n mapping['@direction'] = direction;\n }\n\n if('@nest' in value) {\n const nest = value['@nest'];\n if(!_isString(nest) || (nest !== '@nest' && nest.indexOf('@') === 0)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context @nest value must be ' +\n 'a string which is not a keyword other than @nest.',\n 'jsonld.SyntaxError',\n {code: 'invalid @nest value', context: localCtx});\n }\n mapping['@nest'] = nest;\n }\n\n // disallow aliasing @context and @preserve\n const id = mapping['@id'];\n if(id === '@context' || id === '@preserve') {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; @context and @preserve cannot be aliased.',\n 'jsonld.SyntaxError', {code: 'invalid keyword alias', context: localCtx});\n }\n\n // Check for overriding protected terms\n if(previousMapping && previousMapping.protected && !overrideProtected) {\n // force new term to continue to be protected and see if the mappings would\n // be equal\n activeCtx.protected[term] = true;\n mapping.protected = true;\n if(!_deepCompare(previousMapping, mapping)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; tried to redefine a protected term.',\n 'jsonld.SyntaxError',\n {code: 'protected term redefinition', context: localCtx, term});\n }\n }\n};\n\n/**\n * Expands a string to a full IRI. The string may be a term, a prefix, a\n * relative IRI, or an absolute IRI. The associated absolute IRI will be\n * returned.\n *\n * @param activeCtx the current active context.\n * @param value the string to expand.\n * @param relativeTo options for how to resolve relative IRIs:\n * base: true to resolve against the base IRI, false not to.\n * vocab: true to concatenate after @vocab, false not to.\n * @param {Object} [options] - processing options.\n *\n * @return the expanded value.\n */\napi.expandIri = (activeCtx, value, relativeTo, options) => {\n return _expandIri(activeCtx, value, relativeTo, undefined, undefined,\n options);\n};\n\n/**\n * Expands a string to a full IRI. The string may be a term, a prefix, a\n * relative IRI, or an absolute IRI. The associated absolute IRI will be\n * returned.\n *\n * @param activeCtx the current active context.\n * @param value the string to expand.\n * @param relativeTo options for how to resolve relative IRIs:\n * base: true to resolve against the base IRI, false not to.\n * vocab: true to concatenate after @vocab, false not to.\n * @param localCtx the local context being processed (only given if called\n * during context processing).\n * @param defined a map for tracking cycles in context definitions (only given\n * if called during context processing).\n * @param {Object} [options] - processing options.\n *\n * @return the expanded value.\n */\nfunction _expandIri(activeCtx, value, relativeTo, localCtx, defined, options) {\n // already expanded\n if(value === null || !_isString(value) || api.isKeyword(value)) {\n return value;\n }\n\n // ignore non-keyword things that look like a keyword\n if(value.match(REGEX_KEYWORD)) {\n return null;\n }\n\n // define term dependency if not defined\n if(localCtx && localCtx.hasOwnProperty(value) &&\n defined.get(value) !== true) {\n api.createTermDefinition({\n activeCtx, localCtx, term: value, defined, options\n });\n }\n\n relativeTo = relativeTo || {};\n if(relativeTo.vocab) {\n const mapping = activeCtx.mappings.get(value);\n\n // value is explicitly ignored with a null mapping\n if(mapping === null) {\n return null;\n }\n\n if(_isObject(mapping) && '@id' in mapping) {\n // value is a term\n return mapping['@id'];\n }\n }\n\n // split value into prefix:suffix\n const colon = value.indexOf(':');\n if(colon > 0) {\n const prefix = value.substr(0, colon);\n const suffix = value.substr(colon + 1);\n\n // do not expand blank nodes (prefix of '_') or already-absolute\n // IRIs (suffix of '//')\n if(prefix === '_' || suffix.indexOf('//') === 0) {\n return value;\n }\n\n // prefix dependency not defined, define it\n if(localCtx && localCtx.hasOwnProperty(prefix)) {\n api.createTermDefinition({\n activeCtx, localCtx, term: prefix, defined, options\n });\n }\n\n // use mapping if prefix is defined\n const mapping = activeCtx.mappings.get(prefix);\n if(mapping && mapping._prefix) {\n return mapping['@id'] + suffix;\n }\n\n // already absolute IRI\n if(_isAbsoluteIri(value)) {\n return value;\n }\n }\n\n // A flag that captures whether the iri being expanded is\n // the value for an @type\n //let typeExpansion = false;\n\n //if(options !== undefined && options.typeExpansion !== undefined) {\n // typeExpansion = options.typeExpansion;\n //}\n\n if(relativeTo.vocab && '@vocab' in activeCtx) {\n // prepend vocab\n const prependedResult = activeCtx['@vocab'] + value;\n // FIXME: needed? may be better as debug event.\n /*\n if(options && options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'prepending @vocab during expansion',\n level: 'info',\n message: 'Prepending @vocab during expansion.',\n details: {\n type: '@vocab',\n vocab: activeCtx['@vocab'],\n value,\n result: prependedResult,\n typeExpansion\n }\n },\n options\n });\n }\n */\n // the null case preserves value as potentially relative\n value = prependedResult;\n } else if(relativeTo.base) {\n // prepend base\n let prependedResult;\n let base;\n if('@base' in activeCtx) {\n if(activeCtx['@base']) {\n base = prependBase(options.base, activeCtx['@base']);\n prependedResult = prependBase(base, value);\n } else {\n base = activeCtx['@base'];\n prependedResult = value;\n }\n } else {\n base = options.base;\n prependedResult = prependBase(options.base, value);\n }\n // FIXME: needed? may be better as debug event.\n /*\n if(options && options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'prepending @base during expansion',\n level: 'info',\n message: 'Prepending @base during expansion.',\n details: {\n type: '@base',\n base,\n value,\n result: prependedResult,\n typeExpansion\n }\n },\n options\n });\n }\n */\n // the null case preserves value as potentially relative\n value = prependedResult;\n }\n\n // FIXME: duplicate? needed? maybe just enable in a verbose debug mode\n /*\n if(!_isAbsoluteIri(value) && options && options.eventHandler) {\n // emit event indicating a relative IRI was found, which can result in it\n // being dropped when converting to other RDF representations\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'relative IRI after expansion',\n // FIXME: what level?\n level: 'warning',\n message: 'Relative IRI after expansion.',\n details: {\n relativeIri: value,\n typeExpansion\n }\n },\n options\n });\n // NOTE: relative reference events emitted at calling sites as needed\n }\n */\n\n return value;\n}\n\n/**\n * Gets the initial context.\n *\n * @param options the options to use:\n * [base] the document base IRI.\n *\n * @return the initial context.\n */\napi.getInitialContext = options => {\n const key = JSON.stringify({processingMode: options.processingMode});\n const cached = INITIAL_CONTEXT_CACHE.get(key);\n if(cached) {\n return cached;\n }\n\n const initialContext = {\n processingMode: options.processingMode,\n mappings: new Map(),\n inverse: null,\n getInverse: _createInverseContext,\n clone: _cloneActiveContext,\n revertToPreviousContext: _revertToPreviousContext,\n protected: {}\n };\n // TODO: consider using LRU cache instead\n if(INITIAL_CONTEXT_CACHE.size === INITIAL_CONTEXT_CACHE_MAX_SIZE) {\n // clear whole cache -- assumes scenario where the cache fills means\n // the cache isn't being used very efficiently anyway\n INITIAL_CONTEXT_CACHE.clear();\n }\n INITIAL_CONTEXT_CACHE.set(key, initialContext);\n return initialContext;\n\n /**\n * Generates an inverse context for use in the compaction algorithm, if\n * not already generated for the given active context.\n *\n * @return the inverse context.\n */\n function _createInverseContext() {\n const activeCtx = this;\n\n // lazily create inverse\n if(activeCtx.inverse) {\n return activeCtx.inverse;\n }\n const inverse = activeCtx.inverse = {};\n\n // variables for building fast CURIE map\n const fastCurieMap = activeCtx.fastCurieMap = {};\n const irisToTerms = {};\n\n // handle default language\n const defaultLanguage = (activeCtx['@language'] || '@none').toLowerCase();\n\n // handle default direction\n const defaultDirection = activeCtx['@direction'];\n\n // create term selections for each mapping in the context, ordered by\n // shortest and then lexicographically least\n const mappings = activeCtx.mappings;\n const terms = [...mappings.keys()].sort(_compareShortestLeast);\n for(const term of terms) {\n const mapping = mappings.get(term);\n if(mapping === null) {\n continue;\n }\n\n let container = mapping['@container'] || '@none';\n container = [].concat(container).sort().join('');\n\n if(mapping['@id'] === null) {\n continue;\n }\n // iterate over every IRI in the mapping\n const ids = _asArray(mapping['@id']);\n for(const iri of ids) {\n let entry = inverse[iri];\n const isKeyword = api.isKeyword(iri);\n\n if(!entry) {\n // initialize entry\n inverse[iri] = entry = {};\n\n if(!isKeyword && !mapping._termHasColon) {\n // init IRI to term map and fast CURIE prefixes\n irisToTerms[iri] = [term];\n const fastCurieEntry = {iri, terms: irisToTerms[iri]};\n if(iri[0] in fastCurieMap) {\n fastCurieMap[iri[0]].push(fastCurieEntry);\n } else {\n fastCurieMap[iri[0]] = [fastCurieEntry];\n }\n }\n } else if(!isKeyword && !mapping._termHasColon) {\n // add IRI to term match\n irisToTerms[iri].push(term);\n }\n\n // add new entry\n if(!entry[container]) {\n entry[container] = {\n '@language': {},\n '@type': {},\n '@any': {}\n };\n }\n entry = entry[container];\n _addPreferredTerm(term, entry['@any'], '@none');\n\n if(mapping.reverse) {\n // term is preferred for values using @reverse\n _addPreferredTerm(term, entry['@type'], '@reverse');\n } else if(mapping['@type'] === '@none') {\n _addPreferredTerm(term, entry['@any'], '@none');\n _addPreferredTerm(term, entry['@language'], '@none');\n _addPreferredTerm(term, entry['@type'], '@none');\n } else if('@type' in mapping) {\n // term is preferred for values using specific type\n _addPreferredTerm(term, entry['@type'], mapping['@type']);\n } else if('@language' in mapping && '@direction' in mapping) {\n // term is preferred for values using specific language and direction\n const language = mapping['@language'];\n const direction = mapping['@direction'];\n if(language && direction) {\n _addPreferredTerm(term, entry['@language'],\n `${language}_${direction}`.toLowerCase());\n } else if(language) {\n _addPreferredTerm(term, entry['@language'], language.toLowerCase());\n } else if(direction) {\n _addPreferredTerm(term, entry['@language'], `_${direction}`);\n } else {\n _addPreferredTerm(term, entry['@language'], '@null');\n }\n } else if('@language' in mapping) {\n _addPreferredTerm(term, entry['@language'],\n (mapping['@language'] || '@null').toLowerCase());\n } else if('@direction' in mapping) {\n if(mapping['@direction']) {\n _addPreferredTerm(term, entry['@language'],\n `_${mapping['@direction']}`);\n } else {\n _addPreferredTerm(term, entry['@language'], '@none');\n }\n } else if(defaultDirection) {\n _addPreferredTerm(term, entry['@language'], `_${defaultDirection}`);\n _addPreferredTerm(term, entry['@language'], '@none');\n _addPreferredTerm(term, entry['@type'], '@none');\n } else {\n // add entries for no type and no language\n _addPreferredTerm(term, entry['@language'], defaultLanguage);\n _addPreferredTerm(term, entry['@language'], '@none');\n _addPreferredTerm(term, entry['@type'], '@none');\n }\n }\n }\n\n // build fast CURIE map\n for(const key in fastCurieMap) {\n _buildIriMap(fastCurieMap, key, 1);\n }\n\n return inverse;\n }\n\n /**\n * Runs a recursive algorithm to build a lookup map for quickly finding\n * potential CURIEs.\n *\n * @param iriMap the map to build.\n * @param key the current key in the map to work on.\n * @param idx the index into the IRI to compare.\n */\n function _buildIriMap(iriMap, key, idx) {\n const entries = iriMap[key];\n const next = iriMap[key] = {};\n\n let iri;\n let letter;\n for(const entry of entries) {\n iri = entry.iri;\n if(idx >= iri.length) {\n letter = '';\n } else {\n letter = iri[idx];\n }\n if(letter in next) {\n next[letter].push(entry);\n } else {\n next[letter] = [entry];\n }\n }\n\n for(const key in next) {\n if(key === '') {\n continue;\n }\n _buildIriMap(next, key, idx + 1);\n }\n }\n\n /**\n * Adds the term for the given entry if not already added.\n *\n * @param term the term to add.\n * @param entry the inverse context typeOrLanguage entry to add to.\n * @param typeOrLanguageValue the key in the entry to add to.\n */\n function _addPreferredTerm(term, entry, typeOrLanguageValue) {\n if(!entry.hasOwnProperty(typeOrLanguageValue)) {\n entry[typeOrLanguageValue] = term;\n }\n }\n\n /**\n * Clones an active context, creating a child active context.\n *\n * @return a clone (child) of the active context.\n */\n function _cloneActiveContext() {\n const child = {};\n child.mappings = util.clone(this.mappings);\n child.clone = this.clone;\n child.inverse = null;\n child.getInverse = this.getInverse;\n child.protected = util.clone(this.protected);\n if(this.previousContext) {\n child.previousContext = this.previousContext.clone();\n }\n child.revertToPreviousContext = this.revertToPreviousContext;\n if('@base' in this) {\n child['@base'] = this['@base'];\n }\n if('@language' in this) {\n child['@language'] = this['@language'];\n }\n if('@vocab' in this) {\n child['@vocab'] = this['@vocab'];\n }\n return child;\n }\n\n /**\n * Reverts any type-scoped context in this active context to the previous\n * context.\n */\n function _revertToPreviousContext() {\n if(!this.previousContext) {\n return this;\n }\n return this.previousContext.clone();\n }\n};\n\n/**\n * Gets the value for the given active context key and type, null if none is\n * set or undefined if none is set and type is '@context'.\n *\n * @param ctx the active context.\n * @param key the context key.\n * @param [type] the type of value to get (eg: '@id', '@type'), if not\n * specified gets the entire entry for a key, null if not found.\n *\n * @return the value, null, or undefined.\n */\napi.getContextValue = (ctx, key, type) => {\n // invalid key\n if(key === null) {\n if(type === '@context') {\n return undefined;\n }\n return null;\n }\n\n // get specific entry information\n if(ctx.mappings.has(key)) {\n const entry = ctx.mappings.get(key);\n\n if(_isUndefined(type)) {\n // return whole entry\n return entry;\n }\n if(entry.hasOwnProperty(type)) {\n // return entry value for type\n return entry[type];\n }\n }\n\n // get default language\n if(type === '@language' && type in ctx) {\n return ctx[type];\n }\n\n // get default direction\n if(type === '@direction' && type in ctx) {\n return ctx[type];\n }\n\n if(type === '@context') {\n return undefined;\n }\n return null;\n};\n\n/**\n * Processing Mode check.\n *\n * @param activeCtx the current active context.\n * @param version the string or numeric version to check.\n *\n * @return boolean.\n */\napi.processingMode = (activeCtx, version) => {\n if(version.toString() >= '1.1') {\n return !activeCtx.processingMode ||\n activeCtx.processingMode >= 'json-ld-' + version.toString();\n } else {\n return activeCtx.processingMode === 'json-ld-1.0';\n }\n};\n\n/**\n * Returns whether or not the given value is a keyword.\n *\n * @param v the value to check.\n *\n * @return true if the value is a keyword, false if not.\n */\napi.isKeyword = v => {\n if(!_isString(v) || v[0] !== '@') {\n return false;\n }\n switch(v) {\n case '@base':\n case '@container':\n case '@context':\n case '@default':\n case '@direction':\n case '@embed':\n case '@explicit':\n case '@graph':\n case '@id':\n case '@included':\n case '@index':\n case '@json':\n case '@language':\n case '@list':\n case '@nest':\n case '@none':\n case '@omitDefault':\n case '@prefix':\n case '@preserve':\n case '@protected':\n case '@requireAll':\n case '@reverse':\n case '@set':\n case '@type':\n case '@value':\n case '@version':\n case '@vocab':\n return true;\n }\n return false;\n};\n\nfunction _deepCompare(x1, x2) {\n // compare `null` or primitive types directly\n if((!(x1 && typeof x1 === 'object')) ||\n (!(x2 && typeof x2 === 'object'))) {\n return x1 === x2;\n }\n // x1 and x2 are objects (also potentially arrays)\n const x1Array = Array.isArray(x1);\n if(x1Array !== Array.isArray(x2)) {\n return false;\n }\n if(x1Array) {\n if(x1.length !== x2.length) {\n return false;\n }\n for(let i = 0; i < x1.length; ++i) {\n if(!_deepCompare(x1[i], x2[i])) {\n return false;\n }\n }\n return true;\n }\n // x1 and x2 are non-array objects\n const k1s = Object.keys(x1);\n const k2s = Object.keys(x2);\n if(k1s.length !== k2s.length) {\n return false;\n }\n for(const k1 in x1) {\n let v1 = x1[k1];\n let v2 = x2[k1];\n // special case: `@container` can be in any order\n if(k1 === '@container') {\n if(Array.isArray(v1) && Array.isArray(v2)) {\n v1 = v1.slice().sort();\n v2 = v2.slice().sort();\n }\n }\n if(!_deepCompare(v1, v2)) {\n return false;\n }\n }\n return true;\n}\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst {parseLinkHeader, buildHeaders} = require('../util');\nconst {LINK_HEADER_CONTEXT} = require('../constants');\nconst JsonLdError = require('../JsonLdError');\nconst RequestQueue = require('../RequestQueue');\nconst {prependBase} = require('../url');\n\nconst REGEX_LINK_HEADER = /(^|(\\r\\n))link:/i;\n\n/**\n * Creates a built-in XMLHttpRequest document loader.\n *\n * @param options the options to use:\n * secure: require all URLs to use HTTPS.\n * headers: an object (map) of headers which will be passed as request\n * headers for the requested document. Accept is not allowed.\n * [xhr]: the XMLHttpRequest API to use.\n *\n * @return the XMLHttpRequest document loader.\n */\nmodule.exports = ({\n secure,\n headers = {},\n xhr\n} = {headers: {}}) => {\n headers = buildHeaders(headers);\n const queue = new RequestQueue();\n return queue.wrapLoader(loader);\n\n async function loader(url) {\n if(url.indexOf('http:') !== 0 && url.indexOf('https:') !== 0) {\n throw new JsonLdError(\n 'URL could not be dereferenced; only \"http\" and \"https\" URLs are ' +\n 'supported.',\n 'jsonld.InvalidUrl', {code: 'loading document failed', url});\n }\n if(secure && url.indexOf('https') !== 0) {\n throw new JsonLdError(\n 'URL could not be dereferenced; secure mode is enabled and ' +\n 'the URL\\'s scheme is not \"https\".',\n 'jsonld.InvalidUrl', {code: 'loading document failed', url});\n }\n\n let req;\n try {\n req = await _get(xhr, url, headers);\n } catch(e) {\n throw new JsonLdError(\n 'URL could not be dereferenced, an error occurred.',\n 'jsonld.LoadDocumentError',\n {code: 'loading document failed', url, cause: e});\n }\n\n if(req.status >= 400) {\n throw new JsonLdError(\n 'URL could not be dereferenced: ' + req.statusText,\n 'jsonld.LoadDocumentError', {\n code: 'loading document failed',\n url,\n httpStatusCode: req.status\n });\n }\n\n let doc = {contextUrl: null, documentUrl: url, document: req.response};\n let alternate = null;\n\n // handle Link Header (avoid unsafe header warning by existence testing)\n const contentType = req.getResponseHeader('Content-Type');\n let linkHeader;\n if(REGEX_LINK_HEADER.test(req.getAllResponseHeaders())) {\n linkHeader = req.getResponseHeader('Link');\n }\n if(linkHeader && contentType !== 'application/ld+json') {\n // only 1 related link header permitted\n const linkHeaders = parseLinkHeader(linkHeader);\n const linkedContext = linkHeaders[LINK_HEADER_CONTEXT];\n if(Array.isArray(linkedContext)) {\n throw new JsonLdError(\n 'URL could not be dereferenced, it has more than one ' +\n 'associated HTTP Link Header.',\n 'jsonld.InvalidUrl',\n {code: 'multiple context link headers', url});\n }\n if(linkedContext) {\n doc.contextUrl = linkedContext.target;\n }\n\n // \"alternate\" link header is a redirect\n alternate = linkHeaders.alternate;\n if(alternate &&\n alternate.type == 'application/ld+json' &&\n !(contentType || '').match(/^application\\/(\\w*\\+)?json$/)) {\n doc = await loader(prependBase(url, alternate.target));\n }\n }\n\n return doc;\n }\n};\n\nfunction _get(xhr, url, headers) {\n xhr = xhr || XMLHttpRequest;\n const req = new xhr();\n return new Promise((resolve, reject) => {\n req.onload = () => resolve(req);\n req.onerror = err => reject(err);\n req.open('GET', url, true);\n for(const k in headers) {\n req.setRequestHeader(k, headers[k]);\n }\n req.send();\n });\n}\n","/*\n * Copyright (c) 2020 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst JsonLdError = require('./JsonLdError');\n\nconst {\n isArray: _isArray\n} = require('./types');\n\nconst {\n asArray: _asArray\n} = require('./util');\n\nconst api = {};\nmodule.exports = api;\n\n// default handler, store as null or an array\n// exposed to allow fast external pre-handleEvent() checks\napi.defaultEventHandler = null;\n\n/**\n * Setup event handler.\n *\n * Return an array event handler constructed from an optional safe mode\n * handler, an optional options event handler, and an optional default handler.\n *\n * @param {object} options - processing options\n * {function|object|array} [eventHandler] - an event handler.\n *\n * @return an array event handler.\n */\napi.setupEventHandler = ({options = {}}) => {\n // build in priority order\n const eventHandler = [].concat(\n options.safe ? api.safeEventHandler : [],\n options.eventHandler ? _asArray(options.eventHandler) : [],\n api.defaultEventHandler ? api.defaultEventHandler : []\n );\n // null if no handlers\n return eventHandler.length === 0 ? null : eventHandler;\n};\n\n/**\n * Handle an event.\n *\n * Top level APIs have a common 'eventHandler' option. This option can be a\n * function, array of functions, object mapping event.code to functions (with a\n * default to call next()), or any combination of such handlers. Handlers will\n * be called with an object with an 'event' entry and a 'next' function. Custom\n * handlers should process the event as appropriate. The 'next()' function\n * should be called to let the next handler process the event.\n *\n * NOTE: Only call this function if options.eventHandler is set and is an\n * array of hanlers. This is an optimization. Callers are expected to check\n * for an event handler before constructing events and calling this function.\n *\n * @param {object} event - event structure:\n * {string} code - event code\n * {string} level - severity level, one of: ['warning']\n * {string} message - human readable message\n * {object} details - event specific details\n * @param {object} options - processing options\n * {array} eventHandler - an event handler array.\n */\napi.handleEvent = ({\n event,\n options\n}) => {\n _handle({event, handlers: options.eventHandler});\n};\n\nfunction _handle({event, handlers}) {\n let doNext = true;\n for(let i = 0; doNext && i < handlers.length; ++i) {\n doNext = false;\n const handler = handlers[i];\n if(_isArray(handler)) {\n doNext = _handle({event, handlers: handler});\n } else if(typeof handler === 'function') {\n handler({event, next: () => {\n doNext = true;\n }});\n } else if(typeof handler === 'object') {\n if(event.code in handler) {\n handler[event.code]({event, next: () => {\n doNext = true;\n }});\n } else {\n doNext = true;\n }\n } else {\n throw new JsonLdError(\n 'Invalid event handler.',\n 'jsonld.InvalidEventHandler',\n {event});\n }\n }\n return doNext;\n}\n\nconst _notSafeEventCodes = new Set([\n 'empty object',\n 'free-floating scalar',\n 'invalid @language value',\n 'invalid property',\n // NOTE: spec edge case\n 'null @id value',\n 'null @value value',\n 'object with only @id',\n 'object with only @language',\n 'object with only @list',\n 'object with only @value',\n 'relative @id reference',\n 'relative @type reference',\n 'relative @vocab reference',\n 'reserved @id value',\n 'reserved @reverse value',\n 'reserved term',\n // toRDF\n 'blank node predicate',\n 'relative graph reference',\n 'relative object reference',\n 'relative predicate reference',\n 'relative subject reference',\n // toRDF / fromRDF\n 'rdfDirection not set'\n]);\n\n// safe handler that rejects unsafe warning conditions\napi.safeEventHandler = function safeEventHandler({event, next}) {\n // fail on all unsafe warnings\n if(event.level === 'warning' && _notSafeEventCodes.has(event.code)) {\n throw new JsonLdError(\n 'Safe mode validation error.',\n 'jsonld.ValidationError',\n {event}\n );\n }\n next();\n};\n\n// logs all events and continues\napi.logEventHandler = function logEventHandler({event, next}) {\n console.log(`EVENT: ${event.message}`, {event});\n next();\n};\n\n// log 'warning' level events\napi.logWarningEventHandler = function logWarningEventHandler({event, next}) {\n if(event.level === 'warning') {\n console.warn(`WARNING: ${event.message}`, {event});\n }\n next();\n};\n\n// fallback to throw errors for any unhandled events\napi.unhandledEventHandler = function unhandledEventHandler({event}) {\n throw new JsonLdError(\n 'No handler for event.',\n 'jsonld.UnhandledEvent',\n {event}\n );\n};\n\n/**\n * Set default event handler.\n *\n * By default, all event are unhandled. It is recommended to pass in an\n * eventHandler into each call. However, this call allows using a default\n * eventHandler when one is not otherwise provided.\n *\n * @param {object} options - default handler options:\n * {function|object|array} eventHandler - a default event handler.\n * falsey to unset.\n */\napi.setDefaultEventHandler = function({eventHandler} = {}) {\n api.defaultEventHandler = eventHandler ? _asArray(eventHandler) : null;\n};\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst JsonLdError = require('./JsonLdError');\n\nconst {\n isArray: _isArray,\n isObject: _isObject,\n isEmptyObject: _isEmptyObject,\n isString: _isString,\n isUndefined: _isUndefined\n} = require('./types');\n\nconst {\n isList: _isList,\n isValue: _isValue,\n isGraph: _isGraph,\n isSubject: _isSubject\n} = require('./graphTypes');\n\nconst {\n expandIri: _expandIri,\n getContextValue: _getContextValue,\n isKeyword: _isKeyword,\n process: _processContext,\n processingMode: _processingMode\n} = require('./context');\n\nconst {\n isAbsolute: _isAbsoluteIri\n} = require('./url');\n\nconst {\n REGEX_BCP47,\n REGEX_KEYWORD,\n addValue: _addValue,\n asArray: _asArray,\n getValues: _getValues,\n validateTypeValue: _validateTypeValue\n} = require('./util');\n\nconst {\n handleEvent: _handleEvent\n} = require('./events');\n\nconst api = {};\nmodule.exports = api;\n\n/**\n * Recursively expands an element using the given context. Any context in\n * the element will be removed. All context URLs must have been retrieved\n * before calling this method.\n *\n * @param activeCtx the context to use.\n * @param activeProperty the property for the element, null for none.\n * @param element the element to expand.\n * @param options the expansion options.\n * @param insideList true if the element is a list, false if not.\n * @param insideIndex true if the element is inside an index container,\n * false if not.\n * @param typeScopedContext an optional type-scoped active context for\n * expanding values of nodes that were expressed according to\n * a type-scoped context.\n *\n * @return a Promise that resolves to the expanded value.\n */\napi.expand = async ({\n activeCtx,\n activeProperty = null,\n element,\n options = {},\n insideList = false,\n insideIndex = false,\n typeScopedContext = null\n}) => {\n // nothing to expand\n if(element === null || element === undefined) {\n return null;\n }\n\n // disable framing if activeProperty is @default\n if(activeProperty === '@default') {\n options = Object.assign({}, options, {isFrame: false});\n }\n\n if(!_isArray(element) && !_isObject(element)) {\n // drop free-floating scalars that are not in lists\n if(!insideList && (activeProperty === null ||\n _expandIri(activeCtx, activeProperty, {vocab: true},\n options) === '@graph')) {\n // FIXME\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'free-floating scalar',\n level: 'warning',\n message: 'Dropping free-floating scalar not in a list.',\n details: {\n value: element\n //activeProperty\n //insideList\n }\n },\n options\n });\n }\n return null;\n }\n\n // expand element according to value expansion rules\n return _expandValue({activeCtx, activeProperty, value: element, options});\n }\n\n // recursively expand array\n if(_isArray(element)) {\n let rval = [];\n const container = _getContextValue(\n activeCtx, activeProperty, '@container') || [];\n insideList = insideList || container.includes('@list');\n for(let i = 0; i < element.length; ++i) {\n // expand element\n let e = await api.expand({\n activeCtx,\n activeProperty,\n element: element[i],\n options,\n insideIndex,\n typeScopedContext\n });\n if(insideList && _isArray(e)) {\n e = {'@list': e};\n }\n\n if(e === null) {\n // FIXME: add debug event?\n //unmappedValue: element[i],\n //activeProperty,\n //parent: element,\n //index: i,\n //expandedParent: rval,\n //insideList\n\n // NOTE: no-value events emitted at calling sites as needed\n continue;\n }\n\n if(_isArray(e)) {\n rval = rval.concat(e);\n } else {\n rval.push(e);\n }\n }\n return rval;\n }\n\n // recursively expand object:\n\n // first, expand the active property\n const expandedActiveProperty = _expandIri(\n activeCtx, activeProperty, {vocab: true}, options);\n\n // Get any property-scoped context for activeProperty\n const propertyScopedCtx =\n _getContextValue(activeCtx, activeProperty, '@context');\n\n // second, determine if any type-scoped context should be reverted; it\n // should only be reverted when the following are all true:\n // 1. `element` is not a value or subject reference\n // 2. `insideIndex` is false\n typeScopedContext = typeScopedContext ||\n (activeCtx.previousContext ? activeCtx : null);\n let keys = Object.keys(element).sort();\n let mustRevert = !insideIndex;\n if(mustRevert && typeScopedContext && keys.length <= 2 &&\n !keys.includes('@context')) {\n for(const key of keys) {\n const expandedProperty = _expandIri(\n typeScopedContext, key, {vocab: true}, options);\n if(expandedProperty === '@value') {\n // value found, ensure type-scoped context is used to expand it\n mustRevert = false;\n activeCtx = typeScopedContext;\n break;\n }\n if(expandedProperty === '@id' && keys.length === 1) {\n // subject reference found, do not revert\n mustRevert = false;\n break;\n }\n }\n }\n\n if(mustRevert) {\n // revert type scoped context\n activeCtx = activeCtx.revertToPreviousContext();\n }\n\n // apply property-scoped context after reverting term-scoped context\n if(!_isUndefined(propertyScopedCtx)) {\n activeCtx = await _processContext({\n activeCtx,\n localCtx: propertyScopedCtx,\n propagate: true,\n overrideProtected: true,\n options\n });\n }\n\n // if element has a context, process it\n if('@context' in element) {\n activeCtx = await _processContext(\n {activeCtx, localCtx: element['@context'], options});\n }\n\n // set the type-scoped context to the context on input, for use later\n typeScopedContext = activeCtx;\n\n // Remember the first key found expanding to @type\n let typeKey = null;\n\n // look for scoped contexts on `@type`\n for(const key of keys) {\n const expandedProperty = _expandIri(activeCtx, key, {vocab: true}, options);\n if(expandedProperty === '@type') {\n // set scoped contexts from @type\n // avoid sorting if possible\n typeKey = typeKey || key;\n const value = element[key];\n const types =\n Array.isArray(value) ?\n (value.length > 1 ? value.slice().sort() : value) : [value];\n for(const type of types) {\n const ctx = _getContextValue(typeScopedContext, type, '@context');\n if(!_isUndefined(ctx)) {\n activeCtx = await _processContext({\n activeCtx,\n localCtx: ctx,\n options,\n propagate: false\n });\n }\n }\n }\n }\n\n // process each key and value in element, ignoring @nest content\n let rval = {};\n await _expandObject({\n activeCtx,\n activeProperty,\n expandedActiveProperty,\n element,\n expandedParent: rval,\n options,\n insideList,\n typeKey,\n typeScopedContext\n });\n\n // get property count on expanded output\n keys = Object.keys(rval);\n let count = keys.length;\n\n if('@value' in rval) {\n // @value must only have @language or @type\n if('@type' in rval && ('@language' in rval || '@direction' in rval)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; an element containing \"@value\" may not ' +\n 'contain both \"@type\" and either \"@language\" or \"@direction\".',\n 'jsonld.SyntaxError', {code: 'invalid value object', element: rval});\n }\n let validCount = count - 1;\n if('@type' in rval) {\n validCount -= 1;\n }\n if('@index' in rval) {\n validCount -= 1;\n }\n if('@language' in rval) {\n validCount -= 1;\n }\n if('@direction' in rval) {\n validCount -= 1;\n }\n if(validCount !== 0) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; an element containing \"@value\" may only ' +\n 'have an \"@index\" property and either \"@type\" ' +\n 'or either or both \"@language\" or \"@direction\".',\n 'jsonld.SyntaxError', {code: 'invalid value object', element: rval});\n }\n const values = rval['@value'] === null ? [] : _asArray(rval['@value']);\n const types = _getValues(rval, '@type');\n\n // drop null @values\n if(_processingMode(activeCtx, 1.1) && types.includes('@json') &&\n types.length === 1) {\n // Any value of @value is okay if @type: @json\n } else if(values.length === 0) {\n // FIXME\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'null @value value',\n level: 'warning',\n message: 'Dropping null @value value.',\n details: {\n value: rval\n }\n },\n options\n });\n }\n rval = null;\n } else if(!values.every(v => (_isString(v) || _isEmptyObject(v))) &&\n '@language' in rval) {\n // if @language is present, @value must be a string\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; only strings may be language-tagged.',\n 'jsonld.SyntaxError',\n {code: 'invalid language-tagged value', element: rval});\n } else if(!types.every(t =>\n (_isAbsoluteIri(t) && !(_isString(t) && t.indexOf('_:') === 0) ||\n _isEmptyObject(t)))) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; an element containing \"@value\" and \"@type\" ' +\n 'must have an absolute IRI for the value of \"@type\".',\n 'jsonld.SyntaxError', {code: 'invalid typed value', element: rval});\n }\n } else if('@type' in rval && !_isArray(rval['@type'])) {\n // convert @type to an array\n rval['@type'] = [rval['@type']];\n } else if('@set' in rval || '@list' in rval) {\n // handle @set and @list\n if(count > 1 && !(count === 2 && '@index' in rval)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; if an element has the property \"@set\" ' +\n 'or \"@list\", then it can have at most one other property that is ' +\n '\"@index\".', 'jsonld.SyntaxError',\n {code: 'invalid set or list object', element: rval});\n }\n // optimize away @set\n if('@set' in rval) {\n rval = rval['@set'];\n keys = Object.keys(rval);\n count = keys.length;\n }\n } else if(count === 1 && '@language' in rval) {\n // drop objects with only @language\n // FIXME\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'object with only @language',\n level: 'warning',\n message: 'Dropping object with only @language.',\n details: {\n value: rval\n }\n },\n options\n });\n }\n rval = null;\n }\n\n // drop certain top-level objects that do not occur in lists\n if(_isObject(rval) &&\n !options.keepFreeFloatingNodes && !insideList &&\n (activeProperty === null ||\n expandedActiveProperty === '@graph' ||\n (_getContextValue(activeCtx, activeProperty, '@container') || [])\n .includes('@graph')\n )) {\n // drop empty object, top-level @value/@list, or object with only @id\n rval = _dropUnsafeObject({value: rval, count, options});\n }\n\n return rval;\n};\n\n/**\n * Drop empty object, top-level @value/@list, or object with only @id\n *\n * @param value Value to check.\n * @param count Number of properties in object.\n * @param options The expansion options.\n *\n * @return null if dropped, value otherwise.\n */\nfunction _dropUnsafeObject({\n value,\n count,\n options\n}) {\n if(count === 0 || '@value' in value || '@list' in value ||\n (count === 1 && '@id' in value)) {\n // FIXME\n if(options.eventHandler) {\n // FIXME: one event or diff event for empty, @v/@l, {@id}?\n let code;\n let message;\n if(count === 0) {\n code = 'empty object';\n message = 'Dropping empty object.';\n } else if('@value' in value) {\n code = 'object with only @value';\n message = 'Dropping object with only @value.';\n } else if('@list' in value) {\n code = 'object with only @list';\n message = 'Dropping object with only @list.';\n } else if(count === 1 && '@id' in value) {\n code = 'object with only @id';\n message = 'Dropping object with only @id.';\n }\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code,\n level: 'warning',\n message,\n details: {\n value\n }\n },\n options\n });\n }\n return null;\n }\n return value;\n}\n\n/**\n * Expand each key and value of element adding to result\n *\n * @param activeCtx the context to use.\n * @param activeProperty the property for the element.\n * @param expandedActiveProperty the expansion of activeProperty\n * @param element the element to expand.\n * @param expandedParent the expanded result into which to add values.\n * @param options the expansion options.\n * @param insideList true if the element is a list, false if not.\n * @param typeKey first key found expanding to @type.\n * @param typeScopedContext the context before reverting.\n */\nasync function _expandObject({\n activeCtx,\n activeProperty,\n expandedActiveProperty,\n element,\n expandedParent,\n options = {},\n insideList,\n typeKey,\n typeScopedContext\n}) {\n const keys = Object.keys(element).sort();\n const nests = [];\n let unexpandedValue;\n\n // Figure out if this is the type for a JSON literal\n const isJsonType = element[typeKey] &&\n _expandIri(activeCtx,\n (_isArray(element[typeKey]) ? element[typeKey][0] : element[typeKey]),\n {vocab: true}, {\n ...options,\n typeExpansion: true\n }) === '@json';\n\n for(const key of keys) {\n let value = element[key];\n let expandedValue;\n\n // skip @context\n if(key === '@context') {\n continue;\n }\n\n // expand property\n const expandedProperty = _expandIri(activeCtx, key, {vocab: true}, options);\n\n // drop non-absolute IRI keys that aren't keywords\n if(expandedProperty === null ||\n !(_isAbsoluteIri(expandedProperty) || _isKeyword(expandedProperty))) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'invalid property',\n level: 'warning',\n message: 'Dropping property that did not expand into an ' +\n 'absolute IRI or keyword.',\n details: {\n property: key,\n expandedProperty\n }\n },\n options\n });\n }\n continue;\n }\n\n if(_isKeyword(expandedProperty)) {\n if(expandedActiveProperty === '@reverse') {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; a keyword cannot be used as a @reverse ' +\n 'property.', 'jsonld.SyntaxError',\n {code: 'invalid reverse property map', value});\n }\n if(expandedProperty in expandedParent &&\n expandedProperty !== '@included' &&\n expandedProperty !== '@type') {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; colliding keywords detected.',\n 'jsonld.SyntaxError',\n {code: 'colliding keywords', keyword: expandedProperty});\n }\n }\n\n // syntax error if @id is not a string\n if(expandedProperty === '@id') {\n if(!_isString(value)) {\n if(!options.isFrame) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@id\" value must a string.',\n 'jsonld.SyntaxError', {code: 'invalid @id value', value});\n }\n if(_isObject(value)) {\n // empty object is a wildcard\n if(!_isEmptyObject(value)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@id\" value an empty object or array ' +\n 'of strings, if framing',\n 'jsonld.SyntaxError', {code: 'invalid @id value', value});\n }\n } else if(_isArray(value)) {\n if(!value.every(v => _isString(v))) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@id\" value an empty object or array ' +\n 'of strings, if framing',\n 'jsonld.SyntaxError', {code: 'invalid @id value', value});\n }\n } else {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@id\" value an empty object or array ' +\n 'of strings, if framing',\n 'jsonld.SyntaxError', {code: 'invalid @id value', value});\n }\n }\n\n _addValue(\n expandedParent, '@id',\n _asArray(value).map(v => {\n if(_isString(v)) {\n const ve = _expandIri(activeCtx, v, {base: true}, options);\n if(options.eventHandler) {\n if(ve === null) {\n // NOTE: spec edge case\n // See https://github.com/w3c/json-ld-api/issues/480\n if(v === null) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'null @id value',\n level: 'warning',\n message: 'Null @id found.',\n details: {\n id: v\n }\n },\n options\n });\n } else {\n // matched KEYWORD regex\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'reserved @id value',\n level: 'warning',\n message: 'Reserved @id found.',\n details: {\n id: v\n }\n },\n options\n });\n }\n } else if(!_isAbsoluteIri(ve)) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'relative @id reference',\n level: 'warning',\n message: 'Relative @id reference found.',\n details: {\n id: v,\n expandedId: ve\n }\n },\n options\n });\n }\n }\n return ve;\n }\n return v;\n }),\n {propertyIsArray: options.isFrame});\n continue;\n }\n\n if(expandedProperty === '@type') {\n // if framing, can be a default object, but need to expand\n // key to determine that\n if(_isObject(value)) {\n value = Object.fromEntries(Object.entries(value).map(([k, v]) => [\n _expandIri(typeScopedContext, k, {vocab: true}),\n _asArray(v).map(vv =>\n _expandIri(typeScopedContext, vv, {base: true, vocab: true},\n {...options, typeExpansion: true})\n )\n ]));\n }\n _validateTypeValue(value, options.isFrame);\n _addValue(\n expandedParent, '@type',\n _asArray(value).map(v => {\n if(_isString(v)) {\n const ve = _expandIri(typeScopedContext, v,\n {base: true, vocab: true},\n {...options, typeExpansion: true});\n if(ve !== '@json' && !_isAbsoluteIri(ve)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'relative @type reference',\n level: 'warning',\n message: 'Relative @type reference found.',\n details: {\n type: v\n }\n },\n options\n });\n }\n }\n return ve;\n }\n return v;\n }),\n {propertyIsArray: !!options.isFrame});\n continue;\n }\n\n // Included blocks are treated as an array of separate object nodes sharing\n // the same referencing active_property.\n // For 1.0, it is skipped as are other unknown keywords\n if(expandedProperty === '@included' && _processingMode(activeCtx, 1.1)) {\n const includedResult = _asArray(await api.expand({\n activeCtx,\n activeProperty,\n element: value,\n options\n }));\n\n // Expanded values must be node objects\n if(!includedResult.every(v => _isSubject(v))) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; ' +\n 'values of @included must expand to node objects.',\n 'jsonld.SyntaxError', {code: 'invalid @included value', value});\n }\n\n _addValue(\n expandedParent, '@included', includedResult, {propertyIsArray: true});\n continue;\n }\n\n // @graph must be an array or an object\n if(expandedProperty === '@graph' &&\n !(_isObject(value) || _isArray(value))) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@graph\" value must not be an ' +\n 'object or an array.',\n 'jsonld.SyntaxError', {code: 'invalid @graph value', value});\n }\n\n if(expandedProperty === '@value') {\n // capture value for later\n // \"colliding keywords\" check prevents this from being set twice\n unexpandedValue = value;\n if(isJsonType && _processingMode(activeCtx, 1.1)) {\n // no coercion to array, and retain all values\n expandedParent['@value'] = value;\n } else {\n _addValue(\n expandedParent, '@value', value, {propertyIsArray: options.isFrame});\n }\n continue;\n }\n\n // @language must be a string\n // it should match BCP47\n if(expandedProperty === '@language') {\n if(value === null) {\n // drop null @language values, they expand as if they didn't exist\n continue;\n }\n if(!_isString(value) && !options.isFrame) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@language\" value must be a string.',\n 'jsonld.SyntaxError',\n {code: 'invalid language-tagged string', value});\n }\n // ensure language value is lowercase\n value = _asArray(value).map(v => _isString(v) ? v.toLowerCase() : v);\n\n // ensure language tag matches BCP47\n for(const language of value) {\n if(_isString(language) && !language.match(REGEX_BCP47)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'invalid @language value',\n level: 'warning',\n message: '@language value must be valid BCP47.',\n details: {\n language\n }\n },\n options\n });\n }\n }\n }\n\n _addValue(\n expandedParent, '@language', value, {propertyIsArray: options.isFrame});\n continue;\n }\n\n // @direction must be \"ltr\" or \"rtl\"\n if(expandedProperty === '@direction') {\n if(!_isString(value) && !options.isFrame) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@direction\" value must be a string.',\n 'jsonld.SyntaxError',\n {code: 'invalid base direction', value});\n }\n\n value = _asArray(value);\n\n // ensure direction is \"ltr\" or \"rtl\"\n for(const dir of value) {\n if(_isString(dir) && dir !== 'ltr' && dir !== 'rtl') {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@direction\" must be \"ltr\" or \"rtl\".',\n 'jsonld.SyntaxError',\n {code: 'invalid base direction', value});\n }\n }\n\n _addValue(\n expandedParent, '@direction', value,\n {propertyIsArray: options.isFrame});\n continue;\n }\n\n // @index must be a string\n if(expandedProperty === '@index') {\n if(!_isString(value)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@index\" value must be a string.',\n 'jsonld.SyntaxError',\n {code: 'invalid @index value', value});\n }\n _addValue(expandedParent, '@index', value);\n continue;\n }\n\n // @reverse must be an object\n if(expandedProperty === '@reverse') {\n if(!_isObject(value)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@reverse\" value must be an object.',\n 'jsonld.SyntaxError', {code: 'invalid @reverse value', value});\n }\n\n expandedValue = await api.expand({\n activeCtx,\n activeProperty: '@reverse',\n element: value,\n options\n });\n // properties double-reversed\n if('@reverse' in expandedValue) {\n for(const property in expandedValue['@reverse']) {\n _addValue(\n expandedParent, property, expandedValue['@reverse'][property],\n {propertyIsArray: true});\n }\n }\n\n // FIXME: can this be merged with code below to simplify?\n // merge in all reversed properties\n let reverseMap = expandedParent['@reverse'] || null;\n for(const property in expandedValue) {\n if(property === '@reverse') {\n continue;\n }\n if(reverseMap === null) {\n reverseMap = expandedParent['@reverse'] = {};\n }\n _addValue(reverseMap, property, [], {propertyIsArray: true});\n const items = expandedValue[property];\n for(let ii = 0; ii < items.length; ++ii) {\n const item = items[ii];\n if(_isValue(item) || _isList(item)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@reverse\" value must not be a ' +\n '@value or an @list.', 'jsonld.SyntaxError',\n {code: 'invalid reverse property value', value: expandedValue});\n }\n _addValue(reverseMap, property, item, {propertyIsArray: true});\n }\n }\n\n continue;\n }\n\n // nested keys\n if(expandedProperty === '@nest') {\n nests.push(key);\n continue;\n }\n\n // use potential scoped context for key\n let termCtx = activeCtx;\n const ctx = _getContextValue(activeCtx, key, '@context');\n if(!_isUndefined(ctx)) {\n termCtx = await _processContext({\n activeCtx,\n localCtx: ctx,\n propagate: true,\n overrideProtected: true,\n options\n });\n }\n\n const container = _getContextValue(activeCtx, key, '@container') || [];\n\n if(container.includes('@language') && _isObject(value)) {\n const direction = _getContextValue(termCtx, key, '@direction');\n // handle language map container (skip if value is not an object)\n expandedValue = _expandLanguageMap(termCtx, value, direction, options);\n } else if(container.includes('@index') && _isObject(value)) {\n // handle index container (skip if value is not an object)\n const asGraph = container.includes('@graph');\n const indexKey = _getContextValue(termCtx, key, '@index') || '@index';\n const propertyIndex = indexKey !== '@index' &&\n _expandIri(activeCtx, indexKey, {vocab: true}, options);\n\n expandedValue = await _expandIndexMap({\n activeCtx: termCtx,\n options,\n activeProperty: key,\n value,\n asGraph,\n indexKey,\n propertyIndex\n });\n } else if(container.includes('@id') && _isObject(value)) {\n // handle id container (skip if value is not an object)\n const asGraph = container.includes('@graph');\n expandedValue = await _expandIndexMap({\n activeCtx: termCtx,\n options,\n activeProperty: key,\n value,\n asGraph,\n indexKey: '@id'\n });\n } else if(container.includes('@type') && _isObject(value)) {\n // handle type container (skip if value is not an object)\n expandedValue = await _expandIndexMap({\n // since container is `@type`, revert type scoped context when expanding\n activeCtx: termCtx.revertToPreviousContext(),\n options,\n activeProperty: key,\n value,\n asGraph: false,\n indexKey: '@type'\n });\n } else {\n // recurse into @list or @set\n const isList = expandedProperty === '@list';\n if(isList || expandedProperty === '@set') {\n let nextActiveProperty = activeProperty;\n if(isList && expandedActiveProperty === '@graph') {\n nextActiveProperty = null;\n }\n expandedValue = await api.expand({\n activeCtx: termCtx,\n activeProperty: nextActiveProperty,\n element: value,\n options,\n insideList: isList\n });\n } else if(\n _getContextValue(activeCtx, key, '@type') === '@json') {\n expandedValue = {\n '@type': '@json',\n '@value': value\n };\n } else {\n // recursively expand value with key as new active property\n expandedValue = await api.expand({\n activeCtx: termCtx,\n activeProperty: key,\n element: value,\n options,\n insideList: false\n });\n }\n }\n\n // drop null values if property is not @value\n if(expandedValue === null && expandedProperty !== '@value') {\n // FIXME: event?\n //unmappedValue: value,\n //expandedProperty,\n //key,\n continue;\n }\n\n // convert expanded value to @list if container specifies it\n if(expandedProperty !== '@list' && !_isList(expandedValue) &&\n container.includes('@list')) {\n // ensure expanded value in @list is an array\n expandedValue = {'@list': _asArray(expandedValue)};\n }\n\n // convert expanded value to @graph if container specifies it\n // and value is not, itself, a graph\n // index cases handled above\n if(container.includes('@graph') &&\n !container.some(key => key === '@id' || key === '@index')) {\n // ensure expanded values are in an array\n expandedValue = _asArray(expandedValue);\n if(!options.isFrame) {\n // drop items if needed\n expandedValue = expandedValue.filter(v => {\n const count = Object.keys(v).length;\n return _dropUnsafeObject({value: v, count, options}) !== null;\n });\n }\n if(expandedValue.length === 0) {\n // all items dropped, skip adding and continue\n continue;\n }\n // convert to graph\n expandedValue = expandedValue.map(v => ({'@graph': _asArray(v)}));\n }\n\n // FIXME: can this be merged with code above to simplify?\n // merge in reverse properties\n if(termCtx.mappings.has(key) && termCtx.mappings.get(key).reverse) {\n const reverseMap =\n expandedParent['@reverse'] = expandedParent['@reverse'] || {};\n expandedValue = _asArray(expandedValue);\n for(let ii = 0; ii < expandedValue.length; ++ii) {\n const item = expandedValue[ii];\n if(_isValue(item) || _isList(item)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@reverse\" value must not be a ' +\n '@value or an @list.', 'jsonld.SyntaxError',\n {code: 'invalid reverse property value', value: expandedValue});\n }\n _addValue(reverseMap, expandedProperty, item, {propertyIsArray: true});\n }\n continue;\n }\n\n // add value for property\n // special keywords handled above\n _addValue(expandedParent, expandedProperty, expandedValue, {\n propertyIsArray: true\n });\n }\n\n // @value must not be an object or an array (unless framing) or if @type is\n // @json\n if('@value' in expandedParent) {\n if(expandedParent['@type'] === '@json' && _processingMode(activeCtx, 1.1)) {\n // allow any value, to be verified when the object is fully expanded and\n // the @type is @json.\n } else if((_isObject(unexpandedValue) || _isArray(unexpandedValue)) &&\n !options.isFrame) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@value\" value must not be an ' +\n 'object or an array.',\n 'jsonld.SyntaxError',\n {code: 'invalid value object value', value: unexpandedValue});\n }\n }\n\n // expand each nested key\n for(const key of nests) {\n const nestedValues = _isArray(element[key]) ? element[key] : [element[key]];\n for(const nv of nestedValues) {\n if(!_isObject(nv) || Object.keys(nv).some(k =>\n _expandIri(activeCtx, k, {vocab: true}, options) === '@value')) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; nested value must be a node object.',\n 'jsonld.SyntaxError',\n {code: 'invalid @nest value', value: nv});\n }\n await _expandObject({\n activeCtx,\n activeProperty,\n expandedActiveProperty,\n element: nv,\n expandedParent,\n options,\n insideList,\n typeScopedContext,\n typeKey\n });\n }\n }\n}\n\n/**\n * Expands the given value by using the coercion and keyword rules in the\n * given context.\n *\n * @param activeCtx the active context to use.\n * @param activeProperty the active property the value is associated with.\n * @param value the value to expand.\n * @param {Object} [options] - processing options.\n *\n * @return the expanded value.\n */\nfunction _expandValue({activeCtx, activeProperty, value, options}) {\n // nothing to expand\n if(value === null || value === undefined) {\n return null;\n }\n\n // special-case expand @id and @type (skips '@id' expansion)\n const expandedProperty = _expandIri(\n activeCtx, activeProperty, {vocab: true}, options);\n if(expandedProperty === '@id') {\n return _expandIri(activeCtx, value, {base: true}, options);\n } else if(expandedProperty === '@type') {\n return _expandIri(activeCtx, value, {vocab: true, base: true},\n {...options, typeExpansion: true});\n }\n\n // get type definition from context\n const type = _getContextValue(activeCtx, activeProperty, '@type');\n\n // do @id expansion (automatic for @graph)\n if((type === '@id' || expandedProperty === '@graph') && _isString(value)) {\n const expandedValue = _expandIri(activeCtx, value, {base: true}, options);\n // NOTE: handle spec edge case and avoid invalid {\"@id\": null}\n if(expandedValue === null && value.match(REGEX_KEYWORD)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'reserved @id value',\n level: 'warning',\n message: 'Reserved @id found.',\n details: {\n id: activeProperty\n }\n },\n options\n });\n }\n }\n return {'@id': expandedValue};\n }\n // do @id expansion w/vocab\n if(type === '@vocab' && _isString(value)) {\n return {\n '@id': _expandIri(activeCtx, value, {vocab: true, base: true}, options)\n };\n }\n\n // do not expand keyword values\n if(_isKeyword(expandedProperty)) {\n return value;\n }\n\n const rval = {};\n\n if(type && !['@id', '@vocab', '@none'].includes(type)) {\n // other type\n rval['@type'] = type;\n } else if(_isString(value)) {\n // check for language tagging for strings\n const language = _getContextValue(activeCtx, activeProperty, '@language');\n if(language !== null) {\n rval['@language'] = language;\n }\n const direction = _getContextValue(activeCtx, activeProperty, '@direction');\n if(direction !== null) {\n rval['@direction'] = direction;\n }\n }\n // do conversion of values that aren't basic JSON types to strings\n if(!['boolean', 'number', 'string'].includes(typeof value)) {\n value = value.toString();\n }\n rval['@value'] = value;\n\n return rval;\n}\n\n/**\n * Expands a language map.\n *\n * @param activeCtx the active context to use.\n * @param languageMap the language map to expand.\n * @param direction the direction to apply to values.\n * @param {Object} [options] - processing options.\n *\n * @return the expanded language map.\n */\nfunction _expandLanguageMap(activeCtx, languageMap, direction, options) {\n const rval = [];\n const keys = Object.keys(languageMap).sort();\n for(const key of keys) {\n const expandedKey = _expandIri(activeCtx, key, {vocab: true}, options);\n let val = languageMap[key];\n if(!_isArray(val)) {\n val = [val];\n }\n for(const item of val) {\n if(item === null) {\n // null values are allowed (8.5) but ignored (3.1)\n continue;\n }\n if(!_isString(item)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; language map values must be strings.',\n 'jsonld.SyntaxError',\n {code: 'invalid language map value', languageMap});\n }\n const val = {'@value': item};\n if(expandedKey !== '@none') {\n if(!key.match(REGEX_BCP47)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'invalid @language value',\n level: 'warning',\n message: '@language value must be valid BCP47.',\n details: {\n language: key\n }\n },\n options\n });\n }\n }\n val['@language'] = key.toLowerCase();\n }\n if(direction) {\n val['@direction'] = direction;\n }\n rval.push(val);\n }\n }\n return rval;\n}\n\nasync function _expandIndexMap({\n activeCtx, options, activeProperty, value, asGraph, indexKey, propertyIndex\n}) {\n const rval = [];\n const keys = Object.keys(value).sort();\n const isTypeIndex = indexKey === '@type';\n for(let key of keys) {\n // if indexKey is @type, there may be a context defined for it\n if(isTypeIndex) {\n const ctx = _getContextValue(activeCtx, key, '@context');\n if(!_isUndefined(ctx)) {\n activeCtx = await _processContext({\n activeCtx,\n localCtx: ctx,\n propagate: false,\n options\n });\n }\n }\n\n let val = value[key];\n if(!_isArray(val)) {\n val = [val];\n }\n\n val = await api.expand({\n activeCtx,\n activeProperty,\n element: val,\n options,\n insideList: false,\n insideIndex: true\n });\n\n // expand for @type, but also for @none\n let expandedKey;\n if(propertyIndex) {\n if(key === '@none') {\n expandedKey = '@none';\n } else {\n expandedKey = _expandValue(\n {activeCtx, activeProperty: indexKey, value: key, options});\n }\n } else {\n expandedKey = _expandIri(activeCtx, key, {vocab: true}, options);\n }\n\n if(indexKey === '@id') {\n // expand document relative\n key = _expandIri(activeCtx, key, {base: true}, options);\n } else if(isTypeIndex) {\n key = expandedKey;\n }\n\n for(let item of val) {\n // If this is also a @graph container, turn items into graphs\n if(asGraph && !_isGraph(item)) {\n item = {'@graph': [item]};\n }\n if(indexKey === '@type') {\n if(expandedKey === '@none') {\n // ignore @none\n } else if(item['@type']) {\n item['@type'] = [key].concat(item['@type']);\n } else {\n item['@type'] = [key];\n }\n } else if(_isValue(item) &&\n !['@language', '@type', '@index'].includes(indexKey)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; Attempt to add illegal key to value ' +\n `object: \"${indexKey}\".`,\n 'jsonld.SyntaxError',\n {code: 'invalid value object', value: item});\n } else if(propertyIndex) {\n // index is a property to be expanded, and values interpreted for that\n // property\n if(expandedKey !== '@none') {\n // expand key as a value\n _addValue(item, propertyIndex, expandedKey, {\n propertyIsArray: true,\n prependValue: true\n });\n }\n } else if(expandedKey !== '@none' && !(indexKey in item)) {\n item[indexKey] = key;\n }\n rval.push(item);\n }\n }\n return rval;\n}\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst {\n isSubjectReference: _isSubjectReference\n} = require('./graphTypes');\n\nconst {\n createMergedNodeMap: _createMergedNodeMap\n} = require('./nodeMap');\n\nconst api = {};\nmodule.exports = api;\n\n/**\n * Performs JSON-LD flattening.\n *\n * @param input the expanded JSON-LD to flatten.\n *\n * @return the flattened output.\n */\napi.flatten = input => {\n const defaultGraph = _createMergedNodeMap(input);\n\n // produce flattened output\n const flattened = [];\n const keys = Object.keys(defaultGraph).sort();\n for(let ki = 0; ki < keys.length; ++ki) {\n const node = defaultGraph[keys[ki]];\n // only add full subjects to top-level\n if(!_isSubjectReference(node)) {\n flattened.push(node);\n }\n }\n return flattened;\n};\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst {isKeyword} = require('./context');\nconst graphTypes = require('./graphTypes');\nconst types = require('./types');\nconst util = require('./util');\nconst url = require('./url');\nconst JsonLdError = require('./JsonLdError');\nconst {\n createNodeMap: _createNodeMap,\n mergeNodeMapGraphs: _mergeNodeMapGraphs\n} = require('./nodeMap');\n\nconst api = {};\nmodule.exports = api;\n\n/**\n * Performs JSON-LD `merged` framing.\n *\n * @param input the expanded JSON-LD to frame.\n * @param frame the expanded JSON-LD frame to use.\n * @param options the framing options.\n *\n * @return the framed output.\n */\napi.frameMergedOrDefault = (input, frame, options) => {\n // create framing state\n const state = {\n options,\n embedded: false,\n graph: '@default',\n graphMap: {'@default': {}},\n subjectStack: [],\n link: {},\n bnodeMap: {}\n };\n\n // produce a map of all graphs and name each bnode\n // FIXME: currently uses subjects from @merged graph only\n const issuer = new util.IdentifierIssuer('_:b');\n _createNodeMap(input, state.graphMap, '@default', issuer);\n if(options.merged) {\n state.graphMap['@merged'] = _mergeNodeMapGraphs(state.graphMap);\n state.graph = '@merged';\n }\n state.subjects = state.graphMap[state.graph];\n\n // frame the subjects\n const framed = [];\n api.frame(state, Object.keys(state.subjects).sort(), frame, framed);\n\n // If pruning blank nodes, find those to prune\n if(options.pruneBlankNodeIdentifiers) {\n // remove all blank nodes appearing only once, done in compaction\n options.bnodesToClear =\n Object.keys(state.bnodeMap).filter(id => state.bnodeMap[id].length === 1);\n }\n\n // remove @preserve from results\n options.link = {};\n return _cleanupPreserve(framed, options);\n};\n\n/**\n * Frames subjects according to the given frame.\n *\n * @param state the current framing state.\n * @param subjects the subjects to filter.\n * @param frame the frame.\n * @param parent the parent subject or top-level array.\n * @param property the parent property, initialized to null.\n */\napi.frame = (state, subjects, frame, parent, property = null) => {\n // validate the frame\n _validateFrame(frame);\n frame = frame[0];\n\n // get flags for current frame\n const options = state.options;\n const flags = {\n embed: _getFrameFlag(frame, options, 'embed'),\n explicit: _getFrameFlag(frame, options, 'explicit'),\n requireAll: _getFrameFlag(frame, options, 'requireAll')\n };\n\n // get link for current graph\n if(!state.link.hasOwnProperty(state.graph)) {\n state.link[state.graph] = {};\n }\n const link = state.link[state.graph];\n\n // filter out subjects that match the frame\n const matches = _filterSubjects(state, subjects, frame, flags);\n\n // add matches to output\n const ids = Object.keys(matches).sort();\n for(const id of ids) {\n const subject = matches[id];\n\n /* Note: In order to treat each top-level match as a compartmentalized\n result, clear the unique embedded subjects map when the property is null,\n which only occurs at the top-level. */\n if(property === null) {\n state.uniqueEmbeds = {[state.graph]: {}};\n } else {\n state.uniqueEmbeds[state.graph] = state.uniqueEmbeds[state.graph] || {};\n }\n\n if(flags.embed === '@link' && id in link) {\n // TODO: may want to also match an existing linked subject against\n // the current frame ... so different frames could produce different\n // subjects that are only shared in-memory when the frames are the same\n\n // add existing linked subject\n _addFrameOutput(parent, property, link[id]);\n continue;\n }\n\n // start output for subject\n const output = {'@id': id};\n if(id.indexOf('_:') === 0) {\n util.addValue(state.bnodeMap, id, output, {propertyIsArray: true});\n }\n link[id] = output;\n\n // validate @embed\n if((flags.embed === '@first' || flags.embed === '@last') && state.is11) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; invalid value of @embed.',\n 'jsonld.SyntaxError', {code: 'invalid @embed value', frame});\n }\n\n if(!state.embedded && state.uniqueEmbeds[state.graph].hasOwnProperty(id)) {\n // skip adding this node object to the top level, as it was\n // already included in another node object\n continue;\n }\n\n // if embed is @never or if a circular reference would be created by an\n // embed, the subject cannot be embedded, just add the reference;\n // note that a circular reference won't occur when the embed flag is\n // `@link` as the above check will short-circuit before reaching this point\n if(state.embedded &&\n (flags.embed === '@never' ||\n _createsCircularReference(subject, state.graph, state.subjectStack))) {\n _addFrameOutput(parent, property, output);\n continue;\n }\n\n // if only the first (or once) should be embedded\n if(state.embedded &&\n (flags.embed == '@first' || flags.embed == '@once') &&\n state.uniqueEmbeds[state.graph].hasOwnProperty(id)) {\n _addFrameOutput(parent, property, output);\n continue;\n }\n\n // if only the last match should be embedded\n if(flags.embed === '@last') {\n // remove any existing embed\n if(id in state.uniqueEmbeds[state.graph]) {\n _removeEmbed(state, id);\n }\n }\n\n state.uniqueEmbeds[state.graph][id] = {parent, property};\n\n // push matching subject onto stack to enable circular embed checks\n state.subjectStack.push({subject, graph: state.graph});\n\n // subject is also the name of a graph\n if(id in state.graphMap) {\n let recurse = false;\n let subframe = null;\n if(!('@graph' in frame)) {\n recurse = state.graph !== '@merged';\n subframe = {};\n } else {\n subframe = frame['@graph'][0];\n recurse = !(id === '@merged' || id === '@default');\n if(!types.isObject(subframe)) {\n subframe = {};\n }\n }\n\n if(recurse) {\n // recurse into graph\n api.frame(\n {...state, graph: id, embedded: false},\n Object.keys(state.graphMap[id]).sort(), [subframe], output, '@graph');\n }\n }\n\n // if frame has @included, recurse over its sub-frame\n if('@included' in frame) {\n api.frame(\n {...state, embedded: false},\n subjects, frame['@included'], output, '@included');\n }\n\n // iterate over subject properties\n for(const prop of Object.keys(subject).sort()) {\n // copy keywords to output\n if(isKeyword(prop)) {\n output[prop] = util.clone(subject[prop]);\n\n if(prop === '@type') {\n // count bnode values of @type\n for(const type of subject['@type']) {\n if(type.indexOf('_:') === 0) {\n util.addValue(\n state.bnodeMap, type, output, {propertyIsArray: true});\n }\n }\n }\n continue;\n }\n\n // explicit is on and property isn't in the frame, skip processing\n if(flags.explicit && !(prop in frame)) {\n continue;\n }\n\n // add objects\n for(const o of subject[prop]) {\n const subframe = (prop in frame ?\n frame[prop] : _createImplicitFrame(flags));\n\n // recurse into list\n if(graphTypes.isList(o)) {\n const subframe =\n (frame[prop] && frame[prop][0] && frame[prop][0]['@list']) ?\n frame[prop][0]['@list'] :\n _createImplicitFrame(flags);\n\n // add empty list\n const list = {'@list': []};\n _addFrameOutput(output, prop, list);\n\n // add list objects\n const src = o['@list'];\n for(const oo of src) {\n if(graphTypes.isSubjectReference(oo)) {\n // recurse into subject reference\n api.frame(\n {...state, embedded: true},\n [oo['@id']], subframe, list, '@list');\n } else {\n // include other values automatically\n _addFrameOutput(list, '@list', util.clone(oo));\n }\n }\n } else if(graphTypes.isSubjectReference(o)) {\n // recurse into subject reference\n api.frame(\n {...state, embedded: true},\n [o['@id']], subframe, output, prop);\n } else if(_valueMatch(subframe[0], o)) {\n // include other values, if they match\n _addFrameOutput(output, prop, util.clone(o));\n }\n }\n }\n\n // handle defaults\n for(const prop of Object.keys(frame).sort()) {\n // skip keywords\n if(prop === '@type') {\n if(!types.isObject(frame[prop][0]) ||\n !('@default' in frame[prop][0])) {\n continue;\n }\n // allow through default types\n } else if(isKeyword(prop)) {\n continue;\n }\n\n // if omit default is off, then include default values for properties\n // that appear in the next frame but are not in the matching subject\n const next = frame[prop][0] || {};\n const omitDefaultOn = _getFrameFlag(next, options, 'omitDefault');\n if(!omitDefaultOn && !(prop in output)) {\n let preserve = '@null';\n if('@default' in next) {\n preserve = util.clone(next['@default']);\n }\n if(!types.isArray(preserve)) {\n preserve = [preserve];\n }\n output[prop] = [{'@preserve': preserve}];\n }\n }\n\n // if embed reverse values by finding nodes having this subject as a value\n // of the associated property\n for(const reverseProp of Object.keys(frame['@reverse'] || {}).sort()) {\n const subframe = frame['@reverse'][reverseProp];\n for(const subject of Object.keys(state.subjects)) {\n const nodeValues =\n util.getValues(state.subjects[subject], reverseProp);\n if(nodeValues.some(v => v['@id'] === id)) {\n // node has property referencing this subject, recurse\n output['@reverse'] = output['@reverse'] || {};\n util.addValue(\n output['@reverse'], reverseProp, [], {propertyIsArray: true});\n api.frame(\n {...state, embedded: true},\n [subject], subframe, output['@reverse'][reverseProp],\n property);\n }\n }\n }\n\n // add output to parent\n _addFrameOutput(parent, property, output);\n\n // pop matching subject from circular ref-checking stack\n state.subjectStack.pop();\n }\n};\n\n/**\n * Replace `@null` with `null`, removing it from arrays.\n *\n * @param input the framed, compacted output.\n * @param options the framing options used.\n *\n * @return the resulting output.\n */\napi.cleanupNull = (input, options) => {\n // recurse through arrays\n if(types.isArray(input)) {\n const noNulls = input.map(v => api.cleanupNull(v, options));\n return noNulls.filter(v => v); // removes nulls from array\n }\n\n if(input === '@null') {\n return null;\n }\n\n if(types.isObject(input)) {\n // handle in-memory linked nodes\n if('@id' in input) {\n const id = input['@id'];\n if(options.link.hasOwnProperty(id)) {\n const idx = options.link[id].indexOf(input);\n if(idx !== -1) {\n // already visited\n return options.link[id][idx];\n }\n // prevent circular visitation\n options.link[id].push(input);\n } else {\n // prevent circular visitation\n options.link[id] = [input];\n }\n }\n\n for(const key in input) {\n input[key] = api.cleanupNull(input[key], options);\n }\n }\n return input;\n};\n\n/**\n * Creates an implicit frame when recursing through subject matches. If\n * a frame doesn't have an explicit frame for a particular property, then\n * a wildcard child frame will be created that uses the same flags that the\n * parent frame used.\n *\n * @param flags the current framing flags.\n *\n * @return the implicit frame.\n */\nfunction _createImplicitFrame(flags) {\n const frame = {};\n for(const key in flags) {\n if(flags[key] !== undefined) {\n frame['@' + key] = [flags[key]];\n }\n }\n return [frame];\n}\n\n/**\n * Checks the current subject stack to see if embedding the given subject\n * would cause a circular reference.\n *\n * @param subjectToEmbed the subject to embed.\n * @param graph the graph the subject to embed is in.\n * @param subjectStack the current stack of subjects.\n *\n * @return true if a circular reference would be created, false if not.\n */\nfunction _createsCircularReference(subjectToEmbed, graph, subjectStack) {\n for(let i = subjectStack.length - 1; i >= 0; --i) {\n const subject = subjectStack[i];\n if(subject.graph === graph &&\n subject.subject['@id'] === subjectToEmbed['@id']) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Gets the frame flag value for the given flag name.\n *\n * @param frame the frame.\n * @param options the framing options.\n * @param name the flag name.\n *\n * @return the flag value.\n */\nfunction _getFrameFlag(frame, options, name) {\n const flag = '@' + name;\n let rval = (flag in frame ? frame[flag][0] : options[name]);\n if(name === 'embed') {\n // default is \"@last\"\n // backwards-compatibility support for \"embed\" maps:\n // true => \"@last\"\n // false => \"@never\"\n if(rval === true) {\n rval = '@once';\n } else if(rval === false) {\n rval = '@never';\n } else if(rval !== '@always' && rval !== '@never' && rval !== '@link' &&\n rval !== '@first' && rval !== '@last' && rval !== '@once') {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; invalid value of @embed.',\n 'jsonld.SyntaxError', {code: 'invalid @embed value', frame});\n }\n }\n return rval;\n}\n\n/**\n * Validates a JSON-LD frame, throwing an exception if the frame is invalid.\n *\n * @param frame the frame to validate.\n */\nfunction _validateFrame(frame) {\n if(!types.isArray(frame) || frame.length !== 1 || !types.isObject(frame[0])) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; a JSON-LD frame must be a single object.',\n 'jsonld.SyntaxError', {frame});\n }\n\n if('@id' in frame[0]) {\n for(const id of util.asArray(frame[0]['@id'])) {\n // @id must be wildcard or an IRI\n if(!(types.isObject(id) || url.isAbsolute(id)) ||\n (types.isString(id) && id.indexOf('_:') === 0)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; invalid @id in frame.',\n 'jsonld.SyntaxError', {code: 'invalid frame', frame});\n }\n }\n }\n\n if('@type' in frame[0]) {\n for(const type of util.asArray(frame[0]['@type'])) {\n // @type must be wildcard, IRI, or @json\n if(!(types.isObject(type) || url.isAbsolute(type) ||\n (type === '@json')) ||\n (types.isString(type) && type.indexOf('_:') === 0)) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; invalid @type in frame.',\n 'jsonld.SyntaxError', {code: 'invalid frame', frame});\n }\n }\n }\n}\n\n/**\n * Returns a map of all of the subjects that match a parsed frame.\n *\n * @param state the current framing state.\n * @param subjects the set of subjects to filter.\n * @param frame the parsed frame.\n * @param flags the frame flags.\n *\n * @return all of the matched subjects.\n */\nfunction _filterSubjects(state, subjects, frame, flags) {\n // filter subjects in @id order\n const rval = {};\n for(const id of subjects) {\n const subject = state.graphMap[state.graph][id];\n if(_filterSubject(state, subject, frame, flags)) {\n rval[id] = subject;\n }\n }\n return rval;\n}\n\n/**\n * Returns true if the given subject matches the given frame.\n *\n * Matches either based on explicit type inclusion where the node has any\n * type listed in the frame. If the frame has empty types defined matches\n * nodes not having a @type. If the frame has a type of {} defined matches\n * nodes having any type defined.\n *\n * Otherwise, does duck typing, where the node must have all of the\n * properties defined in the frame.\n *\n * @param state the current framing state.\n * @param subject the subject to check.\n * @param frame the frame to check.\n * @param flags the frame flags.\n *\n * @return true if the subject matches, false if not.\n */\nfunction _filterSubject(state, subject, frame, flags) {\n // check ducktype\n let wildcard = true;\n let matchesSome = false;\n\n for(const key in frame) {\n let matchThis = false;\n const nodeValues = util.getValues(subject, key);\n const isEmpty = util.getValues(frame, key).length === 0;\n\n if(key === '@id') {\n // match on no @id or any matching @id, including wildcard\n if(types.isEmptyObject(frame['@id'][0] || {})) {\n matchThis = true;\n } else if(frame['@id'].length >= 0) {\n matchThis = frame['@id'].includes(nodeValues[0]);\n }\n if(!flags.requireAll) {\n return matchThis;\n }\n } else if(key === '@type') {\n // check @type (object value means 'any' type,\n // fall through to ducktyping)\n wildcard = false;\n if(isEmpty) {\n if(nodeValues.length > 0) {\n // don't match on no @type\n return false;\n }\n matchThis = true;\n } else if(frame['@type'].length === 1 &&\n types.isEmptyObject(frame['@type'][0])) {\n // match on wildcard @type if there is a type\n matchThis = nodeValues.length > 0;\n } else {\n // match on a specific @type\n for(const type of frame['@type']) {\n if(types.isObject(type) && '@default' in type) {\n // match on default object\n matchThis = true;\n } else {\n matchThis = matchThis || nodeValues.some(tt => tt === type);\n }\n }\n }\n if(!flags.requireAll) {\n return matchThis;\n }\n } else if(isKeyword(key)) {\n continue;\n } else {\n // Force a copy of this frame entry so it can be manipulated\n const thisFrame = util.getValues(frame, key)[0];\n let hasDefault = false;\n if(thisFrame) {\n _validateFrame([thisFrame]);\n hasDefault = '@default' in thisFrame;\n }\n\n // no longer a wildcard pattern if frame has any non-keyword properties\n wildcard = false;\n\n // skip, but allow match if node has no value for property, and frame has\n // a default value\n if(nodeValues.length === 0 && hasDefault) {\n continue;\n }\n\n // if frame value is empty, don't match if subject has any value\n if(nodeValues.length > 0 && isEmpty) {\n return false;\n }\n\n if(thisFrame === undefined) {\n // node does not match if values is not empty and the value of property\n // in frame is match none.\n if(nodeValues.length > 0) {\n return false;\n }\n matchThis = true;\n } else {\n if(graphTypes.isList(thisFrame)) {\n const listValue = thisFrame['@list'][0];\n if(graphTypes.isList(nodeValues[0])) {\n const nodeListValues = nodeValues[0]['@list'];\n\n if(graphTypes.isValue(listValue)) {\n // match on any matching value\n matchThis = nodeListValues.some(lv => _valueMatch(listValue, lv));\n } else if(graphTypes.isSubject(listValue) ||\n graphTypes.isSubjectReference(listValue)) {\n matchThis = nodeListValues.some(lv => _nodeMatch(\n state, listValue, lv, flags));\n }\n }\n } else if(graphTypes.isValue(thisFrame)) {\n matchThis = nodeValues.some(nv => _valueMatch(thisFrame, nv));\n } else if(graphTypes.isSubjectReference(thisFrame)) {\n matchThis =\n nodeValues.some(nv => _nodeMatch(state, thisFrame, nv, flags));\n } else if(types.isObject(thisFrame)) {\n matchThis = nodeValues.length > 0;\n } else {\n matchThis = false;\n }\n }\n }\n\n // all non-defaulted values must match if requireAll is set\n if(!matchThis && flags.requireAll) {\n return false;\n }\n\n matchesSome = matchesSome || matchThis;\n }\n\n // return true if wildcard or subject matches some properties\n return wildcard || matchesSome;\n}\n\n/**\n * Removes an existing embed.\n *\n * @param state the current framing state.\n * @param id the @id of the embed to remove.\n */\nfunction _removeEmbed(state, id) {\n // get existing embed\n const embeds = state.uniqueEmbeds[state.graph];\n const embed = embeds[id];\n const parent = embed.parent;\n const property = embed.property;\n\n // create reference to replace embed\n const subject = {'@id': id};\n\n // remove existing embed\n if(types.isArray(parent)) {\n // replace subject with reference\n for(let i = 0; i < parent.length; ++i) {\n if(util.compareValues(parent[i], subject)) {\n parent[i] = subject;\n break;\n }\n }\n } else {\n // replace subject with reference\n const useArray = types.isArray(parent[property]);\n util.removeValue(parent, property, subject, {propertyIsArray: useArray});\n util.addValue(parent, property, subject, {propertyIsArray: useArray});\n }\n\n // recursively remove dependent dangling embeds\n const removeDependents = id => {\n // get embed keys as a separate array to enable deleting keys in map\n const ids = Object.keys(embeds);\n for(const next of ids) {\n if(next in embeds && types.isObject(embeds[next].parent) &&\n embeds[next].parent['@id'] === id) {\n delete embeds[next];\n removeDependents(next);\n }\n }\n };\n removeDependents(id);\n}\n\n/**\n * Removes the @preserve keywords from expanded result of framing.\n *\n * @param input the framed, framed output.\n * @param options the framing options used.\n *\n * @return the resulting output.\n */\nfunction _cleanupPreserve(input, options) {\n // recurse through arrays\n if(types.isArray(input)) {\n return input.map(value => _cleanupPreserve(value, options));\n }\n\n if(types.isObject(input)) {\n // remove @preserve\n if('@preserve' in input) {\n return input['@preserve'][0];\n }\n\n // skip @values\n if(graphTypes.isValue(input)) {\n return input;\n }\n\n // recurse through @lists\n if(graphTypes.isList(input)) {\n input['@list'] = _cleanupPreserve(input['@list'], options);\n return input;\n }\n\n // handle in-memory linked nodes\n if('@id' in input) {\n const id = input['@id'];\n if(options.link.hasOwnProperty(id)) {\n const idx = options.link[id].indexOf(input);\n if(idx !== -1) {\n // already visited\n return options.link[id][idx];\n }\n // prevent circular visitation\n options.link[id].push(input);\n } else {\n // prevent circular visitation\n options.link[id] = [input];\n }\n }\n\n // recurse through properties\n for(const prop in input) {\n // potentially remove the id, if it is an unreference bnode\n if(prop === '@id' && options.bnodesToClear.includes(input[prop])) {\n delete input['@id'];\n continue;\n }\n\n input[prop] = _cleanupPreserve(input[prop], options);\n }\n }\n return input;\n}\n\n/**\n * Adds framing output to the given parent.\n *\n * @param parent the parent to add to.\n * @param property the parent property.\n * @param output the output to add.\n */\nfunction _addFrameOutput(parent, property, output) {\n if(types.isObject(parent)) {\n util.addValue(parent, property, output, {propertyIsArray: true});\n } else {\n parent.push(output);\n }\n}\n\n/**\n * Node matches if it is a node, and matches the pattern as a frame.\n *\n * @param state the current framing state.\n * @param pattern used to match value\n * @param value to check\n * @param flags the frame flags.\n */\nfunction _nodeMatch(state, pattern, value, flags) {\n if(!('@id' in value)) {\n return false;\n }\n const nodeObject = state.subjects[value['@id']];\n return nodeObject && _filterSubject(state, nodeObject, pattern, flags);\n}\n\n/**\n * Value matches if it is a value and matches the value pattern\n *\n * * `pattern` is empty\n * * @values are the same, or `pattern[@value]` is a wildcard, and\n * * @types are the same or `value[@type]` is not null\n * and `pattern[@type]` is `{}`, or `value[@type]` is null\n * and `pattern[@type]` is null or `[]`, and\n * * @languages are the same or `value[@language]` is not null\n * and `pattern[@language]` is `{}`, or `value[@language]` is null\n * and `pattern[@language]` is null or `[]`.\n *\n * @param pattern used to match value\n * @param value to check\n */\nfunction _valueMatch(pattern, value) {\n const v1 = value['@value'];\n const t1 = value['@type'];\n const l1 = value['@language'];\n const v2 = pattern['@value'] ?\n (types.isArray(pattern['@value']) ?\n pattern['@value'] : [pattern['@value']]) :\n [];\n const t2 = pattern['@type'] ?\n (types.isArray(pattern['@type']) ?\n pattern['@type'] : [pattern['@type']]) :\n [];\n const l2 = pattern['@language'] ?\n (types.isArray(pattern['@language']) ?\n pattern['@language'] : [pattern['@language']]) :\n [];\n\n if(v2.length === 0 && t2.length === 0 && l2.length === 0) {\n return true;\n }\n if(!(v2.includes(v1) || types.isEmptyObject(v2[0]))) {\n return false;\n }\n if(!(!t1 && t2.length === 0 || t2.includes(t1) || t1 &&\n types.isEmptyObject(t2[0]))) {\n return false;\n }\n if(!(!l1 && l2.length === 0 || l2.includes(l1) || l1 &&\n types.isEmptyObject(l2[0]))) {\n return false;\n }\n return true;\n}\n","/*\n * Copyright (c) 2017-2023 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst JsonLdError = require('./JsonLdError');\nconst graphTypes = require('./graphTypes');\nconst types = require('./types');\n\nconst {\n REGEX_BCP47,\n addValue: _addValue\n} = require('./util');\n\nconst {\n handleEvent: _handleEvent\n} = require('./events');\n\n// constants\nconst {\n // RDF,\n RDF_LIST,\n RDF_FIRST,\n RDF_REST,\n RDF_NIL,\n RDF_TYPE,\n // RDF_PLAIN_LITERAL,\n // RDF_XML_LITERAL,\n RDF_JSON_LITERAL,\n // RDF_OBJECT,\n // RDF_LANGSTRING,\n\n // XSD,\n XSD_BOOLEAN,\n XSD_DOUBLE,\n XSD_INTEGER,\n XSD_STRING,\n} = require('./constants');\n\nconst api = {};\nmodule.exports = api;\n\n/**\n * Converts an RDF dataset to JSON-LD.\n *\n * @param dataset the RDF dataset.\n * @param options the RDF serialization options.\n *\n * @return a Promise that resolves to the JSON-LD output.\n */\napi.fromRDF = async (\n dataset,\n options\n) => {\n const {\n useRdfType = false,\n useNativeTypes = false,\n rdfDirection = null\n } = options;\n // FIXME: use Maps?\n const defaultGraph = {};\n const graphMap = {'@default': defaultGraph};\n const referencedOnce = {};\n if(rdfDirection) {\n if(rdfDirection === 'compound-literal') {\n throw new JsonLdError(\n 'Unsupported rdfDirection value.',\n 'jsonld.InvalidRdfDirection',\n {value: rdfDirection});\n } else if(rdfDirection !== 'i18n-datatype') {\n throw new JsonLdError(\n 'Unknown rdfDirection value.',\n 'jsonld.InvalidRdfDirection',\n {value: rdfDirection});\n }\n }\n\n for(const quad of dataset) {\n // TODO: change 'name' to 'graph'\n const name = (quad.graph.termType === 'DefaultGraph') ?\n '@default' : quad.graph.value;\n if(!(name in graphMap)) {\n graphMap[name] = {};\n }\n if(name !== '@default' && !(name in defaultGraph)) {\n defaultGraph[name] = {'@id': name};\n }\n\n const nodeMap = graphMap[name];\n\n // get subject, predicate, object\n const s = quad.subject.value;\n const p = quad.predicate.value;\n const o = quad.object;\n\n if(!(s in nodeMap)) {\n nodeMap[s] = {'@id': s};\n }\n const node = nodeMap[s];\n\n const objectIsNode = o.termType.endsWith('Node');\n if(objectIsNode && !(o.value in nodeMap)) {\n nodeMap[o.value] = {'@id': o.value};\n }\n\n if(p === RDF_TYPE && !useRdfType && objectIsNode) {\n _addValue(node, '@type', o.value, {propertyIsArray: true});\n continue;\n }\n\n const value = _RDFToObject(o, useNativeTypes, rdfDirection, options);\n _addValue(node, p, value, {propertyIsArray: true});\n\n // object may be an RDF list/partial list node but we can't know easily\n // until all triples are read\n if(objectIsNode) {\n if(o.value === RDF_NIL) {\n // track rdf:nil uniquely per graph\n const object = nodeMap[o.value];\n if(!('usages' in object)) {\n object.usages = [];\n }\n object.usages.push({\n node,\n property: p,\n value\n });\n } else if(o.value in referencedOnce) {\n // object referenced more than once\n referencedOnce[o.value] = false;\n } else {\n // keep track of single reference\n referencedOnce[o.value] = {\n node,\n property: p,\n value\n };\n }\n }\n }\n\n /*\n for(let name in dataset) {\n const graph = dataset[name];\n if(!(name in graphMap)) {\n graphMap[name] = {};\n }\n if(name !== '@default' && !(name in defaultGraph)) {\n defaultGraph[name] = {'@id': name};\n }\n const nodeMap = graphMap[name];\n for(let ti = 0; ti < graph.length; ++ti) {\n const triple = graph[ti];\n\n // get subject, predicate, object\n const s = triple.subject.value;\n const p = triple.predicate.value;\n const o = triple.object;\n\n if(!(s in nodeMap)) {\n nodeMap[s] = {'@id': s};\n }\n const node = nodeMap[s];\n\n const objectIsId = (o.type === 'IRI' || o.type === 'blank node');\n if(objectIsId && !(o.value in nodeMap)) {\n nodeMap[o.value] = {'@id': o.value};\n }\n\n if(p === RDF_TYPE && !useRdfType && objectIsId) {\n _addValue(node, '@type', o.value, {propertyIsArray: true});\n continue;\n }\n\n const value = _RDFToObject(o, useNativeTypes);\n _addValue(node, p, value, {propertyIsArray: true});\n\n // object may be an RDF list/partial list node but we can't know easily\n // until all triples are read\n if(objectIsId) {\n if(o.value === RDF_NIL) {\n // track rdf:nil uniquely per graph\n const object = nodeMap[o.value];\n if(!('usages' in object)) {\n object.usages = [];\n }\n object.usages.push({\n node: node,\n property: p,\n value: value\n });\n } else if(o.value in referencedOnce) {\n // object referenced more than once\n referencedOnce[o.value] = false;\n } else {\n // keep track of single reference\n referencedOnce[o.value] = {\n node: node,\n property: p,\n value: value\n };\n }\n }\n }\n }*/\n\n // convert linked lists to @list arrays\n for(const name in graphMap) {\n const graphObject = graphMap[name];\n\n // no @lists to be converted, continue\n if(!(RDF_NIL in graphObject)) {\n continue;\n }\n\n // iterate backwards through each RDF list\n const nil = graphObject[RDF_NIL];\n if(!nil.usages) {\n continue;\n }\n for(let usage of nil.usages) {\n let node = usage.node;\n let property = usage.property;\n let head = usage.value;\n const list = [];\n const listNodes = [];\n\n // ensure node is a well-formed list node; it must:\n // 1. Be referenced only once.\n // 2. Have an array for rdf:first that has 1 item.\n // 3. Have an array for rdf:rest that has 1 item.\n // 4. Have no keys other than: @id, rdf:first, rdf:rest, and,\n // optionally, @type where the value is rdf:List.\n let nodeKeyCount = Object.keys(node).length;\n while(property === RDF_REST &&\n types.isObject(referencedOnce[node['@id']]) &&\n types.isArray(node[RDF_FIRST]) && node[RDF_FIRST].length === 1 &&\n types.isArray(node[RDF_REST]) && node[RDF_REST].length === 1 &&\n (nodeKeyCount === 3 ||\n (nodeKeyCount === 4 && types.isArray(node['@type']) &&\n node['@type'].length === 1 && node['@type'][0] === RDF_LIST))) {\n list.push(node[RDF_FIRST][0]);\n listNodes.push(node['@id']);\n\n // get next node, moving backwards through list\n usage = referencedOnce[node['@id']];\n node = usage.node;\n property = usage.property;\n head = usage.value;\n nodeKeyCount = Object.keys(node).length;\n\n // if node is not a blank node, then list head found\n if(!graphTypes.isBlankNode(node)) {\n break;\n }\n }\n\n // transform list into @list object\n delete head['@id'];\n head['@list'] = list.reverse();\n for(const listNode of listNodes) {\n delete graphObject[listNode];\n }\n }\n\n delete nil.usages;\n }\n\n const result = [];\n const subjects = Object.keys(defaultGraph).sort();\n for(const subject of subjects) {\n const node = defaultGraph[subject];\n if(subject in graphMap) {\n const graph = node['@graph'] = [];\n const graphObject = graphMap[subject];\n const graphSubjects = Object.keys(graphObject).sort();\n for(const graphSubject of graphSubjects) {\n const node = graphObject[graphSubject];\n // only add full subjects to top-level\n if(!graphTypes.isSubjectReference(node)) {\n graph.push(node);\n }\n }\n }\n // only add full subjects to top-level\n if(!graphTypes.isSubjectReference(node)) {\n result.push(node);\n }\n }\n\n return result;\n};\n\n/**\n * Converts an RDF triple object to a JSON-LD object.\n *\n * @param o the RDF triple object to convert.\n * @param useNativeTypes true to output native types, false not to.\n * @param rdfDirection text direction mode [null, i18n-datatype]\n * @param options top level API options\n *\n * @return the JSON-LD object.\n */\nfunction _RDFToObject(o, useNativeTypes, rdfDirection, options) {\n // convert NamedNode/BlankNode object to JSON-LD\n if(o.termType.endsWith('Node')) {\n return {'@id': o.value};\n }\n\n // convert literal to JSON-LD\n const rval = {'@value': o.value};\n\n // add language\n if(o.language) {\n if(!o.language.match(REGEX_BCP47)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'invalid @language value',\n level: 'warning',\n message: '@language value must be valid BCP47.',\n details: {\n language: o.language\n }\n },\n options\n });\n }\n }\n rval['@language'] = o.language;\n } else {\n let type = o.datatype.value;\n if(!type) {\n type = XSD_STRING;\n }\n if(type === RDF_JSON_LITERAL) {\n type = '@json';\n try {\n rval['@value'] = JSON.parse(rval['@value']);\n } catch(e) {\n throw new JsonLdError(\n 'JSON literal could not be parsed.',\n 'jsonld.InvalidJsonLiteral',\n {code: 'invalid JSON literal', value: rval['@value'], cause: e});\n }\n }\n // use native types for certain xsd types\n if(useNativeTypes) {\n if(type === XSD_BOOLEAN) {\n if(rval['@value'] === 'true') {\n rval['@value'] = true;\n } else if(rval['@value'] === 'false') {\n rval['@value'] = false;\n }\n } else if(types.isNumeric(rval['@value'])) {\n if(type === XSD_INTEGER) {\n const i = parseInt(rval['@value'], 10);\n if(i.toFixed(0) === rval['@value']) {\n rval['@value'] = i;\n }\n } else if(type === XSD_DOUBLE) {\n rval['@value'] = parseFloat(rval['@value']);\n }\n }\n // do not add native type\n if(![XSD_BOOLEAN, XSD_INTEGER, XSD_DOUBLE, XSD_STRING].includes(type)) {\n rval['@type'] = type;\n }\n } else if(rdfDirection === 'i18n-datatype' &&\n type.startsWith('https://www.w3.org/ns/i18n#')) {\n const [, language, direction] = type.split(/[#_]/);\n if(language.length > 0) {\n rval['@language'] = language;\n if(!language.match(REGEX_BCP47)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'invalid @language value',\n level: 'warning',\n message: '@language value must be valid BCP47.',\n details: {\n language\n }\n },\n options\n });\n }\n }\n }\n rval['@direction'] = direction;\n } else if(type !== XSD_STRING) {\n rval['@type'] = type;\n }\n }\n\n return rval;\n}\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst types = require('./types');\n\nconst api = {};\nmodule.exports = api;\n\n/**\n * Returns true if the given value is a subject with properties.\n *\n * @param v the value to check.\n *\n * @return true if the value is a subject with properties, false if not.\n */\napi.isSubject = v => {\n // Note: A value is a subject if all of these hold true:\n // 1. It is an Object.\n // 2. It is not a @value, @set, or @list.\n // 3. It has more than 1 key OR any existing key is not @id.\n if(types.isObject(v) &&\n !(('@value' in v) || ('@set' in v) || ('@list' in v))) {\n const keyCount = Object.keys(v).length;\n return (keyCount > 1 || !('@id' in v));\n }\n return false;\n};\n\n/**\n * Returns true if the given value is a subject reference.\n *\n * @param v the value to check.\n *\n * @return true if the value is a subject reference, false if not.\n */\napi.isSubjectReference = v =>\n // Note: A value is a subject reference if all of these hold true:\n // 1. It is an Object.\n // 2. It has a single key: @id.\n (types.isObject(v) && Object.keys(v).length === 1 && ('@id' in v));\n\n/**\n * Returns true if the given value is a @value.\n *\n * @param v the value to check.\n *\n * @return true if the value is a @value, false if not.\n */\napi.isValue = v =>\n // Note: A value is a @value if all of these hold true:\n // 1. It is an Object.\n // 2. It has the @value property.\n types.isObject(v) && ('@value' in v);\n\n/**\n * Returns true if the given value is a @list.\n *\n * @param v the value to check.\n *\n * @return true if the value is a @list, false if not.\n */\napi.isList = v =>\n // Note: A value is a @list if all of these hold true:\n // 1. It is an Object.\n // 2. It has the @list property.\n types.isObject(v) && ('@list' in v);\n\n/**\n * Returns true if the given value is a @graph.\n *\n * @return true if the value is a @graph, false if not.\n */\napi.isGraph = v => {\n // Note: A value is a graph if all of these hold true:\n // 1. It is an object.\n // 2. It has an `@graph` key.\n // 3. It may have '@id' or '@index'\n return types.isObject(v) &&\n '@graph' in v &&\n Object.keys(v)\n .filter(key => key !== '@id' && key !== '@index').length === 1;\n};\n\n/**\n * Returns true if the given value is a simple @graph.\n *\n * @return true if the value is a simple @graph, false if not.\n */\napi.isSimpleGraph = v => {\n // Note: A value is a simple graph if all of these hold true:\n // 1. It is an object.\n // 2. It has an `@graph` key.\n // 3. It has only 1 key or 2 keys where one of them is `@index`.\n return api.isGraph(v) && !('@id' in v);\n};\n\n/**\n * Returns true if the given value is a blank node.\n *\n * @param v the value to check.\n *\n * @return true if the value is a blank node, false if not.\n */\napi.isBlankNode = v => {\n // Note: A value is a blank node if all of these hold true:\n // 1. It is an Object.\n // 2. If it has an @id key that is not a string OR begins with '_:'.\n // 3. It has no keys OR is not a @value, @set, or @list.\n if(types.isObject(v)) {\n if('@id' in v) {\n const id = v['@id'];\n return !types.isString(id) || id.indexOf('_:') === 0;\n }\n return (Object.keys(v).length === 0 ||\n !(('@value' in v) || ('@set' in v) || ('@list' in v)));\n }\n return false;\n};\n","/**\n * A JavaScript implementation of the JSON-LD API.\n *\n * @author Dave Longley\n *\n * @license BSD 3-Clause License\n * Copyright (c) 2011-2022 Digital Bazaar, Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n *\n * Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n *\n * Neither the name of the Digital Bazaar, Inc. nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n * IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\n * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\n * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\n * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\nconst canonize = require('rdf-canonize');\nconst platform = require('./platform');\nconst util = require('./util');\nconst ContextResolver = require('./ContextResolver');\nconst IdentifierIssuer = util.IdentifierIssuer;\nconst JsonLdError = require('./JsonLdError');\nconst LRU = require('lru-cache');\nconst NQuads = require('./NQuads');\n\nconst {expand: _expand} = require('./expand');\nconst {flatten: _flatten} = require('./flatten');\nconst {fromRDF: _fromRDF} = require('./fromRdf');\nconst {toRDF: _toRDF} = require('./toRdf');\n\nconst {\n frameMergedOrDefault: _frameMergedOrDefault,\n cleanupNull: _cleanupNull\n} = require('./frame');\n\nconst {\n isArray: _isArray,\n isObject: _isObject,\n isString: _isString\n} = require('./types');\n\nconst {\n isSubjectReference: _isSubjectReference,\n} = require('./graphTypes');\n\nconst {\n expandIri: _expandIri,\n getInitialContext: _getInitialContext,\n process: _processContext,\n processingMode: _processingMode\n} = require('./context');\n\nconst {\n compact: _compact,\n compactIri: _compactIri\n} = require('./compact');\n\nconst {\n createNodeMap: _createNodeMap,\n createMergedNodeMap: _createMergedNodeMap,\n mergeNodeMaps: _mergeNodeMaps\n} = require('./nodeMap');\n\nconst {\n logEventHandler: _logEventHandler,\n logWarningEventHandler: _logWarningEventHandler,\n safeEventHandler: _safeEventHandler,\n setDefaultEventHandler: _setDefaultEventHandler,\n setupEventHandler: _setupEventHandler,\n strictEventHandler: _strictEventHandler,\n unhandledEventHandler: _unhandledEventHandler\n} = require('./events');\n\n/* eslint-disable indent */\n// attaches jsonld API to the given object\nconst wrapper = function(jsonld) {\n\n/** Registered RDF dataset parsers hashed by content-type. */\nconst _rdfParsers = {};\n\n// resolved context cache\n// TODO: consider basing max on context size rather than number\nconst RESOLVED_CONTEXT_CACHE_MAX_SIZE = 100;\nconst _resolvedContextCache = new LRU({max: RESOLVED_CONTEXT_CACHE_MAX_SIZE});\n\n/* Core API */\n\n/**\n * Performs JSON-LD compaction.\n *\n * @param input the JSON-LD input to compact.\n * @param ctx the context to compact with.\n * @param [options] options to use:\n * [base] the base IRI to use.\n * [compactArrays] true to compact arrays to single values when\n * appropriate, false not to (default: true).\n * [compactToRelative] true to compact IRIs to be relative to document\n * base, false to keep absolute (default: true)\n * [graph] true to always output a top-level graph (default: false).\n * [expandContext] a context to expand with.\n * [skipExpansion] true to assume the input is expanded and skip\n * expansion, false not to, defaults to false. Some well-formed\n * and safe-mode checks may be omitted.\n * [documentLoader(url, options)] the document loader.\n * [framing] true if compaction is occuring during a framing operation.\n * [safe] true to use safe mode. (default: false)\n * [contextResolver] internal use only.\n *\n * @return a Promise that resolves to the compacted output.\n */\njsonld.compact = async function(input, ctx, options) {\n if(arguments.length < 2) {\n throw new TypeError('Could not compact, too few arguments.');\n }\n\n if(ctx === null) {\n throw new JsonLdError(\n 'The compaction context must not be null.',\n 'jsonld.CompactError', {code: 'invalid local context'});\n }\n\n // nothing to compact\n if(input === null) {\n return null;\n }\n\n // set default options\n options = _setDefaults(options, {\n base: _isString(input) ? input : '',\n compactArrays: true,\n compactToRelative: true,\n graph: false,\n skipExpansion: false,\n link: false,\n issuer: new IdentifierIssuer('_:b'),\n contextResolver: new ContextResolver(\n {sharedCache: _resolvedContextCache})\n });\n if(options.link) {\n // force skip expansion when linking, \"link\" is not part of the public\n // API, it should only be called from framing\n options.skipExpansion = true;\n }\n if(!options.compactToRelative) {\n delete options.base;\n }\n\n // expand input\n let expanded;\n if(options.skipExpansion) {\n expanded = input;\n } else {\n expanded = await jsonld.expand(input, options);\n }\n\n // process context\n const activeCtx = await jsonld.processContext(\n _getInitialContext(options), ctx, options);\n\n // do compaction\n let compacted = await _compact({\n activeCtx,\n element: expanded,\n options\n });\n\n // perform clean up\n if(options.compactArrays && !options.graph && _isArray(compacted)) {\n if(compacted.length === 1) {\n // simplify to a single item\n compacted = compacted[0];\n } else if(compacted.length === 0) {\n // simplify to an empty object\n compacted = {};\n }\n } else if(options.graph && _isObject(compacted)) {\n // always use array if graph option is on\n compacted = [compacted];\n }\n\n // follow @context key\n if(_isObject(ctx) && '@context' in ctx) {\n ctx = ctx['@context'];\n }\n\n // build output context\n ctx = util.clone(ctx);\n if(!_isArray(ctx)) {\n ctx = [ctx];\n }\n // remove empty contexts\n const tmp = ctx;\n ctx = [];\n for(let i = 0; i < tmp.length; ++i) {\n if(!_isObject(tmp[i]) || Object.keys(tmp[i]).length > 0) {\n ctx.push(tmp[i]);\n }\n }\n\n // remove array if only one context\n const hasContext = (ctx.length > 0);\n if(ctx.length === 1) {\n ctx = ctx[0];\n }\n\n // add context and/or @graph\n if(_isArray(compacted)) {\n // use '@graph' keyword\n const graphAlias = _compactIri({\n activeCtx, iri: '@graph', relativeTo: {vocab: true}\n });\n const graph = compacted;\n compacted = {};\n if(hasContext) {\n compacted['@context'] = ctx;\n }\n compacted[graphAlias] = graph;\n } else if(_isObject(compacted) && hasContext) {\n // reorder keys so @context is first\n const graph = compacted;\n compacted = {'@context': ctx};\n for(const key in graph) {\n compacted[key] = graph[key];\n }\n }\n\n return compacted;\n};\n\n/**\n * Performs JSON-LD expansion.\n *\n * @param input the JSON-LD input to expand.\n * @param [options] the options to use:\n * [base] the base IRI to use.\n * [expandContext] a context to expand with.\n * [keepFreeFloatingNodes] true to keep free-floating nodes,\n * false not to, defaults to false.\n * [documentLoader(url, options)] the document loader.\n * [safe] true to use safe mode. (default: false)\n * [contextResolver] internal use only.\n *\n * @return a Promise that resolves to the expanded output.\n */\njsonld.expand = async function(input, options) {\n if(arguments.length < 1) {\n throw new TypeError('Could not expand, too few arguments.');\n }\n\n // set default options\n options = _setDefaults(options, {\n keepFreeFloatingNodes: false,\n contextResolver: new ContextResolver(\n {sharedCache: _resolvedContextCache})\n });\n\n // build set of objects that may have @contexts to resolve\n const toResolve = {};\n\n // build set of contexts to process prior to expansion\n const contextsToProcess = [];\n\n // if an `expandContext` has been given ensure it gets resolved\n if('expandContext' in options) {\n const expandContext = util.clone(options.expandContext);\n if(_isObject(expandContext) && '@context' in expandContext) {\n toResolve.expandContext = expandContext;\n } else {\n toResolve.expandContext = {'@context': expandContext};\n }\n contextsToProcess.push(toResolve.expandContext);\n }\n\n // if input is a string, attempt to dereference remote document\n let defaultBase;\n if(!_isString(input)) {\n // input is not a URL, do not need to retrieve it first\n toResolve.input = util.clone(input);\n } else {\n // load remote doc\n const remoteDoc = await jsonld.get(input, options);\n defaultBase = remoteDoc.documentUrl;\n toResolve.input = remoteDoc.document;\n if(remoteDoc.contextUrl) {\n // context included in HTTP link header and must be resolved\n toResolve.remoteContext = {'@context': remoteDoc.contextUrl};\n contextsToProcess.push(toResolve.remoteContext);\n }\n }\n\n // set default base\n if(!('base' in options)) {\n options.base = defaultBase || '';\n }\n\n // process any additional contexts\n let activeCtx = _getInitialContext(options);\n for(const localCtx of contextsToProcess) {\n activeCtx = await _processContext({activeCtx, localCtx, options});\n }\n\n // expand resolved input\n let expanded = await _expand({\n activeCtx,\n element: toResolve.input,\n options\n });\n\n // optimize away @graph with no other properties\n if(_isObject(expanded) && ('@graph' in expanded) &&\n Object.keys(expanded).length === 1) {\n expanded = expanded['@graph'];\n } else if(expanded === null) {\n expanded = [];\n }\n\n // normalize to an array\n if(!_isArray(expanded)) {\n expanded = [expanded];\n }\n\n return expanded;\n};\n\n/**\n * Performs JSON-LD flattening.\n *\n * @param input the JSON-LD to flatten.\n * @param ctx the context to use to compact the flattened output, or null.\n * @param [options] the options to use:\n * [base] the base IRI to use.\n * [expandContext] a context to expand with.\n * [documentLoader(url, options)] the document loader.\n * [contextResolver] internal use only.\n *\n * @return a Promise that resolves to the flattened output.\n */\njsonld.flatten = async function(input, ctx, options) {\n if(arguments.length < 1) {\n return new TypeError('Could not flatten, too few arguments.');\n }\n\n if(typeof ctx === 'function') {\n ctx = null;\n } else {\n ctx = ctx || null;\n }\n\n // set default options\n options = _setDefaults(options, {\n base: _isString(input) ? input : '',\n contextResolver: new ContextResolver(\n {sharedCache: _resolvedContextCache})\n });\n\n // expand input\n const expanded = await jsonld.expand(input, options);\n\n // do flattening\n const flattened = _flatten(expanded);\n\n if(ctx === null) {\n // no compaction required\n return flattened;\n }\n\n // compact result (force @graph option to true, skip expansion)\n options.graph = true;\n options.skipExpansion = true;\n const compacted = await jsonld.compact(flattened, ctx, options);\n\n return compacted;\n};\n\n/**\n * Performs JSON-LD framing.\n *\n * @param input the JSON-LD input to frame.\n * @param frame the JSON-LD frame to use.\n * @param [options] the framing options.\n * [base] the base IRI to use.\n * [expandContext] a context to expand with.\n * [embed] default @embed flag: '@last', '@always', '@never', '@link'\n * (default: '@last').\n * [explicit] default @explicit flag (default: false).\n * [requireAll] default @requireAll flag (default: true).\n * [omitDefault] default @omitDefault flag (default: false).\n * [documentLoader(url, options)] the document loader.\n * [safe] true to use safe mode. (default: false)\n * [contextResolver] internal use only.\n *\n * @return a Promise that resolves to the framed output.\n */\njsonld.frame = async function(input, frame, options) {\n if(arguments.length < 2) {\n throw new TypeError('Could not frame, too few arguments.');\n }\n\n // set default options\n options = _setDefaults(options, {\n base: _isString(input) ? input : '',\n embed: '@once',\n explicit: false,\n requireAll: false,\n omitDefault: false,\n bnodesToClear: [],\n contextResolver: new ContextResolver(\n {sharedCache: _resolvedContextCache})\n });\n\n // if frame is a string, attempt to dereference remote document\n if(_isString(frame)) {\n // load remote doc\n const remoteDoc = await jsonld.get(frame, options);\n frame = remoteDoc.document;\n\n if(remoteDoc.contextUrl) {\n // inject link header @context into frame\n let ctx = frame['@context'];\n if(!ctx) {\n ctx = remoteDoc.contextUrl;\n } else if(_isArray(ctx)) {\n ctx.push(remoteDoc.contextUrl);\n } else {\n ctx = [ctx, remoteDoc.contextUrl];\n }\n frame['@context'] = ctx;\n }\n }\n\n const frameContext = frame ? frame['@context'] || {} : {};\n\n // process context\n const activeCtx = await jsonld.processContext(\n _getInitialContext(options), frameContext, options);\n\n // mode specific defaults\n if(!options.hasOwnProperty('omitGraph')) {\n options.omitGraph = _processingMode(activeCtx, 1.1);\n }\n if(!options.hasOwnProperty('pruneBlankNodeIdentifiers')) {\n options.pruneBlankNodeIdentifiers = _processingMode(activeCtx, 1.1);\n }\n\n // expand input\n const expanded = await jsonld.expand(input, options);\n\n // expand frame\n const opts = {...options};\n opts.isFrame = true;\n opts.keepFreeFloatingNodes = true;\n const expandedFrame = await jsonld.expand(frame, opts);\n\n // if the unexpanded frame includes a key expanding to @graph, frame the\n // default graph, otherwise, the merged graph\n const frameKeys = Object.keys(frame)\n .map(key => _expandIri(activeCtx, key, {vocab: true}));\n opts.merged = !frameKeys.includes('@graph');\n opts.is11 = _processingMode(activeCtx, 1.1);\n\n // do framing\n const framed = _frameMergedOrDefault(expanded, expandedFrame, opts);\n\n opts.graph = !options.omitGraph;\n opts.skipExpansion = true;\n opts.link = {};\n opts.framing = true;\n let compacted = await jsonld.compact(framed, frameContext, opts);\n\n // replace @null with null, compacting arrays\n opts.link = {};\n compacted = _cleanupNull(compacted, opts);\n\n return compacted;\n};\n\n/**\n * **Experimental**\n *\n * Links a JSON-LD document's nodes in memory.\n *\n * @param input the JSON-LD document to link.\n * @param [ctx] the JSON-LD context to apply.\n * @param [options] the options to use:\n * [base] the base IRI to use.\n * [expandContext] a context to expand with.\n * [documentLoader(url, options)] the document loader.\n * [safe] true to use safe mode. (default: false)\n * [contextResolver] internal use only.\n *\n * @return a Promise that resolves to the linked output.\n */\njsonld.link = async function(input, ctx, options) {\n // API matches running frame with a wildcard frame and embed: '@link'\n // get arguments\n const frame = {};\n if(ctx) {\n frame['@context'] = ctx;\n }\n frame['@embed'] = '@link';\n return jsonld.frame(input, frame, options);\n};\n\n/**\n * Performs RDF dataset normalization on the given input. The input is JSON-LD\n * unless the 'inputFormat' option is used. The output is an RDF dataset\n * unless the 'format' option is used.\n *\n * Note: Canonicalization sets `safe` to `true` and `base` to `null` by\n * default in order to produce safe outputs and \"fail closed\" by default. This\n * is different from the other API transformations in this version which\n * allow unsafe defaults (for cryptographic usage) in order to comply with the\n * JSON-LD 1.1 specification.\n *\n * @param input the input to normalize as JSON-LD or as a format specified by\n * the 'inputFormat' option.\n * @param [options] the options to use:\n * [algorithm] the normalization algorithm to use, `URDNA2015` or\n * `URGNA2012` (default: `URDNA2015`).\n * [base] the base IRI to use (default: `null`).\n * [expandContext] a context to expand with.\n * [skipExpansion] true to assume the input is expanded and skip\n * expansion, false not to, defaults to false. Some well-formed\n * and safe-mode checks may be omitted.\n * [inputFormat] the format if input is not JSON-LD:\n * 'application/n-quads' for N-Quads.\n * [format] the format if output is a string:\n * 'application/n-quads' for N-Quads.\n * [documentLoader(url, options)] the document loader.\n * [useNative] true to use a native canonize algorithm\n * [rdfDirection] null or 'i18n-datatype' to support RDF\n * transformation of @direction (default: null).\n * [safe] true to use safe mode. (default: true).\n * [contextResolver] internal use only.\n *\n * @return a Promise that resolves to the normalized output.\n */\njsonld.normalize = jsonld.canonize = async function(input, options) {\n if(arguments.length < 1) {\n throw new TypeError('Could not canonize, too few arguments.');\n }\n\n // set default options\n options = _setDefaults(options, {\n base: _isString(input) ? input : null,\n algorithm: 'URDNA2015',\n skipExpansion: false,\n safe: true,\n contextResolver: new ContextResolver(\n {sharedCache: _resolvedContextCache})\n });\n if('inputFormat' in options) {\n if(options.inputFormat !== 'application/n-quads' &&\n options.inputFormat !== 'application/nquads') {\n throw new JsonLdError(\n 'Unknown canonicalization input format.',\n 'jsonld.CanonizeError');\n }\n // TODO: `await` for async parsers\n const parsedInput = NQuads.parse(input);\n\n // do canonicalization\n return canonize.canonize(parsedInput, options);\n }\n\n // convert to RDF dataset then do normalization\n const opts = {...options};\n delete opts.format;\n opts.produceGeneralizedRdf = false;\n const dataset = await jsonld.toRDF(input, opts);\n\n // do canonicalization\n return canonize.canonize(dataset, options);\n};\n\n/**\n * Converts an RDF dataset to JSON-LD.\n *\n * @param dataset a serialized string of RDF in a format specified by the\n * format option or an RDF dataset to convert.\n * @param [options] the options to use:\n * [format] the format if dataset param must first be parsed:\n * 'application/n-quads' for N-Quads (default).\n * [rdfParser] a custom RDF-parser to use to parse the dataset.\n * [useRdfType] true to use rdf:type, false to use @type\n * (default: false).\n * [useNativeTypes] true to convert XSD types into native types\n * (boolean, integer, double), false not to (default: false).\n * [rdfDirection] null or 'i18n-datatype' to support RDF\n * transformation of @direction (default: null).\n * [safe] true to use safe mode. (default: false)\n *\n * @return a Promise that resolves to the JSON-LD document.\n */\njsonld.fromRDF = async function(dataset, options) {\n if(arguments.length < 1) {\n throw new TypeError('Could not convert from RDF, too few arguments.');\n }\n\n // set default options\n options = _setDefaults(options, {\n format: _isString(dataset) ? 'application/n-quads' : undefined\n });\n\n const {format} = options;\n let {rdfParser} = options;\n\n // handle special format\n if(format) {\n // check supported formats\n rdfParser = rdfParser || _rdfParsers[format];\n if(!rdfParser) {\n throw new JsonLdError(\n 'Unknown input format.',\n 'jsonld.UnknownFormat', {format});\n }\n } else {\n // no-op parser, assume dataset already parsed\n rdfParser = () => dataset;\n }\n\n // rdfParser must be synchronous or return a promise, no callback support\n const parsedDataset = await rdfParser(dataset);\n return _fromRDF(parsedDataset, options);\n};\n\n/**\n * Outputs the RDF dataset found in the given JSON-LD object.\n *\n * @param input the JSON-LD input.\n * @param [options] the options to use:\n * [base] the base IRI to use.\n * [expandContext] a context to expand with.\n * [skipExpansion] true to assume the input is expanded and skip\n * expansion, false not to, defaults to false. Some well-formed\n * and safe-mode checks may be omitted.\n * [format] the format to use to output a string:\n * 'application/n-quads' for N-Quads.\n * [produceGeneralizedRdf] true to output generalized RDF, false\n * to produce only standard RDF (default: false).\n * [documentLoader(url, options)] the document loader.\n * [safe] true to use safe mode. (default: false)\n * [rdfDirection] null or 'i18n-datatype' to support RDF\n * transformation of @direction (default: null).\n * [contextResolver] internal use only.\n *\n * @return a Promise that resolves to the RDF dataset.\n */\njsonld.toRDF = async function(input, options) {\n if(arguments.length < 1) {\n throw new TypeError('Could not convert to RDF, too few arguments.');\n }\n\n // set default options\n options = _setDefaults(options, {\n base: _isString(input) ? input : '',\n skipExpansion: false,\n contextResolver: new ContextResolver(\n {sharedCache: _resolvedContextCache})\n });\n\n // TODO: support toRDF custom map?\n let expanded;\n if(options.skipExpansion) {\n expanded = input;\n } else {\n // expand input\n expanded = await jsonld.expand(input, options);\n }\n\n // output RDF dataset\n const dataset = _toRDF(expanded, options);\n if(options.format) {\n if(options.format === 'application/n-quads' ||\n options.format === 'application/nquads') {\n return NQuads.serialize(dataset);\n }\n throw new JsonLdError(\n 'Unknown output format.',\n 'jsonld.UnknownFormat', {format: options.format});\n }\n\n return dataset;\n};\n\n/**\n * **Experimental**\n *\n * Recursively flattens the nodes in the given JSON-LD input into a merged\n * map of node ID => node. All graphs will be merged into the default graph.\n *\n * @param input the JSON-LD input.\n * @param [options] the options to use:\n * [base] the base IRI to use.\n * [expandContext] a context to expand with.\n * [issuer] a jsonld.IdentifierIssuer to use to label blank nodes.\n * [documentLoader(url, options)] the document loader.\n * [contextResolver] internal use only.\n *\n * @return a Promise that resolves to the merged node map.\n */\njsonld.createNodeMap = async function(input, options) {\n if(arguments.length < 1) {\n throw new TypeError('Could not create node map, too few arguments.');\n }\n\n // set default options\n options = _setDefaults(options, {\n base: _isString(input) ? input : '',\n contextResolver: new ContextResolver(\n {sharedCache: _resolvedContextCache})\n });\n\n // expand input\n const expanded = await jsonld.expand(input, options);\n\n return _createMergedNodeMap(expanded, options);\n};\n\n/**\n * **Experimental**\n *\n * Merges two or more JSON-LD documents into a single flattened document.\n *\n * @param docs the JSON-LD documents to merge together.\n * @param ctx the context to use to compact the merged result, or null.\n * @param [options] the options to use:\n * [base] the base IRI to use.\n * [expandContext] a context to expand with.\n * [issuer] a jsonld.IdentifierIssuer to use to label blank nodes.\n * [mergeNodes] true to merge properties for nodes with the same ID,\n * false to ignore new properties for nodes with the same ID once\n * the ID has been defined; note that this may not prevent merging\n * new properties where a node is in the `object` position\n * (default: true).\n * [documentLoader(url, options)] the document loader.\n * [safe] true to use safe mode. (default: false)\n * [contextResolver] internal use only.\n *\n * @return a Promise that resolves to the merged output.\n */\njsonld.merge = async function(docs, ctx, options) {\n if(arguments.length < 1) {\n throw new TypeError('Could not merge, too few arguments.');\n }\n if(!_isArray(docs)) {\n throw new TypeError('Could not merge, \"docs\" must be an array.');\n }\n\n if(typeof ctx === 'function') {\n ctx = null;\n } else {\n ctx = ctx || null;\n }\n\n // set default options\n options = _setDefaults(options, {\n contextResolver: new ContextResolver(\n {sharedCache: _resolvedContextCache})\n });\n\n // expand all documents\n const expanded = await Promise.all(docs.map(doc => {\n const opts = {...options};\n return jsonld.expand(doc, opts);\n }));\n\n let mergeNodes = true;\n if('mergeNodes' in options) {\n mergeNodes = options.mergeNodes;\n }\n\n const issuer = options.issuer || new IdentifierIssuer('_:b');\n const graphs = {'@default': {}};\n\n for(let i = 0; i < expanded.length; ++i) {\n // uniquely relabel blank nodes\n const doc = util.relabelBlankNodes(expanded[i], {\n issuer: new IdentifierIssuer('_:b' + i + '-')\n });\n\n // add nodes to the shared node map graphs if merging nodes, to a\n // separate graph set if not\n const _graphs = (mergeNodes || i === 0) ? graphs : {'@default': {}};\n _createNodeMap(doc, _graphs, '@default', issuer);\n\n if(_graphs !== graphs) {\n // merge document graphs but don't merge existing nodes\n for(const graphName in _graphs) {\n const _nodeMap = _graphs[graphName];\n if(!(graphName in graphs)) {\n graphs[graphName] = _nodeMap;\n continue;\n }\n const nodeMap = graphs[graphName];\n for(const key in _nodeMap) {\n if(!(key in nodeMap)) {\n nodeMap[key] = _nodeMap[key];\n }\n }\n }\n }\n }\n\n // add all non-default graphs to default graph\n const defaultGraph = _mergeNodeMaps(graphs);\n\n // produce flattened output\n const flattened = [];\n const keys = Object.keys(defaultGraph).sort();\n for(let ki = 0; ki < keys.length; ++ki) {\n const node = defaultGraph[keys[ki]];\n // only add full subjects to top-level\n if(!_isSubjectReference(node)) {\n flattened.push(node);\n }\n }\n\n if(ctx === null) {\n return flattened;\n }\n\n // compact result (force @graph option to true, skip expansion)\n options.graph = true;\n options.skipExpansion = true;\n const compacted = await jsonld.compact(flattened, ctx, options);\n\n return compacted;\n};\n\n/**\n * The default document loader for external documents.\n *\n * @param url the URL to load.\n *\n * @return a promise that resolves to the remote document.\n */\nObject.defineProperty(jsonld, 'documentLoader', {\n get: () => jsonld._documentLoader,\n set: v => jsonld._documentLoader = v\n});\n// default document loader not implemented\njsonld.documentLoader = async url => {\n throw new JsonLdError(\n 'Could not retrieve a JSON-LD document from the URL. URL ' +\n 'dereferencing not implemented.', 'jsonld.LoadDocumentError',\n {code: 'loading document failed', url});\n};\n\n/**\n * Gets a remote JSON-LD document using the default document loader or\n * one given in the passed options.\n *\n * @param url the URL to fetch.\n * @param [options] the options to use:\n * [documentLoader] the document loader to use.\n *\n * @return a Promise that resolves to the retrieved remote document.\n */\njsonld.get = async function(url, options) {\n let load;\n if(typeof options.documentLoader === 'function') {\n load = options.documentLoader;\n } else {\n load = jsonld.documentLoader;\n }\n\n const remoteDoc = await load(url);\n\n try {\n if(!remoteDoc.document) {\n throw new JsonLdError(\n 'No remote document found at the given URL.',\n 'jsonld.NullRemoteDocument');\n }\n if(_isString(remoteDoc.document)) {\n remoteDoc.document = JSON.parse(remoteDoc.document);\n }\n } catch(e) {\n throw new JsonLdError(\n 'Could not retrieve a JSON-LD document from the URL.',\n 'jsonld.LoadDocumentError', {\n code: 'loading document failed',\n cause: e,\n remoteDoc\n });\n }\n\n return remoteDoc;\n};\n\n/**\n * Processes a local context, resolving any URLs as necessary, and returns a\n * new active context.\n *\n * @param activeCtx the current active context.\n * @param localCtx the local context to process.\n * @param [options] the options to use:\n * [documentLoader(url, options)] the document loader.\n * [safe] true to use safe mode. (default: false)\n * [contextResolver] internal use only.\n *\n * @return a Promise that resolves to the new active context.\n */\njsonld.processContext = async function(\n activeCtx, localCtx, options) {\n // set default options\n options = _setDefaults(options, {\n base: '',\n contextResolver: new ContextResolver(\n {sharedCache: _resolvedContextCache})\n });\n\n // return initial context early for null context\n if(localCtx === null) {\n return _getInitialContext(options);\n }\n\n // get URLs in localCtx\n localCtx = util.clone(localCtx);\n if(!(_isObject(localCtx) && '@context' in localCtx)) {\n localCtx = {'@context': localCtx};\n }\n\n return _processContext({activeCtx, localCtx, options});\n};\n\n// backwards compatibility\njsonld.getContextValue = require('./context').getContextValue;\n\n/**\n * Document loaders.\n */\njsonld.documentLoaders = {};\n\n/**\n * Assigns the default document loader for external document URLs to a built-in\n * default. Supported types currently include: 'xhr' and 'node'.\n *\n * @param type the type to set.\n * @param [params] the parameters required to use the document loader.\n */\njsonld.useDocumentLoader = function(type) {\n if(!(type in jsonld.documentLoaders)) {\n throw new JsonLdError(\n 'Unknown document loader type: \"' + type + '\"',\n 'jsonld.UnknownDocumentLoader',\n {type});\n }\n\n // set document loader\n jsonld.documentLoader = jsonld.documentLoaders[type].apply(\n jsonld, Array.prototype.slice.call(arguments, 1));\n};\n\n/**\n * Registers an RDF dataset parser by content-type, for use with\n * jsonld.fromRDF. An RDF dataset parser will always be given one parameter,\n * a string of input. An RDF dataset parser can be synchronous or\n * asynchronous (by returning a promise).\n *\n * @param contentType the content-type for the parser.\n * @param parser(input) the parser function (takes a string as a parameter\n * and either returns an RDF dataset or a Promise that resolves to one.\n */\njsonld.registerRDFParser = function(contentType, parser) {\n _rdfParsers[contentType] = parser;\n};\n\n/**\n * Unregisters an RDF dataset parser by content-type.\n *\n * @param contentType the content-type for the parser.\n */\njsonld.unregisterRDFParser = function(contentType) {\n delete _rdfParsers[contentType];\n};\n\n// register the N-Quads RDF parser\njsonld.registerRDFParser('application/n-quads', NQuads.parse);\njsonld.registerRDFParser('application/nquads', NQuads.parse);\n\n/* URL API */\njsonld.url = require('./url');\n\n/* Events API and handlers */\njsonld.logEventHandler = _logEventHandler;\njsonld.logWarningEventHandler = _logWarningEventHandler;\njsonld.safeEventHandler = _safeEventHandler;\njsonld.setDefaultEventHandler = _setDefaultEventHandler;\njsonld.strictEventHandler = _strictEventHandler;\njsonld.unhandledEventHandler = _unhandledEventHandler;\n\n/* Utility API */\njsonld.util = util;\n// backwards compatibility\nObject.assign(jsonld, util);\n\n// reexpose API as jsonld.promises for backwards compatability\njsonld.promises = jsonld;\n\n// backwards compatibility\njsonld.RequestQueue = require('./RequestQueue');\n\n/* WebIDL API */\njsonld.JsonLdProcessor = require('./JsonLdProcessor')(jsonld);\n\nplatform.setupGlobals(jsonld);\nplatform.setupDocumentLoaders(jsonld);\n\nfunction _setDefaults(options, {\n documentLoader = jsonld.documentLoader,\n ...defaults\n}) {\n // fail if obsolete options present\n if(options && 'compactionMap' in options) {\n throw new JsonLdError(\n '\"compactionMap\" not supported.',\n 'jsonld.OptionsError');\n }\n if(options && 'expansionMap' in options) {\n throw new JsonLdError(\n '\"expansionMap\" not supported.',\n 'jsonld.OptionsError');\n }\n return Object.assign(\n {},\n {documentLoader},\n defaults,\n options,\n {eventHandler: _setupEventHandler({options})}\n );\n}\n\n// end of jsonld API `wrapper` factory\nreturn jsonld;\n};\n\n// external APIs:\n\n// used to generate a new jsonld API instance\nconst factory = function() {\n return wrapper(function() {\n return factory();\n });\n};\n\n// wrap the main jsonld API instance\nwrapper(factory);\n// export API\nmodule.exports = factory;\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst {isKeyword} = require('./context');\nconst graphTypes = require('./graphTypes');\nconst types = require('./types');\nconst util = require('./util');\nconst JsonLdError = require('./JsonLdError');\n\nconst api = {};\nmodule.exports = api;\n\n/**\n * Creates a merged JSON-LD node map (node ID => node).\n *\n * @param input the expanded JSON-LD to create a node map of.\n * @param [options] the options to use:\n * [issuer] a jsonld.IdentifierIssuer to use to label blank nodes.\n *\n * @return the node map.\n */\napi.createMergedNodeMap = (input, options) => {\n options = options || {};\n\n // produce a map of all subjects and name each bnode\n const issuer = options.issuer || new util.IdentifierIssuer('_:b');\n const graphs = {'@default': {}};\n api.createNodeMap(input, graphs, '@default', issuer);\n\n // add all non-default graphs to default graph\n return api.mergeNodeMaps(graphs);\n};\n\n/**\n * Recursively flattens the subjects in the given JSON-LD expanded input\n * into a node map.\n *\n * @param input the JSON-LD expanded input.\n * @param graphs a map of graph name to subject map.\n * @param graph the name of the current graph.\n * @param issuer the blank node identifier issuer.\n * @param name the name assigned to the current input if it is a bnode.\n * @param list the list to append to, null for none.\n */\napi.createNodeMap = (input, graphs, graph, issuer, name, list) => {\n // recurse through array\n if(types.isArray(input)) {\n for(const node of input) {\n api.createNodeMap(node, graphs, graph, issuer, undefined, list);\n }\n return;\n }\n\n // add non-object to list\n if(!types.isObject(input)) {\n if(list) {\n list.push(input);\n }\n return;\n }\n\n // add values to list\n if(graphTypes.isValue(input)) {\n if('@type' in input) {\n let type = input['@type'];\n // rename @type blank node\n if(type.indexOf('_:') === 0) {\n input['@type'] = type = issuer.getId(type);\n }\n }\n if(list) {\n list.push(input);\n }\n return;\n } else if(list && graphTypes.isList(input)) {\n const _list = [];\n api.createNodeMap(input['@list'], graphs, graph, issuer, name, _list);\n list.push({'@list': _list});\n return;\n }\n\n // Note: At this point, input must be a subject.\n\n // spec requires @type to be named first, so assign names early\n if('@type' in input) {\n const types = input['@type'];\n for(const type of types) {\n if(type.indexOf('_:') === 0) {\n issuer.getId(type);\n }\n }\n }\n\n // get name for subject\n if(types.isUndefined(name)) {\n name = graphTypes.isBlankNode(input) ?\n issuer.getId(input['@id']) : input['@id'];\n }\n\n // add subject reference to list\n if(list) {\n list.push({'@id': name});\n }\n\n // create new subject or merge into existing one\n const subjects = graphs[graph];\n const subject = subjects[name] = subjects[name] || {};\n subject['@id'] = name;\n const properties = Object.keys(input).sort();\n for(let property of properties) {\n // skip @id\n if(property === '@id') {\n continue;\n }\n\n // handle reverse properties\n if(property === '@reverse') {\n const referencedNode = {'@id': name};\n const reverseMap = input['@reverse'];\n for(const reverseProperty in reverseMap) {\n const items = reverseMap[reverseProperty];\n for(const item of items) {\n let itemName = item['@id'];\n if(graphTypes.isBlankNode(item)) {\n itemName = issuer.getId(itemName);\n }\n api.createNodeMap(item, graphs, graph, issuer, itemName);\n util.addValue(\n subjects[itemName], reverseProperty, referencedNode,\n {propertyIsArray: true, allowDuplicate: false});\n }\n }\n continue;\n }\n\n // recurse into graph\n if(property === '@graph') {\n // add graph subjects map entry\n if(!(name in graphs)) {\n graphs[name] = {};\n }\n api.createNodeMap(input[property], graphs, name, issuer);\n continue;\n }\n\n // recurse into included\n if(property === '@included') {\n api.createNodeMap(input[property], graphs, graph, issuer);\n continue;\n }\n\n // copy non-@type keywords\n if(property !== '@type' && isKeyword(property)) {\n if(property === '@index' && property in subject &&\n (input[property] !== subject[property] ||\n input[property]['@id'] !== subject[property]['@id'])) {\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; conflicting @index property detected.',\n 'jsonld.SyntaxError',\n {code: 'conflicting indexes', subject});\n }\n subject[property] = input[property];\n continue;\n }\n\n // iterate over objects\n const objects = input[property];\n\n // if property is a bnode, assign it a new id\n if(property.indexOf('_:') === 0) {\n property = issuer.getId(property);\n }\n\n // ensure property is added for empty arrays\n if(objects.length === 0) {\n util.addValue(subject, property, [], {propertyIsArray: true});\n continue;\n }\n for(let o of objects) {\n if(property === '@type') {\n // rename @type blank nodes\n o = (o.indexOf('_:') === 0) ? issuer.getId(o) : o;\n }\n\n // handle embedded subject or subject reference\n if(graphTypes.isSubject(o) || graphTypes.isSubjectReference(o)) {\n // skip null @id\n if('@id' in o && !o['@id']) {\n continue;\n }\n\n // relabel blank node @id\n const id = graphTypes.isBlankNode(o) ?\n issuer.getId(o['@id']) : o['@id'];\n\n // add reference and recurse\n util.addValue(\n subject, property, {'@id': id},\n {propertyIsArray: true, allowDuplicate: false});\n api.createNodeMap(o, graphs, graph, issuer, id);\n } else if(graphTypes.isValue(o)) {\n util.addValue(\n subject, property, o,\n {propertyIsArray: true, allowDuplicate: false});\n } else if(graphTypes.isList(o)) {\n // handle @list\n const _list = [];\n api.createNodeMap(o['@list'], graphs, graph, issuer, name, _list);\n o = {'@list': _list};\n util.addValue(\n subject, property, o,\n {propertyIsArray: true, allowDuplicate: false});\n } else {\n // handle @value\n api.createNodeMap(o, graphs, graph, issuer, name);\n util.addValue(\n subject, property, o, {propertyIsArray: true, allowDuplicate: false});\n }\n }\n }\n};\n\n/**\n * Merge separate named graphs into a single merged graph including\n * all nodes from the default graph and named graphs.\n *\n * @param graphs a map of graph name to subject map.\n *\n * @return the merged graph map.\n */\napi.mergeNodeMapGraphs = graphs => {\n const merged = {};\n for(const name of Object.keys(graphs).sort()) {\n for(const id of Object.keys(graphs[name]).sort()) {\n const node = graphs[name][id];\n if(!(id in merged)) {\n merged[id] = {'@id': id};\n }\n const mergedNode = merged[id];\n\n for(const property of Object.keys(node).sort()) {\n if(isKeyword(property) && property !== '@type') {\n // copy keywords\n mergedNode[property] = util.clone(node[property]);\n } else {\n // merge objects\n for(const value of node[property]) {\n util.addValue(\n mergedNode, property, util.clone(value),\n {propertyIsArray: true, allowDuplicate: false});\n }\n }\n }\n }\n }\n\n return merged;\n};\n\napi.mergeNodeMaps = graphs => {\n // add all non-default graphs to default graph\n const defaultGraph = graphs['@default'];\n const graphNames = Object.keys(graphs).sort();\n for(const graphName of graphNames) {\n if(graphName === '@default') {\n continue;\n }\n const nodeMap = graphs[graphName];\n let subject = defaultGraph[graphName];\n if(!subject) {\n defaultGraph[graphName] = subject = {\n '@id': graphName,\n '@graph': []\n };\n } else if(!('@graph' in subject)) {\n subject['@graph'] = [];\n }\n const graph = subject['@graph'];\n for(const id of Object.keys(nodeMap).sort()) {\n const node = nodeMap[id];\n // only add full subjects\n if(!graphTypes.isSubjectReference(node)) {\n graph.push(node);\n }\n }\n }\n return defaultGraph;\n};\n","/*\n * Copyright (c) 2021 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst xhrLoader = require('./documentLoaders/xhr');\n\nconst api = {};\nmodule.exports = api;\n\n/**\n * Setup browser document loaders.\n *\n * @param jsonld the jsonld api.\n */\napi.setupDocumentLoaders = function(jsonld) {\n if(typeof XMLHttpRequest !== 'undefined') {\n jsonld.documentLoaders.xhr = xhrLoader;\n // use xhr document loader by default\n jsonld.useDocumentLoader('xhr');\n }\n};\n\n/**\n * Setup browser globals.\n *\n * @param jsonld the jsonld api.\n */\napi.setupGlobals = function(jsonld) {\n // setup browser global JsonLdProcessor\n if(typeof globalThis.JsonLdProcessor === 'undefined') {\n Object.defineProperty(globalThis, 'JsonLdProcessor', {\n writable: true,\n enumerable: false,\n configurable: true,\n value: jsonld.JsonLdProcessor\n });\n }\n};\n","/*\n * Copyright (c) 2017-2023 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst {createNodeMap} = require('./nodeMap');\nconst {isKeyword} = require('./context');\nconst graphTypes = require('./graphTypes');\nconst jsonCanonicalize = require('canonicalize');\nconst JsonLdError = require('./JsonLdError');\nconst types = require('./types');\nconst util = require('./util');\n\nconst {\n handleEvent: _handleEvent\n} = require('./events');\n\nconst {\n // RDF,\n // RDF_LIST,\n RDF_FIRST,\n RDF_REST,\n RDF_NIL,\n RDF_TYPE,\n // RDF_PLAIN_LITERAL,\n // RDF_XML_LITERAL,\n RDF_JSON_LITERAL,\n // RDF_OBJECT,\n RDF_LANGSTRING,\n\n // XSD,\n XSD_BOOLEAN,\n XSD_DOUBLE,\n XSD_INTEGER,\n XSD_STRING,\n} = require('./constants');\n\nconst {\n isAbsolute: _isAbsoluteIri\n} = require('./url');\n\nconst api = {};\nmodule.exports = api;\n\n/**\n * Outputs an RDF dataset for the expanded JSON-LD input.\n *\n * @param input the expanded JSON-LD input.\n * @param options the RDF serialization options.\n *\n * @return the RDF dataset.\n */\napi.toRDF = (input, options) => {\n // create node map for default graph (and any named graphs)\n const issuer = new util.IdentifierIssuer('_:b');\n const nodeMap = {'@default': {}};\n createNodeMap(input, nodeMap, '@default', issuer);\n\n const dataset = [];\n const graphNames = Object.keys(nodeMap).sort();\n for(const graphName of graphNames) {\n let graphTerm;\n if(graphName === '@default') {\n graphTerm = {termType: 'DefaultGraph', value: ''};\n } else if(_isAbsoluteIri(graphName)) {\n if(graphName.startsWith('_:')) {\n graphTerm = {termType: 'BlankNode'};\n } else {\n graphTerm = {termType: 'NamedNode'};\n }\n graphTerm.value = graphName;\n } else {\n // skip relative IRIs (not valid RDF)\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'relative graph reference',\n level: 'warning',\n message: 'Relative graph reference found.',\n details: {\n graph: graphName\n }\n },\n options\n });\n }\n continue;\n }\n _graphToRDF(dataset, nodeMap[graphName], graphTerm, issuer, options);\n }\n\n return dataset;\n};\n\n/**\n * Adds RDF quads for a particular graph to the given dataset.\n *\n * @param dataset the dataset to append RDF quads to.\n * @param graph the graph to create RDF quads for.\n * @param graphTerm the graph term for each quad.\n * @param issuer a IdentifierIssuer for assigning blank node names.\n * @param options the RDF serialization options.\n *\n * @return the array of RDF triples for the given graph.\n */\nfunction _graphToRDF(dataset, graph, graphTerm, issuer, options) {\n const ids = Object.keys(graph).sort();\n for(const id of ids) {\n const node = graph[id];\n const properties = Object.keys(node).sort();\n for(let property of properties) {\n const items = node[property];\n if(property === '@type') {\n property = RDF_TYPE;\n } else if(isKeyword(property)) {\n continue;\n }\n\n for(const item of items) {\n // RDF subject\n const subject = {\n termType: id.startsWith('_:') ? 'BlankNode' : 'NamedNode',\n value: id\n };\n\n // skip relative IRI subjects (not valid RDF)\n if(!_isAbsoluteIri(id)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'relative subject reference',\n level: 'warning',\n message: 'Relative subject reference found.',\n details: {\n subject: id\n }\n },\n options\n });\n }\n continue;\n }\n\n // RDF predicate\n const predicate = {\n termType: property.startsWith('_:') ? 'BlankNode' : 'NamedNode',\n value: property\n };\n\n // skip relative IRI predicates (not valid RDF)\n if(!_isAbsoluteIri(property)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'relative predicate reference',\n level: 'warning',\n message: 'Relative predicate reference found.',\n details: {\n predicate: property\n }\n },\n options\n });\n }\n continue;\n }\n\n // skip blank node predicates unless producing generalized RDF\n if(predicate.termType === 'BlankNode' &&\n !options.produceGeneralizedRdf) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'blank node predicate',\n level: 'warning',\n message: 'Dropping blank node predicate.',\n details: {\n // FIXME: add better issuer API to get reverse mapping\n property: issuer.getOldIds()\n .find(key => issuer.getId(key) === property)\n }\n },\n options\n });\n }\n continue;\n }\n\n // convert list, value or node object to triple\n const object = _objectToRDF(\n item, issuer, dataset, graphTerm, options.rdfDirection, options);\n // skip null objects (they are relative IRIs)\n if(object) {\n dataset.push({\n subject,\n predicate,\n object,\n graph: graphTerm\n });\n }\n }\n }\n }\n}\n\n/**\n * Converts a @list value into linked list of blank node RDF quads\n * (an RDF collection).\n *\n * @param list the @list value.\n * @param issuer a IdentifierIssuer for assigning blank node names.\n * @param dataset the array of quads to append to.\n * @param graphTerm the graph term for each quad.\n * @param options the RDF serialization options.\n *\n * @return the head of the list.\n */\nfunction _listToRDF(list, issuer, dataset, graphTerm, rdfDirection, options) {\n const first = {termType: 'NamedNode', value: RDF_FIRST};\n const rest = {termType: 'NamedNode', value: RDF_REST};\n const nil = {termType: 'NamedNode', value: RDF_NIL};\n\n const last = list.pop();\n // Result is the head of the list\n const result = last ? {termType: 'BlankNode', value: issuer.getId()} : nil;\n let subject = result;\n\n for(const item of list) {\n const object = _objectToRDF(\n item, issuer, dataset, graphTerm, rdfDirection, options);\n const next = {termType: 'BlankNode', value: issuer.getId()};\n dataset.push({\n subject,\n predicate: first,\n object,\n graph: graphTerm\n });\n dataset.push({\n subject,\n predicate: rest,\n object: next,\n graph: graphTerm\n });\n subject = next;\n }\n\n // Tail of list\n if(last) {\n const object = _objectToRDF(\n last, issuer, dataset, graphTerm, rdfDirection, options);\n dataset.push({\n subject,\n predicate: first,\n object,\n graph: graphTerm\n });\n dataset.push({\n subject,\n predicate: rest,\n object: nil,\n graph: graphTerm\n });\n }\n\n return result;\n}\n\n/**\n * Converts a JSON-LD value object to an RDF literal or a JSON-LD string,\n * node object to an RDF resource, or adds a list.\n *\n * @param item the JSON-LD value or node object.\n * @param issuer a IdentifierIssuer for assigning blank node names.\n * @param dataset the dataset to append RDF quads to.\n * @param graphTerm the graph term for each quad.\n * @param options the RDF serialization options.\n *\n * @return the RDF literal or RDF resource.\n */\nfunction _objectToRDF(\n item, issuer, dataset, graphTerm, rdfDirection, options\n) {\n const object = {};\n\n // convert value object to RDF\n if(graphTypes.isValue(item)) {\n object.termType = 'Literal';\n object.value = undefined;\n object.datatype = {\n termType: 'NamedNode'\n };\n let value = item['@value'];\n const datatype = item['@type'] || null;\n\n // convert to XSD/JSON datatypes as appropriate\n if(datatype === '@json') {\n object.value = jsonCanonicalize(value);\n object.datatype.value = RDF_JSON_LITERAL;\n } else if(types.isBoolean(value)) {\n object.value = value.toString();\n object.datatype.value = datatype || XSD_BOOLEAN;\n } else if(types.isDouble(value) || datatype === XSD_DOUBLE) {\n if(!types.isDouble(value)) {\n value = parseFloat(value);\n }\n // canonical double representation\n object.value = value.toExponential(15).replace(/(\\d)0*e\\+?/, '$1E');\n object.datatype.value = datatype || XSD_DOUBLE;\n } else if(types.isNumber(value)) {\n object.value = value.toFixed(0);\n object.datatype.value = datatype || XSD_INTEGER;\n } else if('@direction' in item && rdfDirection === 'i18n-datatype') {\n const language = (item['@language'] || '').toLowerCase();\n const direction = item['@direction'];\n const datatype = `https://www.w3.org/ns/i18n#${language}_${direction}`;\n object.datatype.value = datatype;\n object.value = value;\n } else if('@direction' in item && rdfDirection === 'compound-literal') {\n throw new JsonLdError(\n 'Unsupported rdfDirection value.',\n 'jsonld.InvalidRdfDirection',\n {value: rdfDirection});\n } else if('@direction' in item && rdfDirection) {\n throw new JsonLdError(\n 'Unknown rdfDirection value.',\n 'jsonld.InvalidRdfDirection',\n {value: rdfDirection});\n } else if('@language' in item) {\n if('@direction' in item && !rdfDirection) {\n if(options.eventHandler) {\n // FIXME: only emit once?\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'rdfDirection not set',\n level: 'warning',\n message: 'rdfDirection not set for @direction.',\n details: {\n object: object.value\n }\n },\n options\n });\n }\n }\n object.value = value;\n object.datatype.value = datatype || RDF_LANGSTRING;\n object.language = item['@language'];\n } else {\n if('@direction' in item && !rdfDirection) {\n if(options.eventHandler) {\n // FIXME: only emit once?\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'rdfDirection not set',\n level: 'warning',\n message: 'rdfDirection not set for @direction.',\n details: {\n object: object.value\n }\n },\n options\n });\n }\n }\n object.value = value;\n object.datatype.value = datatype || XSD_STRING;\n }\n } else if(graphTypes.isList(item)) {\n const _list = _listToRDF(\n item['@list'], issuer, dataset, graphTerm, rdfDirection, options);\n object.termType = _list.termType;\n object.value = _list.value;\n } else {\n // convert string/node object to RDF\n const id = types.isObject(item) ? item['@id'] : item;\n object.termType = id.startsWith('_:') ? 'BlankNode' : 'NamedNode';\n object.value = id;\n }\n\n // skip relative IRIs, not valid RDF\n if(object.termType === 'NamedNode' && !_isAbsoluteIri(object.value)) {\n if(options.eventHandler) {\n _handleEvent({\n event: {\n type: ['JsonLdEvent'],\n code: 'relative object reference',\n level: 'warning',\n message: 'Relative object reference found.',\n details: {\n object: object.value\n }\n },\n options\n });\n }\n return null;\n }\n\n return object;\n}\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst api = {};\nmodule.exports = api;\n\n/**\n * Returns true if the given value is an Array.\n *\n * @param v the value to check.\n *\n * @return true if the value is an Array, false if not.\n */\napi.isArray = Array.isArray;\n\n/**\n * Returns true if the given value is a Boolean.\n *\n * @param v the value to check.\n *\n * @return true if the value is a Boolean, false if not.\n */\napi.isBoolean = v => (typeof v === 'boolean' ||\n Object.prototype.toString.call(v) === '[object Boolean]');\n\n/**\n * Returns true if the given value is a double.\n *\n * @param v the value to check.\n *\n * @return true if the value is a double, false if not.\n */\napi.isDouble = v => api.isNumber(v) &&\n (String(v).indexOf('.') !== -1 || Math.abs(v) >= 1e21);\n\n/**\n * Returns true if the given value is an empty Object.\n *\n * @param v the value to check.\n *\n * @return true if the value is an empty Object, false if not.\n */\napi.isEmptyObject = v => api.isObject(v) && Object.keys(v).length === 0;\n\n/**\n * Returns true if the given value is a Number.\n *\n * @param v the value to check.\n *\n * @return true if the value is a Number, false if not.\n */\napi.isNumber = v => (typeof v === 'number' ||\n Object.prototype.toString.call(v) === '[object Number]');\n\n/**\n * Returns true if the given value is numeric.\n *\n * @param v the value to check.\n *\n * @return true if the value is numeric, false if not.\n */\napi.isNumeric = v => !isNaN(parseFloat(v)) && isFinite(v);\n\n/**\n * Returns true if the given value is an Object.\n *\n * @param v the value to check.\n *\n * @return true if the value is an Object, false if not.\n */\napi.isObject = v => Object.prototype.toString.call(v) === '[object Object]';\n\n/**\n * Returns true if the given value is a String.\n *\n * @param v the value to check.\n *\n * @return true if the value is a String, false if not.\n */\napi.isString = v => (typeof v === 'string' ||\n Object.prototype.toString.call(v) === '[object String]');\n\n/**\n * Returns true if the given value is undefined.\n *\n * @param v the value to check.\n *\n * @return true if the value is undefined, false if not.\n */\napi.isUndefined = v => typeof v === 'undefined';\n","/*\n * Copyright (c) 2017 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst types = require('./types');\n\nconst api = {};\nmodule.exports = api;\n\n// define URL parser\n// parseUri 1.2.2\n// (c) Steven Levithan \n// MIT License\n// with local jsonld.js modifications\napi.parsers = {\n simple: {\n // RFC 3986 basic parts\n keys: [\n 'href', 'scheme', 'authority', 'path', 'query', 'fragment'\n ],\n /* eslint-disable-next-line max-len */\n regex: /^(?:([^:\\/?#]+):)?(?:\\/\\/([^\\/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?/\n },\n full: {\n keys: [\n 'href', 'protocol', 'scheme', 'authority', 'auth', 'user', 'password',\n 'hostname', 'port', 'path', 'directory', 'file', 'query', 'fragment'\n ],\n /* eslint-disable-next-line max-len */\n regex: /^(([a-zA-Z][a-zA-Z0-9+-.]*):)?(?:\\/\\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?))?(?:(((?:[^?#\\/]*\\/)*)([^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/\n }\n};\napi.parse = (str, parser) => {\n const parsed = {};\n const o = api.parsers[parser || 'full'];\n const m = o.regex.exec(str);\n let i = o.keys.length;\n while(i--) {\n parsed[o.keys[i]] = (m[i] === undefined) ? null : m[i];\n }\n\n // remove default ports in found in URLs\n if((parsed.scheme === 'https' && parsed.port === '443') ||\n (parsed.scheme === 'http' && parsed.port === '80')) {\n parsed.href = parsed.href.replace(':' + parsed.port, '');\n parsed.authority = parsed.authority.replace(':' + parsed.port, '');\n parsed.port = null;\n }\n\n parsed.normalizedPath = api.removeDotSegments(parsed.path);\n return parsed;\n};\n\n/**\n * Prepends a base IRI to the given relative IRI.\n *\n * @param base the base IRI.\n * @param iri the relative IRI.\n *\n * @return the absolute IRI.\n */\napi.prependBase = (base, iri) => {\n // skip IRI processing\n if(base === null) {\n return iri;\n }\n // already an absolute IRI\n if(api.isAbsolute(iri)) {\n return iri;\n }\n\n // parse base if it is a string\n if(!base || types.isString(base)) {\n base = api.parse(base || '');\n }\n\n // parse given IRI\n const rel = api.parse(iri);\n\n // per RFC3986 5.2.2\n const transform = {\n protocol: base.protocol || ''\n };\n\n if(rel.authority !== null) {\n transform.authority = rel.authority;\n transform.path = rel.path;\n transform.query = rel.query;\n } else {\n transform.authority = base.authority;\n\n if(rel.path === '') {\n transform.path = base.path;\n if(rel.query !== null) {\n transform.query = rel.query;\n } else {\n transform.query = base.query;\n }\n } else {\n if(rel.path.indexOf('/') === 0) {\n // IRI represents an absolute path\n transform.path = rel.path;\n } else {\n // merge paths\n let path = base.path;\n\n // append relative path to the end of the last directory from base\n path = path.substr(0, path.lastIndexOf('/') + 1);\n if((path.length > 0 || base.authority) && path.substr(-1) !== '/') {\n path += '/';\n }\n path += rel.path;\n\n transform.path = path;\n }\n transform.query = rel.query;\n }\n }\n\n if(rel.path !== '') {\n // remove slashes and dots in path\n transform.path = api.removeDotSegments(transform.path);\n }\n\n // construct URL\n let rval = transform.protocol;\n if(transform.authority !== null) {\n rval += '//' + transform.authority;\n }\n rval += transform.path;\n if(transform.query !== null) {\n rval += '?' + transform.query;\n }\n if(rel.fragment !== null) {\n rval += '#' + rel.fragment;\n }\n\n // handle empty base\n if(rval === '') {\n rval = './';\n }\n\n return rval;\n};\n\n/**\n * Removes a base IRI from the given absolute IRI.\n *\n * @param base the base IRI.\n * @param iri the absolute IRI.\n *\n * @return the relative IRI if relative to base, otherwise the absolute IRI.\n */\napi.removeBase = (base, iri) => {\n // skip IRI processing\n if(base === null) {\n return iri;\n }\n\n if(!base || types.isString(base)) {\n base = api.parse(base || '');\n }\n\n // establish base root\n let root = '';\n if(base.href !== '') {\n root += (base.protocol || '') + '//' + (base.authority || '');\n } else if(iri.indexOf('//')) {\n // support network-path reference with empty base\n root += '//';\n }\n\n // IRI not relative to base\n if(iri.indexOf(root) !== 0) {\n return iri;\n }\n\n // remove root from IRI and parse remainder\n const rel = api.parse(iri.substr(root.length));\n\n // remove path segments that match (do not remove last segment unless there\n // is a hash or query)\n const baseSegments = base.normalizedPath.split('/');\n const iriSegments = rel.normalizedPath.split('/');\n const last = (rel.fragment || rel.query) ? 0 : 1;\n while(baseSegments.length > 0 && iriSegments.length > last) {\n if(baseSegments[0] !== iriSegments[0]) {\n break;\n }\n baseSegments.shift();\n iriSegments.shift();\n }\n\n // use '../' for each non-matching base segment\n let rval = '';\n if(baseSegments.length > 0) {\n // don't count the last segment (if it ends with '/' last path doesn't\n // count and if it doesn't end with '/' it isn't a path)\n baseSegments.pop();\n for(let i = 0; i < baseSegments.length; ++i) {\n rval += '../';\n }\n }\n\n // prepend remaining segments\n rval += iriSegments.join('/');\n\n // add query and hash\n if(rel.query !== null) {\n rval += '?' + rel.query;\n }\n if(rel.fragment !== null) {\n rval += '#' + rel.fragment;\n }\n\n // handle empty base\n if(rval === '') {\n rval = './';\n }\n\n return rval;\n};\n\n/**\n * Removes dot segments from a URL path.\n *\n * @param path the path to remove dot segments from.\n */\napi.removeDotSegments = path => {\n // RFC 3986 5.2.4 (reworked)\n\n // empty path shortcut\n if(path.length === 0) {\n return '';\n }\n\n const input = path.split('/');\n const output = [];\n\n while(input.length > 0) {\n const next = input.shift();\n const done = input.length === 0;\n\n if(next === '.') {\n if(done) {\n // ensure output has trailing /\n output.push('');\n }\n continue;\n }\n\n if(next === '..') {\n output.pop();\n if(done) {\n // ensure output has trailing /\n output.push('');\n }\n continue;\n }\n\n output.push(next);\n }\n\n // if path was absolute, ensure output has leading /\n if(path[0] === '/' && output.length > 0 && output[0] !== '') {\n output.unshift('');\n }\n if(output.length === 1 && output[0] === '') {\n return '/';\n }\n\n return output.join('/');\n};\n\n// TODO: time better isAbsolute/isRelative checks using full regexes:\n// http://jmrware.com/articles/2009/uri_regexp/URI_regex.html\n\n// regex to check for absolute IRI (starting scheme and ':') or blank node IRI\nconst isAbsoluteRegex = /^([A-Za-z][A-Za-z0-9+-.]*|_):[^\\s]*$/;\n\n/**\n * Returns true if the given value is an absolute IRI or blank node IRI, false\n * if not.\n * Note: This weak check only checks for a correct starting scheme.\n *\n * @param v the value to check.\n *\n * @return true if the value is an absolute IRI, false if not.\n */\napi.isAbsolute = v => types.isString(v) && isAbsoluteRegex.test(v);\n\n/**\n * Returns true if the given value is a relative IRI, false if not.\n * Note: this is a weak check.\n *\n * @param v the value to check.\n *\n * @return true if the value is a relative IRI, false if not.\n */\napi.isRelative = v => types.isString(v);\n","/*\n * Copyright (c) 2017-2019 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst graphTypes = require('./graphTypes');\nconst types = require('./types');\n// TODO: move `IdentifierIssuer` to its own package\nconst IdentifierIssuer = require('rdf-canonize').IdentifierIssuer;\nconst JsonLdError = require('./JsonLdError');\n\n// constants\nconst REGEX_BCP47 = /^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/;\nconst REGEX_LINK_HEADERS = /(?:<[^>]*?>|\"[^\"]*?\"|[^,])+/g;\nconst REGEX_LINK_HEADER = /\\s*<([^>]*?)>\\s*(?:;\\s*(.*))?/;\nconst REGEX_LINK_HEADER_PARAMS =\n /(.*?)=(?:(?:\"([^\"]*?)\")|([^\"]*?))\\s*(?:(?:;\\s*)|$)/g;\nconst REGEX_KEYWORD = /^@[a-zA-Z]+$/;\n\nconst DEFAULTS = {\n headers: {\n accept: 'application/ld+json, application/json'\n }\n};\n\nconst api = {};\nmodule.exports = api;\napi.IdentifierIssuer = IdentifierIssuer;\napi.REGEX_BCP47 = REGEX_BCP47;\napi.REGEX_KEYWORD = REGEX_KEYWORD;\n\n/**\n * Clones an object, array, Map, Set, or string/number. If a typed JavaScript\n * object is given, such as a Date, it will be converted to a string.\n *\n * @param value the value to clone.\n *\n * @return the cloned value.\n */\napi.clone = function(value) {\n if(value && typeof value === 'object') {\n let rval;\n if(types.isArray(value)) {\n rval = [];\n for(let i = 0; i < value.length; ++i) {\n rval[i] = api.clone(value[i]);\n }\n } else if(value instanceof Map) {\n rval = new Map();\n for(const [k, v] of value) {\n rval.set(k, api.clone(v));\n }\n } else if(value instanceof Set) {\n rval = new Set();\n for(const v of value) {\n rval.add(api.clone(v));\n }\n } else if(types.isObject(value)) {\n rval = {};\n for(const key in value) {\n rval[key] = api.clone(value[key]);\n }\n } else {\n rval = value.toString();\n }\n return rval;\n }\n return value;\n};\n\n/**\n * Ensure a value is an array. If the value is an array, it is returned.\n * Otherwise, it is wrapped in an array.\n *\n * @param value the value to return as an array.\n *\n * @return the value as an array.\n */\napi.asArray = function(value) {\n return Array.isArray(value) ? value : [value];\n};\n\n/**\n * Builds an HTTP headers object for making a JSON-LD request from custom\n * headers and asserts the `accept` header isn't overridden.\n *\n * @param headers an object of headers with keys as header names and values\n * as header values.\n *\n * @return an object of headers with a valid `accept` header.\n */\napi.buildHeaders = (headers = {}) => {\n const hasAccept = Object.keys(headers).some(\n h => h.toLowerCase() === 'accept');\n\n if(hasAccept) {\n throw new RangeError(\n 'Accept header may not be specified; only \"' +\n DEFAULTS.headers.accept + '\" is supported.');\n }\n\n return Object.assign({Accept: DEFAULTS.headers.accept}, headers);\n};\n\n/**\n * Parses a link header. The results will be key'd by the value of \"rel\".\n *\n * Link: ;\n * rel=\"http://www.w3.org/ns/json-ld#context\"; type=\"application/ld+json\"\n *\n * Parses as: {\n * 'http://www.w3.org/ns/json-ld#context': {\n * target: http://json-ld.org/contexts/person.jsonld,\n * type: 'application/ld+json'\n * }\n * }\n *\n * If there is more than one \"rel\" with the same IRI, then entries in the\n * resulting map for that \"rel\" will be arrays.\n *\n * @param header the link header to parse.\n */\napi.parseLinkHeader = header => {\n const rval = {};\n // split on unbracketed/unquoted commas\n const entries = header.match(REGEX_LINK_HEADERS);\n for(let i = 0; i < entries.length; ++i) {\n let match = entries[i].match(REGEX_LINK_HEADER);\n if(!match) {\n continue;\n }\n const result = {target: match[1]};\n const params = match[2];\n while((match = REGEX_LINK_HEADER_PARAMS.exec(params))) {\n result[match[1]] = (match[2] === undefined) ? match[3] : match[2];\n }\n const rel = result.rel || '';\n if(Array.isArray(rval[rel])) {\n rval[rel].push(result);\n } else if(rval.hasOwnProperty(rel)) {\n rval[rel] = [rval[rel], result];\n } else {\n rval[rel] = result;\n }\n }\n return rval;\n};\n\n/**\n * Throws an exception if the given value is not a valid @type value.\n *\n * @param v the value to check.\n */\napi.validateTypeValue = (v, isFrame) => {\n if(types.isString(v)) {\n return;\n }\n\n if(types.isArray(v) && v.every(vv => types.isString(vv))) {\n return;\n }\n if(isFrame && types.isObject(v)) {\n switch(Object.keys(v).length) {\n case 0:\n // empty object is wildcard\n return;\n case 1:\n // default entry is all strings\n if('@default' in v &&\n api.asArray(v['@default']).every(vv => types.isString(vv))) {\n return;\n }\n }\n }\n\n throw new JsonLdError(\n 'Invalid JSON-LD syntax; \"@type\" value must a string, an array of ' +\n 'strings, an empty object, ' +\n 'or a default object.', 'jsonld.SyntaxError',\n {code: 'invalid type value', value: v});\n};\n\n/**\n * Returns true if the given subject has the given property.\n *\n * @param subject the subject to check.\n * @param property the property to look for.\n *\n * @return true if the subject has the given property, false if not.\n */\napi.hasProperty = (subject, property) => {\n if(subject.hasOwnProperty(property)) {\n const value = subject[property];\n return (!types.isArray(value) || value.length > 0);\n }\n return false;\n};\n\n/**\n * Determines if the given value is a property of the given subject.\n *\n * @param subject the subject to check.\n * @param property the property to check.\n * @param value the value to check.\n *\n * @return true if the value exists, false if not.\n */\napi.hasValue = (subject, property, value) => {\n if(api.hasProperty(subject, property)) {\n let val = subject[property];\n const isList = graphTypes.isList(val);\n if(types.isArray(val) || isList) {\n if(isList) {\n val = val['@list'];\n }\n for(let i = 0; i < val.length; ++i) {\n if(api.compareValues(value, val[i])) {\n return true;\n }\n }\n } else if(!types.isArray(value)) {\n // avoid matching the set of values with an array value parameter\n return api.compareValues(value, val);\n }\n }\n return false;\n};\n\n/**\n * Adds a value to a subject. If the value is an array, all values in the\n * array will be added.\n *\n * @param subject the subject to add the value to.\n * @param property the property that relates the value to the subject.\n * @param value the value to add.\n * @param [options] the options to use:\n * [propertyIsArray] true if the property is always an array, false\n * if not (default: false).\n * [valueIsArray] true if the value to be added should be preserved as\n * an array (lists) (default: false).\n * [allowDuplicate] true to allow duplicates, false not to (uses a\n * simple shallow comparison of subject ID or value) (default: true).\n * [prependValue] false to prepend value to any existing values.\n * (default: false)\n */\napi.addValue = (subject, property, value, options) => {\n options = options || {};\n if(!('propertyIsArray' in options)) {\n options.propertyIsArray = false;\n }\n if(!('valueIsArray' in options)) {\n options.valueIsArray = false;\n }\n if(!('allowDuplicate' in options)) {\n options.allowDuplicate = true;\n }\n if(!('prependValue' in options)) {\n options.prependValue = false;\n }\n\n if(options.valueIsArray) {\n subject[property] = value;\n } else if(types.isArray(value)) {\n if(value.length === 0 && options.propertyIsArray &&\n !subject.hasOwnProperty(property)) {\n subject[property] = [];\n }\n if(options.prependValue) {\n value = value.concat(subject[property]);\n subject[property] = [];\n }\n for(let i = 0; i < value.length; ++i) {\n api.addValue(subject, property, value[i], options);\n }\n } else if(subject.hasOwnProperty(property)) {\n // check if subject already has value if duplicates not allowed\n const hasValue = (!options.allowDuplicate &&\n api.hasValue(subject, property, value));\n\n // make property an array if value not present or always an array\n if(!types.isArray(subject[property]) &&\n (!hasValue || options.propertyIsArray)) {\n subject[property] = [subject[property]];\n }\n\n // add new value\n if(!hasValue) {\n if(options.prependValue) {\n subject[property].unshift(value);\n } else {\n subject[property].push(value);\n }\n }\n } else {\n // add new value as set or single value\n subject[property] = options.propertyIsArray ? [value] : value;\n }\n};\n\n/**\n * Gets all of the values for a subject's property as an array.\n *\n * @param subject the subject.\n * @param property the property.\n *\n * @return all of the values for a subject's property as an array.\n */\napi.getValues = (subject, property) => [].concat(subject[property] || []);\n\n/**\n * Removes a property from a subject.\n *\n * @param subject the subject.\n * @param property the property.\n */\napi.removeProperty = (subject, property) => {\n delete subject[property];\n};\n\n/**\n * Removes a value from a subject.\n *\n * @param subject the subject.\n * @param property the property that relates the value to the subject.\n * @param value the value to remove.\n * @param [options] the options to use:\n * [propertyIsArray] true if the property is always an array, false\n * if not (default: false).\n */\napi.removeValue = (subject, property, value, options) => {\n options = options || {};\n if(!('propertyIsArray' in options)) {\n options.propertyIsArray = false;\n }\n\n // filter out value\n const values = api.getValues(subject, property).filter(\n e => !api.compareValues(e, value));\n\n if(values.length === 0) {\n api.removeProperty(subject, property);\n } else if(values.length === 1 && !options.propertyIsArray) {\n subject[property] = values[0];\n } else {\n subject[property] = values;\n }\n};\n\n/**\n * Relabels all blank nodes in the given JSON-LD input.\n *\n * @param input the JSON-LD input.\n * @param [options] the options to use:\n * [issuer] an IdentifierIssuer to use to label blank nodes.\n */\napi.relabelBlankNodes = (input, options) => {\n options = options || {};\n const issuer = options.issuer || new IdentifierIssuer('_:b');\n return _labelBlankNodes(issuer, input);\n};\n\n/**\n * Compares two JSON-LD values for equality. Two JSON-LD values will be\n * considered equal if:\n *\n * 1. They are both primitives of the same type and value.\n * 2. They are both @values with the same @value, @type, @language,\n * and @index, OR\n * 3. They both have @ids they are the same.\n *\n * @param v1 the first value.\n * @param v2 the second value.\n *\n * @return true if v1 and v2 are considered equal, false if not.\n */\napi.compareValues = (v1, v2) => {\n // 1. equal primitives\n if(v1 === v2) {\n return true;\n }\n\n // 2. equal @values\n if(graphTypes.isValue(v1) && graphTypes.isValue(v2) &&\n v1['@value'] === v2['@value'] &&\n v1['@type'] === v2['@type'] &&\n v1['@language'] === v2['@language'] &&\n v1['@index'] === v2['@index']) {\n return true;\n }\n\n // 3. equal @ids\n if(types.isObject(v1) &&\n ('@id' in v1) &&\n types.isObject(v2) &&\n ('@id' in v2)) {\n return v1['@id'] === v2['@id'];\n }\n\n return false;\n};\n\n/**\n * Compares two strings first based on length and then lexicographically.\n *\n * @param a the first string.\n * @param b the second string.\n *\n * @return -1 if a < b, 1 if a > b, 0 if a === b.\n */\napi.compareShortestLeast = (a, b) => {\n if(a.length < b.length) {\n return -1;\n }\n if(b.length < a.length) {\n return 1;\n }\n if(a === b) {\n return 0;\n }\n return (a < b) ? -1 : 1;\n};\n\n/**\n * Labels the blank nodes in the given value using the given IdentifierIssuer.\n *\n * @param issuer the IdentifierIssuer to use.\n * @param element the element with blank nodes to rename.\n *\n * @return the element.\n */\nfunction _labelBlankNodes(issuer, element) {\n if(types.isArray(element)) {\n for(let i = 0; i < element.length; ++i) {\n element[i] = _labelBlankNodes(issuer, element[i]);\n }\n } else if(graphTypes.isList(element)) {\n element['@list'] = _labelBlankNodes(issuer, element['@list']);\n } else if(types.isObject(element)) {\n // relabel blank node\n if(graphTypes.isBlankNode(element)) {\n element['@id'] = issuer.getId(element['@id']);\n }\n\n // recursively apply to all keys\n const keys = Object.keys(element).sort();\n for(let ki = 0; ki < keys.length; ++ki) {\n const key = keys[ki];\n if(key !== '@id') {\n element[key] = _labelBlankNodes(issuer, element[key]);\n }\n }\n }\n\n return element;\n}\n","'use strict'\n\n// A linked list to keep track of recently-used-ness\nconst Yallist = require('yallist')\n\nconst MAX = Symbol('max')\nconst LENGTH = Symbol('length')\nconst LENGTH_CALCULATOR = Symbol('lengthCalculator')\nconst ALLOW_STALE = Symbol('allowStale')\nconst MAX_AGE = Symbol('maxAge')\nconst DISPOSE = Symbol('dispose')\nconst NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet')\nconst LRU_LIST = Symbol('lruList')\nconst CACHE = Symbol('cache')\nconst UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet')\n\nconst naiveLength = () => 1\n\n// lruList is a yallist where the head is the youngest\n// item, and the tail is the oldest. the list contains the Hit\n// objects as the entries.\n// Each Hit object has a reference to its Yallist.Node. This\n// never changes.\n//\n// cache is a Map (or PseudoMap) that matches the keys to\n// the Yallist.Node object.\nclass LRUCache {\n constructor (options) {\n if (typeof options === 'number')\n options = { max: options }\n\n if (!options)\n options = {}\n\n if (options.max && (typeof options.max !== 'number' || options.max < 0))\n throw new TypeError('max must be a non-negative number')\n // Kind of weird to have a default max of Infinity, but oh well.\n const max = this[MAX] = options.max || Infinity\n\n const lc = options.length || naiveLength\n this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc\n this[ALLOW_STALE] = options.stale || false\n if (options.maxAge && typeof options.maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n this[MAX_AGE] = options.maxAge || 0\n this[DISPOSE] = options.dispose\n this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false\n this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false\n this.reset()\n }\n\n // resize the cache when the max changes.\n set max (mL) {\n if (typeof mL !== 'number' || mL < 0)\n throw new TypeError('max must be a non-negative number')\n\n this[MAX] = mL || Infinity\n trim(this)\n }\n get max () {\n return this[MAX]\n }\n\n set allowStale (allowStale) {\n this[ALLOW_STALE] = !!allowStale\n }\n get allowStale () {\n return this[ALLOW_STALE]\n }\n\n set maxAge (mA) {\n if (typeof mA !== 'number')\n throw new TypeError('maxAge must be a non-negative number')\n\n this[MAX_AGE] = mA\n trim(this)\n }\n get maxAge () {\n return this[MAX_AGE]\n }\n\n // resize the cache when the lengthCalculator changes.\n set lengthCalculator (lC) {\n if (typeof lC !== 'function')\n lC = naiveLength\n\n if (lC !== this[LENGTH_CALCULATOR]) {\n this[LENGTH_CALCULATOR] = lC\n this[LENGTH] = 0\n this[LRU_LIST].forEach(hit => {\n hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)\n this[LENGTH] += hit.length\n })\n }\n trim(this)\n }\n get lengthCalculator () { return this[LENGTH_CALCULATOR] }\n\n get length () { return this[LENGTH] }\n get itemCount () { return this[LRU_LIST].length }\n\n rforEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].tail; walker !== null;) {\n const prev = walker.prev\n forEachStep(this, fn, walker, thisp)\n walker = prev\n }\n }\n\n forEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].head; walker !== null;) {\n const next = walker.next\n forEachStep(this, fn, walker, thisp)\n walker = next\n }\n }\n\n keys () {\n return this[LRU_LIST].toArray().map(k => k.key)\n }\n\n values () {\n return this[LRU_LIST].toArray().map(k => k.value)\n }\n\n reset () {\n if (this[DISPOSE] &&\n this[LRU_LIST] &&\n this[LRU_LIST].length) {\n this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value))\n }\n\n this[CACHE] = new Map() // hash of items by key\n this[LRU_LIST] = new Yallist() // list of items in order of use recency\n this[LENGTH] = 0 // length of items in the list\n }\n\n dump () {\n return this[LRU_LIST].map(hit =>\n isStale(this, hit) ? false : {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }).toArray().filter(h => h)\n }\n\n dumpLru () {\n return this[LRU_LIST]\n }\n\n set (key, value, maxAge) {\n maxAge = maxAge || this[MAX_AGE]\n\n if (maxAge && typeof maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n\n const now = maxAge ? Date.now() : 0\n const len = this[LENGTH_CALCULATOR](value, key)\n\n if (this[CACHE].has(key)) {\n if (len > this[MAX]) {\n del(this, this[CACHE].get(key))\n return false\n }\n\n const node = this[CACHE].get(key)\n const item = node.value\n\n // dispose of the old one before overwriting\n // split out into 2 ifs for better coverage tracking\n if (this[DISPOSE]) {\n if (!this[NO_DISPOSE_ON_SET])\n this[DISPOSE](key, item.value)\n }\n\n item.now = now\n item.maxAge = maxAge\n item.value = value\n this[LENGTH] += len - item.length\n item.length = len\n this.get(key)\n trim(this)\n return true\n }\n\n const hit = new Entry(key, value, len, now, maxAge)\n\n // oversized objects fall out of cache automatically.\n if (hit.length > this[MAX]) {\n if (this[DISPOSE])\n this[DISPOSE](key, value)\n\n return false\n }\n\n this[LENGTH] += hit.length\n this[LRU_LIST].unshift(hit)\n this[CACHE].set(key, this[LRU_LIST].head)\n trim(this)\n return true\n }\n\n has (key) {\n if (!this[CACHE].has(key)) return false\n const hit = this[CACHE].get(key).value\n return !isStale(this, hit)\n }\n\n get (key) {\n return get(this, key, true)\n }\n\n peek (key) {\n return get(this, key, false)\n }\n\n pop () {\n const node = this[LRU_LIST].tail\n if (!node)\n return null\n\n del(this, node)\n return node.value\n }\n\n del (key) {\n del(this, this[CACHE].get(key))\n }\n\n load (arr) {\n // reset the cache\n this.reset()\n\n const now = Date.now()\n // A previous serialized cache has the most recent items first\n for (let l = arr.length - 1; l >= 0; l--) {\n const hit = arr[l]\n const expiresAt = hit.e || 0\n if (expiresAt === 0)\n // the item was created without expiration in a non aged cache\n this.set(hit.k, hit.v)\n else {\n const maxAge = expiresAt - now\n // dont add already expired items\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge)\n }\n }\n }\n }\n\n prune () {\n this[CACHE].forEach((value, key) => get(this, key, false))\n }\n}\n\nconst get = (self, key, doUse) => {\n const node = self[CACHE].get(key)\n if (node) {\n const hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n return undefined\n } else {\n if (doUse) {\n if (self[UPDATE_AGE_ON_GET])\n node.value.now = Date.now()\n self[LRU_LIST].unshiftNode(node)\n }\n }\n return hit.value\n }\n}\n\nconst isStale = (self, hit) => {\n if (!hit || (!hit.maxAge && !self[MAX_AGE]))\n return false\n\n const diff = Date.now() - hit.now\n return hit.maxAge ? diff > hit.maxAge\n : self[MAX_AGE] && (diff > self[MAX_AGE])\n}\n\nconst trim = self => {\n if (self[LENGTH] > self[MAX]) {\n for (let walker = self[LRU_LIST].tail;\n self[LENGTH] > self[MAX] && walker !== null;) {\n // We know that we're about to delete this one, and also\n // what the next least recently used key will be, so just\n // go ahead and set it now.\n const prev = walker.prev\n del(self, walker)\n walker = prev\n }\n }\n}\n\nconst del = (self, node) => {\n if (node) {\n const hit = node.value\n if (self[DISPOSE])\n self[DISPOSE](hit.key, hit.value)\n\n self[LENGTH] -= hit.length\n self[CACHE].delete(hit.key)\n self[LRU_LIST].removeNode(node)\n }\n}\n\nclass Entry {\n constructor (key, value, length, now, maxAge) {\n this.key = key\n this.value = value\n this.length = length\n this.now = now\n this.maxAge = maxAge || 0\n }\n}\n\nconst forEachStep = (self, fn, node, thisp) => {\n let hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n hit = undefined\n }\n if (hit)\n fn.call(thisp, hit.value, hit.key, self)\n}\n\nmodule.exports = LRUCache\n","'use strict'\nmodule.exports = function (Yallist) {\n Yallist.prototype[Symbol.iterator] = function* () {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value\n }\n }\n}\n","'use strict'\nmodule.exports = Yallist\n\nYallist.Node = Node\nYallist.create = Yallist\n\nfunction Yallist (list) {\n var self = this\n if (!(self instanceof Yallist)) {\n self = new Yallist()\n }\n\n self.tail = null\n self.head = null\n self.length = 0\n\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item)\n })\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i])\n }\n }\n\n return self\n}\n\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list')\n }\n\n var next = node.next\n var prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n node.list.length--\n node.next = null\n node.prev = null\n node.list = null\n\n return next\n}\n\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n}\n\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n}\n\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined\n }\n\n var res = this.tail.value\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = null\n } else {\n this.head = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined\n }\n\n var res = this.head.value\n this.head = this.head.next\n if (this.head) {\n this.head.prev = null\n } else {\n this.tail = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n}\n\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n}\n\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.next\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n}\n\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n}\n\nYallist.prototype.reduce = function (fn, initial) {\n var acc\n var walker = this.head\n if (arguments.length > 1) {\n acc = initial\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i)\n walker = walker.next\n }\n\n return acc\n}\n\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc\n var walker = this.tail\n if (arguments.length > 1) {\n acc = initial\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i)\n walker = walker.prev\n }\n\n return acc\n}\n\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n}\n\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n}\n\nYallist.prototype.slice = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.splice = function (start, deleteCount, ...nodes) {\n if (start > this.length) {\n start = this.length - 1\n }\n if (start < 0) {\n start = this.length + start;\n }\n\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next\n }\n\n var ret = []\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value)\n walker = this.removeNode(walker)\n }\n if (walker === null) {\n walker = this.tail\n }\n\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev\n }\n\n for (var i = 0; i < nodes.length; i++) {\n walker = insert(this, walker, nodes[i])\n }\n return ret;\n}\n\nYallist.prototype.reverse = function () {\n var head = this.head\n var tail = this.tail\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n}\n\nfunction insert (self, node, value) {\n var inserted = node === self.head ?\n new Node(value, null, node, self) :\n new Node(value, node, node.next, self)\n\n if (inserted.next === null) {\n self.tail = inserted\n }\n if (inserted.prev === null) {\n self.head = inserted\n }\n\n self.length++\n\n return inserted\n}\n\nfunction push (self, item) {\n self.tail = new Node(item, self.tail, null, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift (self, item) {\n self.head = new Node(item, null, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nfunction Node (value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list)\n }\n\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = null\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = null\n }\n}\n\ntry {\n // add if support for Symbol.iterator is present\n require('./iterator.js')(Yallist)\n} catch (er) {}\n","/**\n * An implementation of the RDF Dataset Normalization specification.\n *\n * @author Dave Longley\n *\n * Copyright 2010-2021 Digital Bazaar, Inc.\n */\nmodule.exports = require('./lib');\n","/*\n * Copyright (c) 2016-2021 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nmodule.exports = class IdentifierIssuer {\n /**\n * Creates a new IdentifierIssuer. A IdentifierIssuer issues unique\n * identifiers, keeping track of any previously issued identifiers.\n *\n * @param prefix the prefix to use ('').\n * @param existing an existing Map to use.\n * @param counter the counter to use.\n */\n constructor(prefix, existing = new Map(), counter = 0) {\n this.prefix = prefix;\n this._existing = existing;\n this.counter = counter;\n }\n\n /**\n * Copies this IdentifierIssuer.\n *\n * @return a copy of this IdentifierIssuer.\n */\n clone() {\n const {prefix, _existing, counter} = this;\n return new IdentifierIssuer(prefix, new Map(_existing), counter);\n }\n\n /**\n * Gets the new identifier for the given old identifier, where if no old\n * identifier is given a new identifier will be generated.\n *\n * @param [old] the old identifier to get the new identifier for.\n *\n * @return the new identifier.\n */\n getId(old) {\n // return existing old identifier\n const existing = old && this._existing.get(old);\n if(existing) {\n return existing;\n }\n\n // get next identifier\n const identifier = this.prefix + this.counter;\n this.counter++;\n\n // save mapping\n if(old) {\n this._existing.set(old, identifier);\n }\n\n return identifier;\n }\n\n /**\n * Returns true if the given old identifer has already been assigned a new\n * identifier.\n *\n * @param old the old identifier to check.\n *\n * @return true if the old identifier has been assigned a new identifier,\n * false if not.\n */\n hasId(old) {\n return this._existing.has(old);\n }\n\n /**\n * Returns all of the IDs that have been issued new IDs in the order in\n * which they were issued new IDs.\n *\n * @return the list of old IDs that has been issued new IDs in order.\n */\n getOldIds() {\n return [...this._existing.keys()];\n }\n};\n","/*!\n * Copyright (c) 2016-2022 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nrequire('setimmediate');\n\nconst crypto = self.crypto || self.msCrypto;\n\nmodule.exports = class MessageDigest {\n /**\n * Creates a new MessageDigest.\n *\n * @param algorithm the algorithm to use.\n */\n constructor(algorithm) {\n // check if crypto.subtle is available\n // check is here rather than top-level to only fail if class is used\n if(!(crypto && crypto.subtle)) {\n throw new Error('crypto.subtle not found.');\n }\n if(algorithm === 'sha256') {\n this.algorithm = {name: 'SHA-256'};\n } else if(algorithm === 'sha1') {\n this.algorithm = {name: 'SHA-1'};\n } else {\n throw new Error(`Unsupported algorithm \"${algorithm}\".`);\n }\n this._content = '';\n }\n\n update(msg) {\n this._content += msg;\n }\n\n async digest() {\n const data = new TextEncoder().encode(this._content);\n const buffer = new Uint8Array(\n await crypto.subtle.digest(this.algorithm, data));\n // return digest in hex\n let hex = '';\n for(let i = 0; i < buffer.length; ++i) {\n hex += buffer[i].toString(16).padStart(2, '0');\n }\n return hex;\n }\n};\n","/*!\n * Copyright (c) 2016-2022 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\n// eslint-disable-next-line no-unused-vars\nconst TERMS = ['subject', 'predicate', 'object', 'graph'];\nconst RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';\nconst RDF_LANGSTRING = RDF + 'langString';\nconst XSD_STRING = 'http://www.w3.org/2001/XMLSchema#string';\n\nconst TYPE_NAMED_NODE = 'NamedNode';\nconst TYPE_BLANK_NODE = 'BlankNode';\nconst TYPE_LITERAL = 'Literal';\nconst TYPE_DEFAULT_GRAPH = 'DefaultGraph';\n\n// build regexes\nconst REGEX = {};\n(() => {\n const iri = '(?:<([^:]+:[^>]*)>)';\n // https://www.w3.org/TR/turtle/#grammar-production-BLANK_NODE_LABEL\n const PN_CHARS_BASE =\n 'A-Z' + 'a-z' +\n '\\u00C0-\\u00D6' +\n '\\u00D8-\\u00F6' +\n '\\u00F8-\\u02FF' +\n '\\u0370-\\u037D' +\n '\\u037F-\\u1FFF' +\n '\\u200C-\\u200D' +\n '\\u2070-\\u218F' +\n '\\u2C00-\\u2FEF' +\n '\\u3001-\\uD7FF' +\n '\\uF900-\\uFDCF' +\n '\\uFDF0-\\uFFFD';\n // TODO:\n //'\\u10000-\\uEFFFF';\n const PN_CHARS_U =\n PN_CHARS_BASE +\n '_';\n const PN_CHARS =\n PN_CHARS_U +\n '0-9' +\n '-' +\n '\\u00B7' +\n '\\u0300-\\u036F' +\n '\\u203F-\\u2040';\n const BLANK_NODE_LABEL =\n '(_:' +\n '(?:[' + PN_CHARS_U + '0-9])' +\n '(?:(?:[' + PN_CHARS + '.])*(?:[' + PN_CHARS + ']))?' +\n ')';\n const bnode = BLANK_NODE_LABEL;\n const plain = '\"([^\"\\\\\\\\]*(?:\\\\\\\\.[^\"\\\\\\\\]*)*)\"';\n const datatype = '(?:\\\\^\\\\^' + iri + ')';\n const language = '(?:@([a-zA-Z]+(?:-[a-zA-Z0-9]+)*))';\n const literal = '(?:' + plain + '(?:' + datatype + '|' + language + ')?)';\n const ws = '[ \\\\t]+';\n const wso = '[ \\\\t]*';\n\n // define quad part regexes\n const subject = '(?:' + iri + '|' + bnode + ')' + ws;\n const property = iri + ws;\n const object = '(?:' + iri + '|' + bnode + '|' + literal + ')' + wso;\n const graphName = '(?:\\\\.|(?:(?:' + iri + '|' + bnode + ')' + wso + '\\\\.))';\n\n // end of line and empty regexes\n REGEX.eoln = /(?:\\r\\n)|(?:\\n)|(?:\\r)/g;\n REGEX.empty = new RegExp('^' + wso + '$');\n\n // full quad regex\n REGEX.quad = new RegExp(\n '^' + wso + subject + property + object + graphName + wso + '$');\n})();\n\nmodule.exports = class NQuads {\n /**\n * Parses RDF in the form of N-Quads.\n *\n * @param input the N-Quads input to parse.\n *\n * @return an RDF dataset (an array of quads per http://rdf.js.org/).\n */\n static parse(input) {\n // build RDF dataset\n const dataset = [];\n\n const graphs = {};\n\n // split N-Quad input into lines\n const lines = input.split(REGEX.eoln);\n let lineNumber = 0;\n for(const line of lines) {\n lineNumber++;\n\n // skip empty lines\n if(REGEX.empty.test(line)) {\n continue;\n }\n\n // parse quad\n const match = line.match(REGEX.quad);\n if(match === null) {\n throw new Error('N-Quads parse error on line ' + lineNumber + '.');\n }\n\n // create RDF quad\n const quad = {subject: null, predicate: null, object: null, graph: null};\n\n // get subject\n if(match[1] !== undefined) {\n quad.subject = {termType: TYPE_NAMED_NODE, value: match[1]};\n } else {\n quad.subject = {termType: TYPE_BLANK_NODE, value: match[2]};\n }\n\n // get predicate\n quad.predicate = {termType: TYPE_NAMED_NODE, value: match[3]};\n\n // get object\n if(match[4] !== undefined) {\n quad.object = {termType: TYPE_NAMED_NODE, value: match[4]};\n } else if(match[5] !== undefined) {\n quad.object = {termType: TYPE_BLANK_NODE, value: match[5]};\n } else {\n quad.object = {\n termType: TYPE_LITERAL,\n value: undefined,\n datatype: {\n termType: TYPE_NAMED_NODE\n }\n };\n if(match[7] !== undefined) {\n quad.object.datatype.value = match[7];\n } else if(match[8] !== undefined) {\n quad.object.datatype.value = RDF_LANGSTRING;\n quad.object.language = match[8];\n } else {\n quad.object.datatype.value = XSD_STRING;\n }\n quad.object.value = _unescape(match[6]);\n }\n\n // get graph\n if(match[9] !== undefined) {\n quad.graph = {\n termType: TYPE_NAMED_NODE,\n value: match[9]\n };\n } else if(match[10] !== undefined) {\n quad.graph = {\n termType: TYPE_BLANK_NODE,\n value: match[10]\n };\n } else {\n quad.graph = {\n termType: TYPE_DEFAULT_GRAPH,\n value: ''\n };\n }\n\n // only add quad if it is unique in its graph\n if(!(quad.graph.value in graphs)) {\n graphs[quad.graph.value] = [quad];\n dataset.push(quad);\n } else {\n let unique = true;\n const quads = graphs[quad.graph.value];\n for(const q of quads) {\n if(_compareTriples(q, quad)) {\n unique = false;\n break;\n }\n }\n if(unique) {\n quads.push(quad);\n dataset.push(quad);\n }\n }\n }\n\n return dataset;\n }\n\n /**\n * Converts an RDF dataset to N-Quads.\n *\n * @param dataset (array of quads) the RDF dataset to convert.\n *\n * @return the N-Quads string.\n */\n static serialize(dataset) {\n if(!Array.isArray(dataset)) {\n dataset = NQuads.legacyDatasetToQuads(dataset);\n }\n const quads = [];\n for(const quad of dataset) {\n quads.push(NQuads.serializeQuad(quad));\n }\n return quads.sort().join('');\n }\n\n /**\n * Converts RDF quad components to an N-Quad string (a single quad).\n *\n * @param {Object} s - N-Quad subject component.\n * @param {Object} p - N-Quad predicate component.\n * @param {Object} o - N-Quad object component.\n * @param {Object} g - N-Quad graph component.\n *\n * @return {string} the N-Quad.\n */\n static serializeQuadComponents(s, p, o, g) {\n let nquad = '';\n\n // subject can only be NamedNode or BlankNode\n if(s.termType === TYPE_NAMED_NODE) {\n nquad += `<${s.value}>`;\n } else {\n nquad += `${s.value}`;\n }\n\n // predicate can only be NamedNode\n nquad += ` <${p.value}> `;\n\n // object is NamedNode, BlankNode, or Literal\n if(o.termType === TYPE_NAMED_NODE) {\n nquad += `<${o.value}>`;\n } else if(o.termType === TYPE_BLANK_NODE) {\n nquad += o.value;\n } else {\n nquad += `\"${_escape(o.value)}\"`;\n if(o.datatype.value === RDF_LANGSTRING) {\n if(o.language) {\n nquad += `@${o.language}`;\n }\n } else if(o.datatype.value !== XSD_STRING) {\n nquad += `^^<${o.datatype.value}>`;\n }\n }\n\n // graph can only be NamedNode or BlankNode (or DefaultGraph, but that\n // does not add to `nquad`)\n if(g.termType === TYPE_NAMED_NODE) {\n nquad += ` <${g.value}>`;\n } else if(g.termType === TYPE_BLANK_NODE) {\n nquad += ` ${g.value}`;\n }\n\n nquad += ' .\\n';\n return nquad;\n }\n\n /**\n * Converts an RDF quad to an N-Quad string (a single quad).\n *\n * @param quad the RDF quad convert.\n *\n * @return the N-Quad string.\n */\n static serializeQuad(quad) {\n return NQuads.serializeQuadComponents(\n quad.subject, quad.predicate, quad.object, quad.graph);\n }\n\n /**\n * Converts a legacy-formatted dataset to an array of quads dataset per\n * http://rdf.js.org/.\n *\n * @param dataset the legacy dataset to convert.\n *\n * @return the array of quads dataset.\n */\n static legacyDatasetToQuads(dataset) {\n const quads = [];\n\n const termTypeMap = {\n 'blank node': TYPE_BLANK_NODE,\n IRI: TYPE_NAMED_NODE,\n literal: TYPE_LITERAL\n };\n\n for(const graphName in dataset) {\n const triples = dataset[graphName];\n triples.forEach(triple => {\n const quad = {};\n for(const componentName in triple) {\n const oldComponent = triple[componentName];\n const newComponent = {\n termType: termTypeMap[oldComponent.type],\n value: oldComponent.value\n };\n if(newComponent.termType === TYPE_LITERAL) {\n newComponent.datatype = {\n termType: TYPE_NAMED_NODE\n };\n if('datatype' in oldComponent) {\n newComponent.datatype.value = oldComponent.datatype;\n }\n if('language' in oldComponent) {\n if(!('datatype' in oldComponent)) {\n newComponent.datatype.value = RDF_LANGSTRING;\n }\n newComponent.language = oldComponent.language;\n } else if(!('datatype' in oldComponent)) {\n newComponent.datatype.value = XSD_STRING;\n }\n }\n quad[componentName] = newComponent;\n }\n if(graphName === '@default') {\n quad.graph = {\n termType: TYPE_DEFAULT_GRAPH,\n value: ''\n };\n } else {\n quad.graph = {\n termType: graphName.startsWith('_:') ?\n TYPE_BLANK_NODE : TYPE_NAMED_NODE,\n value: graphName\n };\n }\n quads.push(quad);\n });\n }\n\n return quads;\n }\n};\n\n/**\n * Compares two RDF triples for equality.\n *\n * @param t1 the first triple.\n * @param t2 the second triple.\n *\n * @return true if the triples are the same, false if not.\n */\nfunction _compareTriples(t1, t2) {\n // compare subject and object types first as it is the quickest check\n if(!(t1.subject.termType === t2.subject.termType &&\n t1.object.termType === t2.object.termType)) {\n return false;\n }\n // compare values\n if(!(t1.subject.value === t2.subject.value &&\n t1.predicate.value === t2.predicate.value &&\n t1.object.value === t2.object.value)) {\n return false;\n }\n if(t1.object.termType !== TYPE_LITERAL) {\n // no `datatype` or `language` to check\n return true;\n }\n return (\n (t1.object.datatype.termType === t2.object.datatype.termType) &&\n (t1.object.language === t2.object.language) &&\n (t1.object.datatype.value === t2.object.datatype.value)\n );\n}\n\nconst _escapeRegex = /[\"\\\\\\n\\r]/g;\n/**\n * Escape string to N-Quads literal\n */\nfunction _escape(s) {\n return s.replace(_escapeRegex, function(match) {\n switch(match) {\n case '\"': return '\\\\\"';\n case '\\\\': return '\\\\\\\\';\n case '\\n': return '\\\\n';\n case '\\r': return '\\\\r';\n }\n });\n}\n\nconst _unescapeRegex =\n /(?:\\\\([tbnrf\"'\\\\]))|(?:\\\\u([0-9A-Fa-f]{4}))|(?:\\\\U([0-9A-Fa-f]{8}))/g;\n/**\n * Unescape N-Quads literal to string\n */\nfunction _unescape(s) {\n return s.replace(_unescapeRegex, function(match, code, u, U) {\n if(code) {\n switch(code) {\n case 't': return '\\t';\n case 'b': return '\\b';\n case 'n': return '\\n';\n case 'r': return '\\r';\n case 'f': return '\\f';\n case '\"': return '\"';\n case '\\'': return '\\'';\n case '\\\\': return '\\\\';\n }\n }\n if(u) {\n return String.fromCharCode(parseInt(u, 16));\n }\n if(U) {\n // FIXME: support larger values\n throw new Error('Unsupported U escape');\n }\n });\n}\n","/*!\n * Copyright (c) 2016-2022 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nmodule.exports = class Permuter {\n /**\n * A Permuter iterates over all possible permutations of the given array\n * of elements.\n *\n * @param list the array of elements to iterate over.\n */\n constructor(list) {\n // original array\n this.current = list.sort();\n // indicates whether there are more permutations\n this.done = false;\n // directional info for permutation algorithm\n this.dir = new Map();\n for(let i = 0; i < list.length; ++i) {\n this.dir.set(list[i], true);\n }\n }\n\n /**\n * Returns true if there is another permutation.\n *\n * @return true if there is another permutation, false if not.\n */\n hasNext() {\n return !this.done;\n }\n\n /**\n * Gets the next permutation. Call hasNext() to ensure there is another one\n * first.\n *\n * @return the next permutation.\n */\n next() {\n // copy current permutation to return it\n const {current, dir} = this;\n const rval = current.slice();\n\n /* Calculate the next permutation using the Steinhaus-Johnson-Trotter\n permutation algorithm. */\n\n // get largest mobile element k\n // (mobile: element is greater than the one it is looking at)\n let k = null;\n let pos = 0;\n const length = current.length;\n for(let i = 0; i < length; ++i) {\n const element = current[i];\n const left = dir.get(element);\n if((k === null || element > k) &&\n ((left && i > 0 && element > current[i - 1]) ||\n (!left && i < (length - 1) && element > current[i + 1]))) {\n k = element;\n pos = i;\n }\n }\n\n // no more permutations\n if(k === null) {\n this.done = true;\n } else {\n // swap k and the element it is looking at\n const swap = dir.get(k) ? pos - 1 : pos + 1;\n current[pos] = current[swap];\n current[swap] = k;\n\n // reverse the direction of all elements larger than k\n for(const element of current) {\n if(element > k) {\n dir.set(element, !dir.get(element));\n }\n }\n }\n\n return rval;\n }\n};\n","/*!\n * Copyright (c) 2016-2022 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst IdentifierIssuer = require('./IdentifierIssuer');\nconst MessageDigest = require('./MessageDigest');\nconst Permuter = require('./Permuter');\nconst NQuads = require('./NQuads');\n\nmodule.exports = class URDNA2015 {\n constructor({\n createMessageDigest = () => new MessageDigest('sha256'),\n canonicalIdMap = new Map(),\n maxDeepIterations = Infinity\n } = {}) {\n this.name = 'URDNA2015';\n this.blankNodeInfo = new Map();\n this.canonicalIssuer = new IdentifierIssuer('_:c14n', canonicalIdMap);\n this.createMessageDigest = createMessageDigest;\n this.maxDeepIterations = maxDeepIterations;\n this.quads = null;\n this.deepIterations = null;\n }\n\n // 4.4) Normalization Algorithm\n async main(dataset) {\n this.deepIterations = new Map();\n this.quads = dataset;\n\n // 1) Create the normalization state.\n // 2) For every quad in input dataset:\n for(const quad of dataset) {\n // 2.1) For each blank node that occurs in the quad, add a reference\n // to the quad using the blank node identifier in the blank node to\n // quads map, creating a new entry if necessary.\n this._addBlankNodeQuadInfo({quad, component: quad.subject});\n this._addBlankNodeQuadInfo({quad, component: quad.object});\n this._addBlankNodeQuadInfo({quad, component: quad.graph});\n }\n\n // 3) Create a list of non-normalized blank node identifiers\n // non-normalized identifiers and populate it using the keys from the\n // blank node to quads map.\n // Note: We use a map here and it was generated during step 2.\n\n // 4) `simple` flag is skipped -- loop is optimized away. This optimization\n // is permitted because there was a typo in the hash first degree quads\n // algorithm in the URDNA2015 spec that was implemented widely making it\n // such that it could not be fixed; the result was that the loop only\n // needs to be run once and the first degree quad hashes will never change.\n // 5.1-5.2 are skipped; first degree quad hashes are generated just once\n // for all non-normalized blank nodes.\n\n // 5.3) For each blank node identifier identifier in non-normalized\n // identifiers:\n const hashToBlankNodes = new Map();\n const nonNormalized = [...this.blankNodeInfo.keys()];\n let i = 0;\n for(const id of nonNormalized) {\n // Note: batch hashing first degree quads 100 at a time\n if(++i % 100 === 0) {\n await this._yield();\n }\n // steps 5.3.1 and 5.3.2:\n await this._hashAndTrackBlankNode({id, hashToBlankNodes});\n }\n\n // 5.4) For each hash to identifier list mapping in hash to blank\n // nodes map, lexicographically-sorted by hash:\n const hashes = [...hashToBlankNodes.keys()].sort();\n // optimize away second sort, gather non-unique hashes in order as we go\n const nonUnique = [];\n for(const hash of hashes) {\n // 5.4.1) If the length of identifier list is greater than 1,\n // continue to the next mapping.\n const idList = hashToBlankNodes.get(hash);\n if(idList.length > 1) {\n nonUnique.push(idList);\n continue;\n }\n\n // 5.4.2) Use the Issue Identifier algorithm, passing canonical\n // issuer and the single blank node identifier in identifier\n // list, identifier, to issue a canonical replacement identifier\n // for identifier.\n const id = idList[0];\n this.canonicalIssuer.getId(id);\n\n // Note: These steps are skipped, optimized away since the loop\n // only needs to be run once.\n // 5.4.3) Remove identifier from non-normalized identifiers.\n // 5.4.4) Remove hash from the hash to blank nodes map.\n // 5.4.5) Set simple to true.\n }\n\n // 6) For each hash to identifier list mapping in hash to blank nodes map,\n // lexicographically-sorted by hash:\n // Note: sort optimized away, use `nonUnique`.\n for(const idList of nonUnique) {\n // 6.1) Create hash path list where each item will be a result of\n // running the Hash N-Degree Quads algorithm.\n const hashPathList = [];\n\n // 6.2) For each blank node identifier identifier in identifier list:\n for(const id of idList) {\n // 6.2.1) If a canonical identifier has already been issued for\n // identifier, continue to the next identifier.\n if(this.canonicalIssuer.hasId(id)) {\n continue;\n }\n\n // 6.2.2) Create temporary issuer, an identifier issuer\n // initialized with the prefix _:b.\n const issuer = new IdentifierIssuer('_:b');\n\n // 6.2.3) Use the Issue Identifier algorithm, passing temporary\n // issuer and identifier, to issue a new temporary blank node\n // identifier for identifier.\n issuer.getId(id);\n\n // 6.2.4) Run the Hash N-Degree Quads algorithm, passing\n // temporary issuer, and append the result to the hash path list.\n const result = await this.hashNDegreeQuads(id, issuer);\n hashPathList.push(result);\n }\n\n // 6.3) For each result in the hash path list,\n // lexicographically-sorted by the hash in result:\n hashPathList.sort(_stringHashCompare);\n for(const result of hashPathList) {\n // 6.3.1) For each blank node identifier, existing identifier,\n // that was issued a temporary identifier by identifier issuer\n // in result, issue a canonical identifier, in the same order,\n // using the Issue Identifier algorithm, passing canonical\n // issuer and existing identifier.\n const oldIds = result.issuer.getOldIds();\n for(const id of oldIds) {\n this.canonicalIssuer.getId(id);\n }\n }\n }\n\n /* Note: At this point all blank nodes in the set of RDF quads have been\n assigned canonical identifiers, which have been stored in the canonical\n issuer. Here each quad is updated by assigning each of its blank nodes\n its new identifier. */\n\n // 7) For each quad, quad, in input dataset:\n const normalized = [];\n for(const quad of this.quads) {\n // 7.1) Create a copy, quad copy, of quad and replace any existing\n // blank node identifiers using the canonical identifiers\n // previously issued by canonical issuer.\n // Note: We optimize away the copy here.\n const nQuad = NQuads.serializeQuadComponents(\n this._componentWithCanonicalId(quad.subject),\n quad.predicate,\n this._componentWithCanonicalId(quad.object),\n this._componentWithCanonicalId(quad.graph)\n );\n // 7.2) Add quad copy to the normalized dataset.\n normalized.push(nQuad);\n }\n\n // sort normalized output\n normalized.sort();\n\n // 8) Return the normalized dataset.\n return normalized.join('');\n }\n\n // 4.6) Hash First Degree Quads\n async hashFirstDegreeQuads(id) {\n // 1) Initialize nquads to an empty list. It will be used to store quads in\n // N-Quads format.\n const nquads = [];\n\n // 2) Get the list of quads `quads` associated with the reference blank node\n // identifier in the blank node to quads map.\n const info = this.blankNodeInfo.get(id);\n const quads = info.quads;\n\n // 3) For each quad `quad` in `quads`:\n for(const quad of quads) {\n // 3.1) Serialize the quad in N-Quads format with the following special\n // rule:\n\n // 3.1.1) If any component in quad is an blank node, then serialize it\n // using a special identifier as follows:\n const copy = {\n subject: null, predicate: quad.predicate, object: null, graph: null\n };\n // 3.1.2) If the blank node's existing blank node identifier matches\n // the reference blank node identifier then use the blank node\n // identifier _:a, otherwise, use the blank node identifier _:z.\n copy.subject = this.modifyFirstDegreeComponent(\n id, quad.subject, 'subject');\n copy.object = this.modifyFirstDegreeComponent(\n id, quad.object, 'object');\n copy.graph = this.modifyFirstDegreeComponent(\n id, quad.graph, 'graph');\n nquads.push(NQuads.serializeQuad(copy));\n }\n\n // 4) Sort nquads in lexicographical order.\n nquads.sort();\n\n // 5) Return the hash that results from passing the sorted, joined nquads\n // through the hash algorithm.\n const md = this.createMessageDigest();\n for(const nquad of nquads) {\n md.update(nquad);\n }\n info.hash = await md.digest();\n return info.hash;\n }\n\n // 4.7) Hash Related Blank Node\n async hashRelatedBlankNode(related, quad, issuer, position) {\n // 1) Set the identifier to use for related, preferring first the canonical\n // identifier for related if issued, second the identifier issued by issuer\n // if issued, and last, if necessary, the result of the Hash First Degree\n // Quads algorithm, passing related.\n let id;\n if(this.canonicalIssuer.hasId(related)) {\n id = this.canonicalIssuer.getId(related);\n } else if(issuer.hasId(related)) {\n id = issuer.getId(related);\n } else {\n id = this.blankNodeInfo.get(related).hash;\n }\n\n // 2) Initialize a string input to the value of position.\n // Note: We use a hash object instead.\n const md = this.createMessageDigest();\n md.update(position);\n\n // 3) If position is not g, append <, the value of the predicate in quad,\n // and > to input.\n if(position !== 'g') {\n md.update(this.getRelatedPredicate(quad));\n }\n\n // 4) Append identifier to input.\n md.update(id);\n\n // 5) Return the hash that results from passing input through the hash\n // algorithm.\n return md.digest();\n }\n\n // 4.8) Hash N-Degree Quads\n async hashNDegreeQuads(id, issuer) {\n const deepIterations = this.deepIterations.get(id) || 0;\n if(deepIterations > this.maxDeepIterations) {\n throw new Error(\n `Maximum deep iterations (${this.maxDeepIterations}) exceeded.`);\n }\n this.deepIterations.set(id, deepIterations + 1);\n\n // 1) Create a hash to related blank nodes map for storing hashes that\n // identify related blank nodes.\n // Note: 2) and 3) handled within `createHashToRelated`\n const md = this.createMessageDigest();\n const hashToRelated = await this.createHashToRelated(id, issuer);\n\n // 4) Create an empty string, data to hash.\n // Note: We created a hash object `md` above instead.\n\n // 5) For each related hash to blank node list mapping in hash to related\n // blank nodes map, sorted lexicographically by related hash:\n const hashes = [...hashToRelated.keys()].sort();\n for(const hash of hashes) {\n // 5.1) Append the related hash to the data to hash.\n md.update(hash);\n\n // 5.2) Create a string chosen path.\n let chosenPath = '';\n\n // 5.3) Create an unset chosen issuer variable.\n let chosenIssuer;\n\n // 5.4) For each permutation of blank node list:\n const permuter = new Permuter(hashToRelated.get(hash));\n let i = 0;\n while(permuter.hasNext()) {\n const permutation = permuter.next();\n // Note: batch permutations 3 at a time\n if(++i % 3 === 0) {\n await this._yield();\n }\n\n // 5.4.1) Create a copy of issuer, issuer copy.\n let issuerCopy = issuer.clone();\n\n // 5.4.2) Create a string path.\n let path = '';\n\n // 5.4.3) Create a recursion list, to store blank node identifiers\n // that must be recursively processed by this algorithm.\n const recursionList = [];\n\n // 5.4.4) For each related in permutation:\n let nextPermutation = false;\n for(const related of permutation) {\n // 5.4.4.1) If a canonical identifier has been issued for\n // related, append it to path.\n if(this.canonicalIssuer.hasId(related)) {\n path += this.canonicalIssuer.getId(related);\n } else {\n // 5.4.4.2) Otherwise:\n // 5.4.4.2.1) If issuer copy has not issued an identifier for\n // related, append related to recursion list.\n if(!issuerCopy.hasId(related)) {\n recursionList.push(related);\n }\n // 5.4.4.2.2) Use the Issue Identifier algorithm, passing\n // issuer copy and related and append the result to path.\n path += issuerCopy.getId(related);\n }\n\n // 5.4.4.3) If chosen path is not empty and the length of path\n // is greater than or equal to the length of chosen path and\n // path is lexicographically greater than chosen path, then\n // skip to the next permutation.\n // Note: Comparing path length to chosen path length can be optimized\n // away; only compare lexicographically.\n if(chosenPath.length !== 0 && path > chosenPath) {\n nextPermutation = true;\n break;\n }\n }\n\n if(nextPermutation) {\n continue;\n }\n\n // 5.4.5) For each related in recursion list:\n for(const related of recursionList) {\n // 5.4.5.1) Set result to the result of recursively executing\n // the Hash N-Degree Quads algorithm, passing related for\n // identifier and issuer copy for path identifier issuer.\n const result = await this.hashNDegreeQuads(related, issuerCopy);\n\n // 5.4.5.2) Use the Issue Identifier algorithm, passing issuer\n // copy and related and append the result to path.\n path += issuerCopy.getId(related);\n\n // 5.4.5.3) Append <, the hash in result, and > to path.\n path += `<${result.hash}>`;\n\n // 5.4.5.4) Set issuer copy to the identifier issuer in\n // result.\n issuerCopy = result.issuer;\n\n // 5.4.5.5) If chosen path is not empty and the length of path\n // is greater than or equal to the length of chosen path and\n // path is lexicographically greater than chosen path, then\n // skip to the next permutation.\n // Note: Comparing path length to chosen path length can be optimized\n // away; only compare lexicographically.\n if(chosenPath.length !== 0 && path > chosenPath) {\n nextPermutation = true;\n break;\n }\n }\n\n if(nextPermutation) {\n continue;\n }\n\n // 5.4.6) If chosen path is empty or path is lexicographically\n // less than chosen path, set chosen path to path and chosen\n // issuer to issuer copy.\n if(chosenPath.length === 0 || path < chosenPath) {\n chosenPath = path;\n chosenIssuer = issuerCopy;\n }\n }\n\n // 5.5) Append chosen path to data to hash.\n md.update(chosenPath);\n\n // 5.6) Replace issuer, by reference, with chosen issuer.\n issuer = chosenIssuer;\n }\n\n // 6) Return issuer and the hash that results from passing data to hash\n // through the hash algorithm.\n return {hash: await md.digest(), issuer};\n }\n\n // helper for modifying component during Hash First Degree Quads\n modifyFirstDegreeComponent(id, component) {\n if(component.termType !== 'BlankNode') {\n return component;\n }\n /* Note: A mistake in the URDNA2015 spec that made its way into\n implementations (and therefore must stay to avoid interop breakage)\n resulted in an assigned canonical ID, if available for\n `component.value`, not being used in place of `_:a`/`_:z`, so\n we don't use it here. */\n return {\n termType: 'BlankNode',\n value: component.value === id ? '_:a' : '_:z'\n };\n }\n\n // helper for getting a related predicate\n getRelatedPredicate(quad) {\n return `<${quad.predicate.value}>`;\n }\n\n // helper for creating hash to related blank nodes map\n async createHashToRelated(id, issuer) {\n // 1) Create a hash to related blank nodes map for storing hashes that\n // identify related blank nodes.\n const hashToRelated = new Map();\n\n // 2) Get a reference, quads, to the list of quads in the blank node to\n // quads map for the key identifier.\n const quads = this.blankNodeInfo.get(id).quads;\n\n // 3) For each quad in quads:\n let i = 0;\n for(const quad of quads) {\n // Note: batch hashing related blank node quads 100 at a time\n if(++i % 100 === 0) {\n await this._yield();\n }\n // 3.1) For each component in quad, if component is the subject, object,\n // and graph name and it is a blank node that is not identified by\n // identifier:\n // steps 3.1.1 and 3.1.2 occur in helpers:\n await Promise.all([\n this._addRelatedBlankNodeHash({\n quad, component: quad.subject, position: 's',\n id, issuer, hashToRelated\n }),\n this._addRelatedBlankNodeHash({\n quad, component: quad.object, position: 'o',\n id, issuer, hashToRelated\n }),\n this._addRelatedBlankNodeHash({\n quad, component: quad.graph, position: 'g',\n id, issuer, hashToRelated\n })\n ]);\n }\n\n return hashToRelated;\n }\n\n async _hashAndTrackBlankNode({id, hashToBlankNodes}) {\n // 5.3.1) Create a hash, hash, according to the Hash First Degree\n // Quads algorithm.\n const hash = await this.hashFirstDegreeQuads(id);\n\n // 5.3.2) Add hash and identifier to hash to blank nodes map,\n // creating a new entry if necessary.\n const idList = hashToBlankNodes.get(hash);\n if(!idList) {\n hashToBlankNodes.set(hash, [id]);\n } else {\n idList.push(id);\n }\n }\n\n _addBlankNodeQuadInfo({quad, component}) {\n if(component.termType !== 'BlankNode') {\n return;\n }\n const id = component.value;\n const info = this.blankNodeInfo.get(id);\n if(info) {\n info.quads.add(quad);\n } else {\n this.blankNodeInfo.set(id, {quads: new Set([quad]), hash: null});\n }\n }\n\n async _addRelatedBlankNodeHash(\n {quad, component, position, id, issuer, hashToRelated}) {\n if(!(component.termType === 'BlankNode' && component.value !== id)) {\n return;\n }\n // 3.1.1) Set hash to the result of the Hash Related Blank Node\n // algorithm, passing the blank node identifier for component as\n // related, quad, path identifier issuer as issuer, and position as\n // either s, o, or g based on whether component is a subject, object,\n // graph name, respectively.\n const related = component.value;\n const hash = await this.hashRelatedBlankNode(\n related, quad, issuer, position);\n\n // 3.1.2) Add a mapping of hash to the blank node identifier for\n // component to hash to related blank nodes map, adding an entry as\n // necessary.\n const entries = hashToRelated.get(hash);\n if(entries) {\n entries.push(related);\n } else {\n hashToRelated.set(hash, [related]);\n }\n }\n\n // canonical ids for 7.1\n _componentWithCanonicalId(component) {\n if(component.termType === 'BlankNode' &&\n !component.value.startsWith(this.canonicalIssuer.prefix)) {\n // create new BlankNode\n return {\n termType: 'BlankNode',\n value: this.canonicalIssuer.getId(component.value)\n };\n }\n return component;\n }\n\n async _yield() {\n return new Promise(resolve => setImmediate(resolve));\n }\n};\n\nfunction _stringHashCompare(a, b) {\n return a.hash < b.hash ? -1 : a.hash > b.hash ? 1 : 0;\n}\n","/*!\n * Copyright (c) 2016-2022 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst IdentifierIssuer = require('./IdentifierIssuer');\n// FIXME: do not import; convert to requiring a\n// hash factory\nconst MessageDigest = require('./MessageDigest');\nconst Permuter = require('./Permuter');\nconst NQuads = require('./NQuads');\n\nmodule.exports = class URDNA2015Sync {\n constructor({\n createMessageDigest = () => new MessageDigest('sha256'),\n canonicalIdMap = new Map(),\n maxDeepIterations = Infinity\n } = {}) {\n this.name = 'URDNA2015';\n this.blankNodeInfo = new Map();\n this.canonicalIssuer = new IdentifierIssuer('_:c14n', canonicalIdMap);\n this.createMessageDigest = createMessageDigest;\n this.maxDeepIterations = maxDeepIterations;\n this.quads = null;\n this.deepIterations = null;\n }\n\n // 4.4) Normalization Algorithm\n main(dataset) {\n this.deepIterations = new Map();\n this.quads = dataset;\n\n // 1) Create the normalization state.\n // 2) For every quad in input dataset:\n for(const quad of dataset) {\n // 2.1) For each blank node that occurs in the quad, add a reference\n // to the quad using the blank node identifier in the blank node to\n // quads map, creating a new entry if necessary.\n this._addBlankNodeQuadInfo({quad, component: quad.subject});\n this._addBlankNodeQuadInfo({quad, component: quad.object});\n this._addBlankNodeQuadInfo({quad, component: quad.graph});\n }\n\n // 3) Create a list of non-normalized blank node identifiers\n // non-normalized identifiers and populate it using the keys from the\n // blank node to quads map.\n // Note: We use a map here and it was generated during step 2.\n\n // 4) `simple` flag is skipped -- loop is optimized away. This optimization\n // is permitted because there was a typo in the hash first degree quads\n // algorithm in the URDNA2015 spec that was implemented widely making it\n // such that it could not be fixed; the result was that the loop only\n // needs to be run once and the first degree quad hashes will never change.\n // 5.1-5.2 are skipped; first degree quad hashes are generated just once\n // for all non-normalized blank nodes.\n\n // 5.3) For each blank node identifier identifier in non-normalized\n // identifiers:\n const hashToBlankNodes = new Map();\n const nonNormalized = [...this.blankNodeInfo.keys()];\n for(const id of nonNormalized) {\n // steps 5.3.1 and 5.3.2:\n this._hashAndTrackBlankNode({id, hashToBlankNodes});\n }\n\n // 5.4) For each hash to identifier list mapping in hash to blank\n // nodes map, lexicographically-sorted by hash:\n const hashes = [...hashToBlankNodes.keys()].sort();\n // optimize away second sort, gather non-unique hashes in order as we go\n const nonUnique = [];\n for(const hash of hashes) {\n // 5.4.1) If the length of identifier list is greater than 1,\n // continue to the next mapping.\n const idList = hashToBlankNodes.get(hash);\n if(idList.length > 1) {\n nonUnique.push(idList);\n continue;\n }\n\n // 5.4.2) Use the Issue Identifier algorithm, passing canonical\n // issuer and the single blank node identifier in identifier\n // list, identifier, to issue a canonical replacement identifier\n // for identifier.\n const id = idList[0];\n this.canonicalIssuer.getId(id);\n\n // Note: These steps are skipped, optimized away since the loop\n // only needs to be run once.\n // 5.4.3) Remove identifier from non-normalized identifiers.\n // 5.4.4) Remove hash from the hash to blank nodes map.\n // 5.4.5) Set simple to true.\n }\n\n // 6) For each hash to identifier list mapping in hash to blank nodes map,\n // lexicographically-sorted by hash:\n // Note: sort optimized away, use `nonUnique`.\n for(const idList of nonUnique) {\n // 6.1) Create hash path list where each item will be a result of\n // running the Hash N-Degree Quads algorithm.\n const hashPathList = [];\n\n // 6.2) For each blank node identifier identifier in identifier list:\n for(const id of idList) {\n // 6.2.1) If a canonical identifier has already been issued for\n // identifier, continue to the next identifier.\n if(this.canonicalIssuer.hasId(id)) {\n continue;\n }\n\n // 6.2.2) Create temporary issuer, an identifier issuer\n // initialized with the prefix _:b.\n const issuer = new IdentifierIssuer('_:b');\n\n // 6.2.3) Use the Issue Identifier algorithm, passing temporary\n // issuer and identifier, to issue a new temporary blank node\n // identifier for identifier.\n issuer.getId(id);\n\n // 6.2.4) Run the Hash N-Degree Quads algorithm, passing\n // temporary issuer, and append the result to the hash path list.\n const result = this.hashNDegreeQuads(id, issuer);\n hashPathList.push(result);\n }\n\n // 6.3) For each result in the hash path list,\n // lexicographically-sorted by the hash in result:\n hashPathList.sort(_stringHashCompare);\n for(const result of hashPathList) {\n // 6.3.1) For each blank node identifier, existing identifier,\n // that was issued a temporary identifier by identifier issuer\n // in result, issue a canonical identifier, in the same order,\n // using the Issue Identifier algorithm, passing canonical\n // issuer and existing identifier.\n const oldIds = result.issuer.getOldIds();\n for(const id of oldIds) {\n this.canonicalIssuer.getId(id);\n }\n }\n }\n\n /* Note: At this point all blank nodes in the set of RDF quads have been\n assigned canonical identifiers, which have been stored in the canonical\n issuer. Here each quad is updated by assigning each of its blank nodes\n its new identifier. */\n\n // 7) For each quad, quad, in input dataset:\n const normalized = [];\n for(const quad of this.quads) {\n // 7.1) Create a copy, quad copy, of quad and replace any existing\n // blank node identifiers using the canonical identifiers\n // previously issued by canonical issuer.\n // Note: We optimize away the copy here.\n const nQuad = NQuads.serializeQuadComponents(\n this._componentWithCanonicalId({component: quad.subject}),\n quad.predicate,\n this._componentWithCanonicalId({component: quad.object}),\n this._componentWithCanonicalId({component: quad.graph})\n );\n // 7.2) Add quad copy to the normalized dataset.\n normalized.push(nQuad);\n }\n\n // sort normalized output\n normalized.sort();\n\n // 8) Return the normalized dataset.\n return normalized.join('');\n }\n\n // 4.6) Hash First Degree Quads\n hashFirstDegreeQuads(id) {\n // 1) Initialize nquads to an empty list. It will be used to store quads in\n // N-Quads format.\n const nquads = [];\n\n // 2) Get the list of quads `quads` associated with the reference blank node\n // identifier in the blank node to quads map.\n const info = this.blankNodeInfo.get(id);\n const quads = info.quads;\n\n // 3) For each quad `quad` in `quads`:\n for(const quad of quads) {\n // 3.1) Serialize the quad in N-Quads format with the following special\n // rule:\n\n // 3.1.1) If any component in quad is an blank node, then serialize it\n // using a special identifier as follows:\n const copy = {\n subject: null, predicate: quad.predicate, object: null, graph: null\n };\n // 3.1.2) If the blank node's existing blank node identifier matches\n // the reference blank node identifier then use the blank node\n // identifier _:a, otherwise, use the blank node identifier _:z.\n copy.subject = this.modifyFirstDegreeComponent(\n id, quad.subject, 'subject');\n copy.object = this.modifyFirstDegreeComponent(\n id, quad.object, 'object');\n copy.graph = this.modifyFirstDegreeComponent(\n id, quad.graph, 'graph');\n nquads.push(NQuads.serializeQuad(copy));\n }\n\n // 4) Sort nquads in lexicographical order.\n nquads.sort();\n\n // 5) Return the hash that results from passing the sorted, joined nquads\n // through the hash algorithm.\n const md = this.createMessageDigest();\n for(const nquad of nquads) {\n md.update(nquad);\n }\n info.hash = md.digest();\n return info.hash;\n }\n\n // 4.7) Hash Related Blank Node\n hashRelatedBlankNode(related, quad, issuer, position) {\n // 1) Set the identifier to use for related, preferring first the canonical\n // identifier for related if issued, second the identifier issued by issuer\n // if issued, and last, if necessary, the result of the Hash First Degree\n // Quads algorithm, passing related.\n let id;\n if(this.canonicalIssuer.hasId(related)) {\n id = this.canonicalIssuer.getId(related);\n } else if(issuer.hasId(related)) {\n id = issuer.getId(related);\n } else {\n id = this.blankNodeInfo.get(related).hash;\n }\n\n // 2) Initialize a string input to the value of position.\n // Note: We use a hash object instead.\n const md = this.createMessageDigest();\n md.update(position);\n\n // 3) If position is not g, append <, the value of the predicate in quad,\n // and > to input.\n if(position !== 'g') {\n md.update(this.getRelatedPredicate(quad));\n }\n\n // 4) Append identifier to input.\n md.update(id);\n\n // 5) Return the hash that results from passing input through the hash\n // algorithm.\n return md.digest();\n }\n\n // 4.8) Hash N-Degree Quads\n hashNDegreeQuads(id, issuer) {\n const deepIterations = this.deepIterations.get(id) || 0;\n if(deepIterations > this.maxDeepIterations) {\n throw new Error(\n `Maximum deep iterations (${this.maxDeepIterations}) exceeded.`);\n }\n this.deepIterations.set(id, deepIterations + 1);\n\n // 1) Create a hash to related blank nodes map for storing hashes that\n // identify related blank nodes.\n // Note: 2) and 3) handled within `createHashToRelated`\n const md = this.createMessageDigest();\n const hashToRelated = this.createHashToRelated(id, issuer);\n\n // 4) Create an empty string, data to hash.\n // Note: We created a hash object `md` above instead.\n\n // 5) For each related hash to blank node list mapping in hash to related\n // blank nodes map, sorted lexicographically by related hash:\n const hashes = [...hashToRelated.keys()].sort();\n for(const hash of hashes) {\n // 5.1) Append the related hash to the data to hash.\n md.update(hash);\n\n // 5.2) Create a string chosen path.\n let chosenPath = '';\n\n // 5.3) Create an unset chosen issuer variable.\n let chosenIssuer;\n\n // 5.4) For each permutation of blank node list:\n const permuter = new Permuter(hashToRelated.get(hash));\n while(permuter.hasNext()) {\n const permutation = permuter.next();\n\n // 5.4.1) Create a copy of issuer, issuer copy.\n let issuerCopy = issuer.clone();\n\n // 5.4.2) Create a string path.\n let path = '';\n\n // 5.4.3) Create a recursion list, to store blank node identifiers\n // that must be recursively processed by this algorithm.\n const recursionList = [];\n\n // 5.4.4) For each related in permutation:\n let nextPermutation = false;\n for(const related of permutation) {\n // 5.4.4.1) If a canonical identifier has been issued for\n // related, append it to path.\n if(this.canonicalIssuer.hasId(related)) {\n path += this.canonicalIssuer.getId(related);\n } else {\n // 5.4.4.2) Otherwise:\n // 5.4.4.2.1) If issuer copy has not issued an identifier for\n // related, append related to recursion list.\n if(!issuerCopy.hasId(related)) {\n recursionList.push(related);\n }\n // 5.4.4.2.2) Use the Issue Identifier algorithm, passing\n // issuer copy and related and append the result to path.\n path += issuerCopy.getId(related);\n }\n\n // 5.4.4.3) If chosen path is not empty and the length of path\n // is greater than or equal to the length of chosen path and\n // path is lexicographically greater than chosen path, then\n // skip to the next permutation.\n // Note: Comparing path length to chosen path length can be optimized\n // away; only compare lexicographically.\n if(chosenPath.length !== 0 && path > chosenPath) {\n nextPermutation = true;\n break;\n }\n }\n\n if(nextPermutation) {\n continue;\n }\n\n // 5.4.5) For each related in recursion list:\n for(const related of recursionList) {\n // 5.4.5.1) Set result to the result of recursively executing\n // the Hash N-Degree Quads algorithm, passing related for\n // identifier and issuer copy for path identifier issuer.\n const result = this.hashNDegreeQuads(related, issuerCopy);\n\n // 5.4.5.2) Use the Issue Identifier algorithm, passing issuer\n // copy and related and append the result to path.\n path += issuerCopy.getId(related);\n\n // 5.4.5.3) Append <, the hash in result, and > to path.\n path += `<${result.hash}>`;\n\n // 5.4.5.4) Set issuer copy to the identifier issuer in\n // result.\n issuerCopy = result.issuer;\n\n // 5.4.5.5) If chosen path is not empty and the length of path\n // is greater than or equal to the length of chosen path and\n // path is lexicographically greater than chosen path, then\n // skip to the next permutation.\n // Note: Comparing path length to chosen path length can be optimized\n // away; only compare lexicographically.\n if(chosenPath.length !== 0 && path > chosenPath) {\n nextPermutation = true;\n break;\n }\n }\n\n if(nextPermutation) {\n continue;\n }\n\n // 5.4.6) If chosen path is empty or path is lexicographically\n // less than chosen path, set chosen path to path and chosen\n // issuer to issuer copy.\n if(chosenPath.length === 0 || path < chosenPath) {\n chosenPath = path;\n chosenIssuer = issuerCopy;\n }\n }\n\n // 5.5) Append chosen path to data to hash.\n md.update(chosenPath);\n\n // 5.6) Replace issuer, by reference, with chosen issuer.\n issuer = chosenIssuer;\n }\n\n // 6) Return issuer and the hash that results from passing data to hash\n // through the hash algorithm.\n return {hash: md.digest(), issuer};\n }\n\n // helper for modifying component during Hash First Degree Quads\n modifyFirstDegreeComponent(id, component) {\n if(component.termType !== 'BlankNode') {\n return component;\n }\n /* Note: A mistake in the URDNA2015 spec that made its way into\n implementations (and therefore must stay to avoid interop breakage)\n resulted in an assigned canonical ID, if available for\n `component.value`, not being used in place of `_:a`/`_:z`, so\n we don't use it here. */\n return {\n termType: 'BlankNode',\n value: component.value === id ? '_:a' : '_:z'\n };\n }\n\n // helper for getting a related predicate\n getRelatedPredicate(quad) {\n return `<${quad.predicate.value}>`;\n }\n\n // helper for creating hash to related blank nodes map\n createHashToRelated(id, issuer) {\n // 1) Create a hash to related blank nodes map for storing hashes that\n // identify related blank nodes.\n const hashToRelated = new Map();\n\n // 2) Get a reference, quads, to the list of quads in the blank node to\n // quads map for the key identifier.\n const quads = this.blankNodeInfo.get(id).quads;\n\n // 3) For each quad in quads:\n for(const quad of quads) {\n // 3.1) For each component in quad, if component is the subject, object,\n // or graph name and it is a blank node that is not identified by\n // identifier:\n // steps 3.1.1 and 3.1.2 occur in helpers:\n this._addRelatedBlankNodeHash({\n quad, component: quad.subject, position: 's',\n id, issuer, hashToRelated\n });\n this._addRelatedBlankNodeHash({\n quad, component: quad.object, position: 'o',\n id, issuer, hashToRelated\n });\n this._addRelatedBlankNodeHash({\n quad, component: quad.graph, position: 'g',\n id, issuer, hashToRelated\n });\n }\n\n return hashToRelated;\n }\n\n _hashAndTrackBlankNode({id, hashToBlankNodes}) {\n // 5.3.1) Create a hash, hash, according to the Hash First Degree\n // Quads algorithm.\n const hash = this.hashFirstDegreeQuads(id);\n\n // 5.3.2) Add hash and identifier to hash to blank nodes map,\n // creating a new entry if necessary.\n const idList = hashToBlankNodes.get(hash);\n if(!idList) {\n hashToBlankNodes.set(hash, [id]);\n } else {\n idList.push(id);\n }\n }\n\n _addBlankNodeQuadInfo({quad, component}) {\n if(component.termType !== 'BlankNode') {\n return;\n }\n const id = component.value;\n const info = this.blankNodeInfo.get(id);\n if(info) {\n info.quads.add(quad);\n } else {\n this.blankNodeInfo.set(id, {quads: new Set([quad]), hash: null});\n }\n }\n\n _addRelatedBlankNodeHash(\n {quad, component, position, id, issuer, hashToRelated}) {\n if(!(component.termType === 'BlankNode' && component.value !== id)) {\n return;\n }\n // 3.1.1) Set hash to the result of the Hash Related Blank Node\n // algorithm, passing the blank node identifier for component as\n // related, quad, path identifier issuer as issuer, and position as\n // either s, o, or g based on whether component is a subject, object,\n // graph name, respectively.\n const related = component.value;\n const hash = this.hashRelatedBlankNode(related, quad, issuer, position);\n\n // 3.1.2) Add a mapping of hash to the blank node identifier for\n // component to hash to related blank nodes map, adding an entry as\n // necessary.\n const entries = hashToRelated.get(hash);\n if(entries) {\n entries.push(related);\n } else {\n hashToRelated.set(hash, [related]);\n }\n }\n\n // canonical ids for 7.1\n _componentWithCanonicalId({component}) {\n if(component.termType === 'BlankNode' &&\n !component.value.startsWith(this.canonicalIssuer.prefix)) {\n // create new BlankNode\n return {\n termType: 'BlankNode',\n value: this.canonicalIssuer.getId(component.value)\n };\n }\n return component;\n }\n};\n\nfunction _stringHashCompare(a, b) {\n return a.hash < b.hash ? -1 : a.hash > b.hash ? 1 : 0;\n}\n","/*!\n * Copyright (c) 2016-2022 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst MessageDigest = require('./MessageDigest');\nconst URDNA2015 = require('./URDNA2015');\n\nmodule.exports = class URDNA2012 extends URDNA2015 {\n constructor() {\n super();\n this.name = 'URGNA2012';\n this.createMessageDigest = () => new MessageDigest('sha1');\n }\n\n // helper for modifying component during Hash First Degree Quads\n modifyFirstDegreeComponent(id, component, key) {\n if(component.termType !== 'BlankNode') {\n return component;\n }\n if(key === 'graph') {\n return {\n termType: 'BlankNode',\n value: '_:g'\n };\n }\n return {\n termType: 'BlankNode',\n value: (component.value === id ? '_:a' : '_:z')\n };\n }\n\n // helper for getting a related predicate\n getRelatedPredicate(quad) {\n return quad.predicate.value;\n }\n\n // helper for creating hash to related blank nodes map\n async createHashToRelated(id, issuer) {\n // 1) Create a hash to related blank nodes map for storing hashes that\n // identify related blank nodes.\n const hashToRelated = new Map();\n\n // 2) Get a reference, quads, to the list of quads in the blank node to\n // quads map for the key identifier.\n const quads = this.blankNodeInfo.get(id).quads;\n\n // 3) For each quad in quads:\n let i = 0;\n for(const quad of quads) {\n // 3.1) If the quad's subject is a blank node that does not match\n // identifier, set hash to the result of the Hash Related Blank Node\n // algorithm, passing the blank node identifier for subject as related,\n // quad, path identifier issuer as issuer, and p as position.\n let position;\n let related;\n if(quad.subject.termType === 'BlankNode' && quad.subject.value !== id) {\n related = quad.subject.value;\n position = 'p';\n } else if(\n quad.object.termType === 'BlankNode' && quad.object.value !== id) {\n // 3.2) Otherwise, if quad's object is a blank node that does not match\n // identifier, to the result of the Hash Related Blank Node algorithm,\n // passing the blank node identifier for object as related, quad, path\n // identifier issuer as issuer, and r as position.\n related = quad.object.value;\n position = 'r';\n } else {\n // 3.3) Otherwise, continue to the next quad.\n continue;\n }\n // Note: batch hashing related blank nodes 100 at a time\n if(++i % 100 === 0) {\n await this._yield();\n }\n // 3.4) Add a mapping of hash to the blank node identifier for the\n // component that matched (subject or object) to hash to related blank\n // nodes map, adding an entry as necessary.\n const hash = await this.hashRelatedBlankNode(\n related, quad, issuer, position);\n const entries = hashToRelated.get(hash);\n if(entries) {\n entries.push(related);\n } else {\n hashToRelated.set(hash, [related]);\n }\n }\n\n return hashToRelated;\n }\n};\n","/*!\n * Copyright (c) 2016-2021 Digital Bazaar, Inc. All rights reserved.\n */\n'use strict';\n\nconst MessageDigest = require('./MessageDigest');\nconst URDNA2015Sync = require('./URDNA2015Sync');\n\nmodule.exports = class URDNA2012Sync extends URDNA2015Sync {\n constructor() {\n super();\n this.name = 'URGNA2012';\n this.createMessageDigest = () => new MessageDigest('sha1');\n }\n\n // helper for modifying component during Hash First Degree Quads\n modifyFirstDegreeComponent(id, component, key) {\n if(component.termType !== 'BlankNode') {\n return component;\n }\n if(key === 'graph') {\n return {\n termType: 'BlankNode',\n value: '_:g'\n };\n }\n return {\n termType: 'BlankNode',\n value: (component.value === id ? '_:a' : '_:z')\n };\n }\n\n // helper for getting a related predicate\n getRelatedPredicate(quad) {\n return quad.predicate.value;\n }\n\n // helper for creating hash to related blank nodes map\n createHashToRelated(id, issuer) {\n // 1) Create a hash to related blank nodes map for storing hashes that\n // identify related blank nodes.\n const hashToRelated = new Map();\n\n // 2) Get a reference, quads, to the list of quads in the blank node to\n // quads map for the key identifier.\n const quads = this.blankNodeInfo.get(id).quads;\n\n // 3) For each quad in quads:\n for(const quad of quads) {\n // 3.1) If the quad's subject is a blank node that does not match\n // identifier, set hash to the result of the Hash Related Blank Node\n // algorithm, passing the blank node identifier for subject as related,\n // quad, path identifier issuer as issuer, and p as position.\n let position;\n let related;\n if(quad.subject.termType === 'BlankNode' && quad.subject.value !== id) {\n related = quad.subject.value;\n position = 'p';\n } else if(\n quad.object.termType === 'BlankNode' && quad.object.value !== id) {\n // 3.2) Otherwise, if quad's object is a blank node that does not match\n // identifier, to the result of the Hash Related Blank Node algorithm,\n // passing the blank node identifier for object as related, quad, path\n // identifier issuer as issuer, and r as position.\n related = quad.object.value;\n position = 'r';\n } else {\n // 3.3) Otherwise, continue to the next quad.\n continue;\n }\n // 3.4) Add a mapping of hash to the blank node identifier for the\n // component that matched (subject or object) to hash to related blank\n // nodes map, adding an entry as necessary.\n const hash = this.hashRelatedBlankNode(related, quad, issuer, position);\n const entries = hashToRelated.get(hash);\n if(entries) {\n entries.push(related);\n } else {\n hashToRelated.set(hash, [related]);\n }\n }\n\n return hashToRelated;\n }\n};\n","/**\n * An implementation of the RDF Dataset Normalization specification.\n * This library works in the browser and node.js.\n *\n * BSD 3-Clause License\n * Copyright (c) 2016-2023 Digital Bazaar, Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n *\n * Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n *\n * Neither the name of the Digital Bazaar, Inc. nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n * IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\n * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\n * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\n * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n'use strict';\n\nconst URDNA2015 = require('./URDNA2015');\nconst URGNA2012 = require('./URGNA2012');\nconst URDNA2015Sync = require('./URDNA2015Sync');\nconst URGNA2012Sync = require('./URGNA2012Sync');\n\n// optional native support\nlet rdfCanonizeNative;\ntry {\n rdfCanonizeNative = require('rdf-canonize-native');\n} catch(e) {}\n\n// return a dataset from input dataset or legacy dataset\nfunction _inputToDataset(input/*, options*/) {\n // back-compat with legacy dataset\n if(!Array.isArray(input)) {\n return exports.NQuads.legacyDatasetToQuads(input);\n }\n return input;\n}\n\n// expose helpers\nexports.NQuads = require('./NQuads');\nexports.IdentifierIssuer = require('./IdentifierIssuer');\n\n/**\n * Get or set native API.\n *\n * @param api the native API.\n *\n * @return the currently set native API.\n */\nexports._rdfCanonizeNative = function(api) {\n if(api) {\n rdfCanonizeNative = api;\n }\n return rdfCanonizeNative;\n};\n\n/**\n * Asynchronously canonizes an RDF dataset.\n *\n * @param {Array|object|string} input - The input to canonize given as a\n * dataset or legacy dataset.\n * @param {object} options - The options to use:\n * {string} algorithm - The canonicalization algorithm to use, `URDNA2015` or\n * `URGNA2012`.\n * {Function} [createMessageDigest] - A factory function for creating a\n * `MessageDigest` interface that overrides the built-in message digest\n * implementation used by the canonize algorithm; note that using a hash\n * algorithm (or HMAC algorithm) that differs from the one specified by\n * the canonize algorithm will result in different output.\n * {Map} [canonicalIdMap] - An optional Map to be populated by the canonical\n * identifier issuer with the bnode identifier mapping generated by the\n * canonicalization algorithm.\n * {boolean} [useNative=false] - Use native implementation.\n * {number} [maxDeepIterations=Infinity] - The maximum number of times to run\n * deep comparison algorithms (such as the N-Degree Hash Quads algorithm\n * used in URDNA2015) before bailing out and throwing an error; this is a\n * useful setting for preventing wasted CPU cycles or DoS when canonizing\n * meaningless or potentially malicious datasets, a recommended value is\n * `1`.\n *\n * @return a Promise that resolves to the canonicalized RDF Dataset.\n */\nexports.canonize = async function(input, options) {\n const dataset = _inputToDataset(input, options);\n\n if(options.useNative) {\n if(!rdfCanonizeNative) {\n throw new Error('rdf-canonize-native not available');\n }\n if(options.createMessageDigest) {\n throw new Error(\n '\"createMessageDigest\" cannot be used with \"useNative\".');\n }\n return new Promise((resolve, reject) =>\n rdfCanonizeNative.canonize(dataset, options, (err, canonical) =>\n err ? reject(err) : resolve(canonical)));\n }\n\n if(options.algorithm === 'URDNA2015') {\n return new URDNA2015(options).main(dataset);\n }\n if(options.algorithm === 'URGNA2012') {\n if(options.createMessageDigest) {\n throw new Error(\n '\"createMessageDigest\" cannot be used with \"URGNA2012\".');\n }\n return new URGNA2012(options).main(dataset);\n }\n if(!('algorithm' in options)) {\n throw new Error('No RDF Dataset Canonicalization algorithm specified.');\n }\n throw new Error(\n 'Invalid RDF Dataset Canonicalization algorithm: ' + options.algorithm);\n};\n\n/**\n * This method is no longer available in the public API, it is for testing\n * only. It synchronously canonizes an RDF dataset and does not work in the\n * browser.\n *\n * @param {Array|object|string} input - The input to canonize given as a\n * dataset or legacy dataset.\n * @param {object} options - The options to use:\n * {string} algorithm - The canonicalization algorithm to use, `URDNA2015` or\n * `URGNA2012`.\n * {Function} [createMessageDigest] - A factory function for creating a\n * `MessageDigest` interface that overrides the built-in message digest\n * implementation used by the canonize algorithm; note that using a hash\n * algorithm (or HMAC algorithm) that differs from the one specified by\n * the canonize algorithm will result in different output.\n * {boolean} [useNative=false] - Use native implementation.\n * {number} [maxDeepIterations=Infinity] - The maximum number of times to run\n * deep comparison algorithms (such as the N-Degree Hash Quads algorithm\n * used in URDNA2015) before bailing out and throwing an error; this is a\n * useful setting for preventing wasted CPU cycles or DoS when canonizing\n * meaningless or potentially malicious datasets, a recommended value is\n * `1`.\n *\n * @return the RDF dataset in canonical form.\n */\nexports._canonizeSync = function(input, options) {\n const dataset = _inputToDataset(input, options);\n\n if(options.useNative) {\n if(!rdfCanonizeNative) {\n throw new Error('rdf-canonize-native not available');\n }\n if(options.createMessageDigest) {\n throw new Error(\n '\"createMessageDigest\" cannot be used with \"useNative\".');\n }\n return rdfCanonizeNative.canonizeSync(dataset, options);\n }\n if(options.algorithm === 'URDNA2015') {\n return new URDNA2015Sync(options).main(dataset);\n }\n if(options.algorithm === 'URGNA2012') {\n if(options.createMessageDigest) {\n throw new Error(\n '\"createMessageDigest\" cannot be used with \"URGNA2012\".');\n }\n return new URGNA2012Sync(options).main(dataset);\n }\n if(!('algorithm' in options)) {\n throw new Error('No RDF Dataset Canonicalization algorithm specified.');\n }\n throw new Error(\n 'Invalid RDF Dataset Canonicalization algorithm: ' + options.algorithm);\n};\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a
-
- -
-
-
-
- -

Class BlankNode

-
-

An RDF blank node is a Node without a URI

- -

Link

https://rdf.js.org/data-model-spec/#blanknode-interface

-
-
-

Hierarchy

-
-
-

Implements

-
    -
  • BlankNode
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
classOrder: number = ClassOrder.BlankNode
-

The class order for this node

-
-
- -
isBlank: number = 1
-

Whether this is a blank node

-
-
- -
isVar: number = 1
-

This type of node is a variable.

+BlankNode | rdflib

Class BlankNode

An RDF blank node is a Node without a URI

+

Hierarchy (view full)

Implements

  • BlankNode

Constructors

Properties

classOrder: number = ClassOrder.BlankNode

The class order for this node

+
isBlank: number = 1

Whether this is a blank node

+
isVar: number = 1

This type of node is a variable.

Note that the existence of this property already indicates that it is a variable.

-
-
- -
termType: "BlankNode" = BlankNodeTermType
-

The type of node

-
-
- -
value: string
-

The node's value

-
-
- -
NTAnonymousNodePrefix: "_:" = '_:'
-
- -
fromValue: (<T>(value) => T)
-
-

Type declaration

-
    -
  • -
      -
    • <T>(value): T
    • -
    • -
      -

      Type Parameters

      -
        -
      • -

        T extends FromValueReturns

      -
      -

      Parameters

      -
        -
      • -
        value: ValueType
      -

      Returns T

-
- -
nextId: number = 0
-

The next unique identifier for blank nodes

-
-
- -
toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])
-
-

Type declaration

-
    -
  • -
      -
    • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
    • -
    • -
      -

      Parameters

      -
        -
      • -
        term: any
      -

      Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

-
-

Accessors

-
- -
    -
  • get id(): string
  • -
  • -

    The identifier for the blank node

    -
    -

    Returns string

  • -
  • set id(value): void
  • -
  • -
    -

    Parameters

    -
      -
    • -
      value: string
    -

    Returns void

-
-

Methods

-
- -
    - -
  • -

    Compares this node with another

    - -

    See

    to check if two nodes are equal

    -
    -
    -

    Parameters

    -
    -

    Returns number

-
- -
-
- -
    - -
  • -

    Compares whether the two nodes are equal

    -
    -
    -

    Parameters

    -
      -
    • -
      other: Term
      -

      The other node

      -
    -

    Returns boolean

-
- -
    - -
  • -

    Creates a hash for this node

    - -

    Deprecated

    use {rdfFactory.id} instead if possible

    -
    -

    Returns string

-
- -
    - -
  • -

    Compares whether this node is the same as the other one

    -
    -
    -

    Parameters

    -
      -
    • -
      other: Node
      -

      Another node

      -
    -

    Returns boolean

-
- -
    - -
  • -

    Creates the substituted node for this one, according to the specified bindings

    -
    -
    -

    Type Parameters

    -
    -
    -

    Parameters

    -
      -
    • -
      bindings: Bindings
      -

      Bindings of identifiers to nodes

      -
    -

    Returns T

-
- -
-
- -
-
- -
    - -
  • -

    Creates a n-triples string representation of this node

    -
    -

    Returns string

-
- -
-
-
-

Generated using TypeDoc

-
\ No newline at end of file +
termType: "BlankNode" = BlankNodeTermType

The type of node

+
value: string

The node's value

+
NTAnonymousNodePrefix: "_:" = '_:'
fromValue: (<T>(value) => T)

Type declaration

    • <T>(value): T
    • Type Parameters

      • T extends FromValueReturns

      Parameters

      • value: ValueType

      Returns T

nextId: number = 0

The next unique identifier for blank nodes

+
toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])

Type declaration

    • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
    • Parameters

      • term: any

      Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

Accessors

Methods

  • Compares whether the two nodes are equal

    +

    Parameters

    • other: Term

      The other node

      +

    Returns boolean

  • Creates the substituted node for this one, according to the specified bindings

    +

    Type Parameters

    Parameters

    • bindings: Bindings

      Bindings of identifiers to nodes

      +

    Returns T

\ No newline at end of file diff --git a/doc/classes/Collection.html b/doc/classes/Collection.html index dbe974ca7..5759d6edb 100644 --- a/doc/classes/Collection.html +++ b/doc/classes/Collection.html @@ -1,561 +1,51 @@ -Collection | rdflib
-
- -
-
-
-
- -

Class Collection<T>

-
-

A collection of other RDF nodes

+Collection | rdflib

Class Collection<T>

A collection of other RDF nodes

Use generic T to control the contents of the array.

-
-
-

Type Parameters

-
-
-

Hierarchy

-
    -
  • Node -
      -
    • Collection
-
-

Implements

-
    -
  • Term
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
classOrder: number = ClassOrder.Collection
-

The class order for this node

-
-
- -
closed: boolean = false
-
- -
compareTerm: ((other) => number) = RdflibBlankNode.prototype.compareTerm
-
-

Type declaration

-
    -
  • -
      -
    • (other): number
    • -
    • -
      -

      Parameters

      -
      -

      Returns number

-
- -
elements: T[] = []
-

The nodes in this collection

-
-
- -
isVar: number = 0
-
- -
termType: "Collection" = CollectionTermType
-

The type of node

-
-
- -
value: string
-

The node's value

-
-
- -
fromValue: (<T>(value) => T)
-
-

Type declaration

-
    -
  • -
      -
    • <T>(value): T
    • -
    • -
      -

      Type Parameters

      -
        -
      • -

        T extends FromValueReturns

      -
      -

      Parameters

      -
        -
      • -
        value: ValueType
      -

      Returns T

-
- -
termType: "Collection" = CollectionTermType
-
- -
toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])
-
-

Type declaration

-
    -
  • -
      -
    • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
    • -
    • -
      -

      Parameters

      -
        -
      • -
        term: any
      -

      Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

-
-

Accessors

-
- -
-
-

Methods

-
- -
    - -
  • -

    Appends an element to this collection

    -
    -
    -

    Parameters

    -
      -
    • -
      element: T
      -

      The new element

      -
    -

    Returns number

-
- -
-
- -
    - -
  • -

    Compares whether the two nodes are equal

    -
    -
    -

    Parameters

    -
      -
    • -
      other: Term
      -

      The other node

      -
    -

    Returns boolean

-
- -
    - -
  • -

    Creates a hash for this node

    - -

    Deprecated

    use {rdfFactory.id} instead if possible

    -
    -

    Returns string

-
- -
    - -
  • -

    Compares whether this node is the same as the other one

    -
    -
    -

    Parameters

    -
      -
    • -
      other: Node
      -

      Another node

      -
    -

    Returns boolean

-
- -
    - -
  • -

    Removes the first element from the collection (and return it)

    -
    -

    Returns undefined | T

-
- -
    - -
  • -

    Creates a new Collection with the substituting bindings applied

    -
    -
    -

    Parameters

    -
      -
    • -
      bindings: Bindings
      -

      The bindings to substitute

      -
    -

    Returns any

-
- -
-
- -
-
- -
    - -
  • -

    Creates a n-triples string representation of this node

    -
    -

    Returns string

-
- -
    - -
  • -

    Serializes the collection to a string. +

Type Parameters

Hierarchy (view full)

Implements

  • Term

Constructors

Properties

classOrder: number = ClassOrder.Collection

The class order for this node

+
closed: boolean = false
compareTerm: ((other) => number) = RdflibBlankNode.prototype.compareTerm

Type declaration

    • (other): number
    • Parameters

      Returns number

elements: T[] = []

The nodes in this collection

+
isVar: number = 0
termType: "Collection" = CollectionTermType

The type of node

+
value: string

The node's value

+
fromValue: (<T>(value) => T)

Type declaration

    • <T>(value): T
    • Type Parameters

      • T extends FromValueReturns

      Parameters

      • value: ValueType

      Returns T

termType: "Collection" = CollectionTermType
toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])

Type declaration

    • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
    • Parameters

      • term: any

      Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

Accessors

Methods

  • Appends an element to this collection

    +

    Parameters

    • element: T

      The new element

      +

    Returns number

  • Compares whether the two nodes are equal

    +

    Parameters

    • other: Term

      The other node

      +

    Returns boolean

  • Removes the first element from the collection (and return it)

    +

    Returns undefined | T

  • Creates a new Collection with the substituting bindings applied

    +

    Parameters

    • bindings: Bindings

      The bindings to substitute

      +

    Returns any

  • Serializes the collection to a string. Surrounded by (parentheses) and separated by spaces.

    -
    -

    Returns string

-
- -
    - -
  • -

    Prepends the specified element to the collection's front

    -
    -
    -

    Parameters

    -
      -
    • -
      element: T
      -

      The element to prepend

      -
    -

    Returns number

-
- -
    - -
  • -
    -

    Parameters

    -
      -
    • -
      collection: any
    -

    Returns string

-
-
-

Generated using TypeDoc

-
\ No newline at end of file +

Returns string

  • Prepends the specified element to the collection's front

    +

    Parameters

    • element: T

      The element to prepend

      +

    Returns number

\ No newline at end of file diff --git a/doc/classes/ConnectedStore.html b/doc/classes/ConnectedStore.html index ae2d77268..b106d4772 100644 --- a/doc/classes/ConnectedStore.html +++ b/doc/classes/ConnectedStore.html @@ -1,2338 +1,377 @@ -ConnectedStore | rdflib
-
- -
-
-
-
- -

Class ConnectedStore

-
-

Indexed Formula aka Store

-
-
-

Hierarchy

-
-
-
-
- -
-
-

Constructors

-
- -
-
-

Properties

-
- -
HTTPRedirects: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
-

Redirections we got from HTTP

-
-
- -
_existentialVariables?: BlankNode[]
-
- -
_universalVariables?: NamedNode[]
-
- -
aliases: any[]
-

Reverse mapping to redirection: aliases for this

-
-
- -
classActions: {
    [k: string]: Function[];
}
-

Map of iri predicates to functions to call when adding { s type X }

-
-
-

Type declaration

-
    -
  • -
    [k: string]: Function[]
-
- -
classOrder: number = ClassOrder.Graph
-

The class order for this node

-
-
- -
constraints: readonly any[] = []
-

initial array of constraints

-
-
- -
features: FeaturesType
-
- -
fetcher: Fetcher
-

The accompanying fetcher instance.

+ConnectedStore | rdflib

Class ConnectedStore

Indexed Formula aka Store

+

Hierarchy (view full)

Constructors

Properties

HTTPRedirects: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

Redirections we got from HTTP

+
_existentialVariables?: BlankNode[]
_universalVariables?: NamedNode[]
aliases: any[]

Reverse mapping to redirection: aliases for this

+
classActions: {
    [k: string]: Function[];
}

Map of iri predicates to functions to call when adding { s type X }

+

Type declaration

  • [k: string]: Function[]
classOrder: number = ClassOrder.Graph

The class order for this node

+
constraints: readonly any[] = []

initial array of constraints

+
features: FeaturesType
fetcher: Fetcher

The accompanying fetcher instance.

Is set by the fetcher when initialized.

-
-
- -
index: [Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[]]
-
- -
initBindings: readonly any[] = []
-

initial bindings used in Query

-
-
- -
isVar: number = 0
-
- -
namespaces: {
    [key: string]: string;
}
-

Dictionary of namespace prefixes

-
-
-

Type declaration

-
    -
  • -
    [key: string]: string
-
- -
ns: ((nsuri, factory?) => ((ln) => NamedNode)) = Namespace
-
-

Type declaration

-
    -
  • -
      -
    • (nsuri, factory?): ((ln) => NamedNode)
    • -
    • -

      A namespace for the specified namespace's URI

      -
      -
      -

      Parameters

      -
        -
      • -
        nsuri: string
        -

        The URI for the namespace

        -
      • -
      • -
        Optional factory: RdfJsDataFactory
      -

      Returns ((ln) => NamedNode)

      -
        -
      • -
          -
        • (ln): NamedNode
        • -
        • -
          -

          Parameters

          -
            -
          • -
            ln: string
          -

          Returns NamedNode

-
- -
objectIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
-

Array of statements with this X as object

-
-
- -
optional: readonly any[] = []
-

optional

-
-
- -
predicateIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
-

Array of statements with this X as predicate

-
-
- -
propertyActions: {
    [k: string]: Function[];
}
-

Map of iri predicates to functions to call when getting statement with {s X o}

-
-
-

Type declaration

-
    -
  • -
    [k: string]: Function[]
-
- -
rdfFactory: any
-

The factory used to generate statements and terms

-
-
- -
redirections: any[]
-

Redirect to lexically smaller equivalent symbol

-
-
- -
statements: Statement<SubjectType, PredicateType, ObjectType, GraphType>[] = []
-

Initial array of statements

-
-
- -
subjectIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
-

Array of statements with this X as subject

-
-
- -
termType: "Graph" = GraphTermType
-

The type of node

-
-
- -
updater?: UpdateManager
-

An UpdateManager initialised to this store

-
-
- -
value: string
-

The node's value

-
-
- -
whyIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
-

Array of statements with X as provenance

-
-
- -
fromValue: (<T>(value) => T)
-
-

Type declaration

-
    -
  • -
      -
    • <T>(value): T
    • -
    • -
      -

      Type Parameters

      -
        -
      • -

        T extends FromValueReturns

      -
      -

      Parameters

      -
        -
      • -
        value: ValueType
      -

      Returns T

-
- -
handleRDFType: Function
-
- -
toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])
-
-

Type declaration

-
    -
  • -
      -
    • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
    • -
    • -
      -

      Parameters

      -
        -
      • -
        term: any
      -

      Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

-
-

Accessors

-
- -
    -
  • get length(): number
  • -
  • -

    Returns the number of statements contained in this IndexedFormula. +

index: [Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[]]
initBindings: readonly any[] = []

initial bindings used in Query

+
isVar: number = 0
namespaces: {
    [key: string]: string;
}

Dictionary of namespace prefixes

+

Type declaration

  • [key: string]: string
ns: ((nsuri, factory?) => ((ln) => NamedNode)) = Namespace

A namespace for the specified namespace's URI

+

Type declaration

    • (nsuri, factory?): ((ln) => NamedNode)
    • Parameters

      • nsuri: string

        The URI for the namespace

        +
      • Optional factory: RdfJsDataFactory

      Returns ((ln) => NamedNode)

        • (ln): NamedNode
        • Parameters

          • ln: string

          Returns NamedNode

objectIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

Array of statements with this X as object

+
optional: readonly any[] = []

optional

+
predicateIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

Array of statements with this X as predicate

+
propertyActions: {
    [k: string]: Function[];
}

Map of iri predicates to functions to call when getting statement with {s X o}

+

Type declaration

  • [k: string]: Function[]
rdfFactory: any

The factory used to generate statements and terms

+
redirections: any[]

Redirect to lexically smaller equivalent symbol

+
statements: Statement<SubjectType, PredicateType, ObjectType, GraphType>[] = []

Initial array of statements

+
subjectIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

Array of statements with this X as subject

+
termType: "Graph" = GraphTermType

The type of node

+
updater?: UpdateManager

An UpdateManager initialised to this store

+
value: string

The node's value

+
whyIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

Array of statements with X as provenance

+
fromValue: (<T>(value) => T)

Type declaration

    • <T>(value): T
    • Type Parameters

      • T extends FromValueReturns

      Parameters

      • value: ValueType

      Returns T

handleRDFType: Function
toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])

Type declaration

    • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
    • Parameters

      • term: any

      Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

Accessors

  • get length(): number
  • Returns the number of statements contained in this IndexedFormula. (Getter proxy to this.statements). Usage:

    -
    var kb = rdf.graph()
    kb.length // -> 0 -
    - -

    Returns

    -

    Returns number

-
- -
    -
  • get defaultGraphURI(): string
  • -
  • -

    Gets the URI of the default graph

    -
    -

    Returns string

-
-

Methods

-
- -
    - -
  • -

    Transform a collection of NTriple URIs into their URI strings

    - -

    Returns

    A collection of the URIs as strings +

    var kb = rdf.graph()
    kb.length // -> 0 +
    +

    Returns number

  • get defaultGraphURI(): string
  • Gets the URI of the default graph

    +

    Returns string

Methods

  • Transform a collection of NTriple URIs into their URI strings

    +

    Parameters

    • t: any

      Some iterable collection of NTriple URI strings

      +

    Returns {}

    A collection of the URIs as strings todo: explain why it is important to go through NT

    -
-
-

Parameters

-
    -
  • -
    t: any
    -

    Some iterable collection of NTriple URI strings

    -
-

Returns {}

-
    -
    - -
      - -
    • -

      Adds a triple (quad) to the store.

      - -

      Returns

      The statement added to the store, or the store

      -
      -
      -

      Parameters

      -
        -
      • -
        subj: Quad_Subject | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Statement<SubjectType, PredicateType, ObjectType, GraphType> | Statement<SubjectType, PredicateType, ObjectType, GraphType>[] | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
        -

        The thing about which the fact a relationship is asserted. +

      • Adds a triple (quad) to the store.

        +

        Parameters

        • subj: Quad_Subject | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Statement<SubjectType, PredicateType, ObjectType, GraphType> | Statement<SubjectType, PredicateType, ObjectType, GraphType>[] | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

          The thing about which the fact a relationship is asserted. Also accepts a statement or an array of Statements.

          -
        • -
        • -
          Optional pred: Quad_Predicate
          -

          The relationship which is asserted

          -
        • -
        • -
          Optional obj: string | Term
          -

          The object of the relationship, e.g. another thing or a value. If passed a string, this will become a literal.

          -
        • -
        • -
          Optional why: Quad_Graph
          -

          The document in which the triple (S,P,O) was or will be stored on the web

          -
        -

        Returns null | number | Statement<SubjectType, PredicateType, ObjectType, GraphType> | ConnectedStore

      -
      - -
        - -
      • -

        Adds all the statements to this formula

        -
        -
        -

        Parameters

        -
          -
        • -
          statements: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
          -

          A collection of statements

          -
        -

        Returns void

      -
      - -
        - -
      • -

        Add a callback which will be triggered after a statement has been added to the store.

        -
        -
        -

        Parameters

        -
          -
        • -
          cb: ((q) => void)
          -
            -
          • -
              -
            • (q): void
            • -
            • -
              -

              Parameters

              -
                -
              • -
                q: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
              -

              Returns void

        -

        Returns void

      -
      - -
        - -
      • -
        -

        Deprecated

        Use {add} instead

        -
        -
        -

        Parameters

        -
          -
        • -
          st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
        -

        Returns number

      -
      - -
      -
      - -
        - -
      • -

        Follow link from one node, using one wildcard, looking for one

        +
      • Optional pred: Quad_Predicate

        The relationship which is asserted

        +
      • Optional obj: string | Term

        The object of the relationship, e.g. another thing or a value. If passed a string, this will become a literal.

        +
      • Optional why: Quad_Graph

        The document in which the triple (S,P,O) was or will be stored on the web

        +

      Returns null | number | Statement<SubjectType, PredicateType, ObjectType, GraphType> | ConnectedStore

      The statement added to the store, or the store

      +
      • Adds all the statements to this formula

        +

        Parameters

        • statements: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

          A collection of statements

          +

        Returns void

      • Add a callback which will be triggered after a statement has been added to the store.

        +

        Parameters

        • cb: ((q) => void)
            • (q): void
            • Parameters

              • q: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>

              Returns void

        Returns void

      • Parameters

        • st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>

        Returns number

        Deprecated

        Use {add} instead

        +
      • Follow link from one node, using one wildcard, looking for one

        For example, any(me, knows, null, profile) - a person I know accoring to my profile . any(me, knows, null, null) - a person I know accoring to anything in store . any(null, knows, me, null) - a person who know me accoring to anything in store .

        - -

        Returns

        A node which match the wildcard position, or null

        -
        -
        -

        Parameters

        -
          -
        • -
          Optional s: null | Quad_Subject
          -

          A node to search for as subject, or if null, a wildcard

          -
        • -
        • -
          Optional p: null | Quad_Predicate
          -

          A node to search for as predicate, or if null, a wildcard

          -
        • -
        • -
          Optional o: null | Quad_Object
          -

          A node to search for as object, or if null, a wildcard

          -
        • -
        • -
          Optional g: null | Quad_Graph
          -

          A node to search for as graph, or if null, a wildcard

          -
        -

        Returns null | Node

      -
      - -
        - -
      • -

        Gets the first JavaScript object equivalent to a node based on the specified pattern

        -
        -
        -

        Parameters

        -
          -
        • -
          Optional s: null | Quad_Subject
          -

          The subject

          -
        • -
        • -
          Optional p: null | Quad_Predicate
          -

          The predicate

          -
        • -
        • -
          Optional o: null | Quad_Object
          -

          The object

          -
        • -
        • -
          Optional g: null | Quad_Graph
          -

          The graph that contains the statement

          -
        -

        Returns any

      -
      - -
        - -
      • -

        Gets the first statement that matches the specified pattern

        -
        -
        -

        Parameters

        -
          -
        • -
          Optional s: null | Quad_Subject
        • -
        • -
          Optional p: null | Quad_Predicate
        • -
        • -
          Optional o: null | Quad_Object
        • -
        • -
          Optional g: null | Quad_Graph
        -

        Returns undefined | Statement<SubjectType, PredicateType, ObjectType, GraphType>

      -
      - -
        - -
      • -

        Gets the value of a node that matches the specified pattern

        -
        -
        -

        Parameters

        -
          -
        • -
          Optional s: null | Quad_Subject
          -

          The subject

          -
        • -
        • -
          Optional p: null | Quad_Predicate
          -

          The predicate

          -
        • -
        • -
          Optional o: null | Quad_Object
          -

          The object

          -
        • -
        • -
          Optional g: null | Quad_Graph
          -

          The graph that contains the statement

          -
        -

        Returns string | void

      -
      - -
        - -
      • -

        Apply a set of statements to be deleted and to be inserted

        -
        -
        -

        Parameters

        -
          -
        • -
          patch: {
              delete?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[];
              patch?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[];
              where?: any;
          }
          -

          The set of statements to be deleted and to be inserted

          -
          -
            -
          • -
            Optional delete?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
          • -
          • -
            Optional patch?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
          • -
          • -
            Optional where?: any
        • -
        • -
          target: NamedNode
          -

          The name of the document to patch

          -
        • -
        • -
          patchCallback: ((errorString?) => void)
          -

          Callback to be called when patching is complete

          -
          -
            -
          • -
              -
            • (errorString?): void
            • -
            • -
              -

              Parameters

              -
                -
              • -
                Optional errorString: string
              -

              Returns void

        -

        Returns void

      -
      - -
      -
      - -
        - -
      • -

        Finds the types in the list which have no stored subtypes +

        Parameters

        • Optional s: null | Quad_Subject

          A node to search for as subject, or if null, a wildcard

          +
        • Optional p: null | Quad_Predicate

          A node to search for as predicate, or if null, a wildcard

          +
        • Optional o: null | Quad_Object

          A node to search for as object, or if null, a wildcard

          +
        • Optional g: null | Quad_Graph

          A node to search for as graph, or if null, a wildcard

          +

        Returns null | Node

        A node which match the wildcard position, or null

        +
      • Gets the first JavaScript object equivalent to a node based on the specified pattern

        +

        Parameters

        • Optional s: null | Quad_Subject

          The subject

          +
        • Optional p: null | Quad_Predicate

          The predicate

          +
        • Optional o: null | Quad_Object

          The object

          +
        • Optional g: null | Quad_Graph

          The graph that contains the statement

          +

        Returns any

      • Gets the first statement that matches the specified pattern

        +

        Parameters

        • Optional s: null | Quad_Subject
        • Optional p: null | Quad_Predicate
        • Optional o: null | Quad_Object
        • Optional g: null | Quad_Graph

        Returns undefined | Statement<SubjectType, PredicateType, ObjectType, GraphType>

      • Gets the value of a node that matches the specified pattern

        +

        Parameters

        • Optional s: null | Quad_Subject

          The subject

          +
        • Optional p: null | Quad_Predicate

          The predicate

          +
        • Optional o: null | Quad_Object

          The object

          +
        • Optional g: null | Quad_Graph

          The graph that contains the statement

          +

        Returns string | void

      • Apply a set of statements to be deleted and to be inserted

        +

        Parameters

        • patch: {
              delete?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[];
              patch?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[];
              where?: any;
          }

          The set of statements to be deleted and to be inserted

          +
          • Optional delete?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
          • Optional patch?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
          • Optional where?: any
        • target: NamedNode

          The name of the document to patch

          +
        • patchCallback: ((errorString?) => void)

          Callback to be called when patching is complete

          +
            • (errorString?): void
            • Parameters

              • Optional errorString: string

              Returns void

        Returns void

      • Finds the types in the list which have no stored subtypes These are a set of classes which provide by themselves complete information -- the other classes are redundant for those who know the class DAG.

        -
        -
        -

        Parameters

        -
          -
        • -
          types: any
          -

          A map of the types

          -
        -

        Returns any

      -
      - -
        - -
      • -

        Returns the symbol with canonical URI as smushed

        -
        -
        -

        Parameters

        -
          -
        • -
          Optional term: Term
          -

          An RDF node

          -
        -

        Returns Node

      -
      - -
      -
      - -
        - -
      • -

        Checks a list of statements for consistency

        -
        -
        -

        Parameters

        -
          -
        • -
          sts: readonly Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
          -

          The list of statements to check

          -
        • -
        • -
          Optional from: number
          -

          An index with the array ['subject', 'predicate', 'object', 'why']

          -
        -

        Returns boolean | void

      -
      - -
      -
      - -
      -
      - -
        - -
      • -

        Compares this node with another

        - -

        See

        to check if two nodes are equal

        -
        -
        -

        Parameters

        -
          -
        • -
          other: Node
          -

          The other node

          -
        -

        Returns number

      -
      - -
      -
      - -
        - -
      • -

        Trace statements which connect directly, or through bnodes

        - -

        Returns

        an array of statements, duplicate statements are suppresssed.

        -
        -
        -

        Parameters

        -
          -
        • -
          subject: Quad_Subject
          -

          The node to start looking for statments

          -
        • -
        • -
          doc: Quad_Graph
          -

          The document to be searched, or null to search all documents

          -
        • -
        • -
          Optional excludePredicateURIs: readonly string[]
        -

        Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

      -
      - -
        - -
      • -

        replaces

        - -

        Target

        and add appropriate triples +

        Parameters

        • types: any

          A map of the types

          +

        Returns any

      • Returns the symbol with canonical URI as smushed

        +

        Parameters

        • Optional term: Term

          An RDF node

          +

        Returns Node

      • Checks a list of statements for consistency

        +

        Parameters

        • sts: readonly Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

          The list of statements to check

          +
        • Optional from: number

          An index with the array ['subject', 'predicate', 'object', 'why']

          +

        Returns boolean | void

      • Trace statements which connect directly, or through bnodes

        +

        Parameters

        • subject: Quad_Subject

          The node to start looking for statments

          +
        • doc: Quad_Graph

          The document to be searched, or null to search all documents

          +
        • Optional excludePredicateURIs: readonly string[]

        Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

        an array of statements, duplicate statements are suppresssed.

        +
      • replaces

        +

        Parameters

        • template: Quad_Subject

          node to copy

          +
        • target: Quad_Subject

          node to copy to

          +
        • Optional flags: ("delete" | "two-direction")[]

          Whether or not to do a two-directional copy and/or delete triples

          +

        Returns void

        Target

        and add appropriate triples removes no triples by default and is a one-direction replication

        -
        -
        -

        Parameters

        -
          -
        • -
          template: Quad_Subject
          -

          node to copy

          -
        • -
        • -
          target: Quad_Subject
          -

          node to copy to

          -
        • -
        • -
          Optional flags: ("delete" | "two-direction")[]
          -

          Whether or not to do a two-directional copy and/or delete triples

          -
        -

        Returns void

      -
      - -
      -
      - -
      • Follow links from one node, using one wildcard.

        For example, each(me, knows, null, profile) - people I know accoring to my profile . each(me, knows, null, null) - people I know accoring to anything in store . each(null, knows, me, null) - people who know me accoring to anything in store .

        - -

        Returns

          +

        Parameters

        • Optional s: null | Quad_Subject

          A node to search for as subject, or if null, a wildcard

          +
        • Optional p: null | Quad_Predicate

          A node to search for as predicate, or if null, a wildcard

          +
        • Optional o: null | Quad_Object

          A node to search for as object, or if null, a wildcard

          +
        • Optional g: null | Quad_Graph

          A node to search for as graph, or if null, a wildcard

          +

        Returns Node[]

        • An array of nodes which match the wildcard position
        -
      -
      -

      Parameters

      -
        -
      • -
        Optional s: null | Quad_Subject
        -

        A node to search for as subject, or if null, a wildcard

        -
      • -
      • -
        Optional p: null | Quad_Predicate
        -

        A node to search for as predicate, or if null, a wildcard

        -
      • -
      • -
        Optional o: null | Quad_Object
        -

        A node to search for as object, or if null, a wildcard

        -
      • -
      • -
        Optional g: null | Quad_Graph
        -

        A node to search for as graph, or if null, a wildcard

        -
      -

      Returns Node[]

      -
      - -
        - -
      • -

        Test whether this formula is equals to {other}

        -
        -
        -

        Parameters

        -
          -
        • -
          other: Formula
          -

          The other formula

          -
        -

        Returns boolean

      -
      - -
        - -
      • -

        Simplify graph in store when we realize two identifiers are equivalent +

      • Test whether this formula is equals to {other}

        +

        Parameters

        Returns boolean

      • Simplify graph in store when we realize two identifiers are equivalent We replace the bigger with the smaller.

        -
        -
        -

        Parameters

        -
          -
        • -
          u1in: Term
          -

          The first node

          -
        • -
        • -
          u2in: Term
          -

          The second node

          -
        -

        Returns boolean

      -
      - -
        - -
      • -

        For thisClass or any subclass, anything which has it is its type +

        Parameters

        • u1in: Term

          The first node

          +
        • u2in: Term

          The second node

          +

        Returns boolean

      • For thisClass or any subclass, anything which has it is its type or is the object of something which has the type as its range, or subject of something which has the type as its domain We don't bother doing subproperty (yet?)as it doesn't seeem to be used much. Get all the Classes of which we can RDFS-infer the subject is a member

        -
        -
        -

        Parameters

        -
          -
        • -
          subject: Node
          -

          A named node

          -
        -

        Returns UriMap

      -
      - -
        - -
      • -

        For thisClass or any subclass, anything which has it is its type +

        Parameters

        • subject: Node

          A named node

          +

        Returns UriMap

      • For thisClass or any subclass, anything which has it is its type or is the object of something which has the type as its range, or subject of something which has the type as its domain We don't bother doing subproperty (yet?)as it doesn't seeem to be used much. Get all the Classes of which we can RDFS-infer the subject is a member

        - -

        Returns

        a hash of URIs

        -
        -
        -

        Parameters

        -
          -
        • -
          thisClass: any
        -

        Returns MembersMap

      -
      - -
        - -
      • -

        Get all the Classes of which we can RDFS-infer the subject is a superclass +

        Parameters

        • thisClass: any

        Returns MembersMap

        a hash of URIs

        +
      • Get all the Classes of which we can RDFS-infer the subject is a superclass Returns a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

        -
        -
        -

        Parameters

        -
        -

        Returns {
            [uri: string]: boolean;
        }

        -
          -
        • -
          [uri: string]: boolean
      -
      - -
        - -
      • -

        Get all the Classes of which we can RDFS-infer the subject is a subclass

        - -

        Returns

        a hash table where key is NT of type and value is statement why we +

        Parameters

        Returns {
            [uri: string]: boolean;
        }

        • [uri: string]: boolean
      • Get all the Classes of which we can RDFS-infer the subject is a subclass

        +

        Parameters

        • subject: Node

          The thing whose classes are to be found

          +

        Returns {
            [uri: string]: boolean;
        }

        a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

        - -
        -

        Parameters

        -
          -
        • -
          subject: Node
          -

          The thing whose classes are to be found

          -
        -

        Returns {
            [uri: string]: boolean;
        }

        -
          -
        • -
          [uri: string]: boolean
      -
      - -
      • Get all the Classes of which we can RDFS-infer the subject is a member todo: This will loop is there is a class subclass loop (Sublass loops are not illegal) Returns a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

        -
        -
        -

        Parameters

        -
          -
        • -
          subject: Quad_Subject
          -

          A subject node

          -
        -

        Returns UriMap

      -
      - -
        - -
      • -

        Get all the Classes of which we can RDFS-infer the subject is a member +

        Parameters

        • subject: Quad_Subject

          A subject node

          +

        Returns UriMap

      • Get all the Classes of which we can RDFS-infer the subject is a member todo: This will loop is there is a class subclass loop (Sublass loops are not illegal)

        - -

        Returns

        a hash table where key is NT of type and value is statement why we think so. +

        Parameters

        • subject: any

          The thing whose classes are to be found

          +

        Returns {
            [uri: string]: boolean;
        }

        a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

        - -
        -

        Parameters

        -
          -
        • -
          subject: any
          -

          The thing whose classes are to be found

          -
        -

        Returns {
            [uri: string]: boolean;
        }

        -
          -
        • -
          [uri: string]: boolean
      -
      - -
      • Creates a new empty indexed formula Only applicable for IndexedFormula, but TypeScript won't allow a subclass to override a property

        -
        -
        -

        Parameters

        -
          -
        • -
          features: FeaturesType
          -

          The list of features

          -
        -

        Returns Store

      -
      - -
        - -
      • -

        Transforms an NTriples string format into a Node. +

        Parameters

        • features: FeaturesType

          The list of features

          +

        Returns Store

      • Transforms an NTriples string format into a Node. The blank node bit should not be used on program-external values; designed for internal work such as storing a blank node id in an HTML attribute. This will only parse the strings generated by the various toNT() methods.

        -
        -
        -

        Parameters

        -
          -
        • -
          str: any
        -

        Returns any

      -
      - -
        - -
      • -

        Creates a hash for this node

        - -

        Deprecated

        use {rdfFactory.id} instead if possible

        -
        -

        Returns string

      -
      - -
        - -
      • -

        Returns true if this formula holds the specified statement(s)

        -
        -
        -

        Parameters

        -
          -
        • -
          s: any
        • -
        • -
          Optional p: any
        • -
        • -
          Optional o: any
        • -
        • -
          Optional g: any
        -

        Returns boolean

      -
      - -
        - -
      • -

        Returns true if this formula holds the specified {statement}

        -
        -
        -

        Parameters

        -
          -
        • -
          statement: any
        -

        Returns boolean

      -
      - -
        - -
      • -

        Returns a unique index-safe identifier for the given term.

        +

        Parameters

        • str: any

        Returns any

      • Returns true if this formula holds the specified statement(s)

        +

        Parameters

        • s: any
        • Optional p: any
        • Optional o: any
        • Optional g: any

        Returns boolean

      • Returns true if this formula holds the specified {statement}

        +

        Parameters

        • statement: any

        Returns boolean

      • Returns a unique index-safe identifier for the given term.

        Falls back to the rdflib hashString implementation if the given factory doesn't support id.

        -
        -
        -

        Parameters

        -
          -
        • -
          term: TFIDFactoryTypes
        -

        Returns Indexable

      -
      - -
      -
      - -
        - -
      • -

        Used by the n3parser to generate list elements

        - -

        Returns

          +

        Parameters

        • term: TFIDFactoryTypes

        Returns Indexable

      • Used by the n3parser to generate list elements

        +

        Parameters

        • values: any

          The values of the collection

          +
        • context: any

          The store

          +

        Returns any

        • The term for the statement
        - -
        -

        Parameters

        -
          -
        • -
          values: any
          -

          The values of the collection

          -
        • -
        • -
          context: any
          -

          The store

          -
        -

        Returns any

      -
      - -
        - -
      • -

        Returns any quads matching the given arguments. +

      • Returns any quads matching the given arguments. Standard RDFJS spec method for Source objects, implemented as an alias to statementsMatching()

        -
        -
        -

        Parameters

        -
          -
        • -
          Optional subject: null | Quad_Subject
          -

          The subject

          -
        • -
        • -
          Optional predicate: null | Quad_Predicate
          -

          The predicate

          -
        • -
        • -
          Optional object: null | Quad_Object
          -

          The object

          -
        • -
        • -
          Optional graph: null | Quad_Graph
          -

          The graph that contains the statement

          -
        -

        Returns Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

      -
      - -
        - -
      • -

        Find out whether a given URI is used as symbol in the formula

        -
        -
        -

        Parameters

        -
          -
        • -
          uri: string
          -

          The URI to look for

          -
        -

        Returns boolean

      -
      - -
        - -
      • -

        Existentials are BNodes - something exists without naming

        -
        -
        -

        Parameters

        -
          -
        • -
          uri: string
          -

          An URI

          -
        -

        Returns Term

      -
      - -
        - -
      • -

        Adds a new property action

        -
        -
        -

        Parameters

        -
          -
        • -
          pred: Quad_Predicate
          -

          the predicate that the function should be triggered on

          -
        • -
        • -
          action: ((store, subject, predicate, object) => boolean)
          -

          the function that should trigger

          -
          -
            -
          • -
              -
            • (store, subject, predicate, object): boolean
            • -
            • -
              -

              Parameters

              -
                -
              • -
                store: Store
              • -
              • -
                subject: Quad_Subject
              • -
              • -
                predicate: Quad_Predicate
              • -
              • -
                object: Quad_Object
              -

              Returns boolean

        -

        Returns boolean

      -
      - -
        - -
      • -

        Creates a new universal node +

        Parameters

        • Optional subject: null | Quad_Subject

          The subject

          +
        • Optional predicate: null | Quad_Predicate

          The predicate

          +
        • Optional object: null | Quad_Object

          The object

          +
        • Optional graph: null | Quad_Graph

          The graph that contains the statement

          +

        Returns Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

      • Find out whether a given URI is used as symbol in the formula

        +

        Parameters

        • uri: string

          The URI to look for

          +

        Returns boolean

      • Existentials are BNodes - something exists without naming

        +

        Parameters

        • uri: string

          An URI

          +

        Returns Term

      • Adds a new property action

        +

        Parameters

        • pred: Quad_Predicate

          the predicate that the function should be triggered on

          +
        • action: ((store, subject, predicate, object) => boolean)

          the function that should trigger

          +
            • (store, subject, predicate, object): boolean
            • Parameters

              • store: Store
              • subject: Quad_Subject
              • predicate: Quad_Predicate
              • object: Quad_Object

              Returns boolean

        Returns boolean

      • Creates a new universal node Universals are Variables

        -
        -
        -

        Parameters

        -
          -
        • -
          uri: string
          -

          An URI

          -
        -

        Returns NamedNode

      -
      - -
        - -
      • -

        Find an unused id for a file being edited: return a symbol +

        Parameters

        • uri: string

          An URI

          +

        Returns NamedNode

      • Find an unused id for a file being edited: return a symbol (Note: Slow iff a lot of them -- could be O(log(k)) )

        -
        -
        -

        Parameters

        -
          -
        • -
          doc: NamedNode
          -

          A document named node

          -
        -

        Returns NamedNode

      -
      - -
        - -
      • -

        Query this store asynchronously, return bindings in callback

        -
        -
        -

        Parameters

        -
          -
        • -
          myQuery: Query
          -

          The query to be run

          -
        • -
        • -
          callback: ((bindings) => void)
          -

          Function to call when bindings

          -
          -
            -
          • -
              -
            • (bindings): void
            • -
            • -
              -

              Parameters

              -
                -
              • -
                bindings: Bindings
              -

              Returns void

        • -
        • -
          Optional fetcher: null | Fetcher
        • -
        • -
          Optional onDone: (() => void)
          -

          OBSOLETE - do not use this // @@ Why not ?? Called when query complete

          -
          -
            -
          • -
              -
            • (): void
            • -
            • -

              Returns void

        -

        Returns void

      -
      - -
        - -
      • -

        Query this store synchronously and return bindings

        -
        -
        -

        Parameters

        -
          -
        • -
          myQuery: Query
          -

          The query to be run

          -
        -

        Returns any[]

      -
      - -
        - -
      • -

        Removes one or multiple statement(s) from this formula

        -
        -
        -

        Parameters

        -
          -
        • -
          st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
          -

          A Statement or array of Statements to remove

          -
        -

        Returns Store

      -
      - -
        - -
      • -

        Removes all statements in a doc, along with the related metadata including request/response/status

        -
        -
        -

        Parameters

        -
          -
        • -
          doc: Quad_Graph
          -

          The document / graph

          -
        -

        Returns Store

      -
      - -
        - -
      • -

        Remove all statements matching args (within limit) *

        -
        -
        -

        Parameters

        -
          -
        • -
          Optional subj: null | Quad_Subject
          -

          The subject

          -
        • -
        • -
          Optional pred: null | Quad_Predicate
          -

          The predicate

          -
        • -
        • -
          Optional obj: null | Quad_Object
          -

          The object

          -
        • -
        • -
          Optional why: null | Quad_Graph
          -

          The graph that contains the statement

          -
        • -
        • -
          Optional limit: number
          -

          The number of statements to remove

          -
        -

        Returns void

      -
      - -
        - -
      • -

        Remove all matching statements

        -
        -
        -

        Parameters

        -
          -
        • -
          Optional subject: null | Quad_Subject
          -

          The subject

          -
        • -
        • -
          Optional predicate: null | Quad_Predicate
          -

          The predicate

          -
        • -
        • -
          Optional object: null | Quad_Object
          -

          The object

          -
        • -
        • -
          Optional graph: null | Quad_Graph
          -

          The graph that contains the statement

          -
        -

        Returns Store

      -
      - -
      -
      - -
        - -
      • -

        Remove a particular statement object from the store

        -
        -
        -

        Parameters

        -
          -
        • -
          st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
          -

          a statement which is already in the store and indexed. +

          Parameters

          • doc: NamedNode

            A document named node

            +

          Returns NamedNode

      • Query this store asynchronously, return bindings in callback

        +

        Parameters

        • myQuery: Query

          The query to be run

          +
        • callback: ((bindings) => void)

          Function to call when bindings

          +
            • (bindings): void
            • Parameters

              • bindings: Bindings

              Returns void

        • Optional fetcher: null | Fetcher
        • Optional onDone: (() => void)

          OBSOLETE - do not use this // @@ Why not ?? Called when query complete

          +
            • (): void
            • Returns void

        Returns void

      • Query this store synchronously and return bindings

        +

        Parameters

        • myQuery: Query

          The query to be run

          +

        Returns any[]

      • Removes one or multiple statement(s) from this formula

        +

        Parameters

        • st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

          A Statement or array of Statements to remove

          +

        Returns Store

      • Removes all statements in a doc, along with the related metadata including request/response/status

        +

        Parameters

        • doc: Quad_Graph

          The document / graph

          +

        Returns Store

      • Remove all statements matching args (within limit) *

        +

        Parameters

        • Optional subj: null | Quad_Subject

          The subject

          +
        • Optional pred: null | Quad_Predicate

          The predicate

          +
        • Optional obj: null | Quad_Object

          The object

          +
        • Optional why: null | Quad_Graph

          The graph that contains the statement

          +
        • Optional limit: number

          The number of statements to remove

          +

        Returns void

      • Remove all matching statements

        +

        Parameters

        • Optional subject: null | Quad_Subject

          The subject

          +
        • Optional predicate: null | Quad_Predicate

          The predicate

          +
        • Optional object: null | Quad_Object

          The object

          +
        • Optional graph: null | Quad_Graph

          The graph that contains the statement

          +

        Returns Store

      • Remove a particular statement object from the store

        +

        Parameters

        • st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>

          a statement which is already in the store and indexed. Make sure you only use this for these. Otherwise, you should use remove() above.

          -
        -

        Returns Store

      -
      - -
        - -
      • -

        Removes statements

        -
        -
        -

        Parameters

        -
          -
        • -
          sts: readonly Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
          -

          The statements to remove

          -
        -

        Returns Store

      -
      - -
        - -
      • -

        Replace big with small, obsoleted with obsoleting.

        -
        -
        -

        Parameters

        -
          -
        • -
          big: Quad_Subject
        • -
        • -
          small: Quad_Subject
        -

        Returns boolean

      -
      - -
        - -
      • -

        Compares whether this node is the same as the other one

        -
        -
        -

        Parameters

        -
          -
        • -
          other: Node
          -

          Another node

          -
        -

        Returns boolean

      -
      - -
      -
      - -
        - -
      • -

        Serializes this formula

        -
        -
        -

        Parameters

        -
          -
        • -
          base: any
          -

          The base string

          -
        • -
        • -
          contentType: any
          -

          The content type of the syntax to use

          -
        • -
        • -
          provenance: any
          -

          The provenance URI

          -
        • -
        • -
          Optional options: any
          -

          options to pass to the serializer, as defined in serialize method

          -
        -

        Returns undefined | string

      -
      - -
      -
      - -
        - -
      • -

        Search the Store

        +

      Returns Store

      • Removes statements

        +

        Parameters

        • sts: readonly Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

          The statements to remove

          +

        Returns Store

      • Replace big with small, obsoleted with obsoleting.

        +

        Parameters

        • big: Quad_Subject
        • small: Quad_Subject

        Returns boolean

      • Serializes this formula

        +

        Parameters

        • base: any

          The base string

          +
        • contentType: any

          The content type of the syntax to use

          +
        • provenance: any

          The provenance URI

          +
        • Optional options: any

          options to pass to the serializer, as defined in serialize method

          +

        Returns undefined | string

      • Search the Store

        ALL CONVENIENCE LOOKUP FUNCTIONS RELY ON THIS!

        - -

        Returns

        An array of nodes which match the wildcard position

        -
        -
        -

        Parameters

        -
          -
        • -
          Optional subj: null | Quad_Subject
          -

          A node to search for as subject, or if null, a wildcard

          -
        • -
        • -
          Optional pred: null | Quad_Predicate
          -

          A node to search for as predicate, or if null, a wildcard

          -
        • -
        • -
          Optional obj: null | Quad_Object
          -

          A node to search for as object, or if null, a wildcard

          -
        • -
        • -
          Optional why: null | Quad_Graph
          -

          A node to search for as graph, or if null, a wildcard

          -
        • -
        • -
          Optional justOne: boolean
          -

          flag - stop when found one rather than get all of them?

          -
        -

        Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

      -
      - -
        - -
      • -

        Gets this graph with the bindings substituted

        -
        -
        -

        Type Parameters

        -
        -
        -

        Parameters

        -
          -
        • -
          bindings: Bindings
          -

          The bindings

          -
        -

        Returns T

      -
      - -
      -
      - -
        - -
      • -

        Gets the node matching the specified pattern. Throws when no match could be made.

        -
        -
        -

        Parameters

        -
          -
        • -
          Optional s: null | Quad_Subject
          -

          The subject

          -
        • -
        • -
          Optional p: null | Quad_Predicate
          -

          The predicate

          -
        • -
        • -
          Optional o: null | Quad_Object
          -

          The object

          -
        • -
        • -
          Optional g: null | Quad_Graph
          -

          The graph that contains the statement

          -
        -

        Returns undefined | null | Node

      -
      - -
      -
      - -
      -
      - -
      -
      - -
      -
      - -
        - -
      • -

        Finds the types in the list which have no stored supertypes +

        Parameters

        • Optional subj: null | Quad_Subject

          A node to search for as subject, or if null, a wildcard

          +
        • Optional pred: null | Quad_Predicate

          A node to search for as predicate, or if null, a wildcard

          +
        • Optional obj: null | Quad_Object

          A node to search for as object, or if null, a wildcard

          +
        • Optional why: null | Quad_Graph

          A node to search for as graph, or if null, a wildcard

          +
        • Optional justOne: boolean

          flag - stop when found one rather than get all of them?

          +

        Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

        An array of nodes which match the wildcard position

        +
      • Gets this graph with the bindings substituted

        +

        Type Parameters

        Parameters

        • bindings: Bindings

          The bindings

          +

        Returns T

      • Gets the node matching the specified pattern. Throws when no match could be made.

        +

        Parameters

        • Optional s: null | Quad_Subject

          The subject

          +
        • Optional p: null | Quad_Predicate

          The predicate

          +
        • Optional o: null | Quad_Object

          The object

          +
        • Optional g: null | Quad_Graph

          The graph that contains the statement

          +

        Returns undefined | null | Node

      • Finds the types in the list which have no stored supertypes We exclude the universal class, owl:Things and rdf:Resource, as it is information-free.

        -
        -
        -

        Parameters

        -
          -
        • -
          types: {
              [id: string]: string | NamedNode;
          }
          -

          The types

          -
          -
        -

        Returns {
            [id: string]: string | NamedNode;
        }

        -
      -
      - -
        - -
      • -

        RDFS Inference +

        Parameters

        • types: {
              [id: string]: string | NamedNode;
          }

          The types

          +

        Returns {
            [id: string]: string | NamedNode;
        }

      • RDFS Inference These are hand-written implementations of a backward-chaining reasoner over the RDFS axioms.

        -
        -
        -

        Parameters

        -
          -
        • -
          seeds: BooleanMap
          -

          A hash of NTs of classes to start with

          -
        • -
        • -
          predicate: Quad_Predicate
          -

          The property to trace though

          -
        • -
        • -
          Optional inverse: boolean
          -

          Trace inverse direction

          -
        -

        Returns {
            [uri: string]: boolean;
        }

        -
          -
        • -
          [uri: string]: boolean
      -
      - -
        - -
      • -

        A list of all the URIs by which this thing is known

        -
        -
        -

        Parameters

        -
          -
        • -
          term: Quad_Subject
        -

        Returns string[]

      -
      - -
      -
      - -
        - -
      • -

        Gets the number of statements in this formula that matches the specified pattern

        -
        -
        -

        Parameters

        -
          -
        • -
          Optional s: null | Quad_Subject
          -

          The subject

          -
        • -
        • -
          Optional p: null | Quad_Predicate
          -

          The predicate

          -
        • -
        • -
          Optional o: null | Quad_Object
          -

          The object

          -
        • -
        • -
          Optional g: null | Quad_Graph
          -

          The graph that contains the statement

          -
        -

        Returns number

      -
      - -
      -
      -

      Generated using TypeDoc

      -
      \ No newline at end of file +

      Parameters

      • seeds: BooleanMap

        A hash of NTs of classes to start with

        +
      • predicate: Quad_Predicate

        The property to trace though

        +
      • Optional inverse: boolean

        Trace inverse direction

        +

      Returns {
          [uri: string]: boolean;
      }

      • [uri: string]: boolean
      • A list of all the URIs by which this thing is known

        +

        Parameters

        • term: Quad_Subject

        Returns string[]

      • Gets the number of statements in this formula that matches the specified pattern

        +

        Parameters

        • Optional s: null | Quad_Subject

          The subject

          +
        • Optional p: null | Quad_Predicate

          The predicate

          +
        • Optional o: null | Quad_Object

          The object

          +
        • Optional g: null | Quad_Graph

          The graph that contains the statement

          +

        Returns number

      \ No newline at end of file diff --git a/doc/classes/Empty.html b/doc/classes/Empty.html index 1075bb50f..89c71953f 100644 --- a/doc/classes/Empty.html +++ b/doc/classes/Empty.html @@ -1,418 +1,35 @@ -Empty | rdflib
      -
      - -
      -
      -
      -
      - -

      Class Empty

      -
      -

      An empty node

      -
      -
      -

      Hierarchy

      -
      -
      -

      Implements

      -
        -
      • Term
      -
      -
      -
      - -
      -
      -

      Constructors

      -
      - -
      -
      -

      Properties

      -
      - -
      classOrder: number
      -

      The class order for this node

      -
      -
      - -
      termType: "Empty" = EmptyTermType
      -

      The type of node

      -
      -
      - -
      value: string
      -

      The node's value

      -
      -
      - -
      fromValue: (<T>(value) => T)
      -
      -

      Type declaration

      -
        -
      • -
          -
        • <T>(value): T
        • -
        • -
          -

          Type Parameters

          -
            -
          • -

            T extends FromValueReturns

          -
          -

          Parameters

          -
            -
          • -
            value: ValueType
          -

          Returns T

      -
      - -
      toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])
      -
      -

      Type declaration

      -
        -
      • -
          -
        • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
        • -
        • -
          -

          Parameters

          -
            -
          • -
            term: any
          -

          Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

      -
      -

      Methods

      -
      - -
        - -
      • -

        Compares this node with another

        - -

        See

        to check if two nodes are equal

        -
        -
        -

        Parameters

        -
          -
        • -
          other: Node
          -

          The other node

          -
        -

        Returns number

      -
      - -
        - -
      • -

        Compares whether the two nodes are equal

        -
        -
        -

        Parameters

        -
          -
        • -
          other: Term
          -

          The other node

          -
        -

        Returns boolean

      -
      - -
        - -
      • -

        Creates a hash for this node

        - -

        Deprecated

        use {rdfFactory.id} instead if possible

        -
        -

        Returns string

      -
      - -
        - -
      • -

        Compares whether this node is the same as the other one

        -
        -
        -

        Parameters

        -
          -
        • -
          other: Node
          -

          Another node

          -
        -

        Returns boolean

      -
      - -
        - -
      • -

        Creates the substituted node for this one, according to the specified bindings

        -
        -
        -

        Type Parameters

        -
        -
        -

        Parameters

        -
          -
        • -
          bindings: Bindings
          -

          Bindings of identifiers to nodes

          -
        -

        Returns T

      -
      - -
      -
      - -
      -
      - -
        - -
      • -

        Creates a n-triples string representation of this node

        -
        -

        Returns string

      -
      - -
        - -
      • -

        Creates a string representation of this node

        -
        -

        Returns string

      -
      -
      -

      Generated using TypeDoc

      -
      \ No newline at end of file +Empty | rdflib

      Class Empty

      An empty node

      +

      Hierarchy (view full)

      Implements

      • Term

      Constructors

      Properties

      classOrder: number

      The class order for this node

      +
      termType: "Empty" = EmptyTermType

      The type of node

      +
      value: string

      The node's value

      +
      fromValue: (<T>(value) => T)

      Type declaration

        • <T>(value): T
        • Type Parameters

          • T extends FromValueReturns

          Parameters

          • value: ValueType

          Returns T

      toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])

      Type declaration

        • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
        • Parameters

          • term: any

          Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

      Methods

      • Compares this node with another

        +

        Parameters

        • other: Node

          The other node

          +

        Returns number

        See

        to check if two nodes are equal

        +
      • Compares whether the two nodes are equal

        +

        Parameters

        • other: Term

          The other node

          +

        Returns boolean

      • Creates the substituted node for this one, according to the specified bindings

        +

        Type Parameters

        Parameters

        • bindings: Bindings

          Bindings of identifiers to nodes

          +

        Returns T

      \ No newline at end of file diff --git a/doc/classes/Fetcher.html b/doc/classes/Fetcher.html index a4b95db4d..31691450c 100644 --- a/doc/classes/Fetcher.html +++ b/doc/classes/Fetcher.html @@ -1,22 +1,4 @@ -Fetcher | rdflib
      -
      - -
      -
      -
      -
      - -

      Class Fetcher

      -
      -

      Fetcher

      +Fetcher | rdflib

      Class Fetcher

      Fetcher

      The Fetcher object is a helper object for a quadstore which turns it from an offline store to an online store. The fetcher deals with loading data files rom the web,

      @@ -24,204 +6,80 @@

      Class Fetcher

    • figuring how to parse them. It will also refresh, remove, the data
    • and put back the data to the web.
    • -
      -
      -

      Hierarchy

      -
        -
      • Fetcher
      -
      -

      Implements

      -
        -
      • CallbackifyInterface
      -
      -
      -
      - -
      -
      -

      Constructors

      -
      - -
      -
      -

      Properties

      -
      - -
      _fetch: Fetch
      -
      - -
      appNode: NamedNode
      -

      Denoting this session

      -
      -
      - -
      fetchCallbacks: FetchCallbacks
      -

      fetchCallbacks[uri].push(callback)

      -
      -
      - -
      fetchQueue: FetchQueue
      -
      - -
      fireCallbacks: Function
      -

      Methods added by calling Util.callbackify in the constructor

      -
      -
      - -
      handlers: typeof Handler[]
      -
      - -
      lookedUp: BooleanMap
      -
      - -
      mediatypes: MediatypesMap
      -
      - -
      nonexistent: BooleanMap
      -

      Keep track of explicit 404s -> we can overwrite etc

      -
      -
      - -
      ns: {
          [k: string]: ((ln) => Quad_Predicate);
      }
      -
      -

      Type declaration

      -
        -
      • -
        [k: string]: ((ln) => Quad_Predicate)
        -
          -
        • -
            -
          • (ln): Quad_Predicate
          • -
          • -
            -

            Parameters

            -
              -
            • -
              ln: string
            -

            Returns Quad_Predicate

      -
      - -
      redirectedTo: Record<string, string>
      -

      Redirected from key uri to value uri

      -
      -
      - -
      requested: RequestedMap
      -

      this.requested[uri] states: +

      Implements

      • CallbackifyInterface

      Constructors

      Properties

      _fetch: Fetch
      appNode: NamedNode

      Denoting this session

      +
      fetchCallbacks: FetchCallbacks

      fetchCallbacks[uri].push(callback)

      +
      fetchQueue: FetchQueue
      fireCallbacks: Function

      Methods added by calling Util.callbackify in the constructor

      +
      handlers: typeof Handler[]
      lookedUp: BooleanMap
      mediatypes: MediatypesMap
      nonexistent: BooleanMap

      Keep track of explicit 404s -> we can overwrite etc

      +
      ns: {
          [k: string]: ((ln) => Quad_Predicate);
      }

      Type declaration

      • [k: string]: ((ln) => Quad_Predicate)
          • (ln): Quad_Predicate
          • Parameters

            • ln: string

            Returns Quad_Predicate

      redirectedTo: Record<string, string>

      Redirected from key uri to value uri

      +
      requested: RequestedMap

      this.requested[uri] states: undefined no record of web access or records reset true has been requested, fetch in progress 'done' received, Ok @@ -232,542 +90,56 @@

      -
      - -
      store: Store
      -
      - -
      timeout: number
      -
      - -
      timeouts: TimeOutsMap
      -

      List of timeouts associated with a requested URL

      -
      -
      - -
      CONTENT_TYPE_BY_EXT: Record<string, string>
      -
      - -
      HANDLERS: {
          [handlerName: number]: Handler;
      }
      -
      -

      Type declaration

      -
        -
      • -
        [handlerName: number]: Handler
      -
      - -
      crossSiteProxyTemplate: any
      -
      -

      Methods

      -
      - -
      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          uri: string
        • -
        • -
          callback: UserCallback
        -

        Returns void

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          handler: typeof Handler
        -

        Returns void

      -
      - -
        - -
      • -

        Records a status message (as a literal node) by appending it to the +

      store: Store
      timeout: number
      timeouts: TimeOutsMap

      List of timeouts associated with a requested URL

      +
      CONTENT_TYPE_BY_EXT: Record<string, string>
      HANDLERS: {
          [handlerName: number]: Handler;
      }

      Type declaration

      • [handlerName: number]: Handler
      crossSiteProxyTemplate: any

      Methods

      • Parameters

        • uri: string
        • callback: UserCallback

        Returns void

      • Parameters

        • handler: typeof Handler

        Returns void

      • Records a status message (as a literal node) by appending it to the request's metadata status collection.

        -
        -
        -

        Parameters

        -
          -
        • -
          req: BlankNode
        • -
        • -
          statusMessage: string
        -

        Returns void

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          rdfType: NamedNode
        • -
        • -
          req: Quad_Subject
        • -
        • -
          kb: Store
        • -
        • -
          locURI: string
        -

        Returns void

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          originalUri: string
        • -
        • -
          _options: any
          -

          DEPRECATED

          -
        • -
        • -
          timeout: number
        -

        Returns void

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          parentURI: string
          -

          URI of parent container

          -
        • -
        • -
          folderName: string
          -

          Optional folder name (slug)

          -
        • -
        • -
          data: string
          -

          Optional folder metadata

          -
        -

        Returns Promise<Response>

      -
      - -
        - -
      • -

        Create an empty resource if it really does not exist +

        Parameters

        • req: BlankNode
        • statusMessage: string

        Returns void

      • Parameters

        • rdfType: NamedNode
        • req: Quad_Subject
        • kb: Store
        • locURI: string

        Returns void

      • Parameters

        • originalUri: string
        • _options: any

          DEPRECATED

          +
        • timeout: number

        Returns void

      • Parameters

        • parentURI: string

          URI of parent container

          +
        • folderName: string

          Optional folder name (slug)

          +
        • data: string

          Optional folder metadata

          +

        Returns Promise<Response>

      • Create an empty resource if it really does not exist Be absolutely sure something does not exist before creating a new empty file as otherwise existing could be deleted.

        -
        -
        -

        Parameters

        -
          -
        • -
          doc: NamedNode
          -

          The resource

          -
        • -
        • -
          contentType: "text/turtle" = TurtleContentType
        • -
        • -
          data: string = ''
        -

        Returns Promise<ExtendedResponse>

      -
      - -
      -
      - -
      -
      - -
        - -
      • -

        Records errors in the system on failure:

        +

        Parameters

        • doc: NamedNode

          The resource

          +
        • contentType: "text/turtle" = TurtleContentType
        • data: string = ''

        Returns Promise<ExtendedResponse>

      • Records errors in the system on failure:

        • Adds an entry to the request status collection
        • Adds an error triple with the fail message to the metadata
        • Fires the 'fail' callback
        • Rejects with an error result object, which has a response object if any
        -
        -
        -

        Parameters

        -
          -
        • -
          options: {
              original: Quad_Subject;
              req: BlankNode;
          } & Partial<AutoInitOptions>
        • -
        • -
          errorMessage: string
        • -
        • -
          statusCode: StatusValues
        • -
        • -
          Optional response: ExtendedResponse
        -

        Returns Promise<FetchError>

      -
      - -
      -
      - -
        - -
      • -

        Looks up response header.

        - -

        Returns

        a list of header values found in a stored HTTP +

        Parameters

        • options: {
              original: Quad_Subject;
              req: BlankNode;
          } & Partial<AutoInitOptions>
        • errorMessage: string
        • statusCode: StatusValues
        • Optional response: ExtendedResponse

        Returns Promise<FetchError>

      • Looks up response header.

        +

        Parameters

        • doc: NamedNode
        • header: string

        Returns undefined | string[]

        a list of header values found in a stored HTTP response, or [] if response was found but no header found, or undefined if no response is available. Looks for { [] link:requestedURI ?uri; link:response [ httph:header-name ?value ] }

        -
      -
      -

      Parameters

      -
        -
      • -
        doc: NamedNode
      • -
      • -
        header: string
      -

      Returns undefined | string[]

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          docuri: string
        -

        Returns any

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          uri: string
        -

        Returns undefined | ContentType

      -
      - -
      • Parameters

        • uri: string

        Returns undefined | ContentType

      -
      - -
      -
      - -
        - -
      • -
        -

        Parameters

        -
        -

        Returns null | Handler

      -
      - -
      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          iri: string | NamedNode
        -

        Returns void

      -
      - -
      • Parameters

        • iri: string | NamedNode

        Returns void

      • Tests whether a request is being made to a cross-site URI (for purposes of retrying with a proxy)

        -
        -
        -

        Parameters

        -
          -
        • -
          uri: string
        -

        Returns boolean

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          docuri: string
        -

        Returns boolean

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          originalUri: NamedNode
        • -
        • -
          rel: string
        • -
        • -
          uri: string
        • -
        • -
          why: Quad_Graph
        • -
        • -
          Optional reverse: boolean
        -

        Returns void

      -
      - -
        - -
      • -

        Promise-based load function

        +

        Parameters

        • uri: string

        Returns boolean

      • Parameters

        • docuri: string

        Returns boolean

      • Parameters

        • originalUri: NamedNode
        • rel: string
        • uri: string
        • why: Quad_Graph
        • Optional reverse: boolean

        Returns void

      • Promise-based load function

        Loads a web resource or resources into the store.

        A resource may be given as NamedNode object, or as a plain URI. an array of resources will be given, in which they will be fetched in parallel. By default, the HTTP headers are recorded also, in the same store, in a separate graph. This allows code like editable() for example to test things about the resource.

        - -

        Returns

        -
        -

        Type Parameters

        -
          -
        • -

          T extends string | NamedNode | (string | NamedNode)[]

        -
        -

        Parameters

        -
          -
        • -
          uri: T
          -

          {Array|Array|RDFlibNamedNode|string}

          -
        • -
        • -
          Optional options: Partial<AutoInitOptions> = {}
          -

          {Object}

          -
        -

        Returns T extends (string | NamedNode)[]
            ? Promise<Response[]>
            : Promise<Response>

      -
      - -
        - -
      • -

        Looks up something. +

        Type Parameters

        • T extends string | NamedNode | (string | NamedNode)[]

        Parameters

        • uri: T

          {Array|Array|RDFlibNamedNode|string}

          +
        • Optional options: Partial<AutoInitOptions> = {}

          {Object}

          +

        Returns T extends (string | NamedNode)[]
            ? Promise<Response[]>
            : Promise<Response>

      • Looks up something. Looks up all the URIs a things has.

        -
        -
        -

        Parameters

        -
          -
        • -
          term: Quad_Subject
          -

          canonical term for the thing whose URI is +

          Parameters

          • term: Quad_Subject

            canonical term for the thing whose URI is to be dereferenced

            -
          • -
          • -
            rterm: Quad_Subject
            -

            the resource which referred to this +

          • rterm: Quad_Subject

            the resource which referred to this (for tracking bad links)

            -
          -

          Returns Promise<Response> | Promise<Response>[]

      -
      - -
        - -
      • -
        -

        Parameters

        -
        -

        Returns null | string

      -
      - -
        - -
      • -

        Note two nodes are now smushed +

      Returns Promise<Response> | Promise<Response>[]

      • Note two nodes are now smushed If only one was flagged as looked up, then the new node is looked up again, which will make sure all the URIs are dereferenced

        -
        -
        -

        Parameters

        -
          -
        • -
          was: Quad_Subject
        • -
        • -
          now: Quad_Subject
        -

        Returns void

      -
      - -
        - -
      • -

        Asks for a doc to be loaded if necessary then calls back

        +

        Parameters

        • was: Quad_Subject
        • now: Quad_Subject

        Returns void

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          term: NamedNode
        -

        Returns void

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          linkHeader: string
        • -
        • -
          originalUri: NamedNode
        • -
        • -
          reqNode: Quad_Graph
        -

        Returns void

      -
      - -
        - -
      • -
        -

        Parameters

        -
        -

        Returns Promise<Response>

      -
      - -
        - -
      • -

        Writes back to the web what we have in the store for this uri

        -
        -
        -

        Parameters

        -
        -

        Returns Promise<Response>

      -
      - -
      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          term: NamedNode
        • -
        • -
          Optional userCallback: UserCallback
        -

        Returns void

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          term: NamedNode
        • -
        • -
          userCallback: UserCallback
        -

        Returns void

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          term: Quad_Graph
        -

        Returns void

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          docuri: string
        • -
        • -
          options: any
        -

        Returns Promise<Response>

      -
      - -
        - -
      • -
        -

        Parameters

        -
        -

        Returns Promise<void>

      -
      - -
      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          response: Response
        • -
        • -
          options: {
              req: BlankNode;
              resource: Quad_Subject;
          } & Partial<AutoInitOptions>
        -

        Returns BlankNode

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          uri: string
        • -
        • -
          options: {
              original: Quad_Subject;
              req: Quad_Subject;
          } & Partial<AutoInitOptions>
        -

        Returns Promise<number | FetchError>

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          term: NamedNode
        -

        Returns void

      -
      - -
      -
      - -
      • Parameters

        • linkHeader: string
        • originalUri: NamedNode
        • reqNode: Quad_Graph

        Returns void

      • Parameters

        Returns Promise<Response>

      • Writes back to the web what we have in the store for this uri

        +

        Parameters

        Returns Promise<Response>

      • Parameters

        • term: NamedNode
        • Optional userCallback: UserCallback

        Returns void

      • Parameters

        • term: NamedNode
        • userCallback: UserCallback

        Returns void

      • Parameters

        • docuri: string
        • options: any

        Returns Promise<Response>

      • Parameters

        • response: Response
        • options: {
              req: BlankNode;
              resource: Quad_Subject;
          } & Partial<AutoInitOptions>

        Returns BlankNode

      • A generic web operation, at the fetch() level. does not involve the quad store.

        Returns promise of Response If data is returned, copies it to response.responseText before returning

        -
        -
        -

        Parameters

        -
          -
        • -
          method: HTTPMethods
        • -
        • -
          uriIn: string | NamedNode
        • -
        • -
          options: Partial<AutoInitOptions> = {}
        -

        Returns Promise<ExtendedResponse>

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          uri: string
        -

        Returns any

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          uri: string
        -

        Returns string

      -
      - -
        - -
      • -
        -

        Parameters

        -
          -
        • -
          uri: string
        -

        Returns any

      -
      - -
        - -
      • -

        Decide on credentials using old XXHR api or new fetch() one

        -
        -
        -

        Parameters

        -
        -

        Returns void

      -
      - -
        - -
      • -

        Tests whether the uri's protocol is supported by the Fetcher.

        -
        -
        -

        Parameters

        -
          -
        • -
          uri: string
        -

        Returns boolean

      -
      - -
      -
      -

      Generated using TypeDoc

      -
      \ No newline at end of file +

      Parameters

      • method: HTTPMethods
      • uriIn: string | NamedNode
      • options: Partial<AutoInitOptions> = {}

      Returns Promise<ExtendedResponse>

      • Parameters

        • uri: string

        Returns string

      • Decide on credentials using old XXHR api or new fetch() one

        +

        Parameters

        Returns void

      • Tests whether the uri's protocol is supported by the Fetcher.

        +

        Parameters

        • uri: string

        Returns boolean

      \ No newline at end of file diff --git a/doc/classes/Formula.html b/doc/classes/Formula.html index e906089c7..dfcb16b2f 100644 --- a/doc/classes/Formula.html +++ b/doc/classes/Formula.html @@ -1,1373 +1,238 @@ -Formula | rdflib
      -
      - -
      -
      -
      -
      - -

      Class Formula

      -
      -

      A formula, or store of RDF statements

      -
      -
      -

      Hierarchy

      -
      -
      -
      -
      - -
      -
      -

      Constructors

      -
      - -
        - -
      • -

        Initializes this formula

        -
        -
        -

        Parameters

        -
          -
        • -
          statements: Statement<SubjectType, PredicateType, ObjectType, GraphType>[] = []
          -

          Initial array of statements

          -
        • -
        • -
          constraints: readonly any[] = []
          -

          initial array of constraints

          -
        • -
        • -
          initBindings: readonly any[] = []
          -

          initial bindings used in Query

          -
        • -
        • -
          optional: readonly any[] = []
          -

          optional

          -
        • -
        • -
          opts: FormulaOpts = {}
        -

        Returns Formula

      -
      -

      Properties

      -
      - -
      classOrder: number = ClassOrder.Graph
      -

      The class order for this node

      -
      -
      - -
      constraints: readonly any[] = []
      -

      initial array of constraints

      -
      -
      - -
      fetcher?: Fetcher
      -

      The accompanying fetcher instance.

      +Formula | rdflib

      Class Formula

      A formula, or store of RDF statements

      +

      Hierarchy (view full)

      Constructors

      • Initializes this formula

        +

        Parameters

        • statements: Statement<SubjectType, PredicateType, ObjectType, GraphType>[] = []

          Initial array of statements

          +
        • constraints: readonly any[] = []

          initial array of constraints

          +
        • initBindings: readonly any[] = []

          initial bindings used in Query

          +
        • optional: readonly any[] = []

          optional

          +
        • opts: FormulaOpts = {}

        Returns Formula

      Properties

      classOrder: number = ClassOrder.Graph

      The class order for this node

      +
      constraints: readonly any[] = []

      initial array of constraints

      +
      fetcher?: Fetcher

      The accompanying fetcher instance.

      Is set by the fetcher when initialized.

      -
      -
      - -
      initBindings: readonly any[] = []
      -

      initial bindings used in Query

      -
      -
      - -
      isVar: number = 0
      -
      - -
      ns: ((nsuri, factory?) => ((ln) => NamedNode)) = Namespace
      -
      -

      Type declaration

      -
        -
      • -
          -
        • (nsuri, factory?): ((ln) => NamedNode)
        • -
        • -

          A namespace for the specified namespace's URI

          -
          -
          -

          Parameters

          -
            -
          • -
            nsuri: string
            -

            The URI for the namespace

            -
          • -
          • -
            Optional factory: RdfJsDataFactory
          -

          Returns ((ln) => NamedNode)

          -
            -
          • -
              -
            • (ln): NamedNode
            • -
            • -
              -

              Parameters

              -
                -
              • -
                ln: string
              -

              Returns NamedNode

      -
      - -
      optional: readonly any[] = []
      -

      optional

      -
      -
      - -
      rdfFactory: any
      -

      The factory used to generate statements and terms

      -
      -
      - -
      statements: Statement<SubjectType, PredicateType, ObjectType, GraphType>[] = []
      -

      Initial array of statements

      -
      -
      - -
      termType: "Graph" = GraphTermType
      -

      The type of node

      -
      -
      - -
      value: string
      -

      The node's value

      -
      -
      - -
      fromValue: (<T>(value) => T)
      -
      -

      Type declaration

      -
        -
      • -
          -
        • <T>(value): T
        • -
        • -
          -

          Type Parameters

          -
            -
          • -

            T extends FromValueReturns

          -
          -

          Parameters

          -
            -
          • -
            value: ValueType
          -

          Returns T

      -
      - -
      toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])
      -
      -

      Type declaration

      -
        -
      • -
          -
        • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
        • -
        • -
          -

          Parameters

          -
            -
          • -
            term: any
          -

          Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

      -
      -

      Methods

      -
      - -
        - -
      • -

        Transform a collection of NTriple URIs into their URI strings

        - -

        Returns

        A collection of the URIs as strings +

      initBindings: readonly any[] = []

      initial bindings used in Query

      +
      isVar: number = 0
      ns: ((nsuri, factory?) => ((ln) => NamedNode)) = Namespace

      A namespace for the specified namespace's URI

      +

      Type declaration

        • (nsuri, factory?): ((ln) => NamedNode)
        • Parameters

          • nsuri: string

            The URI for the namespace

            +
          • Optional factory: RdfJsDataFactory

          Returns ((ln) => NamedNode)

            • (ln): NamedNode
            • Parameters

              • ln: string

              Returns NamedNode

      optional: readonly any[] = []

      optional

      +
      rdfFactory: any

      The factory used to generate statements and terms

      +
      statements: Statement<SubjectType, PredicateType, ObjectType, GraphType>[] = []

      Initial array of statements

      +
      termType: "Graph" = GraphTermType

      The type of node

      +
      value: string

      The node's value

      +
      fromValue: (<T>(value) => T)

      Type declaration

        • <T>(value): T
        • Type Parameters

          • T extends FromValueReturns

          Parameters

          • value: ValueType

          Returns T

      toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])

      Type declaration

        • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
        • Parameters

          • term: any

          Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

      Methods

      • Transform a collection of NTriple URIs into their URI strings

        +

        Parameters

        • t: any

          Some iterable collection of NTriple URI strings

          +

        Returns {}

        A collection of the URIs as strings todo: explain why it is important to go through NT

        -
      -
      -

      Parameters

      -
        -
      • -
        t: any
        -

        Some iterable collection of NTriple URI strings

        -
      -

      Returns {}

      -
        -
        - -
          - -
        • -

          Add a statement from its parts

          -
          -
          -

          Parameters

          -
            -
          • -
            subject: Quad_Subject | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
            -

            the first part of the statement

            -
          • -
          • -
            Optional predicate: Quad_Predicate
            -

            the second part of the statement

            -
          • -
          • -
            Optional object: string | Term
            -

            the third part of the statement

            -
          • -
          • -
            Optional graph: Quad_Graph
            -

            the last part of the statement

            -
          -

          Returns null | number | Statement<SubjectType, PredicateType, ObjectType, GraphType> | Formula

        -
        - -
          - -
        • -

          Adds all the statements to this formula

          -
          -
          -

          Parameters

          -
            -
          • -
            statements: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
            -

            A collection of statements

            -
          -

          Returns void

        -
        - -
          - -
        • -

          Add a statment object

          -
          -
          -

          Parameters

          -
            -
          • -
            statement: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
            -

            An existing constructed statement to add

            -
          -

          Returns null | number | Statement<SubjectType, PredicateType, ObjectType, GraphType> | Formula

        -
        - -
          - -
        • -

          Follow link from one node, using one wildcard, looking for one

          +
          • Add a statement from its parts

            +

            Parameters

            • subject: Quad_Subject | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

              the first part of the statement

              +
            • Optional predicate: Quad_Predicate

              the second part of the statement

              +
            • Optional object: string | Term

              the third part of the statement

              +
            • Optional graph: Quad_Graph

              the last part of the statement

              +

            Returns null | number | Statement<SubjectType, PredicateType, ObjectType, GraphType> | Formula

          • Adds all the statements to this formula

            +

            Parameters

            • statements: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

              A collection of statements

              +

            Returns void

          • Add a statment object

            +

            Parameters

            • statement: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>

              An existing constructed statement to add

              +

            Returns null | number | Statement<SubjectType, PredicateType, ObjectType, GraphType> | Formula

          • Follow link from one node, using one wildcard, looking for one

            For example, any(me, knows, null, profile) - a person I know accoring to my profile . any(me, knows, null, null) - a person I know accoring to anything in store . any(null, knows, me, null) - a person who know me accoring to anything in store .

            - -

            Returns

            A node which match the wildcard position, or null

            -
            -
            -

            Parameters

            -
              -
            • -
              Optional s: null | Quad_Subject
              -

              A node to search for as subject, or if null, a wildcard

              -
            • -
            • -
              Optional p: null | Quad_Predicate
              -

              A node to search for as predicate, or if null, a wildcard

              -
            • -
            • -
              Optional o: null | Quad_Object
              -

              A node to search for as object, or if null, a wildcard

              -
            • -
            • -
              Optional g: null | Quad_Graph
              -

              A node to search for as graph, or if null, a wildcard

              -
            -

            Returns null | Node

          -
          - -
            - -
          • -

            Gets the first JavaScript object equivalent to a node based on the specified pattern

            -
            -
            -

            Parameters

            -
              -
            • -
              Optional s: null | Quad_Subject
              -

              The subject

              -
            • -
            • -
              Optional p: null | Quad_Predicate
              -

              The predicate

              -
            • -
            • -
              Optional o: null | Quad_Object
              -

              The object

              -
            • -
            • -
              Optional g: null | Quad_Graph
              -

              The graph that contains the statement

              -
            -

            Returns any

          -
          - -
            - -
          • -

            Gets the first statement that matches the specified pattern

            -
            -
            -

            Parameters

            -
              -
            • -
              Optional s: null | Quad_Subject
            • -
            • -
              Optional p: null | Quad_Predicate
            • -
            • -
              Optional o: null | Quad_Object
            • -
            • -
              Optional g: null | Quad_Graph
            -

            Returns undefined | Statement<SubjectType, PredicateType, ObjectType, GraphType>

          -
          - -
            - -
          • -

            Gets the value of a node that matches the specified pattern

            -
            -
            -

            Parameters

            -
              -
            • -
              Optional s: null | Quad_Subject
              -

              The subject

              -
            • -
            • -
              Optional p: null | Quad_Predicate
              -

              The predicate

              -
            • -
            • -
              Optional o: null | Quad_Object
              -

              The object

              -
            • -
            • -
              Optional g: null | Quad_Graph
              -

              The graph that contains the statement

              -
            -

            Returns string | void

          -
          - -
          -
          - -
            - -
          • -

            Finds the types in the list which have no stored subtypes +

            Parameters

            • Optional s: null | Quad_Subject

              A node to search for as subject, or if null, a wildcard

              +
            • Optional p: null | Quad_Predicate

              A node to search for as predicate, or if null, a wildcard

              +
            • Optional o: null | Quad_Object

              A node to search for as object, or if null, a wildcard

              +
            • Optional g: null | Quad_Graph

              A node to search for as graph, or if null, a wildcard

              +

            Returns null | Node

            A node which match the wildcard position, or null

            +
          • Gets the first JavaScript object equivalent to a node based on the specified pattern

            +

            Parameters

            • Optional s: null | Quad_Subject

              The subject

              +
            • Optional p: null | Quad_Predicate

              The predicate

              +
            • Optional o: null | Quad_Object

              The object

              +
            • Optional g: null | Quad_Graph

              The graph that contains the statement

              +

            Returns any

          • Gets the first statement that matches the specified pattern

            +

            Parameters

            • Optional s: null | Quad_Subject
            • Optional p: null | Quad_Predicate
            • Optional o: null | Quad_Object
            • Optional g: null | Quad_Graph

            Returns undefined | Statement<SubjectType, PredicateType, ObjectType, GraphType>

          • Gets the value of a node that matches the specified pattern

            +

            Parameters

            • Optional s: null | Quad_Subject

              The subject

              +
            • Optional p: null | Quad_Predicate

              The predicate

              +
            • Optional o: null | Quad_Object

              The object

              +
            • Optional g: null | Quad_Graph

              The graph that contains the statement

              +

            Returns string | void

          • Finds the types in the list which have no stored subtypes These are a set of classes which provide by themselves complete information -- the other classes are redundant for those who know the class DAG.

            -
            -
            -

            Parameters

            -
              -
            • -
              types: any
              -

              A map of the types

              -
            -

            Returns any

          -
          - -
          -
          - -
            - -
          • -

            Compares this node with another

            - -

            See

            to check if two nodes are equal

            -
            -
            -

            Parameters

            -
              -
            • -
              other: Node
              -

              The other node

              -
            -

            Returns number

          -
          - -
            - -
          • -

            Trace statements which connect directly, or through bnodes

            - -

            Returns

            an array of statements, duplicate statements are suppresssed.

            -
            -
            -

            Parameters

            -
              -
            • -
              subject: Quad_Subject
              -

              The node to start looking for statments

              -
            • -
            • -
              doc: Quad_Graph
              -

              The document to be searched, or null to search all documents

              -
            • -
            • -
              Optional excludePredicateURIs: readonly string[]
            -

            Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

          -
          - -
            - -
          • -

            Follow links from one node, using one wildcard.

            +

            Parameters

            • types: any

              A map of the types

              +

            Returns any

          • Compares this node with another

            +

            Parameters

            • other: Node

              The other node

              +

            Returns number

            See

            to check if two nodes are equal

            +
          • Trace statements which connect directly, or through bnodes

            +

            Parameters

            • subject: Quad_Subject

              The node to start looking for statments

              +
            • doc: Quad_Graph

              The document to be searched, or null to search all documents

              +
            • Optional excludePredicateURIs: readonly string[]

            Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

            an array of statements, duplicate statements are suppresssed.

            +
          • Follow links from one node, using one wildcard.

            For example, each(me, knows, null, profile) - people I know accoring to my profile . each(me, knows, null, null) - people I know accoring to anything in store . each(null, knows, me, null) - people who know me accoring to anything in store .

            - -

            Returns

              +

            Parameters

            • Optional s: null | Quad_Subject

              A node to search for as subject, or if null, a wildcard

              +
            • Optional p: null | Quad_Predicate

              A node to search for as predicate, or if null, a wildcard

              +
            • Optional o: null | Quad_Object

              A node to search for as object, or if null, a wildcard

              +
            • Optional g: null | Quad_Graph

              A node to search for as graph, or if null, a wildcard

              +

            Returns Node[]

            • An array of nodes which match the wildcard position
            -
          -
          -

          Parameters

          -
            -
          • -
            Optional s: null | Quad_Subject
            -

            A node to search for as subject, or if null, a wildcard

            -
          • -
          • -
            Optional p: null | Quad_Predicate
            -

            A node to search for as predicate, or if null, a wildcard

            -
          • -
          • -
            Optional o: null | Quad_Object
            -

            A node to search for as object, or if null, a wildcard

            -
          • -
          • -
            Optional g: null | Quad_Graph
            -

            A node to search for as graph, or if null, a wildcard

            -
          -

          Returns Node[]

          -
          - -
            - -
          • -

            Test whether this formula is equals to {other}

            -
            -
            -

            Parameters

            -
              -
            • -
              other: Formula
              -

              The other formula

              -
            -

            Returns boolean

          -
          - -
            - -
          • -

            For thisClass or any subclass, anything which has it is its type +

          • Test whether this formula is equals to {other}

            +

            Parameters

            Returns boolean

          • For thisClass or any subclass, anything which has it is its type or is the object of something which has the type as its range, or subject of something which has the type as its domain We don't bother doing subproperty (yet?)as it doesn't seeem to be used much. Get all the Classes of which we can RDFS-infer the subject is a member

            -
            -
            -

            Parameters

            -
              -
            • -
              subject: Node
              -

              A named node

              -
            -

            Returns UriMap

          -
          - -
            - -
          • -

            For thisClass or any subclass, anything which has it is its type +

            Parameters

            • subject: Node

              A named node

              +

            Returns UriMap

          • For thisClass or any subclass, anything which has it is its type or is the object of something which has the type as its range, or subject of something which has the type as its domain We don't bother doing subproperty (yet?)as it doesn't seeem to be used much. Get all the Classes of which we can RDFS-infer the subject is a member

            - -

            Returns

            a hash of URIs

            -
            -
            -

            Parameters

            -
              -
            • -
              thisClass: any
            -

            Returns MembersMap

          -
          - -
            - -
          • -

            Get all the Classes of which we can RDFS-infer the subject is a superclass +

            Parameters

            • thisClass: any

            Returns MembersMap

            a hash of URIs

            +
          • Get all the Classes of which we can RDFS-infer the subject is a superclass Returns a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

            -
            -
            -

            Parameters

            -
            -

            Returns {
                [uri: string]: boolean;
            }

            -
              -
            • -
              [uri: string]: boolean
          -
          - -
            - -
          • -

            Get all the Classes of which we can RDFS-infer the subject is a subclass

            - -

            Returns

            a hash table where key is NT of type and value is statement why we +

            Parameters

            Returns {
                [uri: string]: boolean;
            }

            • [uri: string]: boolean
          • Get all the Classes of which we can RDFS-infer the subject is a subclass

            +

            Parameters

            • subject: Node

              The thing whose classes are to be found

              +

            Returns {
                [uri: string]: boolean;
            }

            a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

            -
          -
          -

          Parameters

          -
            -
          • -
            subject: Node
            -

            The thing whose classes are to be found

            -
          -

          Returns {
              [uri: string]: boolean;
          }

          -
            -
          • -
            [uri: string]: boolean
          -
          - -
            - -
          • -

            Get all the Classes of which we can RDFS-infer the subject is a member +

            • [uri: string]: boolean
          • Get all the Classes of which we can RDFS-infer the subject is a member todo: This will loop is there is a class subclass loop (Sublass loops are not illegal) Returns a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

            -
            -
            -

            Parameters

            -
              -
            • -
              subject: Quad_Subject
              -

              A subject node

              -
            -

            Returns UriMap

          -
          - -
            - -
          • -

            Get all the Classes of which we can RDFS-infer the subject is a member +

            Parameters

            • subject: Quad_Subject

              A subject node

              +

            Returns UriMap

          • Get all the Classes of which we can RDFS-infer the subject is a member todo: This will loop is there is a class subclass loop (Sublass loops are not illegal)

            - -

            Returns

            a hash table where key is NT of type and value is statement why we think so. +

            Parameters

            • subject: any

              The thing whose classes are to be found

              +

            Returns {
                [uri: string]: boolean;
            }

            a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

            - -
            -

            Parameters

            -
              -
            • -
              subject: any
              -

              The thing whose classes are to be found

              -
            -

            Returns {
                [uri: string]: boolean;
            }

            -
              -
            • -
              [uri: string]: boolean
          -
          - -
            - -
          • -

            Creates a new empty formula

            -
            -
            -

            Parameters

            -
              -
            • -
              Optional _features: readonly string[]
              -

              Not applicable, but necessary for typing to pass

              -
            -

            Returns Formula

          -
          - -
            - -
          • -

            Transforms an NTriples string format into a Node. +

            • [uri: string]: boolean
          • Creates a new empty formula

            +

            Parameters

            • Optional _features: readonly string[]

              Not applicable, but necessary for typing to pass

              +

            Returns Formula

          • Transforms an NTriples string format into a Node. The blank node bit should not be used on program-external values; designed for internal work such as storing a blank node id in an HTML attribute. This will only parse the strings generated by the various toNT() methods.

            -
            -
            -

            Parameters

            -
              -
            • -
              str: any
            -

            Returns any

          -
          - -
            - -
          • -

            Creates a hash for this node

            - -

            Deprecated

            use {rdfFactory.id} instead if possible

            -
            -

            Returns string

          -
          - -
            - -
          • -

            Returns true if this formula holds the specified statement(s)

            -
            -
            -

            Parameters

            -
              -
            • -
              s: any
            • -
            • -
              Optional p: any
            • -
            • -
              Optional o: any
            • -
            • -
              Optional g: any
            -

            Returns boolean

          -
          - -
            - -
          • -

            Returns true if this formula holds the specified {statement}

            -
            -
            -

            Parameters

            -
              -
            • -
              statement: any
            -

            Returns boolean

          -
          - -
            - -
          • -

            Returns a unique index-safe identifier for the given term.

            +

            Parameters

            • str: any

            Returns any

          • Returns true if this formula holds the specified statement(s)

            +

            Parameters

            • s: any
            • Optional p: any
            • Optional o: any
            • Optional g: any

            Returns boolean

          • Returns true if this formula holds the specified {statement}

            +

            Parameters

            • statement: any

            Returns boolean

          • Returns a unique index-safe identifier for the given term.

            Falls back to the rdflib hashString implementation if the given factory doesn't support id.

            -
            -
            -

            Parameters

            -
              -
            • -
              term: TFIDFactoryTypes
            -

            Returns Indexable

          -
          - -
            - -
          • -

            Used by the n3parser to generate list elements

            - -

            Returns

              +

            Parameters

            • term: TFIDFactoryTypes

            Returns Indexable

          • Used by the n3parser to generate list elements

            +

            Parameters

            • values: any

              The values of the collection

              +
            • context: any

              The store

              +

            Returns any

            • The term for the statement
            - -
            -

            Parameters

            -
              -
            • -
              values: any
              -

              The values of the collection

              -
            • -
            • -
              context: any
              -

              The store

              -
            -

            Returns any

          -
          - -
            - -
          • -

            Compares whether this node is the same as the other one

            -
            -
            -

            Parameters

            -
              -
            • -
              other: Node
              -

              Another node

              -
            -

            Returns boolean

          -
          - -
            - -
          • -

            Serializes this formula

            -
            -
            -

            Parameters

            -
              -
            • -
              base: any
              -

              The base string

              -
            • -
            • -
              contentType: any
              -

              The content type of the syntax to use

              -
            • -
            • -
              provenance: any
              -

              The provenance URI

              -
            • -
            • -
              Optional options: any
              -

              options to pass to the serializer, as defined in serialize method

              -
            -

            Returns undefined | string

          -
          - -
            - -
          • -

            Search the Store +

          • Serializes this formula

            +

            Parameters

            • base: any

              The base string

              +
            • contentType: any

              The content type of the syntax to use

              +
            • provenance: any

              The provenance URI

              +
            • Optional options: any

              options to pass to the serializer, as defined in serialize method

              +

            Returns undefined | string

          • Search the Store This is really a teaching method as to do this properly you would use IndexedFormula

            - -

            Returns

              +

            Type Parameters

            • JustOne extends boolean = false

            Parameters

            • Optional s: null | Quad_Subject

              A node to search for as subject, or if null, a wildcard

              +
            • Optional p: null | Quad_Predicate

              A node to search for as predicate, or if null, a wildcard

              +
            • Optional o: null | Quad_Object

              A node to search for as object, or if null, a wildcard

              +
            • Optional g: null | Quad_Graph

              A node to search for as graph, or if null, a wildcard

              +
            • Optional justOne: boolean

              flag - stop when found one rather than get all of them?

              +

            Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

            • An array of nodes which match the wildcard position
            - -
            -

            Type Parameters

            -
              -
            • -

              JustOne extends boolean = false

            -
            -

            Parameters

            -
              -
            • -
              Optional s: null | Quad_Subject
              -

              A node to search for as subject, or if null, a wildcard

              -
            • -
            • -
              Optional p: null | Quad_Predicate
              -

              A node to search for as predicate, or if null, a wildcard

              -
            • -
            • -
              Optional o: null | Quad_Object
              -

              A node to search for as object, or if null, a wildcard

              -
            • -
            • -
              Optional g: null | Quad_Graph
              -

              A node to search for as graph, or if null, a wildcard

              -
            • -
            • -
              Optional justOne: boolean
              -

              flag - stop when found one rather than get all of them?

              -
            -

            Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

          -
          - -
            - -
          • -

            Creates a new formula with the substituting bindings applied

            -
            -
            -

            Type Parameters

            -
            -
            -

            Parameters

            -
              -
            • -
              bindings: Bindings
              -

              The bindings to substitute

              -
            -

            Returns T

          -
          - -
          -
          - -
            - -
          • -

            Gets the node matching the specified pattern. Throws when no match could be made.

            -
            -
            -

            Parameters

            -
              -
            • -
              Optional s: null | Quad_Subject
              -

              The subject

              -
            • -
            • -
              Optional p: null | Quad_Predicate
              -

              The predicate

              -
            • -
            • -
              Optional o: null | Quad_Object
              -

              The object

              -
            • -
            • -
              Optional g: null | Quad_Graph
              -

              The graph that contains the statement

              -
            -

            Returns undefined | null | Node

          -
          - -
          -
          - -
          -
          - -
            - -
          • -

            Creates a n-triples string representation of this node

            -
            -

            Returns string

          -
          - -
          -
          - -
            - -
          • -

            Finds the types in the list which have no stored supertypes +

          • Creates a new formula with the substituting bindings applied

            +

            Type Parameters

            Parameters

            • bindings: Bindings

              The bindings to substitute

              +

            Returns T

          • Gets the node matching the specified pattern. Throws when no match could be made.

            +

            Parameters

            • Optional s: null | Quad_Subject

              The subject

              +
            • Optional p: null | Quad_Predicate

              The predicate

              +
            • Optional o: null | Quad_Object

              The object

              +
            • Optional g: null | Quad_Graph

              The graph that contains the statement

              +

            Returns undefined | null | Node

          • Finds the types in the list which have no stored supertypes We exclude the universal class, owl:Things and rdf:Resource, as it is information-free.

            -
            -
            -

            Parameters

            -
              -
            • -
              types: {
                  [id: string]: string | NamedNode;
              }
              -

              The types

              -
              -
            -

            Returns {
                [id: string]: string | NamedNode;
            }

            -
          -
          - -
            - -
          • -

            RDFS Inference +

            Parameters

            • types: {
                  [id: string]: string | NamedNode;
              }

              The types

              +

            Returns {
                [id: string]: string | NamedNode;
            }

          • RDFS Inference These are hand-written implementations of a backward-chaining reasoner over the RDFS axioms.

            -
            -
            -

            Parameters

            -
              -
            • -
              seeds: BooleanMap
              -

              A hash of NTs of classes to start with

              -
            • -
            • -
              predicate: Quad_Predicate
              -

              The property to trace though

              -
            • -
            • -
              Optional inverse: boolean
              -

              Trace inverse direction

              -
            -

            Returns {
                [uri: string]: boolean;
            }

            -
              -
            • -
              [uri: string]: boolean
          -
          - -
          -
          - -
            - -
          • -

            Gets the number of statements in this formula that matches the specified pattern

            -
            -
            -

            Parameters

            -
              -
            • -
              Optional s: null | Quad_Subject
              -

              The subject

              -
            • -
            • -
              Optional p: null | Quad_Predicate
              -

              The predicate

              -
            • -
            • -
              Optional o: null | Quad_Object
              -

              The object

              -
            • -
            • -
              Optional g: null | Quad_Graph
              -

              The graph that contains the statement

              -
            -

            Returns number

          -
          - -
          -
          -

          Generated using TypeDoc

          -
          \ No newline at end of file +

          Parameters

          • seeds: BooleanMap

            A hash of NTs of classes to start with

            +
          • predicate: Quad_Predicate

            The property to trace though

            +
          • Optional inverse: boolean

            Trace inverse direction

            +

          Returns {
              [uri: string]: boolean;
          }

          • [uri: string]: boolean
          • Gets the number of statements in this formula that matches the specified pattern

            +

            Parameters

            • Optional s: null | Quad_Subject

              The subject

              +
            • Optional p: null | Quad_Predicate

              The predicate

              +
            • Optional o: null | Quad_Object

              The object

              +
            • Optional g: null | Quad_Graph

              The graph that contains the statement

              +

            Returns number

          \ No newline at end of file diff --git a/doc/classes/Literal.html b/doc/classes/Literal.html index cef517dcd..64cadd52f 100644 --- a/doc/classes/Literal.html +++ b/doc/classes/Literal.html @@ -1,578 +1,63 @@ -Literal | rdflib
          -
          - -
          -
          -
          -
          - -

          Class Literal

          -
          -

          An RDF literal, containing some value which isn't expressed as an IRI.

          - -

          Link

          https://rdf.js.org/data-model-spec/#literal-interface

          -
          -
          -

          Hierarchy

          -
          -
          -

          Implements

          -
            -
          • Literal
          -
          -
          -
          - -
          -
          -

          Constructors

          -
          - -
            - -
          • -

            Initializes a literal

            -
            -
            -

            Parameters

            -
              -
            • -
              value: string
              -

              The literal's lexical value

              -
            • -
            • -
              Optional language: null | string
              -

              The language for the literal. Defaults to ''.

              -
            • -
            • -
              Optional datatype: any
              -

              The literal's datatype as a named node. Defaults to xsd:string.

              -
            -

            Returns Literal

          -
          -

          Properties

          -
          - -
          classOrder: number = ClassOrder.Literal
          -

          The class order for this node

          -
          -
          - -
          datatype: NamedNode = XSD.string
          -

          The literal's datatype as a named node

          -
          -
          - -
          isVar: number = 0
          -
          - -
          language: string = ''
          -

          The language for the literal

          -
          -
          - -
          termType: "Literal" = LiteralTermType
          -

          The type of node

          -
          -
          - -
          value: string
          -

          The node's value

          -
          -
          - -
          toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])
          -
          -

          Type declaration

          -
            -
          • -
              -
            • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
            • -
            • -
              -

              Parameters

              -
                -
              • -
                term: any
              -

              Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

          -
          -

          Accessors

          -
          - -
            -
          • get lang(): string
          • -
          • -

            The language for the literal

            - -

            Deprecated

            use {language} instead

            -
            -

            Returns string

          • -
          • set lang(language): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              language: string
            -

            Returns void

          -
          -

          Methods

          -
          - -
            - -
          • -

            Compares this node with another

            - -

            See

            to check if two nodes are equal

            -
            -
            -

            Parameters

            -
              -
            • -
              other: Node
              -

              The other node

              -
            -

            Returns number

          -
          - -
          -
          - -
            - -
          • -

            Gets whether two literals are the same

            -
            -
            -

            Parameters

            -
              -
            • -
              other: Term
              -

              The other statement

              -
            -

            Returns boolean

          -
          - -
            - -
          • -

            Creates a hash for this node

            - -

            Deprecated

            use {rdfFactory.id} instead if possible

            -
            -

            Returns string

          -
          - -
            - -
          • -

            Compares whether this node is the same as the other one

            -
            -
            -

            Parameters

            -
              -
            • -
              other: Node
              -

              Another node

              -
            -

            Returns boolean

          -
          - -
            - -
          • -

            Creates the substituted node for this one, according to the specified bindings

            -
            -
            -

            Type Parameters

            -
            -
            -

            Parameters

            -
              -
            • -
              bindings: Bindings
              -

              Bindings of identifiers to nodes

              -
            -

            Returns T

          -
          - -
          -
          - -
          -
          - -
            - -
          • -

            Creates a n-triples string representation of this node

            -
            -

            Returns string

          -
          - -
          -
          - -
            - -
          • -

            Builds a literal node from a boolean value

            -
            -
            -

            Parameters

            -
              -
            • -
              value: boolean
              -

              The value

              -
            -

            Returns Literal

          -
          - -
            - -
          • -

            Builds a literal node from a date value

            -
            -
            -

            Parameters

            -
              -
            • -
              value: Date
              -

              The value

              -
            -

            Returns Literal

          -
          - -
            - -
          • -

            Builds a literal node from a number value

            -
            -
            -

            Parameters

            -
              -
            • -
              value: number
              -

              The value

              -
            -

            Returns Literal

          -
          - -
            - -
          • -

            Builds a literal node from an input value

            -
            -
            -

            Type Parameters

            -
              -
            • -

              T extends FromValueReturns

            -
            -

            Parameters

            -
              -
            • -
              value: ValueType
              -

              The input value

              -
            -

            Returns T

          -
          - -
            - -
          • -

            Serializes a literal to an N-Triples string

            -
            -
            -

            Parameters

            -
            -

            Returns string

          -
          -
          -

          Generated using TypeDoc

          -
          \ No newline at end of file +Literal | rdflib

          Class Literal

          An RDF literal, containing some value which isn't expressed as an IRI.

          +

          Hierarchy (view full)

          Implements

          • Literal

          Constructors

          • Initializes a literal

            +

            Parameters

            • value: string

              The literal's lexical value

              +
            • Optional language: null | string

              The language for the literal. Defaults to ''.

              +
            • Optional datatype: any

              The literal's datatype as a named node. Defaults to xsd:string.

              +

            Returns Literal

          Properties

          classOrder: number = ClassOrder.Literal

          The class order for this node

          +
          datatype: NamedNode = XSD.string

          The literal's datatype as a named node

          +
          isVar: number = 0
          language: string = ''

          The language for the literal

          +
          termType: "Literal" = LiteralTermType

          The type of node

          +
          value: string

          The node's value

          +
          toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])

          Type declaration

            • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
            • Parameters

              • term: any

              Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

          Accessors

          • get lang(): string
          • The language for the literal

            +

            Returns string

            Deprecated

            use {language} instead

            +
          • set lang(language): void
          • Parameters

            • language: string

            Returns void

          Methods

          • Compares this node with another

            +

            Parameters

            • other: Node

              The other node

              +

            Returns number

            See

            to check if two nodes are equal

            +
          • Gets whether two literals are the same

            +

            Parameters

            • other: Term

              The other statement

              +

            Returns boolean

          • Creates the substituted node for this one, according to the specified bindings

            +

            Type Parameters

            Parameters

            • bindings: Bindings

              Bindings of identifiers to nodes

              +

            Returns T

          • Creates a n-triples string representation of this node

            +

            Returns string

          • Builds a literal node from an input value

            +

            Type Parameters

            • T extends FromValueReturns

            Parameters

            • value: ValueType

              The input value

              +

            Returns T

          • Serializes a literal to an N-Triples string

            +

            Parameters

            Returns string

          \ No newline at end of file diff --git a/doc/classes/LiveStore.html b/doc/classes/LiveStore.html index 8f3a1244a..8f2109ca5 100644 --- a/doc/classes/LiveStore.html +++ b/doc/classes/LiveStore.html @@ -1,2336 +1,377 @@ -LiveStore | rdflib
          -
          - -
          -
          -
          -
          - -

          Class LiveStore

          -
          -

          Indexed Formula aka Store

          -
          -
          -

          Hierarchy

          -
          -
          -
          -
          - -
          -
          -

          Constructors

          -
          - -
          -
          -

          Properties

          -
          - -
          HTTPRedirects: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
          -

          Redirections we got from HTTP

          -
          -
          - -
          _existentialVariables?: BlankNode[]
          -
          - -
          _universalVariables?: NamedNode[]
          -
          - -
          aliases: any[]
          -

          Reverse mapping to redirection: aliases for this

          -
          -
          - -
          classActions: {
              [k: string]: Function[];
          }
          -

          Map of iri predicates to functions to call when adding { s type X }

          -
          -
          -

          Type declaration

          -
            -
          • -
            [k: string]: Function[]
          -
          - -
          classOrder: number = ClassOrder.Graph
          -

          The class order for this node

          -
          -
          - -
          constraints: readonly any[] = []
          -

          initial array of constraints

          -
          -
          - -
          features: FeaturesType
          -
          - -
          fetcher: Fetcher
          -

          The accompanying fetcher instance.

          +LiveStore | rdflib

          Class LiveStore

          Indexed Formula aka Store

          +

          Hierarchy (view full)

          Constructors

          Properties

          HTTPRedirects: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

          Redirections we got from HTTP

          +
          _existentialVariables?: BlankNode[]
          _universalVariables?: NamedNode[]
          aliases: any[]

          Reverse mapping to redirection: aliases for this

          +
          classActions: {
              [k: string]: Function[];
          }

          Map of iri predicates to functions to call when adding { s type X }

          +

          Type declaration

          • [k: string]: Function[]
          classOrder: number = ClassOrder.Graph

          The class order for this node

          +
          constraints: readonly any[] = []

          initial array of constraints

          +
          features: FeaturesType
          fetcher: Fetcher

          The accompanying fetcher instance.

          Is set by the fetcher when initialized.

          -
          -
          - -
          index: [Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[]]
          -
          - -
          initBindings: readonly any[] = []
          -

          initial bindings used in Query

          -
          -
          - -
          isVar: number = 0
          -
          - -
          namespaces: {
              [key: string]: string;
          }
          -

          Dictionary of namespace prefixes

          -
          -
          -

          Type declaration

          -
            -
          • -
            [key: string]: string
          -
          - -
          ns: ((nsuri, factory?) => ((ln) => NamedNode)) = Namespace
          -
          -

          Type declaration

          -
            -
          • -
              -
            • (nsuri, factory?): ((ln) => NamedNode)
            • -
            • -

              A namespace for the specified namespace's URI

              -
              -
              -

              Parameters

              -
                -
              • -
                nsuri: string
                -

                The URI for the namespace

                -
              • -
              • -
                Optional factory: RdfJsDataFactory
              -

              Returns ((ln) => NamedNode)

              -
                -
              • -
                  -
                • (ln): NamedNode
                • -
                • -
                  -

                  Parameters

                  -
                    -
                  • -
                    ln: string
                  -

                  Returns NamedNode

          -
          - -
          objectIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
          -

          Array of statements with this X as object

          -
          -
          - -
          optional: readonly any[] = []
          -

          optional

          -
          -
          - -
          predicateIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
          -

          Array of statements with this X as predicate

          -
          -
          - -
          propertyActions: {
              [k: string]: Function[];
          }
          -

          Map of iri predicates to functions to call when getting statement with {s X o}

          -
          -
          -

          Type declaration

          -
            -
          • -
            [k: string]: Function[]
          -
          - -
          rdfFactory: any
          -

          The factory used to generate statements and terms

          -
          -
          - -
          redirections: any[]
          -

          Redirect to lexically smaller equivalent symbol

          -
          -
          - -
          statements: Statement<SubjectType, PredicateType, ObjectType, GraphType>[] = []
          -

          Initial array of statements

          -
          -
          - -
          subjectIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
          -

          Array of statements with this X as subject

          -
          -
          - -
          termType: "Graph" = GraphTermType
          -

          The type of node

          -
          -
          - -
          updater: UpdateManager
          -

          An UpdateManager initialised to this store

          -
          -
          - -
          value: string
          -

          The node's value

          -
          -
          - -
          whyIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
          -

          Array of statements with X as provenance

          -
          -
          - -
          fromValue: (<T>(value) => T)
          -
          -

          Type declaration

          -
            -
          • -
              -
            • <T>(value): T
            • -
            • -
              -

              Type Parameters

              -
                -
              • -

                T extends FromValueReturns

              -
              -

              Parameters

              -
                -
              • -
                value: ValueType
              -

              Returns T

          -
          - -
          handleRDFType: Function
          -
          - -
          toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])
          -
          -

          Type declaration

          -
            -
          • -
              -
            • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
            • -
            • -
              -

              Parameters

              -
                -
              • -
                term: any
              -

              Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

          -
          -

          Accessors

          -
          - -
          index: [Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[]]
          initBindings: readonly any[] = []

          initial bindings used in Query

          +
          isVar: number = 0
          namespaces: {
              [key: string]: string;
          }

          Dictionary of namespace prefixes

          +

          Type declaration

          • [key: string]: string
          ns: ((nsuri, factory?) => ((ln) => NamedNode)) = Namespace

          A namespace for the specified namespace's URI

          +

          Type declaration

            • (nsuri, factory?): ((ln) => NamedNode)
            • Parameters

              • nsuri: string

                The URI for the namespace

                +
              • Optional factory: RdfJsDataFactory

              Returns ((ln) => NamedNode)

                • (ln): NamedNode
                • Parameters

                  • ln: string

                  Returns NamedNode

          objectIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

          Array of statements with this X as object

          +
          optional: readonly any[] = []

          optional

          +
          predicateIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

          Array of statements with this X as predicate

          +
          propertyActions: {
              [k: string]: Function[];
          }

          Map of iri predicates to functions to call when getting statement with {s X o}

          +

          Type declaration

          • [k: string]: Function[]
          rdfFactory: any

          The factory used to generate statements and terms

          +
          redirections: any[]

          Redirect to lexically smaller equivalent symbol

          +
          statements: Statement<SubjectType, PredicateType, ObjectType, GraphType>[] = []

          Initial array of statements

          +
          subjectIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

          Array of statements with this X as subject

          +
          termType: "Graph" = GraphTermType

          The type of node

          +
          updater: UpdateManager

          An UpdateManager initialised to this store

          +
          value: string

          The node's value

          +
          whyIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

          Array of statements with X as provenance

          +
          fromValue: (<T>(value) => T)

          Type declaration

            • <T>(value): T
            • Type Parameters

              • T extends FromValueReturns

              Parameters

              • value: ValueType

              Returns T

          handleRDFType: Function
          toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])

          Type declaration

            • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
            • Parameters

              • term: any

              Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

          Accessors

          • get length(): number
          • Returns the number of statements contained in this IndexedFormula. (Getter proxy to this.statements). Usage:

            -
            var kb = rdf.graph()
            kb.length // -> 0 -
            - -

            Returns

            -

            Returns number

          -
          - -
            -
          • get defaultGraphURI(): string
          • -
          • -

            Gets the URI of the default graph

            -
            -

            Returns string

          -
          -

          Methods

          -
          - -
            - -
          • -

            Transform a collection of NTriple URIs into their URI strings

            - -

            Returns

            A collection of the URIs as strings +

            var kb = rdf.graph()
            kb.length // -> 0 +
            +

            Returns number

          • get defaultGraphURI(): string
          • Gets the URI of the default graph

            +

            Returns string

          Methods

          • Transform a collection of NTriple URIs into their URI strings

            +

            Parameters

            • t: any

              Some iterable collection of NTriple URI strings

              +

            Returns {}

            A collection of the URIs as strings todo: explain why it is important to go through NT

            -
          -
          -

          Parameters

          -
            -
          • -
            t: any
            -

            Some iterable collection of NTriple URI strings

            -
          -

          Returns {}

          -
            -
            - -
              - -
            • -

              Adds a triple (quad) to the store.

              - -

              Returns

              The statement added to the store, or the store

              -
              -
              -

              Parameters

              -
                -
              • -
                subj: Quad_Subject | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Statement<SubjectType, PredicateType, ObjectType, GraphType> | Statement<SubjectType, PredicateType, ObjectType, GraphType>[] | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                -

                The thing about which the fact a relationship is asserted. +

              • Adds a triple (quad) to the store.

                +

                Parameters

                • subj: Quad_Subject | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Statement<SubjectType, PredicateType, ObjectType, GraphType> | Statement<SubjectType, PredicateType, ObjectType, GraphType>[] | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

                  The thing about which the fact a relationship is asserted. Also accepts a statement or an array of Statements.

                  -
                • -
                • -
                  Optional pred: Quad_Predicate
                  -

                  The relationship which is asserted

                  -
                • -
                • -
                  Optional obj: string | Term
                  -

                  The object of the relationship, e.g. another thing or a value. If passed a string, this will become a literal.

                  -
                • -
                • -
                  Optional why: Quad_Graph
                  -

                  The document in which the triple (S,P,O) was or will be stored on the web

                  -
                -

                Returns null | number | Statement<SubjectType, PredicateType, ObjectType, GraphType> | LiveStore

              -
              - -
                - -
              • -

                Adds all the statements to this formula

                -
                -
                -

                Parameters

                -
                  -
                • -
                  statements: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                  -

                  A collection of statements

                  -
                -

                Returns void

              -
              - -
                - -
              • -

                Add a callback which will be triggered after a statement has been added to the store.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  cb: ((q) => void)
                  -
                    -
                  • -
                      -
                    • (q): void
                    • -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        q: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
                      -

                      Returns void

                -

                Returns void

              -
              - -
                - -
              • -
                -

                Deprecated

                Use {add} instead

                -
                -
                -

                Parameters

                -
                  -
                • -
                  st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
                -

                Returns number

              -
              - -
              -
              - -
                - -
              • -

                Follow link from one node, using one wildcard, looking for one

                +
              • Optional pred: Quad_Predicate

                The relationship which is asserted

                +
              • Optional obj: string | Term

                The object of the relationship, e.g. another thing or a value. If passed a string, this will become a literal.

                +
              • Optional why: Quad_Graph

                The document in which the triple (S,P,O) was or will be stored on the web

                +

              Returns null | number | Statement<SubjectType, PredicateType, ObjectType, GraphType> | LiveStore

              The statement added to the store, or the store

              +
              • Adds all the statements to this formula

                +

                Parameters

                • statements: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

                  A collection of statements

                  +

                Returns void

              • Add a callback which will be triggered after a statement has been added to the store.

                +

                Parameters

                • cb: ((q) => void)
                    • (q): void
                    • Parameters

                      • q: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>

                      Returns void

                Returns void

              • Follow link from one node, using one wildcard, looking for one

                For example, any(me, knows, null, profile) - a person I know accoring to my profile . any(me, knows, null, null) - a person I know accoring to anything in store . any(null, knows, me, null) - a person who know me accoring to anything in store .

                - -

                Returns

                A node which match the wildcard position, or null

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional s: null | Quad_Subject
                  -

                  A node to search for as subject, or if null, a wildcard

                  -
                • -
                • -
                  Optional p: null | Quad_Predicate
                  -

                  A node to search for as predicate, or if null, a wildcard

                  -
                • -
                • -
                  Optional o: null | Quad_Object
                  -

                  A node to search for as object, or if null, a wildcard

                  -
                • -
                • -
                  Optional g: null | Quad_Graph
                  -

                  A node to search for as graph, or if null, a wildcard

                  -
                -

                Returns null | Node

              -
              - -
                - -
              • -

                Gets the first JavaScript object equivalent to a node based on the specified pattern

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional s: null | Quad_Subject
                  -

                  The subject

                  -
                • -
                • -
                  Optional p: null | Quad_Predicate
                  -

                  The predicate

                  -
                • -
                • -
                  Optional o: null | Quad_Object
                  -

                  The object

                  -
                • -
                • -
                  Optional g: null | Quad_Graph
                  -

                  The graph that contains the statement

                  -
                -

                Returns any

              -
              - -
                - -
              • -

                Gets the first statement that matches the specified pattern

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional s: null | Quad_Subject
                • -
                • -
                  Optional p: null | Quad_Predicate
                • -
                • -
                  Optional o: null | Quad_Object
                • -
                • -
                  Optional g: null | Quad_Graph
                -

                Returns undefined | Statement<SubjectType, PredicateType, ObjectType, GraphType>

              -
              - -
                - -
              • -

                Gets the value of a node that matches the specified pattern

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional s: null | Quad_Subject
                  -

                  The subject

                  -
                • -
                • -
                  Optional p: null | Quad_Predicate
                  -

                  The predicate

                  -
                • -
                • -
                  Optional o: null | Quad_Object
                  -

                  The object

                  -
                • -
                • -
                  Optional g: null | Quad_Graph
                  -

                  The graph that contains the statement

                  -
                -

                Returns string | void

              -
              - -
                - -
              • -

                Apply a set of statements to be deleted and to be inserted

                -
                -
                -

                Parameters

                -
                  -
                • -
                  patch: {
                      delete?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[];
                      patch?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[];
                      where?: any;
                  }
                  -

                  The set of statements to be deleted and to be inserted

                  -
                  -
                    -
                  • -
                    Optional delete?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                  • -
                  • -
                    Optional patch?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                  • -
                  • -
                    Optional where?: any
                • -
                • -
                  target: NamedNode
                  -

                  The name of the document to patch

                  -
                • -
                • -
                  patchCallback: ((errorString?) => void)
                  -

                  Callback to be called when patching is complete

                  -
                  -
                    -
                  • -
                      -
                    • (errorString?): void
                    • -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        Optional errorString: string
                      -

                      Returns void

                -

                Returns void

              -
              - -
              -
              - -
                - -
              • -

                Finds the types in the list which have no stored subtypes +

                Parameters

                • Optional s: null | Quad_Subject

                  A node to search for as subject, or if null, a wildcard

                  +
                • Optional p: null | Quad_Predicate

                  A node to search for as predicate, or if null, a wildcard

                  +
                • Optional o: null | Quad_Object

                  A node to search for as object, or if null, a wildcard

                  +
                • Optional g: null | Quad_Graph

                  A node to search for as graph, or if null, a wildcard

                  +

                Returns null | Node

                A node which match the wildcard position, or null

                +
              • Gets the first JavaScript object equivalent to a node based on the specified pattern

                +

                Parameters

                • Optional s: null | Quad_Subject

                  The subject

                  +
                • Optional p: null | Quad_Predicate

                  The predicate

                  +
                • Optional o: null | Quad_Object

                  The object

                  +
                • Optional g: null | Quad_Graph

                  The graph that contains the statement

                  +

                Returns any

              • Gets the first statement that matches the specified pattern

                +

                Parameters

                • Optional s: null | Quad_Subject
                • Optional p: null | Quad_Predicate
                • Optional o: null | Quad_Object
                • Optional g: null | Quad_Graph

                Returns undefined | Statement<SubjectType, PredicateType, ObjectType, GraphType>

              • Gets the value of a node that matches the specified pattern

                +

                Parameters

                • Optional s: null | Quad_Subject

                  The subject

                  +
                • Optional p: null | Quad_Predicate

                  The predicate

                  +
                • Optional o: null | Quad_Object

                  The object

                  +
                • Optional g: null | Quad_Graph

                  The graph that contains the statement

                  +

                Returns string | void

              • Apply a set of statements to be deleted and to be inserted

                +

                Parameters

                • patch: {
                      delete?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[];
                      patch?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[];
                      where?: any;
                  }

                  The set of statements to be deleted and to be inserted

                  +
                  • Optional delete?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                  • Optional patch?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                  • Optional where?: any
                • target: NamedNode

                  The name of the document to patch

                  +
                • patchCallback: ((errorString?) => void)

                  Callback to be called when patching is complete

                  +
                    • (errorString?): void
                    • Parameters

                      • Optional errorString: string

                      Returns void

                Returns void

              • Finds the types in the list which have no stored subtypes These are a set of classes which provide by themselves complete information -- the other classes are redundant for those who know the class DAG.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  types: any
                  -

                  A map of the types

                  -
                -

                Returns any

              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Checks a list of statements for consistency

                -
                -
                -

                Parameters

                -
                  -
                • -
                  sts: readonly Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                  -

                  The list of statements to check

                  -
                • -
                • -
                  Optional from: number
                  -

                  An index with the array ['subject', 'predicate', 'object', 'why']

                  -
                -

                Returns boolean | void

              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Trace statements which connect directly, or through bnodes

                - -

                Returns

                an array of statements, duplicate statements are suppresssed.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  subject: Quad_Subject
                  -

                  The node to start looking for statments

                  -
                • -
                • -
                  doc: Quad_Graph
                  -

                  The document to be searched, or null to search all documents

                  -
                • -
                • -
                  Optional excludePredicateURIs: readonly string[]
                -

                Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

              -
              - -
              • Checks a list of statements for consistency

                +

                Parameters

                • sts: readonly Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

                  The list of statements to check

                  +
                • Optional from: number

                  An index with the array ['subject', 'predicate', 'object', 'why']

                  +

                Returns boolean | void

              • Trace statements which connect directly, or through bnodes

                +

                Parameters

                • subject: Quad_Subject

                  The node to start looking for statments

                  +
                • doc: Quad_Graph

                  The document to be searched, or null to search all documents

                  +
                • Optional excludePredicateURIs: readonly string[]

                Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                an array of statements, duplicate statements are suppresssed.

                +
              • replaces

                +

                Parameters

                • template: Quad_Subject

                  node to copy

                  +
                • target: Quad_Subject

                  node to copy to

                  +
                • Optional flags: ("delete" | "two-direction")[]

                  Whether or not to do a two-directional copy and/or delete triples

                  +

                Returns void

                Target

                and add appropriate triples removes no triples by default and is a one-direction replication

                -
                -
                -

                Parameters

                -
                  -
                • -
                  template: Quad_Subject
                  -

                  node to copy

                  -
                • -
                • -
                  target: Quad_Subject
                  -

                  node to copy to

                  -
                • -
                • -
                  Optional flags: ("delete" | "two-direction")[]
                  -

                  Whether or not to do a two-directional copy and/or delete triples

                  -
                -

                Returns void

              -
              - -
              -
              - -
              • Follow links from one node, using one wildcard.

                For example, each(me, knows, null, profile) - people I know accoring to my profile . each(me, knows, null, null) - people I know accoring to anything in store . each(null, knows, me, null) - people who know me accoring to anything in store .

                - -

                Returns

                  +

                Parameters

                • Optional s: null | Quad_Subject

                  A node to search for as subject, or if null, a wildcard

                  +
                • Optional p: null | Quad_Predicate

                  A node to search for as predicate, or if null, a wildcard

                  +
                • Optional o: null | Quad_Object

                  A node to search for as object, or if null, a wildcard

                  +
                • Optional g: null | Quad_Graph

                  A node to search for as graph, or if null, a wildcard

                  +

                Returns Node[]

                • An array of nodes which match the wildcard position
                -
              -
              -

              Parameters

              -
                -
              • -
                Optional s: null | Quad_Subject
                -

                A node to search for as subject, or if null, a wildcard

                -
              • -
              • -
                Optional p: null | Quad_Predicate
                -

                A node to search for as predicate, or if null, a wildcard

                -
              • -
              • -
                Optional o: null | Quad_Object
                -

                A node to search for as object, or if null, a wildcard

                -
              • -
              • -
                Optional g: null | Quad_Graph
                -

                A node to search for as graph, or if null, a wildcard

                -
              -

              Returns Node[]

              -
              - -
              -
              - -
              • Simplify graph in store when we realize two identifiers are equivalent We replace the bigger with the smaller.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  u1in: Term
                  -

                  The first node

                  -
                • -
                • -
                  u2in: Term
                  -

                  The second node

                  -
                -

                Returns boolean

              -
              - -
                - -
              • -

                For thisClass or any subclass, anything which has it is its type +

                Parameters

                • u1in: Term

                  The first node

                  +
                • u2in: Term

                  The second node

                  +

                Returns boolean

              • For thisClass or any subclass, anything which has it is its type or is the object of something which has the type as its range, or subject of something which has the type as its domain We don't bother doing subproperty (yet?)as it doesn't seeem to be used much. Get all the Classes of which we can RDFS-infer the subject is a member

                -
                -
                -

                Parameters

                -
                  -
                • -
                  subject: Node
                  -

                  A named node

                  -
                -

                Returns UriMap

              -
              - -
              • For thisClass or any subclass, anything which has it is its type or is the object of something which has the type as its range, or subject of something which has the type as its domain We don't bother doing subproperty (yet?)as it doesn't seeem to be used much. Get all the Classes of which we can RDFS-infer the subject is a member

                - -

                Returns

                a hash of URIs

                -
                -
                -

                Parameters

                -
                  -
                • -
                  thisClass: any
                -

                Returns MembersMap

              -
              - -
                - -
              • -

                Get all the Classes of which we can RDFS-infer the subject is a superclass +

                Parameters

                • thisClass: any

                Returns MembersMap

                a hash of URIs

                +
              • Get all the Classes of which we can RDFS-infer the subject is a superclass Returns a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

                -
                -
                -

                Parameters

                -
                -

                Returns {
                    [uri: string]: boolean;
                }

                -
                  -
                • -
                  [uri: string]: boolean
              -
              - -
                - -
              • -

                Get all the Classes of which we can RDFS-infer the subject is a subclass

                - -

                Returns

                a hash table where key is NT of type and value is statement why we +

                Parameters

                Returns {
                    [uri: string]: boolean;
                }

                • [uri: string]: boolean
              • Get all the Classes of which we can RDFS-infer the subject is a subclass

                +

                Parameters

                • subject: Node

                  The thing whose classes are to be found

                  +

                Returns {
                    [uri: string]: boolean;
                }

                a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

                - -
                -

                Parameters

                -
                  -
                • -
                  subject: Node
                  -

                  The thing whose classes are to be found

                  -
                -

                Returns {
                    [uri: string]: boolean;
                }

                -
                  -
                • -
                  [uri: string]: boolean
              -
              - -
              • Get all the Classes of which we can RDFS-infer the subject is a member todo: This will loop is there is a class subclass loop (Sublass loops are not illegal) Returns a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  subject: Quad_Subject
                  -

                  A subject node

                  -
                -

                Returns UriMap

              -
              - -
                - -
              • -

                Get all the Classes of which we can RDFS-infer the subject is a member +

                Parameters

                • subject: Quad_Subject

                  A subject node

                  +

                Returns UriMap

              • Get all the Classes of which we can RDFS-infer the subject is a member todo: This will loop is there is a class subclass loop (Sublass loops are not illegal)

                - -

                Returns

                a hash table where key is NT of type and value is statement why we think so. +

                Parameters

                • subject: any

                  The thing whose classes are to be found

                  +

                Returns {
                    [uri: string]: boolean;
                }

                a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

                - -
                -

                Parameters

                -
                  -
                • -
                  subject: any
                  -

                  The thing whose classes are to be found

                  -
                -

                Returns {
                    [uri: string]: boolean;
                }

                -
                  -
                • -
                  [uri: string]: boolean
              -
              - -
              • Creates a new empty indexed formula Only applicable for IndexedFormula, but TypeScript won't allow a subclass to override a property

                -
                -
                -

                Parameters

                -
                  -
                • -
                  features: FeaturesType
                  -

                  The list of features

                  -
                -

                Returns Store

              -
              - -
              • Transforms an NTriples string format into a Node. The blank node bit should not be used on program-external values; designed for internal work such as storing a blank node id in an HTML attribute. This will only parse the strings generated by the various toNT() methods.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  str: any
                -

                Returns any

              -
              - -
              -
              - -
                - -
              • -

                Returns true if this formula holds the specified statement(s)

                -
                -
                -

                Parameters

                -
                  -
                • -
                  s: any
                • -
                • -
                  Optional p: any
                • -
                • -
                  Optional o: any
                • -
                • -
                  Optional g: any
                -

                Returns boolean

              -
              - -
                - -
              • -

                Returns true if this formula holds the specified {statement}

                -
                -
                -

                Parameters

                -
                  -
                • -
                  statement: any
                -

                Returns boolean

              -
              - -
              • Returns true if this formula holds the specified statement(s)

                +

                Parameters

                • s: any
                • Optional p: any
                • Optional o: any
                • Optional g: any

                Returns boolean

              • Returns a unique index-safe identifier for the given term.

                Falls back to the rdflib hashString implementation if the given factory doesn't support id.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  term: TFIDFactoryTypes
                -

                Returns Indexable

              -
              - -
              -
              - -
                - -
              • -

                Used by the n3parser to generate list elements

                - -

                Returns

                  +

                Parameters

                • term: TFIDFactoryTypes

                Returns Indexable

              • Used by the n3parser to generate list elements

                +

                Parameters

                • values: any

                  The values of the collection

                  +
                • context: any

                  The store

                  +

                Returns any

                • The term for the statement
                - -
                -

                Parameters

                -
                  -
                • -
                  values: any
                  -

                  The values of the collection

                  -
                • -
                • -
                  context: any
                  -

                  The store

                  -
                -

                Returns any

              -
              - -
                - -
              • -

                Returns any quads matching the given arguments. +

              • Returns any quads matching the given arguments. Standard RDFJS spec method for Source objects, implemented as an alias to statementsMatching()

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional subject: null | Quad_Subject
                  -

                  The subject

                  -
                • -
                • -
                  Optional predicate: null | Quad_Predicate
                  -

                  The predicate

                  -
                • -
                • -
                  Optional object: null | Quad_Object
                  -

                  The object

                  -
                • -
                • -
                  Optional graph: null | Quad_Graph
                  -

                  The graph that contains the statement

                  -
                -

                Returns Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

              -
              - -
                - -
              • -

                Find out whether a given URI is used as symbol in the formula

                -
                -
                -

                Parameters

                -
                  -
                • -
                  uri: string
                  -

                  The URI to look for

                  -
                -

                Returns boolean

              -
              - -
                - -
              • -

                Existentials are BNodes - something exists without naming

                -
                -
                -

                Parameters

                -
                  -
                • -
                  uri: string
                  -

                  An URI

                  -
                -

                Returns Term

              -
              - -
                - -
              • -

                Adds a new property action

                -
                -
                -

                Parameters

                -
                  -
                • -
                  pred: Quad_Predicate
                  -

                  the predicate that the function should be triggered on

                  -
                • -
                • -
                  action: ((store, subject, predicate, object) => boolean)
                  -

                  the function that should trigger

                  -
                  -
                    -
                  • -
                      -
                    • (store, subject, predicate, object): boolean
                    • -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        store: Store
                      • -
                      • -
                        subject: Quad_Subject
                      • -
                      • -
                        predicate: Quad_Predicate
                      • -
                      • -
                        object: Quad_Object
                      -

                      Returns boolean

                -

                Returns boolean

              -
              - -
                - -
              • -

                Creates a new universal node +

                Parameters

                • Optional subject: null | Quad_Subject

                  The subject

                  +
                • Optional predicate: null | Quad_Predicate

                  The predicate

                  +
                • Optional object: null | Quad_Object

                  The object

                  +
                • Optional graph: null | Quad_Graph

                  The graph that contains the statement

                  +

                Returns Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

              • Find out whether a given URI is used as symbol in the formula

                +

                Parameters

                • uri: string

                  The URI to look for

                  +

                Returns boolean

              • Adds a new property action

                +

                Parameters

                • pred: Quad_Predicate

                  the predicate that the function should be triggered on

                  +
                • action: ((store, subject, predicate, object) => boolean)

                  the function that should trigger

                  +
                    • (store, subject, predicate, object): boolean
                    • Parameters

                      • store: Store
                      • subject: Quad_Subject
                      • predicate: Quad_Predicate
                      • object: Quad_Object

                      Returns boolean

                Returns boolean

              • Creates a new universal node Universals are Variables

                -
                -
                -

                Parameters

                -
                  -
                • -
                  uri: string
                  -

                  An URI

                  -
                -

                Returns NamedNode

              -
              - -
              • Find an unused id for a file being edited: return a symbol (Note: Slow iff a lot of them -- could be O(log(k)) )

                -
                -
                -

                Parameters

                -
                  -
                • -
                  doc: NamedNode
                  -

                  A document named node

                  -
                -

                Returns NamedNode

              -
              - -
                - -
              • -

                Query this store asynchronously, return bindings in callback

                -
                -
                -

                Parameters

                -
                  -
                • -
                  myQuery: Query
                  -

                  The query to be run

                  -
                • -
                • -
                  callback: ((bindings) => void)
                  -

                  Function to call when bindings

                  -
                  -
                    -
                  • -
                      -
                    • (bindings): void
                    • -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        bindings: Bindings
                      -

                      Returns void

                • -
                • -
                  Optional fetcher: null | Fetcher
                • -
                • -
                  Optional onDone: (() => void)
                  -

                  OBSOLETE - do not use this // @@ Why not ?? Called when query complete

                  -
                  -
                    -
                  • -
                      -
                    • (): void
                    • -
                    • -

                      Returns void

                -

                Returns void

              -
              - -
                - -
              • -

                Query this store synchronously and return bindings

                -
                -
                -

                Parameters

                -
                  -
                • -
                  myQuery: Query
                  -

                  The query to be run

                  -
                -

                Returns any[]

              -
              - -
                - -
              • -

                Removes one or multiple statement(s) from this formula

                -
                -
                -

                Parameters

                -
                  -
                • -
                  st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                  -

                  A Statement or array of Statements to remove

                  -
                -

                Returns Store

              -
              - -
                - -
              • -

                Removes all statements in a doc, along with the related metadata including request/response/status

                -
                -
                -

                Parameters

                -
                  -
                • -
                  doc: Quad_Graph
                  -

                  The document / graph

                  -
                -

                Returns Store

              -
              - -
                - -
              • -

                Remove all statements matching args (within limit) *

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional subj: null | Quad_Subject
                  -

                  The subject

                  -
                • -
                • -
                  Optional pred: null | Quad_Predicate
                  -

                  The predicate

                  -
                • -
                • -
                  Optional obj: null | Quad_Object
                  -

                  The object

                  -
                • -
                • -
                  Optional why: null | Quad_Graph
                  -

                  The graph that contains the statement

                  -
                • -
                • -
                  Optional limit: number
                  -

                  The number of statements to remove

                  -
                -

                Returns void

              -
              - -
                - -
              • -

                Remove all matching statements

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional subject: null | Quad_Subject
                  -

                  The subject

                  -
                • -
                • -
                  Optional predicate: null | Quad_Predicate
                  -

                  The predicate

                  -
                • -
                • -
                  Optional object: null | Quad_Object
                  -

                  The object

                  -
                • -
                • -
                  Optional graph: null | Quad_Graph
                  -

                  The graph that contains the statement

                  -
                -

                Returns Store

              -
              - -
              -
              - -
                - -
              • -

                Remove a particular statement object from the store

                -
                -
                -

                Parameters

                -
                  -
                • -
                  st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
                  -

                  a statement which is already in the store and indexed. +

                  Parameters

                  • doc: NamedNode

                    A document named node

                    +

                  Returns NamedNode

              • Query this store asynchronously, return bindings in callback

                +

                Parameters

                • myQuery: Query

                  The query to be run

                  +
                • callback: ((bindings) => void)

                  Function to call when bindings

                  +
                    • (bindings): void
                    • Parameters

                      • bindings: Bindings

                      Returns void

                • Optional fetcher: null | Fetcher
                • Optional onDone: (() => void)

                  OBSOLETE - do not use this // @@ Why not ?? Called when query complete

                  +
                    • (): void
                    • Returns void

                Returns void

              • Removes one or multiple statement(s) from this formula

                +

                Parameters

                • st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

                  A Statement or array of Statements to remove

                  +

                Returns Store

              • Remove all statements matching args (within limit) *

                +

                Parameters

                • Optional subj: null | Quad_Subject

                  The subject

                  +
                • Optional pred: null | Quad_Predicate

                  The predicate

                  +
                • Optional obj: null | Quad_Object

                  The object

                  +
                • Optional why: null | Quad_Graph

                  The graph that contains the statement

                  +
                • Optional limit: number

                  The number of statements to remove

                  +

                Returns void

              • Remove all matching statements

                +

                Parameters

                • Optional subject: null | Quad_Subject

                  The subject

                  +
                • Optional predicate: null | Quad_Predicate

                  The predicate

                  +
                • Optional object: null | Quad_Object

                  The object

                  +
                • Optional graph: null | Quad_Graph

                  The graph that contains the statement

                  +

                Returns Store

              • Remove a particular statement object from the store

                +

                Parameters

                • st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>

                  a statement which is already in the store and indexed. Make sure you only use this for these. Otherwise, you should use remove() above.

                  -
                -

                Returns Store

              -
              - -
              -
              - -
                - -
              • -

                Replace big with small, obsoleted with obsoleting.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  big: Quad_Subject
                • -
                • -
                  small: Quad_Subject
                -

                Returns boolean

              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Serializes this formula

                -
                -
                -

                Parameters

                -
                  -
                • -
                  base: any
                  -

                  The base string

                  -
                • -
                • -
                  contentType: any
                  -

                  The content type of the syntax to use

                  -
                • -
                • -
                  provenance: any
                  -

                  The provenance URI

                  -
                • -
                • -
                  Optional options: any
                  -

                  options to pass to the serializer, as defined in serialize method

                  -
                -

                Returns undefined | string

              -
              - -
              -
              - -
                - -
              • -

                Search the Store

                +

              Returns Store

              • Replace big with small, obsoleted with obsoleting.

                +

                Parameters

                • big: Quad_Subject
                • small: Quad_Subject

                Returns boolean

              • Serializes this formula

                +

                Parameters

                • base: any

                  The base string

                  +
                • contentType: any

                  The content type of the syntax to use

                  +
                • provenance: any

                  The provenance URI

                  +
                • Optional options: any

                  options to pass to the serializer, as defined in serialize method

                  +

                Returns undefined | string

              • Search the Store

                ALL CONVENIENCE LOOKUP FUNCTIONS RELY ON THIS!

                - -

                Returns

                An array of nodes which match the wildcard position

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional subj: null | Quad_Subject
                  -

                  A node to search for as subject, or if null, a wildcard

                  -
                • -
                • -
                  Optional pred: null | Quad_Predicate
                  -

                  A node to search for as predicate, or if null, a wildcard

                  -
                • -
                • -
                  Optional obj: null | Quad_Object
                  -

                  A node to search for as object, or if null, a wildcard

                  -
                • -
                • -
                  Optional why: null | Quad_Graph
                  -

                  A node to search for as graph, or if null, a wildcard

                  -
                • -
                • -
                  Optional justOne: boolean
                  -

                  flag - stop when found one rather than get all of them?

                  -
                -

                Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

              -
              - -
                - -
              • -

                Gets this graph with the bindings substituted

                -
                -
                -

                Type Parameters

                -
                -
                -

                Parameters

                -
                  -
                • -
                  bindings: Bindings
                  -

                  The bindings

                  -
                -

                Returns T

              -
              - -
              -
              - -
                - -
              • -

                Gets the node matching the specified pattern. Throws when no match could be made.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional s: null | Quad_Subject
                  -

                  The subject

                  -
                • -
                • -
                  Optional p: null | Quad_Predicate
                  -

                  The predicate

                  -
                • -
                • -
                  Optional o: null | Quad_Object
                  -

                  The object

                  -
                • -
                • -
                  Optional g: null | Quad_Graph
                  -

                  The graph that contains the statement

                  -
                -

                Returns undefined | null | Node

              -
              - -
              -
              - -
              -
              - -
              -
              - -
              -
              - -
                - -
              • -

                Finds the types in the list which have no stored supertypes +

                Parameters

                • Optional subj: null | Quad_Subject

                  A node to search for as subject, or if null, a wildcard

                  +
                • Optional pred: null | Quad_Predicate

                  A node to search for as predicate, or if null, a wildcard

                  +
                • Optional obj: null | Quad_Object

                  A node to search for as object, or if null, a wildcard

                  +
                • Optional why: null | Quad_Graph

                  A node to search for as graph, or if null, a wildcard

                  +
                • Optional justOne: boolean

                  flag - stop when found one rather than get all of them?

                  +

                Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                An array of nodes which match the wildcard position

                +
              • Gets the node matching the specified pattern. Throws when no match could be made.

                +

                Parameters

                • Optional s: null | Quad_Subject

                  The subject

                  +
                • Optional p: null | Quad_Predicate

                  The predicate

                  +
                • Optional o: null | Quad_Object

                  The object

                  +
                • Optional g: null | Quad_Graph

                  The graph that contains the statement

                  +

                Returns undefined | null | Node

              • Finds the types in the list which have no stored supertypes We exclude the universal class, owl:Things and rdf:Resource, as it is information-free.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  types: {
                      [id: string]: string | NamedNode;
                  }
                  -

                  The types

                  -
                  -
                -

                Returns {
                    [id: string]: string | NamedNode;
                }

                -
              -
              - -
              • RDFS Inference These are hand-written implementations of a backward-chaining reasoner over the RDFS axioms.

                -
                -
                -

                Parameters

                -
                  -
                • -
                  seeds: BooleanMap
                  -

                  A hash of NTs of classes to start with

                  -
                • -
                • -
                  predicate: Quad_Predicate
                  -

                  The property to trace though

                  -
                • -
                • -
                  Optional inverse: boolean
                  -

                  Trace inverse direction

                  -
                -

                Returns {
                    [uri: string]: boolean;
                }

                -
                  -
                • -
                  [uri: string]: boolean
              -
              - -
                - -
              • -

                A list of all the URIs by which this thing is known

                -
                -
                -

                Parameters

                -
                  -
                • -
                  term: Quad_Subject
                -

                Returns string[]

              -
              - -
              -
              - -
                - -
              • -

                Gets the number of statements in this formula that matches the specified pattern

                -
                -
                -

                Parameters

                -
                  -
                • -
                  Optional s: null | Quad_Subject
                  -

                  The subject

                  -
                • -
                • -
                  Optional p: null | Quad_Predicate
                  -

                  The predicate

                  -
                • -
                • -
                  Optional o: null | Quad_Object
                  -

                  The object

                  -
                • -
                • -
                  Optional g: null | Quad_Graph
                  -

                  The graph that contains the statement

                  -
                -

                Returns number

              -
              - -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +

              Parameters

              • seeds: BooleanMap

                A hash of NTs of classes to start with

                +
              • predicate: Quad_Predicate

                The property to trace though

                +
              • Optional inverse: boolean

                Trace inverse direction

                +

              Returns {
                  [uri: string]: boolean;
              }

              • [uri: string]: boolean
              • A list of all the URIs by which this thing is known

                +

                Parameters

                • term: Quad_Subject

                Returns string[]

              • Gets the number of statements in this formula that matches the specified pattern

                +

                Parameters

                • Optional s: null | Quad_Subject

                  The subject

                  +
                • Optional p: null | Quad_Predicate

                  The predicate

                  +
                • Optional o: null | Quad_Object

                  The object

                  +
                • Optional g: null | Quad_Graph

                  The graph that contains the statement

                  +

                Returns number

              \ No newline at end of file diff --git a/doc/classes/NamedNode-1.html b/doc/classes/NamedNode-1.html index f4c28b8ee..779bdd331 100644 --- a/doc/classes/NamedNode-1.html +++ b/doc/classes/NamedNode-1.html @@ -1,498 +1,51 @@ -NamedNode | rdflib
              -
              - -
              -
              -
              -
              - -

              Class NamedNode

              -
              -

              A named (IRI) RDF node

              -
              -
              -

              Hierarchy

              -
              -
              -

              Implements

              -
                -
              • NamedNode
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              -
              -

              Properties

              -
              -
              -

              Accessors

              -
              uri -
              -
              -

              Methods

              -
              -
              -

              Constructors

              -
              - -
              -
              -

              Properties

              -
              - -
              classOrder: number = ClassOrder.NamedNode
              -

              The class order for this node

              -
              -
              - -
              termType: "NamedNode" = NamedNodeTermType
              -

              The type of node

              -
              -
              - -
              value: string
              -

              The node's value

              -
              -
              - -
              toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
                • -
                • -
                  -

                  Parameters

                  -
                    -
                  • -
                    term: any
                  -

                  Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

              -
              -

              Accessors

              -
              - -
                -
              • get uri(): string
              • -
              • -

                Alias for value, favored by Tim

                -
                -

                Returns string

              • -
              • set uri(uri): void
              • -
              • -
                -

                Parameters

                -
                  -
                • -
                  uri: string
                -

                Returns void

              -
              -

              Methods

              -
              - -
                - -
              • -

                Compares this node with another

                - -

                See

                to check if two nodes are equal

                -
                -
                -

                Parameters

                -
                  -
                • -
                  other: Node
                  -

                  The other node

                  -
                -

                Returns number

              -
              - -
              -
              - -
              • Creates the substituted node for this one, according to the specified bindings

                +

                Type Parameters

                Parameters

                • bindings: Bindings

                  Bindings of identifiers to nodes

                  +

                Returns T

              • Creates a named node from the specified input value

                +

                Parameters

                • value: any

                  An input value

                  +

                Returns any

              \ No newline at end of file diff --git a/doc/classes/Node.html b/doc/classes/Node.html index e12549843..8a1a21949 100644 --- a/doc/classes/Node.html +++ b/doc/classes/Node.html @@ -1,412 +1,40 @@ -Node | rdflib
              -
              - -
              -
              -
              -
              - -

              Class NodeAbstract

              -
              -

              The superclass of all RDF Statement objects, that is +Node | rdflib

              Class NodeAbstract

              The superclass of all RDF Statement objects, that is NamedNode, Literal, BlankNode, etc. Should not be instantiated directly. Also called Term.

              - -

              Link

              https://rdf.js.org/data-model-spec/#term-interface

              -
              -
              -

              Hierarchy

              -
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              - -
              -
              -

              Properties

              -
              - -
              classOrder: number
              -

              The class order for this node

              -
              -
              - -
              termType: TermType
              -

              The type of node

              -
              -
              - -
              value: string
              -

              The node's value

              -
              -
              - -
              fromValue: (<T>(value) => T)
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • <T>(value): T
                • -
                • -
                  -

                  Type Parameters

                  -
                    -
                  • -

                    T extends FromValueReturns

                  -
                  -

                  Parameters

                  -
                    -
                  • -
                    value: ValueType
                  -

                  Returns T

              -
              - -
              toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])
              -
              -

              Type declaration

              -
                -
              • -
                  -
                • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
                • -
                • -
                  -

                  Parameters

                  -
                    -
                  • -
                    term: any
                  -

                  Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

              -
              -

              Methods

              -
              - -
                - -
              • -

                Compares this node with another

                - -

                See

                to check if two nodes are equal

                -
                -
                -

                Parameters

                -
                  -
                • -
                  other: Node
                  -

                  The other node

                  -
                -

                Returns number

              -
              - -
                - -
              • -

                Compares whether the two nodes are equal

                -
                -
                -

                Parameters

                -
                  -
                • -
                  other: Term
                  -

                  The other node

                  -
                -

                Returns boolean

              -
              - -
                - -
              • -

                Creates a hash for this node

                - -

                Deprecated

                use {rdfFactory.id} instead if possible

                -
                -

                Returns string

              -
              - -
                - -
              • -

                Compares whether this node is the same as the other one

                -
                -
                -

                Parameters

                -
                  -
                • -
                  other: Node
                  -

                  Another node

                  -
                -

                Returns boolean

              -
              - -
                - -
              • -

                Creates the substituted node for this one, according to the specified bindings

                -
                -
                -

                Type Parameters

                -
                -
                -

                Parameters

                -
                  -
                • -
                  bindings: Bindings
                  -

                  Bindings of identifiers to nodes

                  -
                -

                Returns T

              -
              - -
                - -
              • -

                Creates a canonical string representation of this node

                -
                -

                Returns string

              -
              - -
                - -
              • -

                Creates a n-quads string representation of this node

                -
                -

                Returns string

              -
              - -
                - -
              • -

                Creates a n-triples string representation of this node

                -
                -

                Returns string

              -
              - -
                - -
              • -

                Creates a string representation of this node

                -
                -

                Returns string

              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +

              Hierarchy (view full)

              Constructors

              Properties

              classOrder: number

              The class order for this node

              +
              termType: TermType

              The type of node

              +
              value: string

              The node's value

              +
              fromValue: (<T>(value) => T)

              Type declaration

                • <T>(value): T
                • Type Parameters

                  • T extends FromValueReturns

                  Parameters

                  • value: ValueType

                  Returns T

              toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])

              Type declaration

                • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
                • Parameters

                  • term: any

                  Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

              Methods

              • Compares this node with another

                +

                Parameters

                • other: Node

                  The other node

                  +

                Returns number

                See

                to check if two nodes are equal

                +
              • Compares whether the two nodes are equal

                +

                Parameters

                • other: Term

                  The other node

                  +

                Returns boolean

              • Creates a hash for this node

                +

                Returns string

                Deprecated

                use {rdfFactory.id} instead if possible

                +
              • Compares whether this node is the same as the other one

                +

                Parameters

                • other: Node

                  Another node

                  +

                Returns boolean

              • Creates the substituted node for this one, according to the specified bindings

                +

                Type Parameters

                Parameters

                • bindings: Bindings

                  Bindings of identifiers to nodes

                  +

                Returns T

              • Creates a canonical string representation of this node

                +

                Returns string

              • Creates a n-triples string representation of this node

                +

                Returns string

              \ No newline at end of file diff --git a/doc/classes/Query.html b/doc/classes/Query.html index 61b387ef1..f2d3a57e1 100644 --- a/doc/classes/Query.html +++ b/doc/classes/Query.html @@ -1,207 +1,7 @@ -Query | rdflib
              -
              - -
              -
              -
              -
              - -

              Class Query

              -
              -

              Query class, for tracking queries the user has in the UI.

              -
              -
              -

              Hierarchy

              -
                -
              • Query
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              -
              -

              Properties

              -
              -
              -

              Constructors

              -
              - -
              -
              -

              Properties

              -
              - -
              id: any
              -
              - -
              name: any
              -
              - -
              pat: Store
              -
              - -
              vars: any[]
              -
              -
              -

              Generated using TypeDoc

              -
              \ No newline at end of file +Query | rdflib

              Class Query

              Query class, for tracking queries the user has in the UI.

              +

              Constructors

              Properties

              Constructors

              Properties

              id: any
              name: any
              pat: Store
              vars: any[]
              \ No newline at end of file diff --git a/doc/classes/RDFParser.html b/doc/classes/RDFParser.html index 2416c7a34..5205fe677 100644 --- a/doc/classes/RDFParser.html +++ b/doc/classes/RDFParser.html @@ -1,332 +1,19 @@ -RDFParser | rdflib
              -
              - -
              -
              -
              -
              - -

              Class RDFParser

              -
              -

              Hierarchy

              -
                -
              • RDFParser
              -
              -
              -
              - -
              -
              -

              Constructors

              -
              -
              -

              Properties

              -
              -
              -

              Methods

              -
              -
              -

              Constructors

              -
              - -
              -
              -

              Properties

              -
              - -
              base: undefined | string
              -
              - -
              bnodes: {}
              -
              -

              Type declaration

              -
                -
                - -
                reify: boolean
                -
                - -
                why: any
                -
                - -
                nodeType: {
                    ATTRIBUTE: number;
                    CDATA_SECTION: number;
                    COMMENT: number;
                    DOCUMENT: number;
                    DOCUMENT_FRAGMENT: number;
                    DOCUMENT_TYPE: number;
                    ELEMENT: number;
                    ENTITY: number;
                    ENTITY_REFERENCE: number;
                    NOTATION: number;
                    PROCESSING_INSTRUCTION: number;
                    TEXT: number;
                } = ...
                -

                DOM Level 2 node type magic numbers

                - -

                Final

                -

                Member

                RDFParser

                -
                -
                -

                Type declaration

                -
                  -
                • -
                  ATTRIBUTE: number
                • -
                • -
                  CDATA_SECTION: number
                • -
                • -
                  COMMENT: number
                • -
                • -
                  DOCUMENT: number
                • -
                • -
                  DOCUMENT_FRAGMENT: number
                • -
                • -
                  DOCUMENT_TYPE: number
                • -
                • -
                  ELEMENT: number
                • -
                • -
                  ENTITY: number
                • -
                • -
                  ENTITY_REFERENCE: number
                • -
                • -
                  NOTATION: number
                • -
                • -
                  PROCESSING_INSTRUCTION: number
                • -
                • -
                  TEXT: number
                -
                - -
                ns: {
                    RDF: string;
                    RDFS: string;
                } = ...
                -

                Standard namespaces that we know how to handle

                - -

                Final

                -

                Member

                RDFParser

                -
                -
                -

                Type declaration

                -
                  -
                • -
                  RDF: string
                • -
                • -
                  RDFS: string
                -
                -

                Methods

                -
                - -
                  - -
                • -
                  -

                  Parameters

                  -
                    -
                  • -
                    node: any
                  • -
                  • -
                    uri: any
                  • -
                  • -
                    name: any
                  -

                  Returns any

                -
                - -
                  - -
                • -

                  Build our initial scope frame and parse the DOM into triples

                  -
                  -
                  -

                  Parameters

                  -
                    -
                  • -
                    document: HTMLDocument
                    -

                    The DOM to parse

                    -
                  • -
                  • -
                    base: string
                    -

                    The base URL to use

                    -
                  • -
                  • -
                    why: any
                    -

                    The context to which this resource belongs

                    -
                  -

                  Returns boolean

                -
                - -
                -
                -
                -

                Generated using TypeDoc

                -
                \ No newline at end of file +RDFParser | rdflib

                Class RDFParser

                Constructors

                Properties

                Methods

                Constructors

                Properties

                base: undefined | string
                bnodes: {}

                Type declaration

                  reify: boolean
                  why: any
                  nodeType: {
                      ATTRIBUTE: number;
                      CDATA_SECTION: number;
                      COMMENT: number;
                      DOCUMENT: number;
                      DOCUMENT_FRAGMENT: number;
                      DOCUMENT_TYPE: number;
                      ELEMENT: number;
                      ENTITY: number;
                      ENTITY_REFERENCE: number;
                      NOTATION: number;
                      PROCESSING_INSTRUCTION: number;
                      TEXT: number;
                  } = ...

                  DOM Level 2 node type magic numbers

                  +

                  Type declaration

                  • ATTRIBUTE: number
                  • CDATA_SECTION: number
                  • COMMENT: number
                  • DOCUMENT: number
                  • DOCUMENT_FRAGMENT: number
                  • DOCUMENT_TYPE: number
                  • ELEMENT: number
                  • ENTITY: number
                  • ENTITY_REFERENCE: number
                  • NOTATION: number
                  • PROCESSING_INSTRUCTION: number
                  • TEXT: number

                  Final

                  Member

                  RDFParser

                  +
                  ns: {
                      RDF: string;
                      RDFS: string;
                  } = ...

                  Standard namespaces that we know how to handle

                  +

                  Type declaration

                  • RDF: string
                  • RDFS: string

                  Final

                  Member

                  RDFParser

                  +

                  Methods

                  • Parameters

                    • node: any
                    • uri: any
                    • name: any

                    Returns any

                  • Build our initial scope frame and parse the DOM into triples

                    +

                    Parameters

                    • document: HTMLDocument

                      The DOM to parse

                      +
                    • base: string

                      The base URL to use

                      +
                    • why: any

                      The context to which this resource belongs

                      +

                    Returns boolean

                  \ No newline at end of file diff --git a/doc/classes/RDFaProcessor.html b/doc/classes/RDFaProcessor.html index 27f1077bf..c78624d12 100644 --- a/doc/classes/RDFaProcessor.html +++ b/doc/classes/RDFaProcessor.html @@ -1,858 +1,55 @@ -RDFaProcessor | rdflib
                  -
                  - -
                  -
                  -
                  -
                  - -

                  Class RDFaProcessor

                  -
                  -

                  Hierarchy

                  -
                    -
                  • RDFaProcessor
                  -
                  -
                  -
                  - -
                  -
                  -

                  Constructors

                  -
                  - -
                  -
                  -

                  Properties

                  -
                  - -
                  absURIRE: RegExp
                  -
                  - -
                  blankCounter: number
                  -
                  - -
                  blankNodes: any[]
                  -
                  - -
                  finishedHandlers: any[]
                  -
                  - -
                  htmlOptions: {
                      selfClosing: string;
                  }
                  -
                  -

                  Type declaration

                  -
                    -
                  • -
                    selfClosing: string
                  -
                  - -
                  inHTMLMode: undefined | boolean
                  -
                  - -
                  inXHTMLMode: boolean
                  -
                  - -
                  kb: any
                  -
                  - -
                  langAttributes: {
                      localName: string;
                      namespaceURI: string;
                  }[]
                  -
                  - -
                  language: any
                  -
                  - -
                  options: any
                  -
                  - -
                  target: any
                  -
                  - -
                  theOne: string
                  -
                  - -
                  vocabulary: any
                  -
                  - -
                  HTMLLiteralURI: string
                  -
                  - -
                  NCNAME: RegExp
                  -
                  - -
                  PlainLiteralURI: string
                  -
                  - -
                  XMLLiteralURI: string
                  -
                  - -
                  dateTimeTypes: {
                      pattern: RegExp;
                      type: string;
                  }[]
                  -
                  - -
                  nameChar: string
                  -
                  - -
                  nameStartChar: string
                  -
                  - -
                  objectURI: string
                  -
                  - -
                  typeURI: string
                  -
                  -

                  Methods

                  -
                  - -
                    - -
                  • -
                    -

                    Parameters

                    -
                      -
                    • -
                      origin: any
                    • -
                    • -
                      subject: any
                    • -
                    • -
                      predicate: any
                    • -
                    • -
                      object: any
                    -

                    Returns void

                  -
                  - -
                    - -
                  • -
                    -

                    Parameters

                    -
                      -
                    • -
                      node: any
                    -

                    Returns string

                  -
                  - -
                    - -
                  • -
                    -

                    Parameters

                    -
                      -
                    • -
                      mappings: any
                    -

                    Returns {}

                    -
                    -
                    - -
                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        value: any
                      -

                      Returns null | string

                    -
                    - -
                    -
                    - -
                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        origin: any
                      • -
                      • -
                        subject: any
                      -

                      Returns void

                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        value: any
                      • -
                      • -
                        prefixes: any
                      • -
                      • -
                        base: any
                      -

                      Returns any

                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        value: any
                      • -
                      • -
                        prefixes: any
                      • -
                      • -
                        base: any
                      -

                      Returns any

                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        value: any
                      • -
                      • -
                        defaultVocabulary: any
                      • -
                      • -
                        terms: any
                      • -
                      • -
                        prefixes: any
                      • -
                      • -
                        base: any
                      • -
                      • -
                        ignoreTerms: any
                      -

                      Returns any

                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        str: any
                      • -
                      • -
                        target: any
                      -

                      Returns void

                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        value: any
                      • -
                      • -
                        prefixes: any
                      • -
                      • -
                        base: any
                      -

                      Returns any

                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        value: any
                      • -
                      • -
                        defaultVocabulary: any
                      • -
                      • -
                        terms: any
                      • -
                      • -
                        prefixes: any
                      • -
                      • -
                        base: any
                      -

                      Returns any

                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        value: any
                      • -
                      • -
                        defaultVocabulary: any
                      • -
                      • -
                        terms: any
                      • -
                      • -
                        prefixes: any
                      • -
                      • -
                        base: any
                      -

                      Returns any

                    -
                    - -
                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        node: any
                      • -
                      • -
                        options: any
                      -

                      Returns void

                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        parent: any
                      • -
                      • -
                        subject: any
                      -

                      Returns {
                          incomplete: never[];
                          language: any;
                          listMapping: any;
                          parent: any;
                          parentObject: null;
                          prefixes: any;
                          subject: any;
                          terms: any;
                          vocabulary: any;
                      }

                      -
                        -
                      • -
                        incomplete: never[]
                      • -
                      • -
                        language: any
                      • -
                      • -
                        listMapping: any
                      • -
                      • -
                        parent: any
                      • -
                      • -
                        parentObject: null
                      • -
                      • -
                        prefixes: any
                      • -
                      • -
                        subject: any
                      • -
                      • -
                        terms: any
                      • -
                      • -
                        vocabulary: any
                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        base: any
                      • -
                      • -
                        uri: any
                      -

                      Returns string

                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        node: any
                      -

                      Returns void

                    -
                    - -
                    -
                    - -
                    -
                    - -
                    -
                    - -
                    -
                    - -
                    -
                    - -
                    -
                    - -
                    -
                    - -
                      - -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        dom: any
                      • -
                      • -
                        kb: any
                      • -
                      • -
                        base: any
                      -

                      Returns void

                    -
                    - -
                    -
                    - -
                    -
                    - -
                    -
                    -

                    Generated using TypeDoc

                    -
                    \ No newline at end of file +RDFaProcessor | rdflib

                    Class RDFaProcessor

                    Constructors

                    Properties

                    absURIRE: RegExp
                    blankCounter: number
                    blankNodes: any[]
                    finishedHandlers: any[]
                    htmlOptions: {
                        selfClosing: string;
                    }

                    Type declaration

                    • selfClosing: string
                    inHTMLMode: undefined | boolean
                    inXHTMLMode: boolean
                    kb: any
                    langAttributes: {
                        localName: string;
                        namespaceURI: string;
                    }[]

                    Type declaration

                    • localName: string
                    • namespaceURI: string
                    language: any
                    options: any
                    target: any
                    theOne: string
                    vocabulary: any
                    HTMLLiteralURI: string
                    NCNAME: RegExp
                    PlainLiteralURI: string
                    XMLLiteralURI: string
                    dateTimeTypes: {
                        pattern: RegExp;
                        type: string;
                    }[]

                    Type declaration

                    • pattern: RegExp
                    • type: string
                    nameChar: string
                    nameStartChar: string
                    objectURI: string
                    typeURI: string

                    Methods

                    • Parameters

                      • origin: any
                      • subject: any
                      • predicate: any
                      • object: any

                      Returns void

                    • Parameters

                      • value: any

                      Returns null | string

                    • Parameters

                      • origin: any
                      • subject: any

                      Returns void

                    • Parameters

                      • value: any
                      • prefixes: any
                      • base: any

                      Returns any

                    • Parameters

                      • value: any
                      • prefixes: any
                      • base: any

                      Returns any

                    • Parameters

                      • value: any
                      • defaultVocabulary: any
                      • terms: any
                      • prefixes: any
                      • base: any
                      • ignoreTerms: any

                      Returns any

                    • Parameters

                      • str: any
                      • target: any

                      Returns void

                    • Parameters

                      • value: any
                      • prefixes: any
                      • base: any

                      Returns any

                    • Parameters

                      • value: any
                      • defaultVocabulary: any
                      • terms: any
                      • prefixes: any
                      • base: any

                      Returns any

                    • Parameters

                      • value: any
                      • defaultVocabulary: any
                      • terms: any
                      • prefixes: any
                      • base: any

                      Returns any

                    • Parameters

                      • parent: any
                      • subject: any

                      Returns {
                          incomplete: never[];
                          language: any;
                          listMapping: any;
                          parent: any;
                          parentObject: null;
                          prefixes: any;
                          subject: any;
                          terms: any;
                          vocabulary: any;
                      }

                      • incomplete: never[]
                      • language: any
                      • listMapping: any
                      • parent: any
                      • parentObject: null
                      • prefixes: any
                      • subject: any
                      • terms: any
                      • vocabulary: any
                    • Parameters

                      • base: any
                      • uri: any

                      Returns string

                    • Parameters

                      • dom: any
                      • kb: any
                      • base: any

                      Returns void

                    \ No newline at end of file diff --git a/doc/classes/Statement.html b/doc/classes/Statement.html index 7330ba4ad..0c3eddb60 100644 --- a/doc/classes/Statement.html +++ b/doc/classes/Statement.html @@ -1,111 +1,21 @@ -Statement | rdflib
                    -
                    - -
                    -
                    -
                    -
                    - -

                    Class Statement<S, P, O, G>

                    -
                    -

                    A Statement represents an RDF Triple or Quad.

                    -
                    -
                    -

                    Type Parameters

                    -
                      -
                    • -

                      S extends SubjectType = SubjectType

                    • -
                    • -

                      P extends PredicateType = PredicateType

                    • -
                    • -

                      O extends ObjectType = ObjectType

                    • -
                    • -

                      G extends GraphType = GraphType

                    -
                    -

                    Hierarchy

                    -
                      -
                    • Statement
                    -
                    -

                    Implements

                    -
                      -
                    • Quad<S, P, O, G | DefaultGraph>
                    -
                    -
                    -
                    - -
                    -
                    -

                    Constructors

                    -
                    -
                    -

                    Properties

                    -
                    -
                    -

                    Accessors

                    -
                    why -
                    -
                    -

                    Methods

                    -
                    -
                    -

                    Constructors

                    -
                    - -
                      - -
                    • -

                      Construct a new statement

                      -
                      -
                      -

                      Type Parameters

                      -
                        -
                      • -

                        S extends SubjectType = SubjectType

                      • -
                      • -

                        P extends PredicateType = PredicateType

                      • -
                      • -

                        O extends ObjectType = ObjectType

                      • -
                      • -

                        G extends GraphType = GraphType

                      -
                      -

                      Parameters

                      -
                        -
                      • -
                        subject: S
                        -

                        The subject of the triple. What the fact is about

                        -
                      • -
                      • -
                        predicate: P
                        -

                        The relationship which is asserted between the subject and object

                        -
                      • -
                      • -
                        object: O
                        -

                        The thing or data value which is asserted to be related to the subject

                        -
                      • -
                      • -
                        Optional graph: DefaultGraph | G
                        -

                        The document where the triple is or was or will be stored on the web.

                        +Statement | rdflib

                        Class Statement<S, P, O, G>

                        A Statement represents an RDF Triple or Quad.

                        +

                        Type Parameters

                        • S extends SubjectType = SubjectType
                        • P extends PredicateType = PredicateType
                        • O extends ObjectType = ObjectType
                        • G extends GraphType = GraphType

                        Implements

                        • Quad<S, P, O, G | DefaultGraph>

                        Constructors

                        Properties

                        Accessors

                        why +

                        Methods

                        Constructors

                        • Construct a new statement

                          +

                          Type Parameters

                          • S extends SubjectType = SubjectType
                          • P extends PredicateType = PredicateType
                          • O extends ObjectType = ObjectType
                          • G extends GraphType = GraphType

                          Parameters

                          • subject: S

                            The subject of the triple. What the fact is about

                            +
                          • predicate: P

                            The relationship which is asserted between the subject and object

                            +
                          • object: O

                            The thing or data value which is asserted to be related to the subject

                            +
                          • Optional graph: DefaultGraph | G

                            The document where the triple is or was or will be stored on the web.

                            The graph param is a named node of the document in which the triple when it is stored on the web. It exists because when you have read data from various places in the web, the “graph” tells you why you have the triple. (At the moment, it is just the @@ -113,274 +23,18 @@

                            Optional Returns Statement<S, P, O, G>
                        -
                        -

                        Properties

                        -
                        - -
                        graph: DefaultGraph | G
                        -

                        The graph param is a named node of the document in which the triple when +

                      Returns Statement<S, P, O, G>

                    Properties

                    graph: DefaultGraph | G

                    The graph param is a named node of the document in which the triple when it is stored on the web.

                    -
                    -
                    - -
                    object: O
                    -

                    The thing or data value which is asserted to be related to the subject

                    -
                    -
                    - -
                    predicate: P
                    -

                    The relationship which is asserted between the subject and object

                    -
                    -
                    - -
                    subject: S
                    -

                    The subject of the triple. What the Statement is about.

                    -
                    -
                    -

                    Accessors

                    -
                    - -
                      -
                    • get why(): DefaultGraph | G
                    • -
                    • -

                      Alias for graph, favored by Tim

                      -
                      -

                      Returns DefaultGraph | G

                    • -
                    • set why(g): void
                    • -
                    • -
                      -

                      Parameters

                      -
                        -
                      • -
                        g: DefaultGraph | G
                      -

                      Returns void

                    -
                    -

                    Methods

                    -
                    - -
                      - -
                    • -

                      Checks whether two statements are the same

                      -
                      -
                      -

                      Parameters

                      -
                        -
                      • -
                        other: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
                        -

                        The other statement

                        -
                      -

                      Returns boolean

                    -
                    - -
                      - -
                    • -

                      Creates a statement with the bindings substituted

                      -
                      -
                      -

                      Parameters

                      -
                        -
                      • -
                        bindings: Bindings
                        -

                        The bindings

                        -
                      -

                      Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>

                    -
                    - -
                      - -
                    • -

                      Creates a canonical string representation of this statement.

                      -
                      -

                      Returns string

                    -
                    - -
                      - -
                    • -

                      Creates a n-quads string representation of this statement

                      -
                      -

                      Returns string

                    -
                    - -
                      - -
                    • -

                      Creates a n-triples string representation of this statement

                      -
                      -

                      Returns string

                    -
                    - -
                      - -
                    • -

                      Creates a string representation of this statement

                      -
                      -

                      Returns string

                    -
                    -
                    -

                    Generated using TypeDoc

                    -
                    \ No newline at end of file +
                    object: O

                    The thing or data value which is asserted to be related to the subject

                    +
                    predicate: P

                    The relationship which is asserted between the subject and object

                    +
                    subject: S

                    The subject of the triple. What the Statement is about.

                    +

                    Accessors

                    Methods

                    • Checks whether two statements are the same

                      +

                      Parameters

                      • other: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>

                        The other statement

                        +

                      Returns boolean

                    • Creates a statement with the bindings substituted

                      +

                      Parameters

                      • bindings: Bindings

                        The bindings

                        +

                      Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>

                    • Creates a canonical string representation of this statement.

                      +

                      Returns string

                    • Creates a n-quads string representation of this statement

                      +

                      Returns string

                    • Creates a n-triples string representation of this statement

                      +

                      Returns string

                    • Creates a string representation of this statement

                      +

                      Returns string

                    \ No newline at end of file diff --git a/doc/classes/Store.html b/doc/classes/Store.html index 1dcfb67f7..a675aa7b9 100644 --- a/doc/classes/Store.html +++ b/doc/classes/Store.html @@ -1,2295 +1,379 @@ -Store | rdflib
                    -
                    - -
                    -
                    -
                    -
                    - -

                    Class Store

                    -
                    -

                    Indexed Formula aka Store

                    -
                    -
                    -

                    Hierarchy

                    -
                    -
                    -
                    -
                    - -
                    -
                    -

                    Constructors

                    -
                    - -
                      - -
                    • -

                      Creates a new formula

                      -
                      -
                      -

                      Parameters

                      -
                        -
                      • -
                        Optional features: FeaturesType
                        -

                        What sort of automatic processing to do? Array of string

                        -
                      • -
                      • -
                        opts: FormulaOpts = {}
                      -

                      Returns Store

                    -
                    -

                    Properties

                    -
                    - -
                    HTTPRedirects: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                    -

                    Redirections we got from HTTP

                    -
                    -
                    - -
                    _existentialVariables?: BlankNode[]
                    -
                    - -
                    _universalVariables?: NamedNode[]
                    -
                    - -
                    aliases: any[]
                    -

                    Reverse mapping to redirection: aliases for this

                    -
                    -
                    - -
                    classActions: {
                        [k: string]: Function[];
                    }
                    -

                    Map of iri predicates to functions to call when adding { s type X }

                    -
                    -
                    -

                    Type declaration

                    -
                      -
                    • -
                      [k: string]: Function[]
                    -
                    - -
                    classOrder: number = ClassOrder.Graph
                    -

                    The class order for this node

                    -
                    -
                    - -
                    constraints: readonly any[] = []
                    -

                    initial array of constraints

                    -
                    -
                    - -
                    features: FeaturesType
                    -
                    - -
                    fetcher?: Fetcher
                    -

                    The accompanying fetcher instance.

                    +Store | rdflib

                    Class Store

                    Indexed Formula aka Store

                    +

                    Hierarchy (view full)

                    Constructors

                    • Creates a new formula

                      +

                      Parameters

                      • Optional features: FeaturesType

                        What sort of automatic processing to do? Array of string

                        +
                      • opts: FormulaOpts = {}

                      Returns Store

                    Properties

                    HTTPRedirects: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                    Redirections we got from HTTP

                    +
                    _existentialVariables?: BlankNode[]
                    _universalVariables?: NamedNode[]
                    aliases: any[]

                    Reverse mapping to redirection: aliases for this

                    +
                    classActions: {
                        [k: string]: Function[];
                    }

                    Map of iri predicates to functions to call when adding { s type X }

                    +

                    Type declaration

                    • [k: string]: Function[]
                    classOrder: number = ClassOrder.Graph

                    The class order for this node

                    +
                    constraints: readonly any[] = []

                    initial array of constraints

                    +
                    features: FeaturesType
                    fetcher?: Fetcher

                    The accompanying fetcher instance.

                    Is set by the fetcher when initialized.

                    -
                    -
                    - -
                    index: [Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[]]
                    -
                    - -
                    initBindings: readonly any[] = []
                    -

                    initial bindings used in Query

                    -
                    -
                    - -
                    isVar: number = 0
                    -
                    - -
                    namespaces: {
                        [key: string]: string;
                    }
                    -

                    Dictionary of namespace prefixes

                    -
                    -
                    -

                    Type declaration

                    -
                      -
                    • -
                      [key: string]: string
                    -
                    - -
                    ns: ((nsuri, factory?) => ((ln) => NamedNode)) = Namespace
                    -
                    -

                    Type declaration

                    -
                      -
                    • -
                        -
                      • (nsuri, factory?): ((ln) => NamedNode)
                      • -
                      • -

                        A namespace for the specified namespace's URI

                        -
                        -
                        -

                        Parameters

                        -
                          -
                        • -
                          nsuri: string
                          -

                          The URI for the namespace

                          -
                        • -
                        • -
                          Optional factory: RdfJsDataFactory
                        -

                        Returns ((ln) => NamedNode)

                        -
                          -
                        • -
                            -
                          • (ln): NamedNode
                          • -
                          • -
                            -

                            Parameters

                            -
                              -
                            • -
                              ln: string
                            -

                            Returns NamedNode

                    -
                    - -
                    objectIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                    -

                    Array of statements with this X as object

                    -
                    -
                    - -
                    optional: readonly any[] = []
                    -

                    optional

                    -
                    -
                    - -
                    predicateIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                    -

                    Array of statements with this X as predicate

                    -
                    -
                    - -
                    propertyActions: {
                        [k: string]: Function[];
                    }
                    -

                    Map of iri predicates to functions to call when getting statement with {s X o}

                    -
                    -
                    -

                    Type declaration

                    -
                      -
                    • -
                      [k: string]: Function[]
                    -
                    - -
                    rdfFactory: any
                    -

                    The factory used to generate statements and terms

                    -
                    -
                    - -
                    redirections: any[]
                    -

                    Redirect to lexically smaller equivalent symbol

                    -
                    -
                    - -
                    statements: Statement<SubjectType, PredicateType, ObjectType, GraphType>[] = []
                    -

                    Initial array of statements

                    -
                    -
                    - -
                    subjectIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                    -

                    Array of statements with this X as subject

                    -
                    -
                    - -
                    termType: "Graph" = GraphTermType
                    -

                    The type of node

                    -
                    -
                    - -
                    updater?: UpdateManager
                    -

                    An UpdateManager initialised to this store

                    -
                    -
                    - -
                    value: string
                    -

                    The node's value

                    -
                    -
                    - -
                    whyIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                    -

                    Array of statements with X as provenance

                    -
                    -
                    - -
                    fromValue: (<T>(value) => T)
                    -
                    -

                    Type declaration

                    -
                      -
                    • -
                        -
                      • <T>(value): T
                      • -
                      • -
                        -

                        Type Parameters

                        -
                          -
                        • -

                          T extends FromValueReturns

                        -
                        -

                        Parameters

                        -
                          -
                        • -
                          value: ValueType
                        -

                        Returns T

                    -
                    - -
                    handleRDFType: Function
                    -
                    - -
                    toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])
                    -
                    -

                    Type declaration

                    -
                      -
                    • -
                        -
                      • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
                      • -
                      • -
                        -

                        Parameters

                        -
                          -
                        • -
                          term: any
                        -

                        Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

                    -
                    -

                    Accessors

                    -
                    - -
                    index: [Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[], Statement<SubjectType, PredicateType, ObjectType, GraphType>[]]
                    initBindings: readonly any[] = []

                    initial bindings used in Query

                    +
                    isVar: number = 0
                    namespaces: {
                        [key: string]: string;
                    }

                    Dictionary of namespace prefixes

                    +

                    Type declaration

                    • [key: string]: string
                    ns: ((nsuri, factory?) => ((ln) => NamedNode)) = Namespace

                    A namespace for the specified namespace's URI

                    +

                    Type declaration

                      • (nsuri, factory?): ((ln) => NamedNode)
                      • Parameters

                        • nsuri: string

                          The URI for the namespace

                          +
                        • Optional factory: RdfJsDataFactory

                        Returns ((ln) => NamedNode)

                          • (ln): NamedNode
                          • Parameters

                            • ln: string

                            Returns NamedNode

                    objectIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                    Array of statements with this X as object

                    +
                    optional: readonly any[] = []

                    optional

                    +
                    predicateIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                    Array of statements with this X as predicate

                    +
                    propertyActions: {
                        [k: string]: Function[];
                    }

                    Map of iri predicates to functions to call when getting statement with {s X o}

                    +

                    Type declaration

                    • [k: string]: Function[]
                    rdfFactory: any

                    The factory used to generate statements and terms

                    +
                    redirections: any[]

                    Redirect to lexically smaller equivalent symbol

                    +
                    statements: Statement<SubjectType, PredicateType, ObjectType, GraphType>[] = []

                    Initial array of statements

                    +
                    subjectIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                    Array of statements with this X as subject

                    +
                    termType: "Graph" = GraphTermType

                    The type of node

                    +
                    updater?: UpdateManager

                    An UpdateManager initialised to this store

                    +
                    value: string

                    The node's value

                    +
                    whyIndex: Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                    Array of statements with X as provenance

                    +
                    fromValue: (<T>(value) => T)

                    Type declaration

                      • <T>(value): T
                      • Type Parameters

                        • T extends FromValueReturns

                        Parameters

                        • value: ValueType

                        Returns T

                    handleRDFType: Function
                    toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])

                    Type declaration

                      • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
                      • Parameters

                        • term: any

                        Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

                    Accessors

                    • get length(): number
                    • Returns the number of statements contained in this IndexedFormula. (Getter proxy to this.statements). Usage:

                      -
                      var kb = rdf.graph()
                      kb.length // -> 0 -
                      - -

                      Returns

                      -

                      Returns number

                    -
                    - -
                      -
                    • get defaultGraphURI(): string
                    • -
                    • -

                      Gets the URI of the default graph

                      -
                      -

                      Returns string

                    -
                    -

                    Methods

                    -
                    - -
                      - -
                    • -

                      Transform a collection of NTriple URIs into their URI strings

                      - -

                      Returns

                      A collection of the URIs as strings +

                      var kb = rdf.graph()
                      kb.length // -> 0 +
                      +

                      Returns number

                    • get defaultGraphURI(): string
                    • Gets the URI of the default graph

                      +

                      Returns string

                    Methods

                    • Transform a collection of NTriple URIs into their URI strings

                      +

                      Parameters

                      • t: any

                        Some iterable collection of NTriple URI strings

                        +

                      Returns {}

                      A collection of the URIs as strings todo: explain why it is important to go through NT

                      -
                    -
                    -

                    Parameters

                    -
                      -
                    • -
                      t: any
                      -

                      Some iterable collection of NTriple URI strings

                      -
                    -

                    Returns {}

                    -
                      -
                      - -
                        - -
                      • -

                        Adds a triple (quad) to the store.

                        - -

                        Returns

                        The statement added to the store, or the store

                        -
                        -
                        -

                        Parameters

                        -
                          -
                        • -
                          subj: Quad_Subject | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Statement<SubjectType, PredicateType, ObjectType, GraphType> | Statement<SubjectType, PredicateType, ObjectType, GraphType>[] | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                          -

                          The thing about which the fact a relationship is asserted. +

                        • Adds a triple (quad) to the store.

                          +

                          Parameters

                          • subj: Quad_Subject | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Statement<SubjectType, PredicateType, ObjectType, GraphType> | Statement<SubjectType, PredicateType, ObjectType, GraphType>[] | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

                            The thing about which the fact a relationship is asserted. Also accepts a statement or an array of Statements.

                            -
                          • -
                          • -
                            Optional pred: Quad_Predicate
                            -

                            The relationship which is asserted

                            -
                          • -
                          • -
                            Optional obj: string | Term
                            -

                            The object of the relationship, e.g. another thing or a value. If passed a string, this will become a literal.

                            -
                          • -
                          • -
                            Optional why: Quad_Graph
                            -

                            The document in which the triple (S,P,O) was or will be stored on the web

                            -
                          -

                          Returns null | number | Statement<SubjectType, PredicateType, ObjectType, GraphType> | Store

                        -
                        - -
                          - -
                        • -

                          Adds all the statements to this formula

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            statements: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                            -

                            A collection of statements

                            -
                          -

                          Returns void

                        -
                        - -
                          - -
                        • -

                          Add a callback which will be triggered after a statement has been added to the store.

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            cb: ((q) => void)
                            -
                              -
                            • -
                                -
                              • (q): void
                              • -
                              • -
                                -

                                Parameters

                                -
                                  -
                                • -
                                  q: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
                                -

                                Returns void

                          -

                          Returns void

                        -
                        - -
                          - -
                        • -
                          -

                          Deprecated

                          Use {add} instead

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
                          -

                          Returns number

                        -
                        - -
                        -
                        - -
                          - -
                        • -

                          Follow link from one node, using one wildcard, looking for one

                          +
                        • Optional pred: Quad_Predicate

                          The relationship which is asserted

                          +
                        • Optional obj: string | Term

                          The object of the relationship, e.g. another thing or a value. If passed a string, this will become a literal.

                          +
                        • Optional why: Quad_Graph

                          The document in which the triple (S,P,O) was or will be stored on the web

                          +

                        Returns null | number | Statement<SubjectType, PredicateType, ObjectType, GraphType> | Store

                        The statement added to the store, or the store

                        +
                        • Adds all the statements to this formula

                          +

                          Parameters

                          • statements: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

                            A collection of statements

                            +

                          Returns void

                        • Add a callback which will be triggered after a statement has been added to the store.

                          +

                          Parameters

                          • cb: ((q) => void)
                              • (q): void
                              • Parameters

                                • q: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>

                                Returns void

                          Returns void

                        • Parameters

                          • st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>

                          Returns number

                          Deprecated

                          Use {add} instead

                          +
                        • Follow link from one node, using one wildcard, looking for one

                          For example, any(me, knows, null, profile) - a person I know accoring to my profile . any(me, knows, null, null) - a person I know accoring to anything in store . any(null, knows, me, null) - a person who know me accoring to anything in store .

                          - -

                          Returns

                          A node which match the wildcard position, or null

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            Optional s: null | Quad_Subject
                            -

                            A node to search for as subject, or if null, a wildcard

                            -
                          • -
                          • -
                            Optional p: null | Quad_Predicate
                            -

                            A node to search for as predicate, or if null, a wildcard

                            -
                          • -
                          • -
                            Optional o: null | Quad_Object
                            -

                            A node to search for as object, or if null, a wildcard

                            -
                          • -
                          • -
                            Optional g: null | Quad_Graph
                            -

                            A node to search for as graph, or if null, a wildcard

                            -
                          -

                          Returns null | Node

                        -
                        - -
                          - -
                        • -

                          Gets the first JavaScript object equivalent to a node based on the specified pattern

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            Optional s: null | Quad_Subject
                            -

                            The subject

                            -
                          • -
                          • -
                            Optional p: null | Quad_Predicate
                            -

                            The predicate

                            -
                          • -
                          • -
                            Optional o: null | Quad_Object
                            -

                            The object

                            -
                          • -
                          • -
                            Optional g: null | Quad_Graph
                            -

                            The graph that contains the statement

                            -
                          -

                          Returns any

                        -
                        - -
                          - -
                        • -

                          Gets the first statement that matches the specified pattern

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            Optional s: null | Quad_Subject
                          • -
                          • -
                            Optional p: null | Quad_Predicate
                          • -
                          • -
                            Optional o: null | Quad_Object
                          • -
                          • -
                            Optional g: null | Quad_Graph
                          -

                          Returns undefined | Statement<SubjectType, PredicateType, ObjectType, GraphType>

                        -
                        - -
                          - -
                        • -

                          Gets the value of a node that matches the specified pattern

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            Optional s: null | Quad_Subject
                            -

                            The subject

                            -
                          • -
                          • -
                            Optional p: null | Quad_Predicate
                            -

                            The predicate

                            -
                          • -
                          • -
                            Optional o: null | Quad_Object
                            -

                            The object

                            -
                          • -
                          • -
                            Optional g: null | Quad_Graph
                            -

                            The graph that contains the statement

                            -
                          -

                          Returns string | void

                        -
                        - -
                          - -
                        • -

                          Apply a set of statements to be deleted and to be inserted

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            patch: {
                                delete?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[];
                                patch?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[];
                                where?: any;
                            }
                            -

                            The set of statements to be deleted and to be inserted

                            -
                            -
                              -
                            • -
                              Optional delete?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                            • -
                            • -
                              Optional patch?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                            • -
                            • -
                              Optional where?: any
                          • -
                          • -
                            target: NamedNode
                            -

                            The name of the document to patch

                            -
                          • -
                          • -
                            patchCallback: ((errorString?) => void)
                            -

                            Callback to be called when patching is complete

                            -
                            -
                              -
                            • -
                                -
                              • (errorString?): void
                              • -
                              • -
                                -

                                Parameters

                                -
                                  -
                                • -
                                  Optional errorString: string
                                -

                                Returns void

                          -

                          Returns void

                        -
                        - -
                        -
                        - -
                          - -
                        • -

                          Finds the types in the list which have no stored subtypes +

                          Parameters

                          • Optional s: null | Quad_Subject

                            A node to search for as subject, or if null, a wildcard

                            +
                          • Optional p: null | Quad_Predicate

                            A node to search for as predicate, or if null, a wildcard

                            +
                          • Optional o: null | Quad_Object

                            A node to search for as object, or if null, a wildcard

                            +
                          • Optional g: null | Quad_Graph

                            A node to search for as graph, or if null, a wildcard

                            +

                          Returns null | Node

                          A node which match the wildcard position, or null

                          +
                        • Gets the first JavaScript object equivalent to a node based on the specified pattern

                          +

                          Parameters

                          • Optional s: null | Quad_Subject

                            The subject

                            +
                          • Optional p: null | Quad_Predicate

                            The predicate

                            +
                          • Optional o: null | Quad_Object

                            The object

                            +
                          • Optional g: null | Quad_Graph

                            The graph that contains the statement

                            +

                          Returns any

                        • Gets the first statement that matches the specified pattern

                          +

                          Parameters

                          • Optional s: null | Quad_Subject
                          • Optional p: null | Quad_Predicate
                          • Optional o: null | Quad_Object
                          • Optional g: null | Quad_Graph

                          Returns undefined | Statement<SubjectType, PredicateType, ObjectType, GraphType>

                        • Gets the value of a node that matches the specified pattern

                          +

                          Parameters

                          • Optional s: null | Quad_Subject

                            The subject

                            +
                          • Optional p: null | Quad_Predicate

                            The predicate

                            +
                          • Optional o: null | Quad_Object

                            The object

                            +
                          • Optional g: null | Quad_Graph

                            The graph that contains the statement

                            +

                          Returns string | void

                        • Apply a set of statements to be deleted and to be inserted

                          +

                          Parameters

                          • patch: {
                                delete?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[];
                                patch?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[];
                                where?: any;
                            }

                            The set of statements to be deleted and to be inserted

                            +
                            • Optional delete?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                            • Optional patch?: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                            • Optional where?: any
                          • target: NamedNode

                            The name of the document to patch

                            +
                          • patchCallback: ((errorString?) => void)

                            Callback to be called when patching is complete

                            +
                              • (errorString?): void
                              • Parameters

                                • Optional errorString: string

                                Returns void

                          Returns void

                        • Finds the types in the list which have no stored subtypes These are a set of classes which provide by themselves complete information -- the other classes are redundant for those who know the class DAG.

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            types: any
                            -

                            A map of the types

                            -
                          -

                          Returns any

                        -
                        - -
                          - -
                        • -

                          Returns the symbol with canonical URI as smushed

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            Optional term: Term
                            -

                            An RDF node

                            -
                          -

                          Returns Node

                        -
                        - -
                          - -
                        • -

                          Checks this formula for consistency

                          -
                          -

                          Returns void

                        -
                        - -
                          - -
                        • -

                          Checks a list of statements for consistency

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            sts: readonly Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                            -

                            The list of statements to check

                            -
                          • -
                          • -
                            Optional from: number
                            -

                            An index with the array ['subject', 'predicate', 'object', 'why']

                            -
                          -

                          Returns boolean | void

                        -
                        - -
                        -
                        - -
                        -
                        - -
                          - -
                        • -

                          Compares this node with another

                          - -

                          See

                          to check if two nodes are equal

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            other: Node
                            -

                            The other node

                            -
                          -

                          Returns number

                        -
                        - -
                          - -
                        • -
                          -

                          Parameters

                          -
                            -
                          • -
                            u1: Term
                          • -
                          • -
                            u2: Term
                          -

                          Returns number

                        -
                        - -
                          - -
                        • -

                          Trace statements which connect directly, or through bnodes

                          - -

                          Returns

                          an array of statements, duplicate statements are suppresssed.

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            subject: Quad_Subject
                            -

                            The node to start looking for statments

                            -
                          • -
                          • -
                            doc: Quad_Graph
                            -

                            The document to be searched, or null to search all documents

                            -
                          • -
                          • -
                            Optional excludePredicateURIs: readonly string[]
                          -

                          Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                        -
                        - -
                          - -
                        • -

                          replaces

                          - -

                          Target

                          and add appropriate triples +

                          Parameters

                          • types: any

                            A map of the types

                            +

                          Returns any

                        • Returns the symbol with canonical URI as smushed

                          +

                          Parameters

                          • Optional term: Term

                            An RDF node

                            +

                          Returns Node

                        • Checks this formula for consistency

                          +

                          Returns void

                        • Checks a list of statements for consistency

                          +

                          Parameters

                          • sts: readonly Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

                            The list of statements to check

                            +
                          • Optional from: number

                            An index with the array ['subject', 'predicate', 'object', 'why']

                            +

                          Returns boolean | void

                        • Parameters

                          • u1: Term
                          • u2: Term

                          Returns number

                        • Trace statements which connect directly, or through bnodes

                          +

                          Parameters

                          • subject: Quad_Subject

                            The node to start looking for statments

                            +
                          • doc: Quad_Graph

                            The document to be searched, or null to search all documents

                            +
                          • Optional excludePredicateURIs: readonly string[]

                          Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                          an array of statements, duplicate statements are suppresssed.

                          +
                        • replaces

                          +

                          Parameters

                          • template: Quad_Subject

                            node to copy

                            +
                          • target: Quad_Subject

                            node to copy to

                            +
                          • Optional flags: ("delete" | "two-direction")[]

                            Whether or not to do a two-directional copy and/or delete triples

                            +

                          Returns void

                          Target

                          and add appropriate triples removes no triples by default and is a one-direction replication

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            template: Quad_Subject
                            -

                            node to copy

                            -
                          • -
                          • -
                            target: Quad_Subject
                            -

                            node to copy to

                            -
                          • -
                          • -
                            Optional flags: ("delete" | "two-direction")[]
                            -

                            Whether or not to do a two-directional copy and/or delete triples

                            -
                          -

                          Returns void

                        -
                        - -
                          - -
                        • -

                          N3 allows for declaring blank nodes, this function enables that support

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            x: BlankNode
                            -

                            The blank node to be declared, supported in N3

                            -
                          -

                          Returns BlankNode

                        -
                        - -
                          - -
                        • -

                          Follow links from one node, using one wildcard.

                          +
                        • N3 allows for declaring blank nodes, this function enables that support

                          +

                          Parameters

                          • x: BlankNode

                            The blank node to be declared, supported in N3

                            +

                          Returns BlankNode

                        • Follow links from one node, using one wildcard.

                          For example, each(me, knows, null, profile) - people I know accoring to my profile . each(me, knows, null, null) - people I know accoring to anything in store . each(null, knows, me, null) - people who know me accoring to anything in store .

                          - -

                          Returns

                            +

                          Parameters

                          • Optional s: null | Quad_Subject

                            A node to search for as subject, or if null, a wildcard

                            +
                          • Optional p: null | Quad_Predicate

                            A node to search for as predicate, or if null, a wildcard

                            +
                          • Optional o: null | Quad_Object

                            A node to search for as object, or if null, a wildcard

                            +
                          • Optional g: null | Quad_Graph

                            A node to search for as graph, or if null, a wildcard

                            +

                          Returns Node[]

                          • An array of nodes which match the wildcard position
                          -
                        -
                        -

                        Parameters

                        -
                          -
                        • -
                          Optional s: null | Quad_Subject
                          -

                          A node to search for as subject, or if null, a wildcard

                          -
                        • -
                        • -
                          Optional p: null | Quad_Predicate
                          -

                          A node to search for as predicate, or if null, a wildcard

                          -
                        • -
                        • -
                          Optional o: null | Quad_Object
                          -

                          A node to search for as object, or if null, a wildcard

                          -
                        • -
                        • -
                          Optional g: null | Quad_Graph
                          -

                          A node to search for as graph, or if null, a wildcard

                          -
                        -

                        Returns Node[]

                        -
                        - -
                          - -
                        • -

                          Test whether this formula is equals to {other}

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            other: Formula
                            -

                            The other formula

                            -
                          -

                          Returns boolean

                        -
                        - -
                          - -
                        • -

                          Simplify graph in store when we realize two identifiers are equivalent +

                        • Simplify graph in store when we realize two identifiers are equivalent We replace the bigger with the smaller.

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            u1in: Term
                            -

                            The first node

                            -
                          • -
                          • -
                            u2in: Term
                            -

                            The second node

                            -
                          -

                          Returns boolean

                        -
                        - -
                          - -
                        • -

                          For thisClass or any subclass, anything which has it is its type +

                          Parameters

                          • u1in: Term

                            The first node

                            +
                          • u2in: Term

                            The second node

                            +

                          Returns boolean

                        • For thisClass or any subclass, anything which has it is its type or is the object of something which has the type as its range, or subject of something which has the type as its domain We don't bother doing subproperty (yet?)as it doesn't seeem to be used much. Get all the Classes of which we can RDFS-infer the subject is a member

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            subject: Node
                            -

                            A named node

                            -
                          -

                          Returns UriMap

                        -
                        - -
                          - -
                        • -

                          For thisClass or any subclass, anything which has it is its type +

                          Parameters

                          • subject: Node

                            A named node

                            +

                          Returns UriMap

                        • For thisClass or any subclass, anything which has it is its type or is the object of something which has the type as its range, or subject of something which has the type as its domain We don't bother doing subproperty (yet?)as it doesn't seeem to be used much. Get all the Classes of which we can RDFS-infer the subject is a member

                          - -

                          Returns

                          a hash of URIs

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            thisClass: any
                          -

                          Returns MembersMap

                        -
                        - -
                          - -
                        • -

                          Get all the Classes of which we can RDFS-infer the subject is a superclass +

                          Parameters

                          • thisClass: any

                          Returns MembersMap

                          a hash of URIs

                          +
                        • Get all the Classes of which we can RDFS-infer the subject is a superclass Returns a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

                          -
                          -
                          -

                          Parameters

                          -
                          -

                          Returns {
                              [uri: string]: boolean;
                          }

                          -
                            -
                          • -
                            [uri: string]: boolean
                        -
                        - -
                          - -
                        • -

                          Get all the Classes of which we can RDFS-infer the subject is a subclass

                          - -

                          Returns

                          a hash table where key is NT of type and value is statement why we +

                          Parameters

                          Returns {
                              [uri: string]: boolean;
                          }

                          • [uri: string]: boolean
                        • Get all the Classes of which we can RDFS-infer the subject is a subclass

                          +

                          Parameters

                          • subject: Node

                            The thing whose classes are to be found

                            +

                          Returns {
                              [uri: string]: boolean;
                          }

                          a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

                          - -
                          -

                          Parameters

                          -
                            -
                          • -
                            subject: Node
                            -

                            The thing whose classes are to be found

                            -
                          -

                          Returns {
                              [uri: string]: boolean;
                          }

                          -
                            -
                          • -
                            [uri: string]: boolean
                        -
                        - -
                        • Get all the Classes of which we can RDFS-infer the subject is a member todo: This will loop is there is a class subclass loop (Sublass loops are not illegal) Returns a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            subject: Quad_Subject
                            -

                            A subject node

                            -
                          -

                          Returns UriMap

                        -
                        - -
                          - -
                        • -

                          Get all the Classes of which we can RDFS-infer the subject is a member +

                          Parameters

                          • subject: Quad_Subject

                            A subject node

                            +

                          Returns UriMap

                        • Get all the Classes of which we can RDFS-infer the subject is a member todo: This will loop is there is a class subclass loop (Sublass loops are not illegal)

                          - -

                          Returns

                          a hash table where key is NT of type and value is statement why we think so. +

                          Parameters

                          • subject: any

                            The thing whose classes are to be found

                            +

                          Returns {
                              [uri: string]: boolean;
                          }

                          a hash table where key is NT of type and value is statement why we think so. Does NOT return terms, returns URI strings. We use NT representations in this version because they handle blank nodes.

                          - -
                          -

                          Parameters

                          -
                            -
                          • -
                            subject: any
                            -

                            The thing whose classes are to be found

                            -
                          -

                          Returns {
                              [uri: string]: boolean;
                          }

                          -
                            -
                          • -
                            [uri: string]: boolean
                        -
                        - -
                        • Creates a new empty indexed formula Only applicable for IndexedFormula, but TypeScript won't allow a subclass to override a property

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            features: FeaturesType
                            -

                            The list of features

                            -
                          -

                          Returns Store

                        -
                        - -
                          - -
                        • -

                          Transforms an NTriples string format into a Node. +

                          Parameters

                          • features: FeaturesType

                            The list of features

                            +

                          Returns Store

                        • Transforms an NTriples string format into a Node. The blank node bit should not be used on program-external values; designed for internal work such as storing a blank node id in an HTML attribute. This will only parse the strings generated by the various toNT() methods.

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            str: any
                          -

                          Returns any

                        -
                        - -
                        -
                        - -
                          - -
                        • -

                          Returns true if this formula holds the specified statement(s)

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            s: any
                          • -
                          • -
                            Optional p: any
                          • -
                          • -
                            Optional o: any
                          • -
                          • -
                            Optional g: any
                          -

                          Returns boolean

                        -
                        - -
                          - -
                        • -

                          Returns true if this formula holds the specified {statement}

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            statement: any
                          -

                          Returns boolean

                        -
                        - -
                          - -
                        • -

                          Returns a unique index-safe identifier for the given term.

                          +

                          Parameters

                          • str: any

                          Returns any

                        • Returns true if this formula holds the specified statement(s)

                          +

                          Parameters

                          • s: any
                          • Optional p: any
                          • Optional o: any
                          • Optional g: any

                          Returns boolean

                        • Returns true if this formula holds the specified {statement}

                          +

                          Parameters

                          • statement: any

                          Returns boolean

                        • Returns a unique index-safe identifier for the given term.

                          Falls back to the rdflib hashString implementation if the given factory doesn't support id.

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            term: TFIDFactoryTypes
                          -

                          Returns Indexable

                        -
                        - -
                          - -
                        • -
                          -

                          Parameters

                          -
                            -
                          • -
                            features: FeaturesType
                          -

                          Returns void

                        -
                        - -
                          - -
                        • -

                          Used by the n3parser to generate list elements

                          - -

                          Returns

                            +

                          Parameters

                          • term: TFIDFactoryTypes

                          Returns Indexable

                        • Parameters

                          • features: FeaturesType

                          Returns void

                        • Used by the n3parser to generate list elements

                          +

                          Parameters

                          • values: any

                            The values of the collection

                            +
                          • context: any

                            The store

                            +

                          Returns any

                          • The term for the statement
                          - -
                          -

                          Parameters

                          -
                            -
                          • -
                            values: any
                            -

                            The values of the collection

                            -
                          • -
                          • -
                            context: any
                            -

                            The store

                            -
                          -

                          Returns any

                        -
                        - -
                          - -
                        • -

                          Returns any quads matching the given arguments. +

                        • Returns any quads matching the given arguments. Standard RDFJS spec method for Source objects, implemented as an alias to statementsMatching()

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            Optional subject: null | Quad_Subject
                            -

                            The subject

                            -
                          • -
                          • -
                            Optional predicate: null | Quad_Predicate
                            -

                            The predicate

                            -
                          • -
                          • -
                            Optional object: null | Quad_Object
                            -

                            The object

                            -
                          • -
                          • -
                            Optional graph: null | Quad_Graph
                            -

                            The graph that contains the statement

                            -
                          -

                          Returns Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

                        -
                        - -
                          - -
                        • -

                          Find out whether a given URI is used as symbol in the formula

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            uri: string
                            -

                            The URI to look for

                            -
                          -

                          Returns boolean

                        -
                        - -
                          - -
                        • -

                          Existentials are BNodes - something exists without naming

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            uri: string
                            -

                            An URI

                            -
                          -

                          Returns Term

                        -
                        - -
                          - -
                        • -

                          Adds a new property action

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            pred: Quad_Predicate
                            -

                            the predicate that the function should be triggered on

                            -
                          • -
                          • -
                            action: ((store, subject, predicate, object) => boolean)
                            -

                            the function that should trigger

                            -
                            -
                              -
                            • -
                                -
                              • (store, subject, predicate, object): boolean
                              • -
                              • -
                                -

                                Parameters

                                -
                                  -
                                • -
                                  store: Store
                                • -
                                • -
                                  subject: Quad_Subject
                                • -
                                • -
                                  predicate: Quad_Predicate
                                • -
                                • -
                                  object: Quad_Object
                                -

                                Returns boolean

                          -

                          Returns boolean

                        -
                        - -
                          - -
                        • -

                          Creates a new universal node +

                          Parameters

                          • Optional subject: null | Quad_Subject

                            The subject

                            +
                          • Optional predicate: null | Quad_Predicate

                            The predicate

                            +
                          • Optional object: null | Quad_Object

                            The object

                            +
                          • Optional graph: null | Quad_Graph

                            The graph that contains the statement

                            +

                          Returns Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

                        • Find out whether a given URI is used as symbol in the formula

                          +

                          Parameters

                          • uri: string

                            The URI to look for

                            +

                          Returns boolean

                        • Existentials are BNodes - something exists without naming

                          +

                          Parameters

                          • uri: string

                            An URI

                            +

                          Returns Term

                        • Adds a new property action

                          +

                          Parameters

                          • pred: Quad_Predicate

                            the predicate that the function should be triggered on

                            +
                          • action: ((store, subject, predicate, object) => boolean)

                            the function that should trigger

                            +
                              • (store, subject, predicate, object): boolean
                              • Parameters

                                • store: Store
                                • subject: Quad_Subject
                                • predicate: Quad_Predicate
                                • object: Quad_Object

                                Returns boolean

                          Returns boolean

                        • Creates a new universal node Universals are Variables

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            uri: string
                            -

                            An URI

                            -
                          -

                          Returns NamedNode

                        -
                        - -
                          - -
                        • -

                          Find an unused id for a file being edited: return a symbol +

                          Parameters

                          • uri: string

                            An URI

                            +

                          Returns NamedNode

                        • Find an unused id for a file being edited: return a symbol (Note: Slow iff a lot of them -- could be O(log(k)) )

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            doc: NamedNode
                            -

                            A document named node

                            -
                          -

                          Returns NamedNode

                        -
                        - -
                          - -
                        • -

                          Query this store asynchronously, return bindings in callback

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            myQuery: Query
                            -

                            The query to be run

                            -
                          • -
                          • -
                            callback: ((bindings) => void)
                            -

                            Function to call when bindings

                            -
                            -
                              -
                            • -
                                -
                              • (bindings): void
                              • -
                              • -
                                -

                                Parameters

                                -
                                  -
                                • -
                                  bindings: Bindings
                                -

                                Returns void

                          • -
                          • -
                            Optional fetcher: null | Fetcher
                          • -
                          • -
                            Optional onDone: (() => void)
                            -

                            OBSOLETE - do not use this // @@ Why not ?? Called when query complete

                            -
                            -
                              -
                            • -
                                -
                              • (): void
                              • -
                              • -

                                Returns void

                          -

                          Returns void

                        -
                        - -
                          - -
                        • -

                          Query this store synchronously and return bindings

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            myQuery: Query
                            -

                            The query to be run

                            -
                          -

                          Returns any[]

                        -
                        - -
                          - -
                        • -

                          Removes one or multiple statement(s) from this formula

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                            -

                            A Statement or array of Statements to remove

                            -
                          -

                          Returns Store

                        -
                        - -
                          - -
                        • -

                          Removes all statements in a doc, along with the related metadata including request/response/status

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            doc: Quad_Graph
                            -

                            The document / graph

                            -
                          -

                          Returns Store

                        -
                        - -
                          - -
                        • -

                          Remove all statements matching args (within limit) *

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            Optional subj: null | Quad_Subject
                            -

                            The subject

                            -
                          • -
                          • -
                            Optional pred: null | Quad_Predicate
                            -

                            The predicate

                            -
                          • -
                          • -
                            Optional obj: null | Quad_Object
                            -

                            The object

                            -
                          • -
                          • -
                            Optional why: null | Quad_Graph
                            -

                            The graph that contains the statement

                            -
                          • -
                          • -
                            Optional limit: number
                            -

                            The number of statements to remove

                            -
                          -

                          Returns void

                        -
                        - -
                          - -
                        • -

                          Remove all matching statements

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            Optional subject: null | Quad_Subject
                            -

                            The subject

                            -
                          • -
                          • -
                            Optional predicate: null | Quad_Predicate
                            -

                            The predicate

                            -
                          • -
                          • -
                            Optional object: null | Quad_Object
                            -

                            The object

                            -
                          • -
                          • -
                            Optional graph: null | Quad_Graph
                            -

                            The graph that contains the statement

                            -
                          -

                          Returns Store

                        -
                        - -
                        -
                        - -
                          - -
                        • -

                          Remove a particular statement object from the store

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
                            -

                            a statement which is already in the store and indexed. +

                            Parameters

                            • doc: NamedNode

                              A document named node

                              +

                            Returns NamedNode

                        • Query this store asynchronously, return bindings in callback

                          +

                          Parameters

                          • myQuery: Query

                            The query to be run

                            +
                          • callback: ((bindings) => void)

                            Function to call when bindings

                            +
                              • (bindings): void
                              • Parameters

                                • bindings: Bindings

                                Returns void

                          • Optional fetcher: null | Fetcher
                          • Optional onDone: (() => void)

                            OBSOLETE - do not use this // @@ Why not ?? Called when query complete

                            +
                              • (): void
                              • Returns void

                          Returns void

                        • Query this store synchronously and return bindings

                          +

                          Parameters

                          • myQuery: Query

                            The query to be run

                            +

                          Returns any[]

                        • Removes one or multiple statement(s) from this formula

                          +

                          Parameters

                          • st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

                            A Statement or array of Statements to remove

                            +

                          Returns Store

                        • Removes all statements in a doc, along with the related metadata including request/response/status

                          +

                          Parameters

                          • doc: Quad_Graph

                            The document / graph

                            +

                          Returns Store

                        • Remove all statements matching args (within limit) *

                          +

                          Parameters

                          • Optional subj: null | Quad_Subject

                            The subject

                            +
                          • Optional pred: null | Quad_Predicate

                            The predicate

                            +
                          • Optional obj: null | Quad_Object

                            The object

                            +
                          • Optional why: null | Quad_Graph

                            The graph that contains the statement

                            +
                          • Optional limit: number

                            The number of statements to remove

                            +

                          Returns void

                        • Remove all matching statements

                          +

                          Parameters

                          • Optional subject: null | Quad_Subject

                            The subject

                            +
                          • Optional predicate: null | Quad_Predicate

                            The predicate

                            +
                          • Optional object: null | Quad_Object

                            The object

                            +
                          • Optional graph: null | Quad_Graph

                            The graph that contains the statement

                            +

                          Returns Store

                        • Remove a particular statement object from the store

                          +

                          Parameters

                          • st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>

                            a statement which is already in the store and indexed. Make sure you only use this for these. Otherwise, you should use remove() above.

                            -
                          -

                          Returns Store

                        -
                        - -
                          - -
                        • -

                          Removes statements

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            sts: readonly Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                            -

                            The statements to remove

                            -
                          -

                          Returns Store

                        -
                        - -
                          - -
                        • -

                          Replace big with small, obsoleted with obsoleting.

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            big: Quad_Subject
                          • -
                          • -
                            small: Quad_Subject
                          -

                          Returns boolean

                        -
                        - -
                          - -
                        • -

                          Compares whether this node is the same as the other one

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            other: Node
                            -

                            Another node

                            -
                          -

                          Returns boolean

                        -
                        - -
                          - -
                        • -

                          Compare by canonical URI as smushed

                          -
                          -
                          -

                          Parameters

                          -
                          -

                          Returns boolean

                        -
                        - -
                          - -
                        • -

                          Serializes this formula

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            base: any
                            -

                            The base string

                            -
                          • -
                          • -
                            contentType: any
                            -

                            The content type of the syntax to use

                            -
                          • -
                          • -
                            provenance: any
                            -

                            The provenance URI

                            -
                          • -
                          • -
                            Optional options: any
                            -

                            options to pass to the serializer, as defined in serialize method

                            -
                          -

                          Returns undefined | string

                        -
                        - -
                          - -
                        • -
                          -

                          Parameters

                          -
                            -
                          • -
                            prefix: string
                          • -
                          • -
                            nsuri: string
                          -

                          Returns void

                        -
                        - -
                          - -
                        • -

                          Search the Store

                          +

                        Returns Store

                        • Removes statements

                          +

                          Parameters

                          • sts: readonly Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]

                            The statements to remove

                            +

                          Returns Store

                        • Replace big with small, obsoleted with obsoleting.

                          +

                          Parameters

                          • big: Quad_Subject
                          • small: Quad_Subject

                          Returns boolean

                        • Serializes this formula

                          +

                          Parameters

                          • base: any

                            The base string

                            +
                          • contentType: any

                            The content type of the syntax to use

                            +
                          • provenance: any

                            The provenance URI

                            +
                          • Optional options: any

                            options to pass to the serializer, as defined in serialize method

                            +

                          Returns undefined | string

                        • Parameters

                          • prefix: string
                          • nsuri: string

                          Returns void

                        • Search the Store

                          ALL CONVENIENCE LOOKUP FUNCTIONS RELY ON THIS!

                          - -

                          Returns

                          An array of nodes which match the wildcard position

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            Optional subj: null | Quad_Subject
                            -

                            A node to search for as subject, or if null, a wildcard

                            -
                          • -
                          • -
                            Optional pred: null | Quad_Predicate
                            -

                            A node to search for as predicate, or if null, a wildcard

                            -
                          • -
                          • -
                            Optional obj: null | Quad_Object
                            -

                            A node to search for as object, or if null, a wildcard

                            -
                          • -
                          • -
                            Optional why: null | Quad_Graph
                            -

                            A node to search for as graph, or if null, a wildcard

                            -
                          • -
                          • -
                            Optional justOne: boolean
                            -

                            flag - stop when found one rather than get all of them?

                            -
                          -

                          Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                        -
                        - -
                          - -
                        • -

                          Gets this graph with the bindings substituted

                          -
                          -
                          -

                          Type Parameters

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            bindings: Bindings
                            -

                            The bindings

                            -
                          -

                          Returns T

                        -
                        - -
                        -
                        - -
                          - -
                        • -

                          Gets the node matching the specified pattern. Throws when no match could be made.

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            Optional s: null | Quad_Subject
                            -

                            The subject

                            -
                          • -
                          • -
                            Optional p: null | Quad_Predicate
                            -

                            The predicate

                            -
                          • -
                          • -
                            Optional o: null | Quad_Object
                            -

                            The object

                            -
                          • -
                          • -
                            Optional g: null | Quad_Graph
                            -

                            The graph that contains the statement

                            -
                          -

                          Returns undefined | null | Node

                        -
                        - -
                        -
                        - -
                        -
                        - -
                        -
                        - -
                        -
                        - -
                          - -
                        • -

                          Finds the types in the list which have no stored supertypes +

                          Parameters

                          • Optional subj: null | Quad_Subject

                            A node to search for as subject, or if null, a wildcard

                            +
                          • Optional pred: null | Quad_Predicate

                            A node to search for as predicate, or if null, a wildcard

                            +
                          • Optional obj: null | Quad_Object

                            A node to search for as object, or if null, a wildcard

                            +
                          • Optional why: null | Quad_Graph

                            A node to search for as graph, or if null, a wildcard

                            +
                          • Optional justOne: boolean

                            flag - stop when found one rather than get all of them?

                            +

                          Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                          An array of nodes which match the wildcard position

                          +
                        • Gets the node matching the specified pattern. Throws when no match could be made.

                          +

                          Parameters

                          • Optional s: null | Quad_Subject

                            The subject

                            +
                          • Optional p: null | Quad_Predicate

                            The predicate

                            +
                          • Optional o: null | Quad_Object

                            The object

                            +
                          • Optional g: null | Quad_Graph

                            The graph that contains the statement

                            +

                          Returns undefined | null | Node

                        • Finds the types in the list which have no stored supertypes We exclude the universal class, owl:Things and rdf:Resource, as it is information-free.

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            types: {
                                [id: string]: string | NamedNode;
                            }
                            -

                            The types

                            -
                            -
                          -

                          Returns {
                              [id: string]: string | NamedNode;
                          }

                          -
                        -
                        - -
                        • RDFS Inference These are hand-written implementations of a backward-chaining reasoner over the RDFS axioms.

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            seeds: BooleanMap
                            -

                            A hash of NTs of classes to start with

                            -
                          • -
                          • -
                            predicate: Quad_Predicate
                            -

                            The property to trace though

                            -
                          • -
                          • -
                            Optional inverse: boolean
                            -

                            Trace inverse direction

                            -
                          -

                          Returns {
                              [uri: string]: boolean;
                          }

                          -
                            -
                          • -
                            [uri: string]: boolean
                        -
                        - -
                          - -
                        • -

                          A list of all the URIs by which this thing is known

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            term: Quad_Subject
                          -

                          Returns string[]

                        -
                        - -
                        -
                        - -
                          - -
                        • -

                          Gets the number of statements in this formula that matches the specified pattern

                          -
                          -
                          -

                          Parameters

                          -
                            -
                          • -
                            Optional s: null | Quad_Subject
                            -

                            The subject

                            -
                          • -
                          • -
                            Optional p: null | Quad_Predicate
                            -

                            The predicate

                            -
                          • -
                          • -
                            Optional o: null | Quad_Object
                            -

                            The object

                            -
                          • -
                          • -
                            Optional g: null | Quad_Graph
                            -

                            The graph that contains the statement

                            -
                          -

                          Returns number

                        -
                        - -
                        -
                        -

                        Generated using TypeDoc

                        -
                        \ No newline at end of file +

                        Parameters

                        • seeds: BooleanMap

                          A hash of NTs of classes to start with

                          +
                        • predicate: Quad_Predicate

                          The property to trace though

                          +
                        • Optional inverse: boolean

                          Trace inverse direction

                          +

                        Returns {
                            [uri: string]: boolean;
                        }

                        • [uri: string]: boolean
                        • A list of all the URIs by which this thing is known

                          +

                          Parameters

                          • term: Quad_Subject

                          Returns string[]

                        • Gets the number of statements in this formula that matches the specified pattern

                          +

                          Parameters

                          • Optional s: null | Quad_Subject

                            The subject

                            +
                          • Optional p: null | Quad_Predicate

                            The predicate

                            +
                          • Optional o: null | Quad_Object

                            The object

                            +
                          • Optional g: null | Quad_Graph

                            The graph that contains the statement

                            +

                          Returns number

                        \ No newline at end of file diff --git a/doc/classes/UpdateManager.html b/doc/classes/UpdateManager.html index 178b251be..beadbc724 100644 --- a/doc/classes/UpdateManager.html +++ b/doc/classes/UpdateManager.html @@ -1,478 +1,76 @@ -UpdateManager | rdflib
                        -
                        - -
                        -
                        -
                        -
                        - -

                        Class UpdateManager

                        -
                        -

                        The UpdateManager is a helper object for a store. +UpdateManager | rdflib

                        Class UpdateManager

                        The UpdateManager is a helper object for a store. Just as a Fetcher provides the store with the ability to read and write, the Update Manager provides functionality for making small patches in real time, and also looking out for concurrent updates from other agents

                        -
                        -
                        -

                        Hierarchy

                        -
                          -
                        • UpdateManager
                        -
                        -
                        -
                        - -
                        -
                        -

                        Constructors

                        -
                        - -
                        -
                        -

                        Properties

                        -
                        - -
                        fps: {}
                        -
                        -

                        Type declaration

                        -
                          -
                          - -
                          ifps: {}
                          -
                          -

                          Type declaration

                          -
                            -
                            - -
                            ns: any
                            -

                            Object of namespaces

                            -
                            -
                            - -
                            patchControl: []
                            -

                            Index of objects for coordinating incoming and outgoing patches

                            -
                            -
                            - -
                            store: UpdateManagerFormula
                            -
                            -

                            Methods

                            -
                            - -
                              - -
                            • -
                              -

                              Parameters

                              -
                                -
                              • -
                                doc: NamedNode
                              • -
                              • -
                                listener: any
                              -

                              Returns void

                            -
                            - -
                            -
                            - -
                              - -
                            • -
                              -

                              Parameters

                              -
                                -
                              • -
                                stmt: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
                              -

                              Returns string

                            -
                            - -
                              - -
                            • -

                              Tests whether a file is editable. +

                            Constructors

                            Properties

                            fps: {}

                            Type declaration

                              ifps: {}

                              Type declaration

                                ns: any

                                Object of namespaces

                                +
                                patchControl: []

                                Index of objects for coordinating incoming and outgoing patches

                                +
                                store: UpdateManagerFormula

                                Methods

                                • Parameters

                                  • doc: NamedNode
                                  • listener: any

                                  Returns void

                                • Parameters

                                  • stmt: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>

                                  Returns string

                                • Tests whether a file is editable. If the file has a specific annotation that it is machine written, for safety, it is editable (this doesn't actually check for write access) If the file has wac-allow and accept patch headers, those are respected. and local write access is determined by those headers. This async version not only looks at past HTTP requests, it also makes new ones if necessary.

                                  - -

                                  Returns

                                  The method string N3PATCH or SPARQL or DAV or +

                                  Parameters

                                  • uri: string | NamedNode
                                  • Optional kb: Store

                                  Returns Promise<undefined | string | boolean>

                                  The method string N3PATCH or SPARQL or DAV or LOCALFILE or false if known, undefined if not known.

                                  -
                                -
                                -

                                Parameters

                                -
                                  -
                                • -
                                  uri: string | NamedNode
                                • -
                                • -
                                  Optional kb: Store
                                -

                                Returns Promise<undefined | string | boolean>

                                -
                                - -
                                • We want to start counting websocket notifications to distinguish the ones from others from our own.

                                  -
                                  -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    doc: NamedNode
                                  -

                                  Returns void

                                -
                                - -
                                  - -
                                • -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                                  • -
                                  • -
                                    callbackFunction: CallBackFunction
                                  -

                                  Returns void

                                -
                                - -
                                  - -
                                • -

                                  Tests whether a file is editable. +

                                  Parameters

                                  • doc: NamedNode

                                  Returns void

                                • Parameters

                                  • st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph> | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                                  • callbackFunction: CallBackFunction

                                  Returns void

                                • Tests whether a file is editable. If the file has a specific annotation that it is machine written, for safety, it is editable (this doesn't actually check for write access) If the file has wac-allow and accept patch headers, those are respected. and local write access is determined by those headers. This synchronous version only looks at past HTTP requests, does not make new ones.

                                  - -

                                  Returns

                                  The method string SPARQL or DAV or +

                                  Parameters

                                  • uri: string | NamedNode
                                  • Optional kb: Store

                                  Returns undefined | string | boolean

                                  The method string SPARQL or DAV or LOCALFILE or false if known, undefined if not known.

                                  -
                                -
                                -

                                Parameters

                                -
                                  -
                                • -
                                  uri: string | NamedNode
                                • -
                                • -
                                  Optional kb: Store
                                -

                                Returns undefined | string | boolean

                                -
                                - -
                                  - -
                                • -

                                  Remove from the store HTTP authorization metadata +

                                • Remove from the store HTTP authorization metadata The editable function below relies on copies we have in the store of the results of previous HTTP transactions. However, when the user logs in, then that data misrepresents what would happen if the user tried again.

                                  -
                                  -
                                  -

                                  Parameters

                                  -
                                  -

                                  Returns void

                                -
                                - -
                                  - -
                                • -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    doc: NamedNode
                                  -

                                  Returns null | string

                                -
                                - -
                                  - -
                                • -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
                                  • -
                                  • -
                                    callbackFunction: CallBackFunction
                                  -

                                  Returns void

                                -
                                - -
                                -
                                - -
                                -
                                - -
                                -
                                - -
                                  - -
                                • -

                                  This is suitable for an initial creation of a document.

                                  -
                                  -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    doc: NamedNode
                                  • -
                                  • -
                                    data: string | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                                  • -
                                  • -
                                    contentType: string
                                  • -
                                  • -
                                    callback: ((uri, ok, errorMessage?, response?) => void)
                                    -
                                      -
                                    • -
                                        -
                                      • (uri, ok, errorMessage?, response?): void
                                      • -
                                      • -
                                        -

                                        Parameters

                                        -
                                          -
                                        • -
                                          uri: string
                                        • -
                                        • -
                                          ok: boolean
                                        • -
                                        • -
                                          Optional errorMessage: string
                                        • -
                                        • -
                                          Optional response: unknown
                                        -

                                        Returns void

                                  -

                                  Returns Promise<void>

                                -
                                - -
                                • Parameters

                                  • st: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
                                  • callbackFunction: CallBackFunction

                                  Returns void

                                • This is suitable for an initial creation of a document.

                                  +

                                  Parameters

                                  • doc: NamedNode
                                  • data: string | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                                  • contentType: string
                                  • callback: ((uri, ok, errorMessage?, response?) => void)
                                      • (uri, ok, errorMessage?, response?): void
                                      • Parameters

                                        • uri: string
                                        • ok: boolean
                                        • Optional errorMessage: string
                                        • Optional response: unknown

                                        Returns void

                                  Returns Promise<void>

                                • Reloads a document.

                                  Fast and cheap, no metadata. Measure times for the document. Load it provisionally. Don't delete the statements before the load, or it will leave a broken document in the meantime.

                                  -
                                  -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    kb: Store
                                  • -
                                  • -
                                    doc: docReloadType
                                    -

                                    {RDFlibNamedNode}

                                    -
                                  • -
                                  • -
                                    callbackFunction: ((ok, message?, response?) => void | {})
                                    -
                                      -
                                    • -
                                        -
                                      • (ok, message?, response?): void | {}
                                      • -
                                      • -
                                        -

                                        Parameters

                                        -
                                          -
                                        • -
                                          ok: boolean
                                        • -
                                        • -
                                          Optional message: string
                                        • -
                                        • -
                                          Optional response: Error | Response
                                        -

                                        Returns void | {}

                                  -

                                  Returns void

                                -
                                - -
                                -
                                - -
                                  - -
                                • -

                                  Requests a now or future action to refresh changes coming downstream +

                                  Parameters

                                  • kb: Store
                                  • doc: docReloadType

                                    {RDFlibNamedNode}

                                    +
                                  • callbackFunction: ((ok, message?, response?) => void | {})
                                      • (ok, message?, response?): void | {}
                                      • Parameters

                                        • ok: boolean
                                        • Optional message: string
                                        • Optional response: Error | Response

                                        Returns void | {}

                                  Returns void

                                • Requests a now or future action to refresh changes coming downstream This is designed to allow the system to re-request the server version, when a websocket has pinged to say there are changes. If the websocket, by contrast, has sent a patch, then this may not be necessary.

                                  -
                                  -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    doc: NamedNode
                                  • -
                                  • -
                                    action: any
                                  -

                                  Returns void

                                -
                                - -
                                  - -
                                • -
                                  -

                                  Throws

                                  On unsupported content type

                                  - -

                                  Returns

                                  -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    uri: string
                                  • -
                                  • -
                                    data: string | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                                  • -
                                  • -
                                    contentType: string
                                  -

                                  Returns string

                                -
                                - -
                                  - -
                                • -

                                  Sets up websocket to listen on

                                  +

                                  Parameters

                                  • doc: NamedNode
                                  • action: any

                                  Returns void

                                • Parameters

                                  • uri: string
                                  • data: string | Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>[]
                                  • contentType: string

                                  Returns string

                                  Throws

                                  On unsupported content type

                                  +
                                -
                                - -
                                  - -
                                • -

                                  This high-level function updates the local store if the web is changed successfully. +

                                  Parameters

                                  • doc: NamedNode
                                  • handler: any

                                  Returns boolean

                                • This high-level function updates the local store if the web is changed successfully. Deletions, insertions may be undefined or single statements or lists or formulae (may contain bnodes which can be indirectly identified by a where clause). The why property of each statement must be the same and give the web document to be updated.

                                  -
                                  -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    deletions: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                                    -

                                    Statement or statements to be deleted.

                                    -
                                  • -
                                  • -
                                    insertions: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                                    -

                                    Statement or statements to be inserted.

                                    -
                                  • -
                                  • -
                                    Optional callback: ((uri, success, errorBody?, response?) => void)
                                    -

                                    called as callbackFunction(uri, success, errorbody) +

                                    Parameters

                                    • deletions: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                                      Statement or statements to be deleted.

                                      +
                                    • insertions: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                                      Statement or statements to be inserted.

                                      +
                                    • Optional callback: ((uri, success, errorBody?, response?) => void)

                                      called as callbackFunction(uri, success, errorbody) OR returns a promise

                                      -
                                      -
                                        -
                                      • -
                                          -
                                        • (uri, success, errorBody?, response?): void
                                        • -
                                        • -
                                          -

                                          Parameters

                                          -
                                            -
                                          • -
                                            uri: undefined | null | string
                                          • -
                                          • -
                                            success: boolean
                                          • -
                                          • -
                                            Optional errorBody: string
                                          • -
                                          • -
                                            Optional response: Error | Response
                                          -

                                          Returns void

                                    • -
                                    • -
                                      Optional secondTry: boolean
                                    • -
                                    • -
                                      options: Partial<AutoInitOptions> = {}
                                      -

                                      Options for the fetch call

                                      -
                                    -

                                    Returns void | Promise<void>

                                -
                                - -
                                  - -
                                • -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    doc: Quad_Subject
                                  • -
                                  • -
                                    ds: any
                                  • -
                                  • -
                                    is: any
                                  • -
                                  • -
                                    callbackFunction: any
                                  • -
                                  • -
                                    options: Partial<AutoInitOptions> = {}
                                  -

                                  Returns null | Promise<void>

                                -
                                - -
                                  - -
                                • -

                                  Likely deprecated, since this lib no longer deals with browser extension

                                  -
                                  -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    doc: NamedNode
                                  • -
                                  • -
                                    ds: any
                                  • -
                                  • -
                                    is: any
                                  • -
                                  • -
                                    callbackFunction: any
                                  • -
                                  • -
                                    options: Partial<AutoInitOptions> = {}
                                  -

                                  Returns void

                                -
                                - -
                                  - -
                                • -

                                  This high-level function updates the local store iff the web is changed successfully. +

                                    • (uri, success, errorBody?, response?): void
                                    • Parameters

                                      • uri: undefined | null | string
                                      • success: boolean
                                      • Optional errorBody: string
                                      • Optional response: Error | Response

                                      Returns void

                                • Optional secondTry: boolean
                                • options: Partial<AutoInitOptions> = {}

                                  Options for the fetch call

                                  +

                                Returns void | Promise<void>

                                • Parameters

                                  • doc: Quad_Subject
                                  • ds: any
                                  • is: any
                                  • callbackFunction: any
                                  • options: Partial<AutoInitOptions> = {}

                                  Returns null | Promise<void>

                                • Likely deprecated, since this lib no longer deals with browser extension

                                  +

                                  Parameters

                                  • doc: NamedNode
                                  • ds: any
                                  • is: any
                                  • callbackFunction: any
                                  • options: Partial<AutoInitOptions> = {}

                                  Returns void

                                • This high-level function updates the local store iff the web is changed successfully. Deletions, insertions may be undefined or single statements or lists or formulae (may contain bnodes which can be indirectly identified by a where clause). The why property of each statement must be the give the web document to be updated. The statements to be deleted and inserted may span more than one web document.

                                  - -

                                  Returns

                                  a promise

                                  -
                                  -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    deletions: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]
                                    -

                                    Statement or statements to be deleted.

                                    -
                                  • -
                                  • -
                                    insertions: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[] = []
                                    -

                                    Statement or statements to be inserted.

                                    -
                                  -

                                  Returns Promise<void[]>

                                -
                                - -
                                  - -
                                • -

                                  return a statemnet updating function

                                  +

                                  Parameters

                                  • deletions: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[]

                                    Statement or statements to be deleted.

                                    +
                                  • insertions: readonly Statement<SubjectType, PredicateType, ObjectType, GraphType>[] = []

                                    Statement or statements to be inserted.

                                    +

                                  Returns Promise<void[]>

                                  a promise

                                  +
                                • return a statemnet updating function

                                  This does NOT update the statement. It returns an object which includes function which can be used to change the object of the statement.

                                  -
                                  -
                                  -

                                  Parameters

                                  -
                                    -
                                  • -
                                    statement: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>
                                  -

                                  Returns undefined | {
                                      set_object: ((obj, callbackFunction) => void);
                                      statement: undefined | Term[];
                                      statementNT: undefined | string;
                                      where: string;
                                  }

                                -
                                - -
                                -
                                -

                                Generated using TypeDoc

                                -
                                \ No newline at end of file +

                                Parameters

                                • statement: Quad<Quad_Subject, Quad_Predicate, Quad_Object, Quad_Graph>

                                Returns undefined | {
                                    set_object: ((obj, callbackFunction) => void);
                                    statement: undefined | Term[];
                                    statementNT: undefined | string;
                                    where: string;
                                }

                                \ No newline at end of file diff --git a/doc/classes/UpdatesSocket.html b/doc/classes/UpdatesSocket.html index b18b1b051..72765e5d1 100644 --- a/doc/classes/UpdatesSocket.html +++ b/doc/classes/UpdatesSocket.html @@ -1,362 +1,16 @@ -UpdatesSocket | rdflib
                                -
                                - -
                                -
                                -
                                -
                                - -

                                Class UpdatesSocket

                                -
                                -

                                Hierarchy

                                -
                                  -
                                • UpdatesSocket
                                -
                                -
                                -
                                - -
                                -
                                -

                                Constructors

                                -
                                -
                                -

                                Properties

                                -
                                -
                                -

                                Methods

                                -
                                -
                                -

                                Constructors

                                -
                                - -
                                -
                                -

                                Properties

                                -
                                - -
                                connected: boolean
                                -
                                - -
                                parent: any
                                -
                                - -
                                pending: {}
                                -
                                -

                                Type declaration

                                -
                                  -
                                  - -
                                  socket: {}
                                  -
                                  -

                                  Type declaration

                                  -
                                    -
                                    - -
                                    subscribed: {}
                                    -
                                    -

                                    Type declaration

                                    -
                                      -
                                      - -
                                      via: any
                                      -
                                      -

                                      Methods

                                      -
                                      - -
                                      -
                                      - -
                                        - -
                                      • -
                                        -

                                        Parameters

                                        -
                                          -
                                        • -
                                          method: any
                                        • -
                                        • -
                                          uri: any
                                        • -
                                        • -
                                          data: any
                                        -

                                        Returns any

                                      -
                                      - -
                                      -
                                      - -
                                      -
                                      - -
                                      -
                                      - -
                                      -
                                      - -
                                      -
                                      - -
                                      -
                                      -
                                      -

                                      Generated using TypeDoc

                                      -
                                      \ No newline at end of file +UpdatesSocket | rdflib

                                      Class UpdatesSocket

                                      Constructors

                                      Properties

                                      connected: boolean
                                      parent: any
                                      pending: {}

                                      Type declaration

                                        socket: {}

                                        Type declaration

                                          subscribed: {}

                                          Type declaration

                                            via: any

                                            Methods

                                            • Parameters

                                              • method: any
                                              • uri: any
                                              • data: any

                                              Returns any

                                            \ No newline at end of file diff --git a/doc/classes/UpdatesVia.html b/doc/classes/UpdatesVia.html index 5c6348b54..558cda830 100644 --- a/doc/classes/UpdatesVia.html +++ b/doc/classes/UpdatesVia.html @@ -1,255 +1,8 @@ -UpdatesVia | rdflib
                                            -
                                            - -
                                            -
                                            -
                                            -
                                            - -

                                            Class UpdatesVia

                                            -
                                            -

                                            Hierarchy

                                            -
                                              -
                                            • UpdatesVia
                                            -
                                            -
                                            -
                                            - -
                                            -
                                            -

                                            Constructors

                                            -
                                            -
                                            -

                                            Properties

                                            -
                                            -
                                            -

                                            Methods

                                            -
                                            -
                                            -

                                            Constructors

                                            -
                                            - -
                                            -
                                            -

                                            Properties

                                            -
                                            - -
                                            fetcher: any
                                            -
                                            - -
                                            graph: {}
                                            -
                                            -

                                            Type declaration

                                            -
                                              -
                                              - -
                                              via: {}
                                              -
                                              -

                                              Type declaration

                                              -
                                                -
                                                -

                                                Methods

                                                -
                                                - -
                                                -
                                                - -
                                                  - -
                                                • -
                                                  -

                                                  Parameters

                                                  -
                                                    -
                                                  • -
                                                    uri: any
                                                  • -
                                                  • -
                                                    d: any
                                                  -

                                                  Returns any

                                                -
                                                - -
                                                  - -
                                                • -
                                                  -

                                                  Parameters

                                                  -
                                                    -
                                                  • -
                                                    via: any
                                                  • -
                                                  • -
                                                    uri: any
                                                  -

                                                  Returns any

                                                -
                                                -
                                                -

                                                Generated using TypeDoc

                                                -
                                                \ No newline at end of file +UpdatesVia | rdflib

                                                Class UpdatesVia

                                                Constructors

                                                Properties

                                                Methods

                                                Constructors

                                                Properties

                                                fetcher: any
                                                graph: {}

                                                Type declaration

                                                  via: {}

                                                  Type declaration

                                                    Methods

                                                    \ No newline at end of file diff --git a/doc/classes/Variable.html b/doc/classes/Variable.html index def82965f..d5ea6c230 100644 --- a/doc/classes/Variable.html +++ b/doc/classes/Variable.html @@ -1,466 +1,47 @@ -Variable | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Class Variable

                                                    -
                                                    -

                                                    Variables are placeholders used in patterns to be matched. +Variable | rdflib

                                                    Class Variable

                                                    Variables are placeholders used in patterns to be matched. In cwm they are symbols which are the formula's list of quantified variables. In sparql they are not visibly URIs. Here we compromise, by having a common special base URI for variables. Their names are uris, but the ? notation has an implicit base uri of 'varid:'

                                                    -
                                                    -
                                                    -

                                                    Hierarchy

                                                    -
                                                    -
                                                    -

                                                    Implements

                                                    -
                                                      -
                                                    • Variable
                                                    -
                                                    -
                                                    -
                                                    - -
                                                    -
                                                    -

                                                    Constructors

                                                    -
                                                    - -
                                                    -
                                                    -

                                                    Properties

                                                    -
                                                    - -
                                                    base: string = 'varid:'
                                                    -

                                                    The base string for a variable's name

                                                    -
                                                    -
                                                    - -
                                                    classOrder: number = ClassOrder.Variable
                                                    -

                                                    The class order for this node

                                                    -
                                                    -
                                                    - -
                                                    isVar: number = 1
                                                    -
                                                    - -
                                                    termType: "Variable" = VariableTermType
                                                    -

                                                    The type of node

                                                    -
                                                    -
                                                    - -
                                                    uri: string
                                                    -

                                                    The unique identifier of this variable

                                                    -
                                                    -
                                                    - -
                                                    value: string
                                                    -

                                                    The node's value

                                                    -
                                                    -
                                                    - -
                                                    fromValue: (<T>(value) => T)
                                                    -
                                                    -

                                                    Type declaration

                                                    -
                                                      -
                                                    • -
                                                        -
                                                      • <T>(value): T
                                                      • -
                                                      • -
                                                        -

                                                        Type Parameters

                                                        -
                                                          -
                                                        • -

                                                          T extends FromValueReturns

                                                        -
                                                        -

                                                        Parameters

                                                        -
                                                          -
                                                        • -
                                                          value: ValueType
                                                        -

                                                        Returns T

                                                    -
                                                    - -
                                                    toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])
                                                    -
                                                    -

                                                    Type declaration

                                                    -
                                                      -
                                                    • -
                                                        -
                                                      • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
                                                      • -
                                                      • -
                                                        -

                                                        Parameters

                                                        -
                                                          -
                                                        • -
                                                          term: any
                                                        -

                                                        Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

                                                    -
                                                    -

                                                    Methods

                                                    -
                                                    - -
                                                      - -
                                                    • -

                                                      Compares this node with another

                                                      - -

                                                      See

                                                      to check if two nodes are equal

                                                      -
                                                      -
                                                      -

                                                      Parameters

                                                      -
                                                        -
                                                      • -
                                                        other: Node
                                                        -

                                                        The other node

                                                        -
                                                      -

                                                      Returns number

                                                    -
                                                    - -
                                                      - -
                                                    • -

                                                      Compares whether the two nodes are equal

                                                      -
                                                      -
                                                      -

                                                      Parameters

                                                      -
                                                        -
                                                      • -
                                                        other: any
                                                        -

                                                        The other node

                                                        -
                                                      -

                                                      Returns boolean

                                                    -
                                                    - -
                                                      - -
                                                    • -

                                                      Creates a hash for this node

                                                      - -

                                                      Deprecated

                                                      use {rdfFactory.id} instead if possible

                                                      -
                                                      -

                                                      Returns string

                                                    -
                                                    - -
                                                      - -
                                                    • -

                                                      Compares whether this node is the same as the other one

                                                      -
                                                      -
                                                      -

                                                      Parameters

                                                      -
                                                        -
                                                      • -
                                                        other: Node
                                                        -

                                                        Another node

                                                        -
                                                      -

                                                      Returns boolean

                                                    -
                                                    - -
                                                      - -
                                                    • -

                                                      Creates the substituted node for this one, according to the specified bindings

                                                      -
                                                      -
                                                      -

                                                      Parameters

                                                      -
                                                        -
                                                      • -
                                                        bindings: any
                                                        -

                                                        Bindings of identifiers to nodes

                                                        -
                                                      -

                                                      Returns any

                                                    -
                                                    - -
                                                    -
                                                    - -
                                                    -
                                                    - -
                                                      - -
                                                    • -

                                                      Creates a n-triples string representation of this node

                                                      -
                                                      -

                                                      Returns string

                                                    -
                                                    - -
                                                    -
                                                    - -
                                                      - -
                                                    • -
                                                      -

                                                      Parameters

                                                      -
                                                        -
                                                      • -
                                                        variable: any
                                                      -

                                                      Returns string

                                                    -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +

                                                    Hierarchy (view full)

                                                    Implements

                                                    • Variable

                                                    Constructors

                                                    Properties

                                                    base: string = 'varid:'

                                                    The base string for a variable's name

                                                    +
                                                    classOrder: number = ClassOrder.Variable

                                                    The class order for this node

                                                    +
                                                    isVar: number = 1
                                                    termType: "Variable" = VariableTermType

                                                    The type of node

                                                    +
                                                    uri: string

                                                    The unique identifier of this variable

                                                    +
                                                    value: string

                                                    The node's value

                                                    +
                                                    fromValue: (<T>(value) => T)

                                                    Type declaration

                                                      • <T>(value): T
                                                      • Type Parameters

                                                        • T extends FromValueReturns

                                                        Parameters

                                                        • value: ValueType

                                                        Returns T

                                                    toJS: ((term) => string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[])

                                                    Type declaration

                                                      • (term): string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]
                                                      • Parameters

                                                        • term: any

                                                        Returns string | boolean | object | Number | Date | (string | boolean | object | Number | Date)[]

                                                    Methods

                                                    • Compares this node with another

                                                      +

                                                      Parameters

                                                      • other: Node

                                                        The other node

                                                        +

                                                      Returns number

                                                      See

                                                      to check if two nodes are equal

                                                      +
                                                    • Compares whether the two nodes are equal

                                                      +

                                                      Parameters

                                                      • other: any

                                                        The other node

                                                        +

                                                      Returns boolean

                                                    • Creates a hash for this node

                                                      +

                                                      Returns string

                                                      Deprecated

                                                      use {rdfFactory.id} instead if possible

                                                      +
                                                    • Creates the substituted node for this one, according to the specified bindings

                                                      +

                                                      Parameters

                                                      • bindings: any

                                                        Bindings of identifiers to nodes

                                                        +

                                                      Returns any

                                                    • Parameters

                                                      • variable: any

                                                      Returns string

                                                    \ No newline at end of file diff --git a/doc/functions/N3Parser.html b/doc/functions/N3Parser.html index 2091a9db2..0b3a97b37 100644 --- a/doc/functions/N3Parser.html +++ b/doc/functions/N3Parser.html @@ -1,160 +1 @@ -N3Parser | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Function N3Parser

                                                    -
                                                    -
                                                      - -
                                                    • -
                                                      -

                                                      Parameters

                                                      -
                                                        -
                                                      • -
                                                        store: any
                                                      • -
                                                      • -
                                                        openFormula: any
                                                      • -
                                                      • -
                                                        thisDoc: any
                                                      • -
                                                      • -
                                                        baseURI: any
                                                      • -
                                                      • -
                                                        genPrefix: any
                                                      • -
                                                      • -
                                                        metaURI: any
                                                      • -
                                                      • -
                                                        flags: any
                                                      • -
                                                      • -
                                                        why: any
                                                      -

                                                      Returns SinkParser

                                                    -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +N3Parser | rdflib

                                                    Function N3Parser

                                                    • Parameters

                                                      • store: any
                                                      • openFormula: any
                                                      • thisDoc: any
                                                      • baseURI: any
                                                      • genPrefix: any
                                                      • metaURI: any
                                                      • flags: any
                                                      • why: any

                                                      Returns SinkParser

                                                    \ No newline at end of file diff --git a/doc/functions/SPARQLToQuery.html b/doc/functions/SPARQLToQuery.html index 18f4c6f72..b93589e13 100644 --- a/doc/functions/SPARQLToQuery.html +++ b/doc/functions/SPARQLToQuery.html @@ -1,153 +1,3 @@ -SPARQLToQuery | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Function SPARQLToQuery

                                                    -
                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Serializer.html b/doc/functions/Serializer.html index 4ad6c86a9..eba9e70fd 100644 --- a/doc/functions/Serializer.html +++ b/doc/functions/Serializer.html @@ -1,146 +1 @@ -Serializer | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +Serializer | rdflib

                                                    Function Serializer

                                                    \ No newline at end of file diff --git a/doc/functions/Util.DOMParserFactory.html b/doc/functions/Util.DOMParserFactory.html deleted file mode 100644 index cfe7eda52..000000000 --- a/doc/functions/Util.DOMParserFactory.html +++ /dev/null @@ -1,144 +0,0 @@ -DOMParserFactory | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.RDFArrayRemove.html b/doc/functions/Util.RDFArrayRemove.html deleted file mode 100644 index 0d1d35a1b..000000000 --- a/doc/functions/Util.RDFArrayRemove.html +++ /dev/null @@ -1,151 +0,0 @@ -RDFArrayRemove | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.callbackify.html b/doc/functions/Util.callbackify.html deleted file mode 100644 index 343d33116..000000000 --- a/doc/functions/Util.callbackify.html +++ /dev/null @@ -1,159 +0,0 @@ -callbackify | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Function callbackify

                                                    -
                                                    -
                                                      - -
                                                    • -

                                                      Adds callback functionality to an object. -Callback functions are indexed by a 'hook' string. -They return true if they want to be called again.

                                                      - -

                                                      Method

                                                      callbackify

                                                      -
                                                      -
                                                      -

                                                      Parameters

                                                      -
                                                        -
                                                      • -
                                                        obj: any
                                                        -

                                                        {Object}

                                                        -
                                                      • -
                                                      • -
                                                        callbacks: string[]
                                                        -

                                                        {Array}

                                                        -
                                                      -

                                                      Returns void

                                                    -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.domToString.html b/doc/functions/Util.domToString.html deleted file mode 100644 index 761e532b6..000000000 --- a/doc/functions/Util.domToString.html +++ /dev/null @@ -1,149 +0,0 @@ -domToString | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.dtstamp.html b/doc/functions/Util.dtstamp.html deleted file mode 100644 index 2c8052641..000000000 --- a/doc/functions/Util.dtstamp.html +++ /dev/null @@ -1,142 +0,0 @@ -dtstamp | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.dumpNode.html b/doc/functions/Util.dumpNode.html deleted file mode 100644 index daec6e2b9..000000000 --- a/doc/functions/Util.dumpNode.html +++ /dev/null @@ -1,153 +0,0 @@ -dumpNode | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.heavyCompare.html b/doc/functions/Util.heavyCompare.html deleted file mode 100644 index 0a84a9548..000000000 --- a/doc/functions/Util.heavyCompare.html +++ /dev/null @@ -1,155 +0,0 @@ -heavyCompare | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.heavyCompareSPO.html b/doc/functions/Util.heavyCompareSPO.html deleted file mode 100644 index 23a1de767..000000000 --- a/doc/functions/Util.heavyCompareSPO.html +++ /dev/null @@ -1,153 +0,0 @@ -heavyCompareSPO | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.linkRelationProperty.html b/doc/functions/Util.linkRelationProperty.html deleted file mode 100644 index 9d2d7017d..000000000 --- a/doc/functions/Util.linkRelationProperty.html +++ /dev/null @@ -1,147 +0,0 @@ -linkRelationProperty | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.mediaTypeClass.html b/doc/functions/Util.mediaTypeClass.html deleted file mode 100644 index f82d84c3c..000000000 --- a/doc/functions/Util.mediaTypeClass.html +++ /dev/null @@ -1,147 +0,0 @@ -mediaTypeClass | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.output.html b/doc/functions/Util.output.html deleted file mode 100644 index 3e92aa484..000000000 --- a/doc/functions/Util.output.html +++ /dev/null @@ -1,153 +0,0 @@ -output | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.parseXML.html b/doc/functions/Util.parseXML.html deleted file mode 100644 index 65c636913..000000000 --- a/doc/functions/Util.parseXML.html +++ /dev/null @@ -1,151 +0,0 @@ -parseXML | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.stackString.html b/doc/functions/Util.stackString.html deleted file mode 100644 index 6d375ad28..000000000 --- a/doc/functions/Util.stackString.html +++ /dev/null @@ -1,147 +0,0 @@ -stackString | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/Util.string_startswith.html b/doc/functions/Util.string_startswith.html deleted file mode 100644 index 09cc170b2..000000000 --- a/doc/functions/Util.string_startswith.html +++ /dev/null @@ -1,149 +0,0 @@ -string_startswith | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/blankNode-1.html b/doc/functions/blankNode-1.html index 1cb747f3c..d722c3a12 100644 --- a/doc/functions/blankNode-1.html +++ b/doc/functions/blankNode-1.html @@ -1,146 +1 @@ -blankNode | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +blankNode | rdflib

                                                    Function blankNode

                                                    \ No newline at end of file diff --git a/doc/functions/defaultGraph.html b/doc/functions/defaultGraph.html index 1069ac703..1faa9798e 100644 --- a/doc/functions/defaultGraph.html +++ b/doc/functions/defaultGraph.html @@ -1,141 +1 @@ -defaultGraph | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +defaultGraph | rdflib

                                                    Function defaultGraph

                                                    \ No newline at end of file diff --git a/doc/functions/fetcher-1.html b/doc/functions/fetcher-1.html index e21c7838c..e6046fec8 100644 --- a/doc/functions/fetcher-1.html +++ b/doc/functions/fetcher-1.html @@ -1,148 +1 @@ -fetcher | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +fetcher | rdflib

                                                    Function fetcher

                                                    \ No newline at end of file diff --git a/doc/functions/fromNT.html b/doc/functions/fromNT.html index 5e7fceb3b..c328f416e 100644 --- a/doc/functions/fromNT.html +++ b/doc/functions/fromNT.html @@ -1,146 +1 @@ -fromNT | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +fromNT | rdflib

                                                    Function fromNT

                                                    \ No newline at end of file diff --git a/doc/functions/graph.html b/doc/functions/graph.html index d6bf8d1a7..14c896c7e 100644 --- a/doc/functions/graph.html +++ b/doc/functions/graph.html @@ -1,148 +1 @@ -graph | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +graph | rdflib

                                                    Function graph

                                                    \ No newline at end of file diff --git a/doc/functions/isBlankNode.html b/doc/functions/isBlankNode.html index c5bd046a7..d5aee19f7 100644 --- a/doc/functions/isBlankNode.html +++ b/doc/functions/isBlankNode.html @@ -1,148 +1,2 @@ -isBlankNode | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isBlankNode | rdflib

                                                    Function isBlankNode

                                                    • TypeGuard for RDF/JS spec BlankNodes

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is BlankNode

                                                    \ No newline at end of file diff --git a/doc/functions/isCollection.html b/doc/functions/isCollection.html index 515883b8e..a51f051b7 100644 --- a/doc/functions/isCollection.html +++ b/doc/functions/isCollection.html @@ -1,148 +1,2 @@ -isCollection | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isCollection | rdflib

                                                    Function isCollection

                                                    \ No newline at end of file diff --git a/doc/functions/isGraph.html b/doc/functions/isGraph.html index 7338db70a..4de7bc4e9 100644 --- a/doc/functions/isGraph.html +++ b/doc/functions/isGraph.html @@ -1,148 +1,2 @@ -isGraph | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isGraph | rdflib

                                                    Function isGraph

                                                    • TypeGuard for valid RDF/JS Graph types

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is Quad_Graph

                                                    \ No newline at end of file diff --git a/doc/functions/isLiteral.html b/doc/functions/isLiteral.html index 496b732ff..4ef59239f 100644 --- a/doc/functions/isLiteral.html +++ b/doc/functions/isLiteral.html @@ -1,148 +1,2 @@ -isLiteral | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isLiteral | rdflib

                                                    Function isLiteral

                                                    • TypeGuard for RDF/JS spec Literals

                                                      +

                                                      Parameters

                                                      • value: any

                                                      Returns value is Literal

                                                    \ No newline at end of file diff --git a/doc/functions/isNamedNode.html b/doc/functions/isNamedNode.html index c87690fed..e9cde7e1a 100644 --- a/doc/functions/isNamedNode.html +++ b/doc/functions/isNamedNode.html @@ -1,148 +1,2 @@ -isNamedNode | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isNamedNode | rdflib

                                                    Function isNamedNode

                                                    • TypeGuard for RDF/JS spec NamedNodes

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is NamedNode

                                                    \ No newline at end of file diff --git a/doc/functions/isPredicate.html b/doc/functions/isPredicate.html index 1858ecccf..70a7b0d42 100644 --- a/doc/functions/isPredicate.html +++ b/doc/functions/isPredicate.html @@ -1,148 +1,2 @@ -isPredicate | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isPredicate | rdflib

                                                    Function isPredicate

                                                    • TypeGuard for valid RDF/JS spec Predicate types

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is Quad_Predicate

                                                    \ No newline at end of file diff --git a/doc/functions/isQuad.html b/doc/functions/isQuad.html index d9441710c..18a8ea4a2 100644 --- a/doc/functions/isQuad.html +++ b/doc/functions/isQuad.html @@ -1,148 +1,2 @@ -isQuad | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isQuad | rdflib

                                                    Function isQuad

                                                    • TypeGuard for RDF/JS spec Quads

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is Quad<any, any, any, any>

                                                    \ No newline at end of file diff --git a/doc/functions/isRDFObject.html b/doc/functions/isRDFObject.html index 73414bfb3..4fab28295 100644 --- a/doc/functions/isRDFObject.html +++ b/doc/functions/isRDFObject.html @@ -1,148 +1,2 @@ -isRDFObject | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isRDFObject | rdflib

                                                    Function isRDFObject

                                                    • TypeGuard for valid RDF/JS spec Object types

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is Quad_Object

                                                    \ No newline at end of file diff --git a/doc/functions/isRDFlibObject.html b/doc/functions/isRDFlibObject.html index 8a30c644c..2316e603b 100644 --- a/doc/functions/isRDFlibObject.html +++ b/doc/functions/isRDFlibObject.html @@ -1,148 +1,2 @@ -isRDFlibObject | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isRDFlibObject | rdflib

                                                    Function isRDFlibObject

                                                    • TypeGuard for valid RDFlib Object types, also allows Collections, Graphs

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is ObjectType

                                                    \ No newline at end of file diff --git a/doc/functions/isRDFlibPredicate.html b/doc/functions/isRDFlibPredicate.html index d2062f6bd..b6281d0c6 100644 --- a/doc/functions/isRDFlibPredicate.html +++ b/doc/functions/isRDFlibPredicate.html @@ -1,148 +1,2 @@ -isRDFlibPredicate | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isRDFlibPredicate | rdflib

                                                    Function isRDFlibPredicate

                                                    • TypeGuard for valid RDF/JS spec Predicate types

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is Quad_Predicate

                                                    \ No newline at end of file diff --git a/doc/functions/isRDFlibSubject.html b/doc/functions/isRDFlibSubject.html index b6d71243c..539da4390 100644 --- a/doc/functions/isRDFlibSubject.html +++ b/doc/functions/isRDFlibSubject.html @@ -1,148 +1,2 @@ -isRDFlibSubject | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isRDFlibSubject | rdflib

                                                    Function isRDFlibSubject

                                                    • TypeGuard for valid RDFlib Subject types, same as Object as RDFLib symmetrical.

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is ObjectType

                                                    \ No newline at end of file diff --git a/doc/functions/isStatement.html b/doc/functions/isStatement.html index 10aeb85ea..509aeed5d 100644 --- a/doc/functions/isStatement.html +++ b/doc/functions/isStatement.html @@ -1,148 +1,2 @@ -isStatement | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isStatement | rdflib

                                                    Function isStatement

                                                    • TypeGuard for RDFLib Statements

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is Statement<SubjectType, PredicateType, ObjectType, GraphType>

                                                    \ No newline at end of file diff --git a/doc/functions/isStore.html b/doc/functions/isStore.html index b7c0293c5..ffa8f4337 100644 --- a/doc/functions/isStore.html +++ b/doc/functions/isStore.html @@ -1,148 +1,2 @@ -isStore | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isStore | rdflib

                                                    Function isStore

                                                    \ No newline at end of file diff --git a/doc/functions/isSubject.html b/doc/functions/isSubject.html index 37f4f0d59..08b25ccbb 100644 --- a/doc/functions/isSubject.html +++ b/doc/functions/isSubject.html @@ -1,148 +1,2 @@ -isSubject | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isSubject | rdflib

                                                    Function isSubject

                                                    • TypeGuard for valid RDF/JS spec Subject types

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is Quad_Subject

                                                    \ No newline at end of file diff --git a/doc/functions/isTerm.html b/doc/functions/isTerm.html index d0d42761c..78a156221 100644 --- a/doc/functions/isTerm.html +++ b/doc/functions/isTerm.html @@ -1,148 +1,2 @@ -isTerm | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isTerm | rdflib

                                                    Function isTerm

                                                    • TypeGuard for RDF/JS spec Terms

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is Term

                                                    \ No newline at end of file diff --git a/doc/functions/isVariable.html b/doc/functions/isVariable.html index 4066d4ce0..8f32a63a2 100644 --- a/doc/functions/isVariable.html +++ b/doc/functions/isVariable.html @@ -1,148 +1,2 @@ -isVariable | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +isVariable | rdflib

                                                    Function isVariable

                                                    • TypeGuard for RDFLib Variables

                                                      +

                                                      Parameters

                                                      • obj: any

                                                      Returns obj is Variable

                                                    \ No newline at end of file diff --git a/doc/functions/lit.html b/doc/functions/lit.html index 685710c51..8f0559a27 100644 --- a/doc/functions/lit.html +++ b/doc/functions/lit.html @@ -1,150 +1 @@ -lit | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +lit | rdflib

                                                    Function lit

                                                    \ No newline at end of file diff --git a/doc/functions/literal-1.html b/doc/functions/literal-1.html index ddcf86ff2..64f003a68 100644 --- a/doc/functions/literal-1.html +++ b/doc/functions/literal-1.html @@ -1,148 +1 @@ -literal | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +literal | rdflib

                                                    Function literal

                                                    • Parameters

                                                      • value: string
                                                      • Optional languageOrDatatype: string | NamedNode

                                                      Returns Literal

                                                    \ No newline at end of file diff --git a/doc/functions/parse.html b/doc/functions/parse.html index 0e9488079..a7ba82d09 100644 --- a/doc/functions/parse.html +++ b/doc/functions/parse.html @@ -1,169 +1,10 @@ -parse | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Function parse

                                                    -
                                                    -
                                                    \ No newline at end of file diff --git a/doc/functions/quad.html b/doc/functions/quad.html index 279e15382..cbaf1dc54 100644 --- a/doc/functions/quad.html +++ b/doc/functions/quad.html @@ -1,152 +1 @@ -quad | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +quad | rdflib

                                                    Function quad

                                                    • Parameters

                                                      • subject: Term
                                                      • predicate: Term
                                                      • object: Term
                                                      • Optional graph: Term

                                                      Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>

                                                    \ No newline at end of file diff --git a/doc/functions/queryToSPARQL.html b/doc/functions/queryToSPARQL.html index f8158f78b..6b1a9a76f 100644 --- a/doc/functions/queryToSPARQL.html +++ b/doc/functions/queryToSPARQL.html @@ -1,146 +1 @@ -queryToSPARQL | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +queryToSPARQL | rdflib

                                                    Function queryToSPARQL

                                                    \ No newline at end of file diff --git a/doc/functions/serialize.html b/doc/functions/serialize.html index b4fc8f3d5..7cf273d03 100644 --- a/doc/functions/serialize.html +++ b/doc/functions/serialize.html @@ -1,188 +1,9 @@ -serialize | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Function serialize

                                                    -
                                                    -

                                                    Returns string | undefined

                                                    \ No newline at end of file diff --git a/doc/functions/sparqlUpdateParser.html b/doc/functions/sparqlUpdateParser.html index 0503c8c50..40f93190b 100644 --- a/doc/functions/sparqlUpdateParser.html +++ b/doc/functions/sparqlUpdateParser.html @@ -1,153 +1 @@ -sparqlUpdateParser | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +sparqlUpdateParser | rdflib

                                                    Function sparqlUpdateParser

                                                    • Parameters

                                                      • str: any
                                                      • kb: any
                                                      • base: any

                                                      Returns {
                                                          query: any;
                                                      }

                                                      • query: any
                                                    \ No newline at end of file diff --git a/doc/functions/st.html b/doc/functions/st.html index 0c07e8304..5292a903d 100644 --- a/doc/functions/st.html +++ b/doc/functions/st.html @@ -1,152 +1 @@ -st | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Function st

                                                    -
                                                    -
                                                      - -
                                                    • -
                                                      -

                                                      Parameters

                                                      -
                                                        -
                                                      • -
                                                        subject: Quad_Subject
                                                      • -
                                                      • -
                                                        predicate: Quad_Predicate
                                                      • -
                                                      • -
                                                        object: Quad_Object
                                                      • -
                                                      • -
                                                        Optional graph: Quad_Graph
                                                      -

                                                      Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>

                                                    -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +st | rdflib

                                                    Function st

                                                    • Parameters

                                                      • subject: Quad_Subject
                                                      • predicate: Quad_Predicate
                                                      • object: Quad_Object
                                                      • Optional graph: Quad_Graph

                                                      Returns Statement<SubjectType, PredicateType, ObjectType, GraphType>

                                                    \ No newline at end of file diff --git a/doc/functions/sym.html b/doc/functions/sym.html index 27b68becd..8284f4d3c 100644 --- a/doc/functions/sym.html +++ b/doc/functions/sym.html @@ -1,146 +1 @@ -sym | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +sym | rdflib

                                                    Function sym

                                                    \ No newline at end of file diff --git a/doc/functions/term.html b/doc/functions/term.html index 6137fde9a..befe763c7 100644 --- a/doc/functions/term.html +++ b/doc/functions/term.html @@ -1,151 +1 @@ -term | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +term | rdflib

                                                    Function term

                                                    • Type Parameters

                                                      • T extends FromValueReturns

                                                      Parameters

                                                      • value: ValueType

                                                      Returns T

                                                    \ No newline at end of file diff --git a/doc/functions/termValue.html b/doc/functions/termValue.html index 6740a3696..274df5613 100644 --- a/doc/functions/termValue.html +++ b/doc/functions/termValue.html @@ -1,148 +1,2 @@ -termValue | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +termValue | rdflib

                                                    Function termValue

                                                    • Retrieve the value of a term, or self if already a string.

                                                      +

                                                      Parameters

                                                      • node: string | Term

                                                      Returns string

                                                    \ No newline at end of file diff --git a/doc/functions/triple.html b/doc/functions/triple.html index 5134c44da..c58ed154d 100644 --- a/doc/functions/triple.html +++ b/doc/functions/triple.html @@ -1,155 +1 @@ -triple | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Function triple

                                                    -
                                                    -
                                                      - -
                                                    • -

                                                      Returns a new instance of Quad. -If graph is undefined or null it MUST set graph to a DefaultGraph.

                                                      -
                                                      -
                                                      -

                                                      Parameters

                                                      -
                                                        -
                                                      • -
                                                        subject: Term
                                                      • -
                                                      • -
                                                        predicate: Term
                                                      • -
                                                      • -
                                                        object: Term
                                                      • -
                                                      • -
                                                        Optional graph: Term
                                                      -

                                                      Returns Quad<any, any, any, any>

                                                    -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +triple | rdflib

                                                    Function triple

                                                    • Parameters

                                                      • subject: Term
                                                      • predicate: Term
                                                      • object: Term
                                                      • Optional graph: Term

                                                      Returns Quad<any, any, any, any>

                                                    \ No newline at end of file diff --git a/doc/functions/uri.docpart.html b/doc/functions/uri.docpart.html index 4ef79ce80..a8baea205 100644 --- a/doc/functions/uri.docpart.html +++ b/doc/functions/uri.docpart.html @@ -1,151 +1,3 @@ -docpart | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +docpart | rdflib

                                                    Function docpart

                                                    • Gets the document part of an URI

                                                      +

                                                      Parameters

                                                      • uri: string

                                                        The URI

                                                        +

                                                      Returns string

                                                    \ No newline at end of file diff --git a/doc/functions/uri.document.html b/doc/functions/uri.document.html index 94ebae650..d640594a8 100644 --- a/doc/functions/uri.document.html +++ b/doc/functions/uri.document.html @@ -1,151 +1,3 @@ -document | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +document | rdflib

                                                    Function document

                                                    \ No newline at end of file diff --git a/doc/functions/uri.hostpart.html b/doc/functions/uri.hostpart.html index c8f713d49..612492e6e 100644 --- a/doc/functions/uri.hostpart.html +++ b/doc/functions/uri.hostpart.html @@ -1,151 +1,3 @@ -hostpart | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +hostpart | rdflib

                                                    Function hostpart

                                                    • Gets the hostname in an URI

                                                      +

                                                      Parameters

                                                      • u: string

                                                        The URI

                                                        +

                                                      Returns string

                                                    \ No newline at end of file diff --git a/doc/functions/uri.join.html b/doc/functions/uri.join.html index b920a1051..4f118face 100644 --- a/doc/functions/uri.join.html +++ b/doc/functions/uri.join.html @@ -1,155 +1,4 @@ -join | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +join | rdflib

                                                    Function join

                                                    • Joins an URI with a base

                                                      +

                                                      Parameters

                                                      • given: string

                                                        The relative part

                                                        +
                                                      • base: string

                                                        The base URI

                                                        +

                                                      Returns string

                                                    \ No newline at end of file diff --git a/doc/functions/uri.protocol.html b/doc/functions/uri.protocol.html index 6021e6013..b7976daec 100644 --- a/doc/functions/uri.protocol.html +++ b/doc/functions/uri.protocol.html @@ -1,151 +1,3 @@ -protocol | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +protocol | rdflib

                                                    Function protocol

                                                    • Gets the protocol part of an URI

                                                      +

                                                      Parameters

                                                      • uri: string

                                                        The URI

                                                        +

                                                      Returns string | null

                                                    \ No newline at end of file diff --git a/doc/functions/uri.refTo.html b/doc/functions/uri.refTo.html index df38b99a5..f96e46749 100644 --- a/doc/functions/uri.refTo.html +++ b/doc/functions/uri.refTo.html @@ -1,155 +1,4 @@ -refTo | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +refTo | rdflib

                                                    Function refTo

                                                    • Gets a relative uri

                                                      +

                                                      Parameters

                                                      • base: string

                                                        The base URI

                                                        +
                                                      • uri: string

                                                        The absolute URI

                                                        +

                                                      Returns string

                                                    \ No newline at end of file diff --git a/doc/functions/util.DOMParserFactory.html b/doc/functions/util.DOMParserFactory.html new file mode 100644 index 000000000..3216c4b9a --- /dev/null +++ b/doc/functions/util.DOMParserFactory.html @@ -0,0 +1,2 @@ +DOMParserFactory | rdflib

                                                    Function DOMParserFactory

                                                    • Returns a DOM parser based on current runtime environment.

                                                      +

                                                      Returns any

                                                    \ No newline at end of file diff --git a/doc/functions/util.RDFArrayRemove.html b/doc/functions/util.RDFArrayRemove.html new file mode 100644 index 000000000..bf67bc24d --- /dev/null +++ b/doc/functions/util.RDFArrayRemove.html @@ -0,0 +1,2 @@ +RDFArrayRemove | rdflib

                                                    Function RDFArrayRemove

                                                    • Removes all statements equal to x from a

                                                      +

                                                      Parameters

                                                      • a: any
                                                      • x: any

                                                      Returns void

                                                    \ No newline at end of file diff --git a/doc/functions/util.callbackify.html b/doc/functions/util.callbackify.html new file mode 100644 index 000000000..10760de9e --- /dev/null +++ b/doc/functions/util.callbackify.html @@ -0,0 +1,7 @@ +callbackify | rdflib

                                                    Function callbackify

                                                    • Adds callback functionality to an object. +Callback functions are indexed by a 'hook' string. +They return true if they want to be called again.

                                                      +

                                                      Parameters

                                                      • obj: any

                                                        {Object}

                                                        +
                                                      • callbacks: string[]

                                                        {Array}

                                                        +

                                                      Returns void

                                                      Method

                                                      callbackify

                                                      +
                                                    \ No newline at end of file diff --git a/doc/functions/util.domToString.html b/doc/functions/util.domToString.html new file mode 100644 index 000000000..650c63651 --- /dev/null +++ b/doc/functions/util.domToString.html @@ -0,0 +1 @@ +domToString | rdflib

                                                    Function domToString

                                                    • Parameters

                                                      • node: any
                                                      • options: any

                                                      Returns string

                                                    \ No newline at end of file diff --git a/doc/functions/util.dtstamp.html b/doc/functions/util.dtstamp.html new file mode 100644 index 000000000..e2178e2a6 --- /dev/null +++ b/doc/functions/util.dtstamp.html @@ -0,0 +1 @@ +dtstamp | rdflib

                                                    Function dtstamp

                                                    \ No newline at end of file diff --git a/doc/functions/util.dumpNode.html b/doc/functions/util.dumpNode.html new file mode 100644 index 000000000..0a6ff589c --- /dev/null +++ b/doc/functions/util.dumpNode.html @@ -0,0 +1 @@ +dumpNode | rdflib

                                                    Function dumpNode

                                                    • Parameters

                                                      • node: any
                                                      • options: any
                                                      • selfClosing: any
                                                      • skipAttributes: any

                                                      Returns string

                                                    \ No newline at end of file diff --git a/doc/functions/util.heavyCompare.html b/doc/functions/util.heavyCompare.html new file mode 100644 index 000000000..7c3032d7d --- /dev/null +++ b/doc/functions/util.heavyCompare.html @@ -0,0 +1,2 @@ +heavyCompare | rdflib

                                                    Function heavyCompare

                                                    • Compares statements (heavy comparison for repeatable canonical ordering)

                                                      +

                                                      Parameters

                                                      • x: any
                                                      • y: any
                                                      • g: any
                                                      • uriMap: any

                                                      Returns any

                                                    \ No newline at end of file diff --git a/doc/functions/util.heavyCompareSPO.html b/doc/functions/util.heavyCompareSPO.html new file mode 100644 index 000000000..64f7c7a03 --- /dev/null +++ b/doc/functions/util.heavyCompareSPO.html @@ -0,0 +1 @@ +heavyCompareSPO | rdflib

                                                    Function heavyCompareSPO

                                                    • Parameters

                                                      • x: any
                                                      • y: any
                                                      • g: any
                                                      • uriMap: any

                                                      Returns any

                                                    \ No newline at end of file diff --git a/doc/functions/util.linkRelationProperty.html b/doc/functions/util.linkRelationProperty.html new file mode 100644 index 000000000..0067c2c24 --- /dev/null +++ b/doc/functions/util.linkRelationProperty.html @@ -0,0 +1 @@ +linkRelationProperty | rdflib

                                                    Function linkRelationProperty

                                                    \ No newline at end of file diff --git a/doc/functions/util.mediaTypeClass.html b/doc/functions/util.mediaTypeClass.html new file mode 100644 index 000000000..d5ee5ef3d --- /dev/null +++ b/doc/functions/util.mediaTypeClass.html @@ -0,0 +1 @@ +mediaTypeClass | rdflib

                                                    Function mediaTypeClass

                                                    \ No newline at end of file diff --git a/doc/functions/util.output.html b/doc/functions/util.output.html new file mode 100644 index 000000000..95593a56d --- /dev/null +++ b/doc/functions/util.output.html @@ -0,0 +1,4 @@ +output | rdflib

                                                    Function output

                                                    • Defines a simple debugging function

                                                      +

                                                      Parameters

                                                      • o: string

                                                        {String}

                                                        +

                                                      Returns void

                                                      Method

                                                      output

                                                      +
                                                    \ No newline at end of file diff --git a/doc/functions/util.parseXML.html b/doc/functions/util.parseXML.html new file mode 100644 index 000000000..1bea43922 --- /dev/null +++ b/doc/functions/util.parseXML.html @@ -0,0 +1,2 @@ +parseXML | rdflib

                                                    Function parseXML

                                                    • Returns a DOM from parsed XML.

                                                      +

                                                      Parameters

                                                      • str: any
                                                      • options: any

                                                      Returns Document

                                                    \ No newline at end of file diff --git a/doc/functions/util.stackString.html b/doc/functions/util.stackString.html new file mode 100644 index 000000000..735b3698f --- /dev/null +++ b/doc/functions/util.stackString.html @@ -0,0 +1 @@ +stackString | rdflib

                                                    Function stackString

                                                    \ No newline at end of file diff --git a/doc/functions/util.string_startswith.html b/doc/functions/util.string_startswith.html new file mode 100644 index 000000000..660853b10 --- /dev/null +++ b/doc/functions/util.string_startswith.html @@ -0,0 +1 @@ +string_startswith | rdflib

                                                    Function string_startswith

                                                    • Parameters

                                                      • str: any
                                                      • pref: any

                                                      Returns boolean

                                                    \ No newline at end of file diff --git a/doc/functions/variable-1.html b/doc/functions/variable-1.html index 7ea31356c..f5b6c7488 100644 --- a/doc/functions/variable-1.html +++ b/doc/functions/variable-1.html @@ -1,146 +1 @@ -variable | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +variable | rdflib

                                                    Function variable

                                                    \ No newline at end of file diff --git a/doc/hierarchy.html b/doc/hierarchy.html new file mode 100644 index 000000000..1cabd61c3 --- /dev/null +++ b/doc/hierarchy.html @@ -0,0 +1 @@ +rdflib
                                                    \ No newline at end of file diff --git a/doc/index.html b/doc/index.html index 18cd9b9dc..240c3744b 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,18 +1,4 @@ -rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    -

                                                    rdflib

                                                    -

                                                    rdflib.js

                                                    NPM Version +rdflib

                                                    rdflib

                                                    rdflib.js

                                                    NPM Version Join the chat at https://gitter.im/linkeddata/rdflib.js

                                                    Javascript RDF library for browsers and Node.js.

                                                      @@ -25,7 +11,7 @@

                                                      rdflib

                                                  • Smushing of nodes from owl:sameAs, and owl:{f,inverseF}unctionProperty
                                                  • Tracks provenance of triples keeps metadata (in RDF) from HTTP accesses
                                                  • -

                                                    Documentation

                                                    See:

                                                    +

                                                    Documentation

                                                    See:

                                                    for more information.

                                                    -

                                                    Install

                                                    Browser (using a bundler like Webpack)

                                                    npm install rdflib
                                                    -
                                                    -

                                                    Browser (generating a <script> file to include)

                                                    git clone git@github.com:linkeddata/rdflib.js.git;
                                                    cd rdflib.js;
                                                    npm install; -
                                                    +

                                                    Install

                                                    Browser (using a bundler like Webpack)

                                                    npm install rdflib
                                                    +
                                                    +

                                                    Browser (generating a <script> file to include)

                                                    git clone git@github.com:linkeddata/rdflib.js.git;
                                                    cd rdflib.js;
                                                    npm install; +

                                                    Generate the dist directory

                                                    -
                                                    npm run build:browser
                                                    -
                                                    -

                                                    Node.js

                                                    Make sure you have Node.js and Node Package Manager (npm) +

                                                    npm run build:browser
                                                    +
                                                    +

                                                    Node.js

                                                    Make sure you have Node.js and Node Package Manager (npm) installed.

                                                    -
                                                    npm install --save rdflib
                                                    -
                                                    -

                                                    Contribute

                                                    Subdirectories

                                                      +
                                                      npm install --save rdflib
                                                      +
                                                      +

                                                      Contribute

                                                      Subdirectories

                                                      • dist: Where the bundled libraries are built. Run npm run build to generate them.
                                                      • test: Tests are here.
                                                      • lib: Transpiled, non-bundled library is built here when the library is published to npm.
                                                      -

                                                      Dependencies

                                                      - XMLHTTPRequest (Node.js version)
                                                      -
                                                      -

                                                      Thanks

                                                      Thanks to the many contributors who have been involved along the way. +

                                                      Dependencies

                                                      - XMLHTTPRequest (Node.js version)
                                                      +
                                                      +

                                                      Thanks

                                                      Thanks to the many contributors who have been involved along the way. LinkedData team & TimBL

                                                      -

                                                      LICENSE

                                                      MIT

                                                      -
                                                    -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +

                                                    LICENSE

                                                    MIT

                                                    +
                                                    \ No newline at end of file diff --git a/doc/interfaces/AutoInitOptions.html b/doc/interfaces/AutoInitOptions.html index 45d632eb0..2e86cafa5 100644 --- a/doc/interfaces/AutoInitOptions.html +++ b/doc/interfaces/AutoInitOptions.html @@ -1,449 +1,61 @@ -AutoInitOptions | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Interface AutoInitOptions

                                                    -
                                                    -

                                                    Initiated by initFetchOptions, which runs on load

                                                    -
                                                    -
                                                    -

                                                    Hierarchy

                                                    -
                                                      -
                                                    • RequestInit -
                                                        -
                                                      • AutoInitOptions
                                                    -
                                                    -
                                                    -
                                                    - -
                                                    -
                                                    -

                                                    Properties

                                                    -
                                                    - -
                                                    actualProxyURI?: string
                                                    -
                                                    - -
                                                    baseURI: string
                                                    -

                                                    Original uri to preserve +AutoInitOptions | rdflib

                                                    Interface AutoInitOptions

                                                    Initiated by initFetchOptions, which runs on load

                                                    +
                                                    interface AutoInitOptions {
                                                        actualProxyURI?: string;
                                                        baseURI: string;
                                                        body?: string;
                                                        cache?: RequestCache;
                                                        clearPreviousData?: boolean;
                                                        contentType?: string;
                                                        credentials?: "include" | "omit";
                                                        data?: string;
                                                        fetch?: Fetch;
                                                        force?: boolean;
                                                        forceContentType?: ContentType;
                                                        handlers?: Handler[];
                                                        headers: HeadersInit;
                                                        integrity?: string;
                                                        keepalive?: boolean;
                                                        method?: HTTPMethods;
                                                        mode?: RequestMode;
                                                        noMeta?: boolean;
                                                        noRDFa?: boolean;
                                                        original: NamedNode;
                                                        proxyUsed?: boolean;
                                                        redirect?: RequestRedirect;
                                                        referrer?: string;
                                                        referrerPolicy?: ReferrerPolicy;
                                                        referringTerm?: NamedNode;
                                                        req: BlankNode;
                                                        requestedURI?: string;
                                                        resource: Quad_Subject;
                                                        retriedWithNoCredentials?: boolean;
                                                        signal?: null | AbortSignal;
                                                        timeout?: number;
                                                        window?: null;
                                                        withCredentials?: boolean;
                                                    }

                                                    Hierarchy

                                                    • RequestInit
                                                      • AutoInitOptions

                                                    Properties

                                                    actualProxyURI?: string
                                                    baseURI: string

                                                    Original uri to preserve through proxying etc (xhr.original).

                                                    -
                                                    -
                                                    - -
                                                    body?: string
                                                    -
                                                    - -
                                                    cache?: RequestCache
                                                    -

                                                    A string indicating how the request will interact with the browser's cache to set request's cache.

                                                    -
                                                    -
                                                    - -
                                                    clearPreviousData?: boolean
                                                    -

                                                    Before we parse new data, clear old, but only on status 200 responses

                                                    -
                                                    -
                                                    - -
                                                    contentType?: string
                                                    -

                                                    Provided content type (for writes)

                                                    -
                                                    -
                                                    - -
                                                    credentials?: "include" | "omit"
                                                    -
                                                    - -
                                                    data?: string
                                                    -
                                                    - -
                                                    fetch?: Fetch
                                                    -

                                                    The used Fetch function

                                                    -
                                                    -
                                                    - -
                                                    force?: boolean
                                                    -

                                                    Load the data even if loaded before. +

                                                    body?: string
                                                    cache?: RequestCache

                                                    A string indicating how the request will interact with the browser's cache to set request's cache.

                                                    +
                                                    clearPreviousData?: boolean

                                                    Before we parse new data, clear old, but only on status 200 responses

                                                    +
                                                    contentType?: string

                                                    Provided content type (for writes)

                                                    +
                                                    credentials?: "include" | "omit"
                                                    data?: string
                                                    fetch?: Fetch

                                                    The used Fetch function

                                                    +
                                                    force?: boolean

                                                    Load the data even if loaded before. Also sets the Cache-Control: header to no-cache

                                                    -
                                                    -
                                                    - -
                                                    forceContentType?: ContentType
                                                    -

                                                    Override the incoming header to +

                                                    forceContentType?: ContentType

                                                    Override the incoming header to force the data to be treated as this content-type (for reads)

                                                    -
                                                    -
                                                    - -
                                                    handlers?: Handler[]
                                                    -
                                                    - -
                                                    headers: HeadersInit
                                                    -
                                                    - -
                                                    integrity?: string
                                                    -

                                                    A cryptographic hash of the resource to be fetched by request. Sets request's integrity.

                                                    -
                                                    -
                                                    - -
                                                    keepalive?: boolean
                                                    -

                                                    A boolean to set request's keepalive.

                                                    -
                                                    -
                                                    - -
                                                    method?: HTTPMethods
                                                    -
                                                    - -
                                                    mode?: RequestMode
                                                    -

                                                    A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode.

                                                    -
                                                    -
                                                    - -
                                                    noMeta?: boolean
                                                    -

                                                    Prevents the addition of various metadata triples (about the fetch request) to the store

                                                    -
                                                    -
                                                    - -
                                                    noRDFa?: boolean
                                                    -
                                                    - -
                                                    original: NamedNode
                                                    -

                                                    The serialized resource in the body

                                                    -
                                                    -
                                                    - -
                                                    proxyUsed?: boolean
                                                    -

                                                    Whether this request is a retry via +

                                                    handlers?: Handler[]
                                                    headers: HeadersInit
                                                    integrity?: string

                                                    A cryptographic hash of the resource to be fetched by request. Sets request's integrity.

                                                    +
                                                    keepalive?: boolean

                                                    A boolean to set request's keepalive.

                                                    +
                                                    method?: HTTPMethods
                                                    mode?: RequestMode

                                                    A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode.

                                                    +
                                                    noMeta?: boolean

                                                    Prevents the addition of various metadata triples (about the fetch request) to the store

                                                    +
                                                    noRDFa?: boolean
                                                    original: NamedNode

                                                    The serialized resource in the body

                                                    +
                                                    proxyUsed?: boolean

                                                    Whether this request is a retry via a proxy (generally done from an error handler)

                                                    -
                                                    -
                                                    - -
                                                    redirect?: RequestRedirect
                                                    -

                                                    A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect.

                                                    -
                                                    -
                                                    - -
                                                    referrer?: string
                                                    -

                                                    A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer.

                                                    -
                                                    -
                                                    - -
                                                    referrerPolicy?: ReferrerPolicy
                                                    -

                                                    A referrer policy to set request's referrerPolicy.

                                                    -
                                                    -
                                                    - -
                                                    referringTerm?: NamedNode
                                                    -

                                                    Referring term, the resource which +

                                                    redirect?: RequestRedirect

                                                    A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect.

                                                    +
                                                    referrer?: string

                                                    A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer.

                                                    +
                                                    referrerPolicy?: ReferrerPolicy

                                                    A referrer policy to set request's referrerPolicy.

                                                    +
                                                    referringTerm?: NamedNode

                                                    Referring term, the resource which referred to this (for tracking bad links). The document in which this link was found.

                                                    -
                                                    -
                                                    - -
                                                    req: BlankNode
                                                    -
                                                    - -
                                                    requestedURI?: string
                                                    -
                                                    - -
                                                    resource: Quad_Subject
                                                    -
                                                    - -
                                                    retriedWithNoCredentials?: boolean
                                                    -
                                                    - -
                                                    signal?: null | AbortSignal
                                                    -

                                                    An AbortSignal to set request's signal.

                                                    -
                                                    -
                                                    - -
                                                    timeout?: number
                                                    -
                                                    - -
                                                    window?: null
                                                    -

                                                    Can only be null. Used to disassociate request from any Window.

                                                    -
                                                    -
                                                    - -
                                                    withCredentials?: boolean
                                                    -

                                                    flag for XHR/CORS etc

                                                    -
                                                    -
                                                    - -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +
                                                    req: BlankNode
                                                    requestedURI?: string
                                                    resource: Quad_Subject
                                                    retriedWithNoCredentials?: boolean
                                                    signal?: null | AbortSignal

                                                    An AbortSignal to set request's signal.

                                                    +
                                                    timeout?: number
                                                    window?: null

                                                    Can only be null. Used to disassociate request from any Window.

                                                    +
                                                    withCredentials?: boolean

                                                    flag for XHR/CORS etc

                                                    +
                                                    \ No newline at end of file diff --git a/doc/interfaces/ExtendedResponse.html b/doc/interfaces/ExtendedResponse.html index 54dde8468..3fd797a00 100644 --- a/doc/interfaces/ExtendedResponse.html +++ b/doc/interfaces/ExtendedResponse.html @@ -1,343 +1,25 @@ -ExtendedResponse | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Interface ExtendedResponse

                                                    -
                                                    -

                                                    An extended interface of Response, since RDFlib.js adds some properties.

                                                    -
                                                    -
                                                    -

                                                    Hierarchy

                                                    -
                                                      -
                                                    • Response -
                                                        -
                                                      • ExtendedResponse
                                                    -
                                                    -
                                                    -
                                                    - -
                                                    -
                                                    -

                                                    Properties

                                                    -
                                                    - -
                                                    body: null | ReadableStream<Uint8Array>
                                                    -
                                                    - -
                                                    bodyUsed: boolean
                                                    -
                                                    - -
                                                    error?: string
                                                    -

                                                    Used in UpdateManager.updateDav

                                                    -
                                                    -
                                                    - -
                                                    headers: Headers
                                                    -
                                                    - -
                                                    ok: boolean
                                                    -
                                                    - -
                                                    redirected: boolean
                                                    -
                                                    - -
                                                    req?: Quad_Subject
                                                    -

                                                    Identifier of the reqest

                                                    -
                                                    -
                                                    - -
                                                    responseText?: string
                                                    -

                                                    String representation of the Body

                                                    -
                                                    -
                                                    - -
                                                    size?: number
                                                    -
                                                    - -
                                                    status: number
                                                    -
                                                    - -
                                                    statusText: string
                                                    -
                                                    - -
                                                    timeout?: number
                                                    -
                                                    - -
                                                    type: ResponseType
                                                    -
                                                    - -
                                                    url: string
                                                    -
                                                    -

                                                    Methods

                                                    -
                                                    - -
                                                      - -
                                                    • -

                                                      Returns Promise<ArrayBuffer>

                                                    -
                                                    - -
                                                      - -
                                                    • -

                                                      Returns Promise<Blob>

                                                    -
                                                    - -
                                                      - -
                                                    • -

                                                      Returns Response

                                                    -
                                                    - -
                                                      - -
                                                    • -

                                                      Returns Promise<FormData>

                                                    -
                                                    - -
                                                      - -
                                                    • -

                                                      Returns Promise<any>

                                                    -
                                                    - -
                                                      - -
                                                    • -

                                                      Returns Promise<string>

                                                    -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +ExtendedResponse | rdflib

                                                    Interface ExtendedResponse

                                                    An extended interface of Response, since RDFlib.js adds some properties.

                                                    +
                                                    interface ExtendedResponse {
                                                        body: null | ReadableStream<Uint8Array>;
                                                        bodyUsed: boolean;
                                                        error?: string;
                                                        headers: Headers;
                                                        ok: boolean;
                                                        redirected: boolean;
                                                        req?: Quad_Subject;
                                                        responseText?: string;
                                                        size?: number;
                                                        status: number;
                                                        statusText: string;
                                                        timeout?: number;
                                                        type: ResponseType;
                                                        url: string;
                                                        arrayBuffer(): Promise<ArrayBuffer>;
                                                        blob(): Promise<Blob>;
                                                        clone(): Response;
                                                        formData(): Promise<FormData>;
                                                        json(): Promise<any>;
                                                        text(): Promise<string>;
                                                    }

                                                    Hierarchy

                                                    • Response
                                                      • ExtendedResponse

                                                    Properties

                                                    body: null | ReadableStream<Uint8Array>
                                                    bodyUsed: boolean
                                                    error?: string

                                                    Used in UpdateManager.updateDav

                                                    +
                                                    headers: Headers
                                                    ok: boolean
                                                    redirected: boolean
                                                    req?: Quad_Subject

                                                    Identifier of the reqest

                                                    +
                                                    responseText?: string

                                                    String representation of the Body

                                                    +
                                                    size?: number
                                                    status: number
                                                    statusText: string
                                                    timeout?: number
                                                    type: ResponseType
                                                    url: string

                                                    Methods

                                                    • Returns Promise<ArrayBuffer>

                                                    • Returns Promise<Blob>

                                                    • Returns Response

                                                    • Returns Promise<FormData>

                                                    • Returns Promise<any>

                                                    • Returns Promise<string>

                                                    \ No newline at end of file diff --git a/doc/interfaces/FetchError.html b/doc/interfaces/FetchError.html index f8940a07d..5048f8a23 100644 --- a/doc/interfaces/FetchError.html +++ b/doc/interfaces/FetchError.html @@ -1,201 +1,7 @@ -FetchError | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Interface FetchError

                                                    -
                                                    -

                                                    Hierarchy

                                                    -
                                                      -
                                                    • Error -
                                                        -
                                                      • FetchError
                                                    -
                                                    -
                                                    -
                                                    - -
                                                    -
                                                    -

                                                    Properties

                                                    -
                                                    - -
                                                    message: string
                                                    -
                                                    - -
                                                    name: string
                                                    -
                                                    - -
                                                    response?: ExtendedResponse
                                                    -
                                                    - -
                                                    stack?: string
                                                    -
                                                    - -
                                                    status?: StatusValues
                                                    -
                                                    - -
                                                    statusText?: string
                                                    -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +FetchError | rdflib

                                                    Interface FetchError

                                                    interface FetchError {
                                                        message: string;
                                                        name: string;
                                                        response?: ExtendedResponse;
                                                        stack?: string;
                                                        status?: StatusValues;
                                                        statusText?: string;
                                                    }

                                                    Hierarchy

                                                    • Error
                                                      • FetchError

                                                    Properties

                                                    message: string
                                                    name: string
                                                    response?: ExtendedResponse
                                                    stack?: string
                                                    status?: StatusValues
                                                    statusText?: string
                                                    \ No newline at end of file diff --git a/doc/modules.html b/doc/modules.html index 1abcea0c8..6d3f6501b 100644 --- a/doc/modules.html +++ b/doc/modules.html @@ -1,237 +1,69 @@ -rdflib
                                                    -
                                                    - -
                                                    -
                                                    - -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +rdflib
                                                    \ No newline at end of file diff --git a/doc/modules/Util.html b/doc/modules/Util.html deleted file mode 100644 index 942fd730c..000000000 --- a/doc/modules/Util.html +++ /dev/null @@ -1,182 +0,0 @@ -Util | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Namespace Util

                                                    -
                                                    -

                                                    Utility functions for $rdf

                                                    -
                                                    -
                                                    -
                                                    -
                                                    - -
                                                    -
                                                    -

                                                    References

                                                    -
                                                    -Re-exports log
                                                    -
                                                    -Re-exports uri
                                                    -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/modules/uri.html b/doc/modules/uri.html index 19d24c4ff..532cc7cab 100644 --- a/doc/modules/uri.html +++ b/doc/modules/uri.html @@ -1,148 +1,7 @@ -uri | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +uri | rdflib

                                                    Namespace uri

                                                    Index

                                                    Functions

                                                    \ No newline at end of file diff --git a/doc/modules/util.html b/doc/modules/util.html new file mode 100644 index 000000000..3150ce9c3 --- /dev/null +++ b/doc/modules/util.html @@ -0,0 +1,19 @@ +util | rdflib

                                                    Namespace util

                                                    Utility functions for $rdf

                                                    +

                                                    References

                                                    Re-exports log
                                                    Re-exports uri
                                                    \ No newline at end of file diff --git a/doc/variables/DataFactory.html b/doc/variables/DataFactory.html index cc90747b2..24fbe15b5 100644 --- a/doc/variables/DataFactory.html +++ b/doc/variables/DataFactory.html @@ -1,139 +1,2 @@ -DataFactory | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +DataFactory | rdflib

                                                    Variable DataFactoryConst

                                                    DataFactory: IRDFlibDataFactory = ...

                                                    Full RDFLib.js Data Factory

                                                    +
                                                    \ No newline at end of file diff --git a/doc/variables/NextId.html b/doc/variables/NextId.html index 3e4069f9a..d793a1ec2 100644 --- a/doc/variables/NextId.html +++ b/doc/variables/NextId.html @@ -1,137 +1 @@ -NextId | rdflib
                                                    -
                                                    - -
                                                    - -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +NextId | rdflib

                                                    Variable NextIdConst

                                                    NextId: number = BlankNode.nextId
                                                    \ No newline at end of file diff --git a/doc/variables/Util.string.html b/doc/variables/Util.string.html deleted file mode 100644 index f8246fa18..000000000 --- a/doc/variables/Util.string.html +++ /dev/null @@ -1,158 +0,0 @@ -string | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Variable stringConst

                                                    -
                                                    string: {
                                                        template: ((base, subs) => string);
                                                    } = ...
                                                    -
                                                    -

                                                    Type declaration

                                                    -
                                                      -
                                                    • -
                                                      template: ((base, subs) => string)
                                                      -
                                                        -
                                                      • -
                                                          -
                                                        • (base, subs): string
                                                        • -
                                                        • -

                                                          C++, python style %s -> subs

                                                          -
                                                          -
                                                          -

                                                          Parameters

                                                          -
                                                            -
                                                          • -
                                                            base: any
                                                          • -
                                                          • -
                                                            subs: any
                                                          -

                                                          Returns string

                                                    -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file diff --git a/doc/variables/jsonParser.html b/doc/variables/jsonParser.html index 9596d6cc5..9fafb1f83 100644 --- a/doc/variables/jsonParser.html +++ b/doc/variables/jsonParser.html @@ -1,157 +1 @@ -jsonParser | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Variable jsonParser

                                                    -
                                                    jsonParser: {
                                                        parseJSON: ((data, source, store) => void);
                                                    }
                                                    -
                                                    -

                                                    Type declaration

                                                    -
                                                      -
                                                    • -
                                                      parseJSON: ((data, source, store) => void)
                                                      -
                                                        -
                                                      • -
                                                          -
                                                        • (data, source, store): void
                                                        • -
                                                        • -
                                                          -

                                                          Parameters

                                                          -
                                                            -
                                                          • -
                                                            data: any
                                                          • -
                                                          • -
                                                            source: any
                                                          • -
                                                          • -
                                                            store: any
                                                          -

                                                          Returns void

                                                    -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +jsonParser | rdflib

                                                    Variable jsonParser

                                                    jsonParser: {
                                                        parseJSON: ((data, source, store) => void);
                                                    }

                                                    Type declaration

                                                    • parseJSON: ((data, source, store) => void)
                                                        • (data, source, store): void
                                                        • Parameters

                                                          • data: any
                                                          • source: any
                                                          • store: any

                                                          Returns void

                                                    \ No newline at end of file diff --git a/doc/variables/log.html b/doc/variables/log.html index 8450e523f..35ab1b931 100644 --- a/doc/variables/log.html +++ b/doc/variables/log.html @@ -1,218 +1 @@ -log | rdflib
                                                    -
                                                    - -
                                                    -
                                                    -
                                                    -
                                                    - -

                                                    Variable logConst

                                                    -
                                                    log: {
                                                        debug(x) => void;
                                                        error(x) => void;
                                                        info(x) => void;
                                                        msg(x) => void;
                                                        success(x) => void;
                                                        warn(x) => void;
                                                    } = ...
                                                    -
                                                    -

                                                    Type declaration

                                                    -
                                                      -
                                                    • -
                                                      debug:function
                                                      -
                                                        - -
                                                      • -
                                                        -

                                                        Parameters

                                                        -
                                                          -
                                                        • -
                                                          x: any
                                                        -

                                                        Returns void

                                                    • -
                                                    • -
                                                      error:function
                                                      -
                                                        - -
                                                      • -
                                                        -

                                                        Parameters

                                                        -
                                                          -
                                                        • -
                                                          x: any
                                                        -

                                                        Returns void

                                                    • -
                                                    • -
                                                      info:function
                                                      -
                                                        - -
                                                      • -
                                                        -

                                                        Parameters

                                                        -
                                                          -
                                                        • -
                                                          x: any
                                                        -

                                                        Returns void

                                                    • -
                                                    • -
                                                      msg:function
                                                      -
                                                        - -
                                                      • -
                                                        -

                                                        Parameters

                                                        -
                                                          -
                                                        • -
                                                          x: any
                                                        -

                                                        Returns void

                                                    • -
                                                    • -
                                                      success:function
                                                      -
                                                        - -
                                                      • -
                                                        -

                                                        Parameters

                                                        -
                                                          -
                                                        • -
                                                          x: any
                                                        -

                                                        Returns void

                                                    • -
                                                    • -
                                                      warn:function
                                                      -
                                                        - -
                                                      • -
                                                        -

                                                        Parameters

                                                        -
                                                          -
                                                        • -
                                                          x: any
                                                        -

                                                        Returns void

                                                    -
                                                    -
                                                    -

                                                    Generated using TypeDoc

                                                    -
                                                    \ No newline at end of file +log | rdflib

                                                    Variable logConst

                                                    log: {
                                                        debug(x): void;
                                                        error(x): void;
                                                        info(x): void;
                                                        msg(x): void;
                                                        success(x): void;
                                                        warn(x): void;
                                                    } = ...

                                                    Type declaration

                                                    • debug:function
                                                      • Parameters

                                                        • x: any

                                                        Returns void

                                                    • error:function
                                                      • Parameters

                                                        • x: any

                                                        Returns void

                                                    • info:function
                                                      • Parameters

                                                        • x: any

                                                        Returns void

                                                    • msg:function
                                                    • success:function
                                                      • Parameters

                                                        • x: any

                                                        Returns void

                                                    • warn:function
                                                      • Parameters

                                                        • x: any

                                                        Returns void

                                                    \ No newline at end of file diff --git a/doc/variables/util.string.html b/doc/variables/util.string.html new file mode 100644 index 000000000..da309ff63 --- /dev/null +++ b/doc/variables/util.string.html @@ -0,0 +1,2 @@ +string | rdflib

                                                    Variable stringConst

                                                    string: {
                                                        template: ((base, subs) => string);
                                                    } = ...

                                                    Type declaration

                                                    • template: ((base, subs) => string)
                                                        • (base, subs): string
                                                        • C++, python style %s -> subs

                                                          +

                                                          Parameters

                                                          • base: any
                                                          • subs: any

                                                          Returns string

                                                    \ No newline at end of file diff --git a/esm/blank-node.js b/esm/blank-node.js index 93ea78849..f95297901 100644 --- a/esm/blank-node.js +++ b/esm/blank-node.js @@ -1,12 +1,11 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; -import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; -import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } import ClassOrder from './class-order'; import Node from './node-internal'; import { BlankNodeTermType } from './types'; @@ -15,8 +14,6 @@ import { BlankNodeTermType } from './types'; * @link https://rdf.js.org/data-model-spec/#blanknode-interface */ var BlankNode = /*#__PURE__*/function (_Node) { - _inherits(BlankNode, _Node); - var _super = _createSuper(BlankNode); /** * Initializes this node * @param [id] The identifier for the blank node @@ -24,24 +21,25 @@ var BlankNode = /*#__PURE__*/function (_Node) { function BlankNode(id) { var _this; _classCallCheck(this, BlankNode); - _this = _super.call(this, BlankNode.getId(id)); - _defineProperty(_assertThisInitialized(_this), "termType", BlankNodeTermType); - _defineProperty(_assertThisInitialized(_this), "classOrder", ClassOrder.BlankNode); + _this = _callSuper(this, BlankNode, [BlankNode.getId(id)]); + _defineProperty(_this, "termType", BlankNodeTermType); + _defineProperty(_this, "classOrder", ClassOrder.BlankNode); /** Whether this is a blank node */ - _defineProperty(_assertThisInitialized(_this), "isBlank", 1); + _defineProperty(_this, "isBlank", 1); /** * This type of node is a variable. * * Note that the existence of this property already indicates that it is a variable. */ - _defineProperty(_assertThisInitialized(_this), "isVar", 1); + _defineProperty(_this, "isVar", 1); return _this; } /** * The identifier for the blank node */ - _createClass(BlankNode, [{ + _inherits(BlankNode, _Node); + return _createClass(BlankNode, [{ key: "id", get: function get() { return this.value; @@ -106,7 +104,6 @@ var BlankNode = /*#__PURE__*/function (_Node) { return 'n' + BlankNode.nextId++; } }]); - return BlankNode; }(Node); /** * The next unique identifier for blank nodes diff --git a/esm/collection.js b/esm/collection.js index 86593a927..509e86fe4 100644 --- a/esm/collection.js +++ b/esm/collection.js @@ -1,12 +1,11 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; -import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; -import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } import RdflibBlankNode from './blank-node'; import ClassOrder from './class-order'; import Literal from './literal'; @@ -41,21 +40,19 @@ export function fromValue(value) { * Use generic T to control the contents of the array. */ var Collection = /*#__PURE__*/function (_Node) { - _inherits(Collection, _Node); - var _super = _createSuper(Collection); function Collection(initial) { var _this; _classCallCheck(this, Collection); - _this = _super.call(this, (RdflibBlankNode.nextId++).toString()); - _defineProperty(_assertThisInitialized(_this), "termType", CollectionTermType); - _defineProperty(_assertThisInitialized(_this), "classOrder", ClassOrder.Collection); - _defineProperty(_assertThisInitialized(_this), "closed", false); - _defineProperty(_assertThisInitialized(_this), "compareTerm", RdflibBlankNode.prototype.compareTerm); + _this = _callSuper(this, Collection, [(RdflibBlankNode.nextId++).toString()]); + _defineProperty(_this, "termType", CollectionTermType); + _defineProperty(_this, "classOrder", ClassOrder.Collection); + _defineProperty(_this, "closed", false); + _defineProperty(_this, "compareTerm", RdflibBlankNode.prototype.compareTerm); /** * The nodes in this collection */ - _defineProperty(_assertThisInitialized(_this), "elements", []); - _defineProperty(_assertThisInitialized(_this), "isVar", 0); + _defineProperty(_this, "elements", []); + _defineProperty(_this, "isVar", 0); if (initial && initial.length > 0) { initial.forEach(function (element) { _this.elements.push(fromValue(element)); @@ -63,7 +60,8 @@ var Collection = /*#__PURE__*/function (_Node) { } return _this; } - _createClass(Collection, [{ + _inherits(Collection, _Node); + return _createClass(Collection, [{ key: "id", get: function get() { return this.value; @@ -146,7 +144,6 @@ var Collection = /*#__PURE__*/function (_Node) { return RdflibBlankNode.NTAnonymousNodePrefix + collection.id; } }]); - return Collection; }(Node); _defineProperty(Collection, "termType", CollectionTermType); export { Collection as default }; \ No newline at end of file diff --git a/esm/default-graph.js b/esm/default-graph.js index 376e3422f..c03a6208c 100644 --- a/esm/default-graph.js +++ b/esm/default-graph.js @@ -1,30 +1,28 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; -import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; -import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } import Node from './node-internal'; import { DefaultGraphTermType } from './types'; import { defaultGraphURI } from './utils/default-graph-uri'; /** The RDF default graph */ var DefaultGraph = /*#__PURE__*/function (_Node) { - _inherits(DefaultGraph, _Node); - var _super = _createSuper(DefaultGraph); function DefaultGraph() { var _this; _classCallCheck(this, DefaultGraph); - _this = _super.call(this, ''); - _defineProperty(_assertThisInitialized(_this), "value", ''); - _defineProperty(_assertThisInitialized(_this), "termType", DefaultGraphTermType); - _defineProperty(_assertThisInitialized(_this), "uri", defaultGraphURI); + _this = _callSuper(this, DefaultGraph, ['']); + _defineProperty(_this, "value", ''); + _defineProperty(_this, "termType", DefaultGraphTermType); + _defineProperty(_this, "uri", defaultGraphURI); return _this; } - _createClass(DefaultGraph, [{ + _inherits(DefaultGraph, _Node); + return _createClass(DefaultGraph, [{ key: "toCanonical", value: function toCanonical() { return this.value; @@ -35,7 +33,6 @@ var DefaultGraph = /*#__PURE__*/function (_Node) { return 'DefaultGraph'; } }]); - return DefaultGraph; }(Node); export { DefaultGraph as default }; export function isDefaultGraph(object) { diff --git a/esm/empty.js b/esm/empty.js index e5cd38900..e0e12e9fa 100644 --- a/esm/empty.js +++ b/esm/empty.js @@ -1,33 +1,30 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; -import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; -import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } import Node from './node-internal'; import { EmptyTermType } from './types'; /** * An empty node */ var Empty = /*#__PURE__*/function (_Node) { - _inherits(Empty, _Node); - var _super = _createSuper(Empty); function Empty() { var _this; _classCallCheck(this, Empty); - _this = _super.call(this, ''); - _defineProperty(_assertThisInitialized(_this), "termType", EmptyTermType); + _this = _callSuper(this, Empty, ['']); + _defineProperty(_this, "termType", EmptyTermType); return _this; } - _createClass(Empty, [{ + _inherits(Empty, _Node); + return _createClass(Empty, [{ key: "toString", value: function toString() { return '()'; } }]); - return Empty; }(Node); export { Empty as default }; \ No newline at end of file diff --git a/esm/factories/canonical-data-factory.js b/esm/factories/canonical-data-factory.js index 7079273b9..675b5523e 100644 --- a/esm/factories/canonical-data-factory.js +++ b/esm/factories/canonical-data-factory.js @@ -1,5 +1,4 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty"; -var _supports; import BlankNode from '../blank-node'; import Literal from '../literal'; import NamedNode from '../named-node'; @@ -18,7 +17,7 @@ var _defaultGraph = new DefaultGraph(); /** A basic internal RDFlib datafactory, which does not support Collections */ var CanonicalDataFactory = { - supports: (_supports = {}, _defineProperty(_supports, Feature.collections, false), _defineProperty(_supports, Feature.defaultGraphType, false), _defineProperty(_supports, Feature.equalsMethod, true), _defineProperty(_supports, Feature.identity, false), _defineProperty(_supports, Feature.id, true), _defineProperty(_supports, Feature.reversibleId, false), _defineProperty(_supports, Feature.variableType, true), _supports), + supports: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Feature.collections, false), Feature.defaultGraphType, false), Feature.equalsMethod, true), Feature.identity, false), Feature.id, true), Feature.reversibleId, false), Feature.variableType, true), /** * Creates a new blank node * @param value - The blank node's identifier diff --git a/esm/factories/extended-term-factory.js b/esm/factories/extended-term-factory.js index 73298cf42..e604004b5 100644 --- a/esm/factories/extended-term-factory.js +++ b/esm/factories/extended-term-factory.js @@ -1,7 +1,6 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty"; -var _supports; -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } import Collection from '../collection'; import CanonicalDataFactory from './canonical-data-factory'; import { CollectionTermType } from '../types'; @@ -14,7 +13,7 @@ import Variable from '../variable'; * Necessary for preventing circular dependencies. */ var ExtendedTermFactory = _objectSpread(_objectSpread({}, CanonicalDataFactory), {}, { - supports: (_supports = {}, _defineProperty(_supports, Feature.collections, true), _defineProperty(_supports, Feature.defaultGraphType, false), _defineProperty(_supports, Feature.equalsMethod, true), _defineProperty(_supports, Feature.identity, false), _defineProperty(_supports, Feature.id, true), _defineProperty(_supports, Feature.reversibleId, false), _defineProperty(_supports, Feature.variableType, true), _supports), + supports: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, Feature.collections, true), Feature.defaultGraphType, false), Feature.equalsMethod, true), Feature.identity, false), Feature.id, true), Feature.reversibleId, false), Feature.variableType, true), /** * Creates a new collection * @param elements - The initial element diff --git a/esm/factories/rdflib-data-factory.js b/esm/factories/rdflib-data-factory.js index d964c7640..f377469e4 100644 --- a/esm/factories/rdflib-data-factory.js +++ b/esm/factories/rdflib-data-factory.js @@ -1,6 +1,6 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty"; -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } import IndexedFormula from '../store'; import Fetcher from '../fetcher'; import ExtendedTermFactory from './extended-term-factory'; diff --git a/esm/fetcher.js b/esm/fetcher.js index 117acb66a..8481db616 100644 --- a/esm/fetcher.js +++ b/esm/fetcher.js @@ -1,7 +1,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; -import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; import _createClass from "@babel/runtime/helpers/createClass"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; @@ -9,8 +9,8 @@ import _regeneratorRuntime from "@babel/runtime/regenerator"; function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* global $SolidTestEnvironment */ /** * @@ -112,14 +112,13 @@ var Handler = /*#__PURE__*/_createClass(function Handler(response, dom) { this.dom = dom; }); _defineProperty(Handler, "pattern", void 0); -var RDFXMLHandler = /*#__PURE__*/function (_Handler) { - _inherits(RDFXMLHandler, _Handler); - var _super = _createSuper(RDFXMLHandler); +var RDFXMLHandler = /*#__PURE__*/function (_Handler2) { function RDFXMLHandler() { _classCallCheck(this, RDFXMLHandler); - return _super.apply(this, arguments); + return _callSuper(this, RDFXMLHandler, arguments); } - _createClass(RDFXMLHandler, [{ + _inherits(RDFXMLHandler, _Handler2); + return _createClass(RDFXMLHandler, [{ key: "parse", value: function parse(fetcher, /** An XML String */ responseText, /** Requires .original */ @@ -158,17 +157,15 @@ var RDFXMLHandler = /*#__PURE__*/function (_Handler) { }; } }]); - return RDFXMLHandler; }(Handler); RDFXMLHandler.pattern = new RegExp('application/rdf\\+xml'); -var XHTMLHandler = /*#__PURE__*/function (_Handler2) { - _inherits(XHTMLHandler, _Handler2); - var _super2 = _createSuper(XHTMLHandler); +var XHTMLHandler = /*#__PURE__*/function (_Handler3) { function XHTMLHandler() { _classCallCheck(this, XHTMLHandler); - return _super2.apply(this, arguments); + return _callSuper(this, XHTMLHandler, arguments); } - _createClass(XHTMLHandler, [{ + _inherits(XHTMLHandler, _Handler3); + return _createClass(XHTMLHandler, [{ key: "parse", value: function parse(fetcher, responseText, options) { var relation, reverse; @@ -236,17 +233,15 @@ var XHTMLHandler = /*#__PURE__*/function (_Handler2) { fetcher.mediatypes[XHTMLContentType] = {}; } }]); - return XHTMLHandler; }(Handler); XHTMLHandler.pattern = new RegExp('application/xhtml'); -var XMLHandler = /*#__PURE__*/function (_Handler3) { - _inherits(XMLHandler, _Handler3); - var _super3 = _createSuper(XMLHandler); +var XMLHandler = /*#__PURE__*/function (_Handler4) { function XMLHandler() { _classCallCheck(this, XMLHandler); - return _super3.apply(this, arguments); + return _callSuper(this, XMLHandler, arguments); } - _createClass(XMLHandler, [{ + _inherits(XMLHandler, _Handler4); + return _createClass(XMLHandler, [{ key: "parse", value: function parse(fetcher, responseText, options) { var dom = Util.parseXML(responseText); @@ -320,17 +315,15 @@ var XMLHandler = /*#__PURE__*/function (_Handler3) { return node.nodeType === Node.ELEMENT_NODE; } }]); - return XMLHandler; }(Handler); XMLHandler.pattern = new RegExp('(text|application)/(.*)xml'); -var HTMLHandler = /*#__PURE__*/function (_Handler4) { - _inherits(HTMLHandler, _Handler4); - var _super4 = _createSuper(HTMLHandler); +var HTMLHandler = /*#__PURE__*/function (_Handler5) { function HTMLHandler() { _classCallCheck(this, HTMLHandler); - return _super4.apply(this, arguments); + return _callSuper(this, HTMLHandler, arguments); } - _createClass(HTMLHandler, [{ + _inherits(HTMLHandler, _Handler5); + return _createClass(HTMLHandler, [{ key: "parse", value: function parse(fetcher, responseText, options) { var kb = fetcher.store; @@ -363,7 +356,6 @@ var HTMLHandler = /*#__PURE__*/function (_Handler4) { if (titleMatch) { kb.add(options.resource, ns.dc('title'), kb.rdfFactory.literal(titleMatch[1]), options.resource); // think about xml:lang later } - kb.add(options.resource, ns.rdf('type'), ns.link('WebPage'), fetcher.appNode); fetcher.addStatus(options.req, 'non-XML HTML document, not parsed for data.'); return fetcher.doneFetch(options, this.response); @@ -381,17 +373,15 @@ var HTMLHandler = /*#__PURE__*/function (_Handler4) { }; } }]); - return HTMLHandler; }(Handler); HTMLHandler.pattern = new RegExp('text/html'); -var JsonLdHandler = /*#__PURE__*/function (_Handler5) { - _inherits(JsonLdHandler, _Handler5); - var _super5 = _createSuper(JsonLdHandler); +var JsonLdHandler = /*#__PURE__*/function (_Handler6) { function JsonLdHandler() { _classCallCheck(this, JsonLdHandler); - return _super5.apply(this, arguments); + return _callSuper(this, JsonLdHandler, arguments); } - _createClass(JsonLdHandler, [{ + _inherits(JsonLdHandler, _Handler6); + return _createClass(JsonLdHandler, [{ key: "parse", value: function parse(fetcher, responseText, options, response) { var kb = fetcher.store; @@ -419,17 +409,15 @@ var JsonLdHandler = /*#__PURE__*/function (_Handler5) { }; } }]); - return JsonLdHandler; }(Handler); JsonLdHandler.pattern = /application\/ld\+json/; -var TextHandler = /*#__PURE__*/function (_Handler6) { - _inherits(TextHandler, _Handler6); - var _super6 = _createSuper(TextHandler); +var TextHandler = /*#__PURE__*/function (_Handler7) { function TextHandler() { _classCallCheck(this, TextHandler); - return _super6.apply(this, arguments); + return _callSuper(this, TextHandler, arguments); } - _createClass(TextHandler, [{ + _inherits(TextHandler, _Handler7); + return _createClass(TextHandler, [{ key: "parse", value: function parse(fetcher, responseText, options) { // We only speak dialects of XML right now. Is this XML? @@ -465,17 +453,15 @@ var TextHandler = /*#__PURE__*/function (_Handler6) { }; } }]); - return TextHandler; }(Handler); TextHandler.pattern = new RegExp('text/plain'); -var N3Handler = /*#__PURE__*/function (_Handler7) { - _inherits(N3Handler, _Handler7); - var _super7 = _createSuper(N3Handler); +var N3Handler = /*#__PURE__*/function (_Handler8) { function N3Handler() { _classCallCheck(this, N3Handler); - return _super7.apply(this, arguments); + return _callSuper(this, N3Handler, arguments); } - _createClass(N3Handler, [{ + _inherits(N3Handler, _Handler8); + return _createClass(N3Handler, [{ key: "parse", value: function parse(fetcher, responseText, options, response) { // Parse the text of this N3 file @@ -513,7 +499,6 @@ var N3Handler = /*#__PURE__*/function (_Handler7) { }; // post 2008 } }]); - return N3Handler; }(Handler); N3Handler.pattern = new RegExp('(application|text)/(x-)?(rdf\\+)?(n3|turtle)'); var defaultHandlers = { @@ -630,7 +615,7 @@ var Fetcher = /*#__PURE__*/function () { return _this.addHandler(defaultHandlers[key]); }); } - _createClass(Fetcher, [{ + return _createClass(Fetcher, [{ key: "load", value: /** @@ -973,7 +958,6 @@ var Fetcher = /*#__PURE__*/function () { if (fetchResponse.responseText) { oops += ' ' + fetchResponse.responseText; // not in 404, dns error, nock failure } - userCallback(false, oops, fetchResponse); } } else { @@ -1204,7 +1188,7 @@ var Fetcher = /*#__PURE__*/function () { */ }, { key: "createIfNotExists", - value: function () { + value: (function () { var _createIfNotExists = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(doc) { var contentType, data, @@ -1269,6 +1253,7 @@ var Fetcher = /*#__PURE__*/function () { * @param folderName - Optional folder name (slug) * @param data - Optional folder metadata */ + ) }, { key: "createContainer", value: function createContainer(parentURI, folderName, data) { @@ -1307,7 +1292,6 @@ var Fetcher = /*#__PURE__*/function () { // console.log('*** Fetcher: pending fetchQueue deleted ' + uri) } } - if (fetcher.requested[uri] && fetcher.requested[uri] !== 'done' && fetcher.requested[uri] !== 'failed' && fetcher.requested[uri] !== 404) { var msg = "Rdflib: fetcher: Destructive operation on <".concat(fetcher.requested[uri], "> file being fetched! ") + uri; console.error(msg); @@ -1472,7 +1456,6 @@ var Fetcher = /*#__PURE__*/function () { ); } }); - return responseNode; } }, { @@ -1822,7 +1805,6 @@ var Fetcher = /*#__PURE__*/function () { kb.add(oldReq, this.ns.link('redirectedTo'), kb.rdfFactory.namedNode(newURI), oldReq); this.addStatus(oldReq, 'redirected to new request'); // why } - this.requested[options.resource.value] = 'redirected'; this.redirectedTo[options.resource.value] = newURI; var newOptions = Object.assign({}, options); @@ -1984,7 +1966,6 @@ var Fetcher = /*#__PURE__*/function () { } } }]); - return Fetcher; }(); _defineProperty(Fetcher, "HANDLERS", void 0); _defineProperty(Fetcher, "CONTENT_TYPE_BY_EXT", void 0); diff --git a/esm/formula.js b/esm/formula.js index 3a2ec05dd..76608d530 100644 --- a/esm/formula.js +++ b/esm/formula.js @@ -1,15 +1,14 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; -import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; -import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } import ClassOrder from './class-order'; import Collection from './collection'; import CanonicalDataFactory from './factories/canonical-data-factory'; @@ -26,8 +25,6 @@ import NamedNode from './named-node'; * A formula, or store of RDF statements */ var Formula = /*#__PURE__*/function (_Node) { - _inherits(Formula, _Node); - var _super = _createSuper(Formula); /** * Initializes this formula * @constructor @@ -46,27 +43,27 @@ var Formula = /*#__PURE__*/function (_Node) { var optional = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : []; var opts = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; _classCallCheck(this, Formula); - _this = _super.call(this, ''); + _this = _callSuper(this, Formula, ['']); _this.statements = statements; _this.constraints = constraints; _this.initBindings = initBindings; _this.optional = optional; - _defineProperty(_assertThisInitialized(_this), "termType", GraphTermType); - _defineProperty(_assertThisInitialized(_this), "classOrder", ClassOrder.Graph); + _defineProperty(_this, "termType", GraphTermType); + _defineProperty(_this, "classOrder", ClassOrder.Graph); /** * The accompanying fetcher instance. * * Is set by the fetcher when initialized. */ - _defineProperty(_assertThisInitialized(_this), "fetcher", void 0); - _defineProperty(_assertThisInitialized(_this), "isVar", 0); + _defineProperty(_this, "fetcher", void 0); + _defineProperty(_this, "isVar", 0); /** * A namespace for the specified namespace's URI * @param nsuri The URI for the namespace */ - _defineProperty(_assertThisInitialized(_this), "ns", Namespace); + _defineProperty(_this, "ns", Namespace); /** The factory used to generate statements and terms */ - _defineProperty(_assertThisInitialized(_this), "rdfFactory", void 0); + _defineProperty(_this, "rdfFactory", void 0); _this.rdfFactory = opts && opts.rdfFactory || CanonicalDataFactory; // Enable default factory methods on this while preserving factory context. var _iterator = _createForOfIteratorHelper(appliedFactoryMethods), @@ -96,7 +93,8 @@ var Formula = /*#__PURE__*/function (_Node) { * @param object - the third part of the statement * @param graph - the last part of the statement */ - _createClass(Formula, [{ + _inherits(Formula, _Node); + return _createClass(Formula, [{ key: "add", value: function add(subject, predicate, object, graph) { var _this2 = this; @@ -854,6 +852,5 @@ var Formula = /*#__PURE__*/function (_Node) { return this.statementsMatching(s, p, o, g, false).length; } }]); - return Formula; }(Node); export { Formula as default }; \ No newline at end of file diff --git a/esm/index.js b/esm/index.js index 693c529c9..1d08b8d41 100644 --- a/esm/index.js +++ b/esm/index.js @@ -1,12 +1,11 @@ import _createClass from "@babel/runtime/helpers/createClass"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; -import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; -import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } import BlankNode from './blank-node'; import Collection from './collection'; import Empty from './empty'; @@ -72,28 +71,26 @@ NextId, fromNT, fetcher, graph, lit, st, namedNode as sym, blankNode, defaultGraph, literal, namedNode, quad, triple, variable }; export { termValue } from './utils/termValue'; export var ConnectedStore = /*#__PURE__*/function (_Store) { - _inherits(ConnectedStore, _Store); - var _super = _createSuper(ConnectedStore); function ConnectedStore(features) { var _this; _classCallCheck(this, ConnectedStore); - _this = _super.call(this, features); - _defineProperty(_assertThisInitialized(_this), "fetcher", void 0); - _this.fetcher = new Fetcher(_assertThisInitialized(_this), {}); + _this = _callSuper(this, ConnectedStore, [features]); + _defineProperty(_this, "fetcher", void 0); + _this.fetcher = new Fetcher(_this, {}); return _this; } + _inherits(ConnectedStore, _Store); return _createClass(ConnectedStore); }(Store); -export var LiveStore = /*#__PURE__*/function (_ConnectedStore) { - _inherits(LiveStore, _ConnectedStore); - var _super2 = _createSuper(LiveStore); +export var LiveStore = /*#__PURE__*/function (_ConnectedStore2) { function LiveStore(features) { var _this2; _classCallCheck(this, LiveStore); - _this2 = _super2.call(this, features); - _defineProperty(_assertThisInitialized(_this2), "updater", void 0); - _this2.updater = new UpdateManager(_assertThisInitialized(_this2)); + _this2 = _callSuper(this, LiveStore, [features]); + _defineProperty(_this2, "updater", void 0); + _this2.updater = new UpdateManager(_this2); return _this2; } + _inherits(LiveStore, _ConnectedStore2); return _createClass(LiveStore); }(ConnectedStore); \ No newline at end of file diff --git a/esm/lists.js b/esm/lists.js index d5a76f183..632131bdd 100644 --- a/esm/lists.js +++ b/esm/lists.js @@ -13,6 +13,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len // import RDFParser from './rdfxmlparser' // import sparqlUpdateParser from './patch-parser' // import * as Util from './utils-js' + // import BlankNode from './blank-node' // import NamedNode from './named-node' import Collection from './collection'; @@ -20,7 +21,9 @@ import Statement from './statement'; // import Formula from './formula' // import { ContentType, TurtleContentType, N3ContentType, RDFXMLContentType, XHTMLContentType, HTMLContentType, SPARQLUpdateContentType, SPARQLUpdateSingleMatchContentType, JSONLDContentType, NQuadsContentType, NQuadsAltContentType } from './types' + // import { Quad } from './tf-types' + import Namespace from './namespace'; var RDF = Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#'); diff --git a/esm/literal.js b/esm/literal.js index 43427e5a7..5dd062b5c 100644 --- a/esm/literal.js +++ b/esm/literal.js @@ -1,13 +1,12 @@ import _typeof from "@babel/runtime/helpers/typeof"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; -import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; -import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } import ClassOrder from './class-order'; import RDFlibNamedNode from './named-node'; import Node from './node-internal'; @@ -19,8 +18,6 @@ import XSD from './xsd-internal'; * @link https://rdf.js.org/data-model-spec/#literal-interface */ var Literal = /*#__PURE__*/function (_Node) { - _inherits(Literal, _Node); - var _super = _createSuper(Literal); /** * Initializes a literal * @param value - The literal's lexical value @@ -30,18 +27,18 @@ var Literal = /*#__PURE__*/function (_Node) { function Literal(value, language, datatype) { var _this; _classCallCheck(this, Literal); - _this = _super.call(this, value); - _defineProperty(_assertThisInitialized(_this), "termType", LiteralTermType); - _defineProperty(_assertThisInitialized(_this), "classOrder", ClassOrder.Literal); + _this = _callSuper(this, Literal, [value]); + _defineProperty(_this, "termType", LiteralTermType); + _defineProperty(_this, "classOrder", ClassOrder.Literal); /** * The literal's datatype as a named node */ - _defineProperty(_assertThisInitialized(_this), "datatype", XSD.string); - _defineProperty(_assertThisInitialized(_this), "isVar", 0); + _defineProperty(_this, "datatype", XSD.string); + _defineProperty(_this, "isVar", 0); /** * The language for the literal */ - _defineProperty(_assertThisInitialized(_this), "language", ''); + _defineProperty(_this, "language", ''); if (language) { _this.language = language; _this.datatype = XSD.langString; @@ -56,7 +53,8 @@ var Literal = /*#__PURE__*/function (_Node) { /** * Gets a copy of this literal */ - _createClass(Literal, [{ + _inherits(Literal, _Node); + return _createClass(Literal, [{ key: "copy", value: function copy() { return new Literal(this.value, this.lang, this.datatype); @@ -197,6 +195,5 @@ var Literal = /*#__PURE__*/function (_Node) { throw new Error("Can't make literal from " + value + ' of type ' + _typeof(value)); } }]); - return Literal; }(Node); export { Literal as default }; \ No newline at end of file diff --git a/esm/n3parser.js b/esm/n3parser.js index 34f2a7417..bb93d4135 100644 --- a/esm/n3parser.js +++ b/esm/n3parser.js @@ -80,7 +80,6 @@ var pyjslib_slice = function pyjslib_slice(str, i, j) { if (typeof j == 'undefined' || j == null) return str.slice(i); return str.slice(i, j); // @ exactly the same spec? }; - var StopIteration = Error('dummy error stop iteration'); var pyjslib_Iterator = function pyjslib_Iterator(theList) { this.last = 0; @@ -117,7 +116,6 @@ String.prototype.decode = function (encoding) { var uripath_join = function uripath_join(base, given) { return Uri.join(given, base); // sad but true }; - var becauseSubexpression = null; // No reason needed var diag_tracking = 0; var diag_chatty_flag = 0; @@ -266,7 +264,7 @@ export var SinkParser = /*#__PURE__*/function () { this._context = this._formula; this._parentContext = null; } - _createClass(SinkParser, [{ + return _createClass(SinkParser, [{ key: "here", value: function here(i) { return this._genPrefix + "_L" + this.lines + "C" + (i - this.startOfLine + 1); @@ -1119,7 +1117,6 @@ export var SinkParser = /*#__PURE__*/function () { if (j === str.length) { return -1; // EOF } - if (str.charAt(j) === '\n') { this.lines = this.lines + 1; break; @@ -1328,7 +1325,6 @@ export var SinkParser = /*#__PURE__*/function () { ; return j; // Where we have got up to } - if (str.charAt(i) == "\"") { if (str.slice(i, i + 3) == "\"\"\"") { var delim = "\"\"\""; @@ -1482,7 +1478,6 @@ export var SinkParser = /*#__PURE__*/function () { return new pyjslib_Tuple([j, uch]); } }]); - return SinkParser; }(); function OLD_BadSyntax(uri, lines, str, i, why) { return new __OLD_BadSyntax(uri, lines, str, i, why); diff --git a/esm/named-node.js b/esm/named-node.js index bd1f94519..6e12f94e9 100644 --- a/esm/named-node.js +++ b/esm/named-node.js @@ -1,12 +1,11 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; -import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; -import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } import ClassOrder from './class-order'; import Node from './node-internal'; import { NamedNodeTermType } from './types'; @@ -17,8 +16,6 @@ import { isTerm } from './utils/terms'; * A named (IRI) RDF node */ var NamedNode = /*#__PURE__*/function (_Node) { - _inherits(NamedNode, _Node); - var _super = _createSuper(NamedNode); /** * Create a named (IRI) RDF Node * @constructor @@ -27,9 +24,9 @@ var NamedNode = /*#__PURE__*/function (_Node) { function NamedNode(iri) { var _this; _classCallCheck(this, NamedNode); - _this = _super.call(this, termValue(iri)); - _defineProperty(_assertThisInitialized(_this), "termType", NamedNodeTermType); - _defineProperty(_assertThisInitialized(_this), "classOrder", ClassOrder.NamedNode); + _this = _callSuper(this, NamedNode, [termValue(iri)]); + _defineProperty(_this, "termType", NamedNodeTermType); + _defineProperty(_this, "classOrder", ClassOrder.NamedNode); if (!_this.value) { throw new Error('Missing IRI for NamedNode'); } @@ -46,7 +43,8 @@ var NamedNode = /*#__PURE__*/function (_Node) { /** * Returns an $rdf node for the containing directory, ending in slash. */ - _createClass(NamedNode, [{ + _inherits(NamedNode, _Node); + return _createClass(NamedNode, [{ key: "dir", value: function dir() { var str = this.value.split('#')[0]; @@ -130,6 +128,5 @@ var NamedNode = /*#__PURE__*/function (_Node) { return new NamedNode(value); } }]); - return NamedNode; }(Node); export { NamedNode as default }; \ No newline at end of file diff --git a/esm/node-internal.js b/esm/node-internal.js index c3af8468c..34d5df5d7 100644 --- a/esm/node-internal.js +++ b/esm/node-internal.js @@ -25,7 +25,7 @@ var Node = /*#__PURE__*/function () { * Creates the substituted node for this one, according to the specified bindings * @param bindings - Bindings of identifiers to nodes */ - _createClass(Node, [{ + return _createClass(Node, [{ key: "substitute", value: function substitute(bindings) { return this; @@ -123,7 +123,6 @@ var Node = /*#__PURE__*/function () { throw new Error('Node.toString() is abstract - see the subclasses instead'); } }]); - return Node; }(); // Specified in './node.ts' to prevent circular dependency _defineProperty(Node, "fromValue", void 0); diff --git a/esm/node.js b/esm/node.js index 31c111fc0..86af41a40 100644 --- a/esm/node.js +++ b/esm/node.js @@ -26,7 +26,6 @@ Node.toJS = function (term) { if (isCollection(term)) { return term.elements.map(Node.toJS); // Array node (not standard RDFJS) } - if (!isLiteral(term)) return term; if (term.datatype.equals(ns.xsd('boolean'))) { return term.value === '1' || term.value === 'true'; diff --git a/esm/patch-parser.js b/esm/patch-parser.js index a19c25c8b..87f195105 100644 --- a/esm/patch-parser.js +++ b/esm/patch-parser.js @@ -39,7 +39,6 @@ export default function sparqlUpdateParser(str, kb, base) { if (i < 0) { return clauses; // Allow end in a } - j = i; } var found = false; diff --git a/esm/query.js b/esm/query.js index 4754a72bc..5cdd2c4c2 100644 --- a/esm/query.js +++ b/esm/query.js @@ -90,7 +90,6 @@ export function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { b[self] = other; return [[b, null]]; // Match } - actual = self; } if (!actual.complexType) { @@ -122,11 +121,9 @@ export function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { if (self.length !== other.length) { return []; // no way } - if (!self.length) { return [[[], null]]; // Success } - var nbs = unifyTerm(self[0], other[0], bindings, formula); if (nbs.length === 0) { return nbs; @@ -149,13 +146,11 @@ export function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { bindings2[v] = nb[v]; // copy } } - for (v in bindings) { if (bindings.hasOwnProperty(v)) { bindings2[v] = bindings[v]; // copy } } - nbs2 = unifyContents(self.slice(1), other.slice(1), bindings2, formula); m = nbs2.length; for (j = 0; j < m; j++) { @@ -314,13 +309,11 @@ export function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { if (f.redirections[f.id(t)]) { t = f.redirections[f.id(t)]; // redirect } - termIndex = ind[i][f.id(t)]; if (!termIndex) { item.index = []; return false; // Query line cannot match } - if (item.index === null || item.index.length > termIndex.length) { // Find smallest index item.index = termIndex; @@ -375,7 +368,6 @@ export function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { br[b] = new OptionalBranch(junction); // Allocate branches to prevent premature ending br[b].pattern_debug = g.optional[b]; // for diagnotics only } - for (b = 0; b < g.optional.length; b++) { br[b].count = br[b].count + 1; // Count how many matches we have yet to complete match(f, g.optional[b], bindingsSoFar, '', fetcher, callback, br[b]); @@ -385,7 +377,6 @@ export function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { log.debug('Match ends -- success , Branch count now: ' + branch.count + ' for ' + branch.pattern_debug); return; // Success } - var item; var i; var n = pattern.length; @@ -413,7 +404,6 @@ export function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { fetchResource(bindingsSoFar[item.subject], id); return; // only look up one per line this time, but we will come back again though match } - if (bindingsSoFar[item.object] !== undefined && bindingsSoFar[item.object].uri && fetcher && fetcher.getState(docpart(bindingsSoFar[item.object].uri)) === 'unrequested') { fetchResource(bindingsSoFar[item.object], id); return; @@ -459,7 +449,6 @@ export function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { prepare(f, item, bindingsSoFar); // if (item.index) console.log(' item.index.length ' + item.index.length) } - pattern.sort(easiestQuery); item = pattern[0]; // log.debug("Sorted pattern:\n"+pattern) @@ -496,20 +485,17 @@ export function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { bindings2[v] = newBindings1[v]; // copy } } - for (v in bindingsSoFar) { if (bindingsSoFar.hasOwnProperty(v)) { bindings2[v] = bindingsSoFar[v]; // copy } } - branch.count++; // Count how many matches we have yet to complete onward++; match(f, rest, bindings2, level + ' ', fetcher, callback, branch); // call match } } } - branch.count--; if (onward === 0) { log.debug('Match2 fails completely on ' + item); diff --git a/esm/rdfaparser.js b/esm/rdfaparser.js index 5a6c79ccc..cfa080d3c 100644 --- a/esm/rdfaparser.js +++ b/esm/rdfaparser.js @@ -68,7 +68,7 @@ var RDFaProcessor = /*#__PURE__*/function () { this.finishedHandlers = []; this.init(); } - _createClass(RDFaProcessor, [{ + return _createClass(RDFaProcessor, [{ key: "addTriple", value: function addTriple(origin, subject, predicate, object) { var su, ob, pr, or; @@ -277,7 +277,6 @@ var RDFaProcessor = /*#__PURE__*/function () { if (node.baseURI && !options.baseURI) { options.baseURI = node.baseURI; // be defensive as DOM implementations vary } - base = node.baseURI; node = node.documentElement; if (!node.baseURI) { @@ -330,7 +329,6 @@ var RDFaProcessor = /*#__PURE__*/function () { bnodes.push(this.newBlankNode()); // this.newSubject(item.parent,bnodes[i]) } - for (var _i2 = 0; _i2 < bnodes.length; _i2++) { this.addTriple(item.parent, bnodes[_i2], 'http://www.w3.org/1999/02/22-rdf-syntax-ns#first', list[_i2]); this.addTriple(item.parent, bnodes[_i2], 'http://www.w3.org/1999/02/22-rdf-syntax-ns#rest', { @@ -630,7 +628,6 @@ var RDFaProcessor = /*#__PURE__*/function () { currentObjectResource = this.newBlankNode(); // alert(current.tagName+": generated blank node, newSubject="+newSubject+" currentObjectResource="+currentObjectResource) } - if (relAtt && inlistAtt) { for (var _i10 = 0; _i10 < relAttPredicates.length; _i10++) { var _list2 = listMapping[relAttPredicates[_i10]]; @@ -999,7 +996,6 @@ var RDFaProcessor = /*#__PURE__*/function () { // Note this became a read-only attribute some time before 2018 dom.baseURI = base; // oinly set if not already set } - p.process(dom, { baseURI: base }); @@ -1015,7 +1011,6 @@ var RDFaProcessor = /*#__PURE__*/function () { return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); } }]); - return RDFaProcessor; }(); export { RDFaProcessor as default }; RDFaProcessor.XMLLiteralURI = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral'; diff --git a/esm/rdfxmlparser.js b/esm/rdfxmlparser.js index 24dd9cb93..1383e0a45 100644 --- a/esm/rdfxmlparser.js +++ b/esm/rdfxmlparser.js @@ -77,7 +77,7 @@ var RDFParser = /*#__PURE__*/function () { /** Standard namespaces that we know how to handle @final * @member RDFParser */ - _createClass(RDFParser, [{ + return _createClass(RDFParser, [{ key: "frameFactory", value: /** @@ -236,7 +236,6 @@ var RDFParser = /*#__PURE__*/function () { throw new Error("RDFParser: can't find root in " + base + '. Halting. '); // return false } - this.why = why; // our topmost frame var f = this.frameFactory(this); this.base = base; @@ -468,7 +467,6 @@ var RDFParser = /*#__PURE__*/function () { return frame; } }]); - return RDFParser; }(); _defineProperty(RDFParser, "ns", { 'RDF': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', diff --git a/esm/serialize.js b/esm/serialize.js index 656611ebe..bab2f5d38 100644 --- a/esm/serialize.js +++ b/esm/serialize.js @@ -67,7 +67,6 @@ contentType, callback, options) { } throw err; // Don't hide problems from caller in sync mode } - function executeCallback(err, result) { if (callback) { callback(err, result); diff --git a/esm/serializer.js b/esm/serializer.js index a6b923589..dc9279162 100644 --- a/esm/serializer.js +++ b/esm/serializer.js @@ -52,7 +52,7 @@ export var Serializer = /*#__PURE__*/function () { this.rdfFactory = store.rdfFactory || CanonicalDataFactory; this.xsd = createXSD(this.rdfFactory); } - _createClass(Serializer, [{ + return _createClass(Serializer, [{ key: "setBase", value: function setBase(base) { this.base = base; @@ -71,7 +71,6 @@ export var Serializer = /*#__PURE__*/function () { if (x.termType === 'Graph') { this.formulas[s] = x; // remember as reverse does not work } - return s; } }, { @@ -202,7 +201,6 @@ export var Serializer = /*#__PURE__*/function () { if (!this.validPrefix.test(p)) { p = 'n'; // Otherwise the loop below may never termimnate } - for (var j = 0;; j++) if (canUse(p.slice(0, 3) + j)) return p.slice(0, 3) + j; } }, { @@ -225,7 +223,6 @@ export var Serializer = /*#__PURE__*/function () { if (!incoming.hasOwnProperty(x)) incoming[x] = []; incoming[x].push(st.subject); // List of things which will cause this to be printed }; - var st2 = [st.subject, st.predicate, st.object]; st2.map(function (y) { if (y.termType === 'BlankNode') { @@ -236,14 +233,12 @@ export var Serializer = /*#__PURE__*/function () { }); } }); - checkMentions(sts[i].object); var ss = subjects[this.toStr(st.subject)]; // Statements with this as subject if (!ss) ss = []; ss.push(st); subjects[this.toStr(st.subject)] = ss; // Make hash. @@ too slow for formula? } - var roots = []; for (var xNT in subjects) { if (!subjects.hasOwnProperty(xNT)) continue; @@ -377,7 +372,6 @@ export var Serializer = /*#__PURE__*/function () { str += ' '; // separate from previous token } } - str += s2; } return str; @@ -434,7 +428,6 @@ export var Serializer = /*#__PURE__*/function () { } } } - return str; }; @@ -457,7 +450,6 @@ export var Serializer = /*#__PURE__*/function () { if (subject.termType === 'BlankNode' && !stats.incoming[subject]) { return objectTree(subject, stats, true).concat(['.']); // Anonymous bnode subject } - return [termToN3(subject, stats)].concat([propertyTree(subject, stats)]).concat(['.']); } // The property tree for a single subject or anonymous node @@ -686,7 +678,6 @@ export var Serializer = /*#__PURE__*/function () { // Fall though if can't do qname } } - return this.explicitURI(uri); } @@ -820,7 +811,6 @@ export var Serializer = /*#__PURE__*/function () { } }); } - function relURIMethod(term) { return escapeForXML(this.base ? Util.uri.refTo(this.base, term.uri) : term.uri); } @@ -903,7 +893,6 @@ export var Serializer = /*#__PURE__*/function () { throw new Error("Can't serialize object of type " + st.object.termType + ' into XML'); } // switch } - var tag = type ? qname(type) : 'rdf:Description'; var attrs = ''; if (subject.termType === 'BlankNode') { @@ -955,7 +944,6 @@ export var Serializer = /*#__PURE__*/function () { throw new Error("Can't serialize object of type " + st.object.termType + ' into XML'); } // switch } - return results; } var propertyXMLTree = propertyXMLTreeMethod.bind(this); @@ -1023,7 +1011,6 @@ export var Serializer = /*#__PURE__*/function () { return JSON.stringify(jsonldObj, null, 2); } }]); - return Serializer; }(); // String escaping utilities diff --git a/esm/sparql-to-query.js b/esm/sparql-to-query.js index 96ccea5e9..bb4ec99b0 100644 --- a/esm/sparql-to-query.js +++ b/esm/sparql-to-query.js @@ -118,7 +118,6 @@ export default function SPARQLToQuery(SPARQL, testMode, kb) { log.info('Literal found: ' + res[1]); res = res.concat(parseLiterals(str.slice(end + ind + 2))); // finds any other literals } - return res; } function spaceDelimit(str) { @@ -346,7 +345,6 @@ export default function SPARQLToQuery(SPARQL, testMode, kb) { // log.warn("I don't know how to handle the constraint: "+input) // alert("length: "+input.length+" input 0 type: "+input[0].termType+" input 1: "+input[1]+" input[2] type: "+input[2].termType) } - function setOptional(terms, pat) { log.debug('Optional query: ' + terms + ' not yet implemented.'); var opt = kb.formula(); diff --git a/esm/statement.js b/esm/statement.js index c0d7b06bf..2022ea4a7 100644 --- a/esm/statement.js +++ b/esm/statement.js @@ -45,7 +45,7 @@ var Statement = /*#__PURE__*/function () { } /** Alias for graph, favored by Tim */ - _createClass(Statement, [{ + return _createClass(Statement, [{ key: "why", get: function get() { return this.graph; @@ -115,6 +115,5 @@ var Statement = /*#__PURE__*/function () { return this.toNT(); } }]); - return Statement; }(); export { Statement as default }; \ No newline at end of file diff --git a/esm/store.js b/esm/store.js index 16ce32520..c8d9e7327 100644 --- a/esm/store.js +++ b/esm/store.js @@ -1,17 +1,16 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; -import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; -import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* Identity management and indexing for RDF * * This file provides IndexedFormula a formula (set of triples) which @@ -96,8 +95,6 @@ function handleRDFType(formula, subj, pred, obj, why) { * Indexed Formula aka Store */ var IndexedFormula = /*#__PURE__*/function (_Formula) { - _inherits(IndexedFormula, _Formula); - var _super = _createSuper(IndexedFormula); /** * Creates a new formula * @param features - What sort of automatic processing to do? Array of string @@ -111,42 +108,42 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) { var _this; var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; _classCallCheck(this, IndexedFormula); - _this = _super.call(this, undefined, undefined, undefined, undefined, opts); + _this = _callSuper(this, IndexedFormula, [undefined, undefined, undefined, undefined, opts]); // IN future - allow pass array of statements to constructor /** * An UpdateManager initialised to this store */ - _defineProperty(_assertThisInitialized(_this), "updater", void 0); + _defineProperty(_this, "updater", void 0); /** * Dictionary of namespace prefixes */ - _defineProperty(_assertThisInitialized(_this), "namespaces", void 0); + _defineProperty(_this, "namespaces", void 0); /** Map of iri predicates to functions to call when adding { s type X } */ - _defineProperty(_assertThisInitialized(_this), "classActions", void 0); + _defineProperty(_this, "classActions", void 0); /** Map of iri predicates to functions to call when getting statement with {s X o} */ - _defineProperty(_assertThisInitialized(_this), "propertyActions", void 0); + _defineProperty(_this, "propertyActions", void 0); /** Redirect to lexically smaller equivalent symbol */ - _defineProperty(_assertThisInitialized(_this), "redirections", void 0); + _defineProperty(_this, "redirections", void 0); /** Reverse mapping to redirection: aliases for this */ - _defineProperty(_assertThisInitialized(_this), "aliases", void 0); + _defineProperty(_this, "aliases", void 0); /** Redirections we got from HTTP */ - _defineProperty(_assertThisInitialized(_this), "HTTPRedirects", void 0); + _defineProperty(_this, "HTTPRedirects", void 0); /** Array of statements with this X as subject */ - _defineProperty(_assertThisInitialized(_this), "subjectIndex", void 0); + _defineProperty(_this, "subjectIndex", void 0); /** Array of statements with this X as predicate */ - _defineProperty(_assertThisInitialized(_this), "predicateIndex", void 0); + _defineProperty(_this, "predicateIndex", void 0); /** Array of statements with this X as object */ - _defineProperty(_assertThisInitialized(_this), "objectIndex", void 0); + _defineProperty(_this, "objectIndex", void 0); /** Array of statements with X as provenance */ - _defineProperty(_assertThisInitialized(_this), "whyIndex", void 0); - _defineProperty(_assertThisInitialized(_this), "index", void 0); - _defineProperty(_assertThisInitialized(_this), "features", void 0); - _defineProperty(_assertThisInitialized(_this), "_universalVariables", void 0); - _defineProperty(_assertThisInitialized(_this), "_existentialVariables", void 0); + _defineProperty(_this, "whyIndex", void 0); + _defineProperty(_this, "index", void 0); + _defineProperty(_this, "features", void 0); + _defineProperty(_this, "_universalVariables", void 0); + _defineProperty(_this, "_existentialVariables", void 0); /** Function to remove quads from the store arrays with */ - _defineProperty(_assertThisInitialized(_this), "rdfArrayRemove", void 0); + _defineProperty(_this, "rdfArrayRemove", void 0); /** Callbacks which are triggered after a statement has been added to the store */ - _defineProperty(_assertThisInitialized(_this), "dataCallbacks", void 0); + _defineProperty(_this, "dataCallbacks", void 0); _this.propertyActions = {}; _this.classActions = {}; _this.redirections = []; @@ -175,7 +172,8 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) { /** * Gets the URI of the default graph */ - _createClass(IndexedFormula, [{ + _inherits(IndexedFormula, _Formula); + return _createClass(IndexedFormula, [{ key: "substitute", value: /** @@ -317,14 +315,12 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) { return true; // true if statement given is NOT needed in the store }]; // sameAs -> equate & don't add to index } - if (ArrayIndexOf(features, 'InverseFunctionalProperty') >= 0) { this.classActions[this.rdfFactory.id(this.rdfFactory.namedNode("".concat(owlNamespaceURI, "InverseFunctionalProperty")))] = [function (formula, subj, pred, obj, addFn) { // yes subj not pred! return formula.newPropertyAction(subj, handleIFP); }]; // IFP -> handleIFP, do add to index } - if (ArrayIndexOf(features, 'FunctionalProperty') >= 0) { this.classActions[this.rdfFactory.id(this.rdfFactory.namedNode("".concat(owlNamespaceURI, "FunctionalProperty")))] = [function (formula, subj, proj, obj, addFn) { return formula.newPropertyAction(subj, handleFP); @@ -970,7 +966,6 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) { if (!oldlist) { return; // none to move } - var newlist = ix[newhash]; if (!newlist) { ix[newhash] = oldlist; @@ -1116,7 +1111,6 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) { if (!list) { return []; // No occurrences } - if (list.length < best) { best = list.length; iBest = i; // (not p!) @@ -1184,7 +1178,6 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) { return defaultGraphURI; } }]); - return IndexedFormula; }(Formula); _defineProperty(IndexedFormula, "handleRDFType", void 0); export { IndexedFormula as default }; diff --git a/esm/types.js b/esm/types.js index 5d26aef96..4fd114707 100644 --- a/esm/types.js +++ b/esm/types.js @@ -35,9 +35,14 @@ export var XHTMLContentType = "application/xhtml+xml"; * In some ways, the TF types in here are a bit more strict. * Variables are missing, and the statement requires specific types of terms (e.g. NamedNode instead of Term). */ + /** An RDF/JS Subject */ + /** An RDF/JS Predicate */ + /** An RDF/JS Object */ + /** An RDF/JS Graph */ // | Formula + /** All the types that a .fromValue() method might return */ \ No newline at end of file diff --git a/esm/update-manager.js b/esm/update-manager.js index 63d3d3d12..e58fa6e88 100644 --- a/esm/update-manager.js +++ b/esm/update-manager.js @@ -62,7 +62,7 @@ var UpdateManager = /*#__PURE__*/function () { this.ns.owl = Namespace('http://www.w3.org/2002/07/owl#'); this.patchControl = []; } - _createClass(UpdateManager, [{ + return _createClass(UpdateManager, [{ key: "patchControlFor", value: function patchControlFor(doc) { if (!this.patchControl[doc.value]) { @@ -124,7 +124,7 @@ var UpdateManager = /*#__PURE__*/function () { */ }, { key: "checkEditable", - value: function () { + value: (function () { var _checkEditable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(uri, kb) { var _kb$fetcher2; var initial, final; @@ -174,6 +174,7 @@ var UpdateManager = /*#__PURE__*/function () { * @returns The method string SPARQL or DAV or * LOCALFILE or false if known, undefined if not known. */ + ) }, { key: "editable", value: function editable(uri, kb) { @@ -181,7 +182,6 @@ var UpdateManager = /*#__PURE__*/function () { if (!uri) { return false; // Eg subject is bnode, no known doc to write to } - if (!kb) { kb = this.store; } @@ -628,7 +628,6 @@ var UpdateManager = /*#__PURE__*/function () { control.outOfDate = true; return; // once only needed @@ Not true, has changed again } - control.reloading = true; var retryTimeout = 1000; // ms var tryReload = function tryReload() { @@ -933,7 +932,6 @@ var UpdateManager = /*#__PURE__*/function () { if (ds.length === 0 && is.length === 0) { return callback(null, true); // success -- nothing needed to be done. } - var doc = ds.length ? ds[0].graph : is[0].graph; if (!doc) { var _message2 = 'Error patching: statement does not specify which document to patch:' + ds[0] + ', ' + is[0]; @@ -1003,7 +1001,6 @@ var UpdateManager = /*#__PURE__*/function () { control.upstreamCount += 1; // count changes we originated ourselves // console.log('upstream count up to : ' + control.upstreamCount) } - this.fire(doc.value, query, function (uri, success, body, response) { response.elapsedTimeMs = Date.now() - startTime; /* console.log(' UpdateManager: Return ' + @@ -1064,7 +1061,6 @@ var UpdateManager = /*#__PURE__*/function () { if (!response) { return null; // throw "No record HTTP GET response for document: "+doc } - var contentType = kb.the(response, this.ns.httph('content-type')).value; // prepare contents of revised document @@ -1268,6 +1264,5 @@ var UpdateManager = /*#__PURE__*/function () { }); } }]); - return UpdateManager; }(); export { UpdateManager as default }; \ No newline at end of file diff --git a/esm/updates-via.js b/esm/updates-via.js index b60ee3a0a..54cb809f0 100644 --- a/esm/updates-via.js +++ b/esm/updates-via.js @@ -23,7 +23,7 @@ export var UpdatesSocket = /*#__PURE__*/function () { this.onError(error); } } - _createClass(UpdatesSocket, [{ + return _createClass(UpdatesSocket, [{ key: "_decode", value: function _decode(q) { var elt; @@ -120,7 +120,6 @@ export var UpdatesSocket = /*#__PURE__*/function () { } } }]); - return UpdatesSocket; }(); export var UpdatesVia = /*#__PURE__*/function () { function UpdatesVia(fetcher) { @@ -130,7 +129,7 @@ export var UpdatesVia = /*#__PURE__*/function () { this.via = {}; this.fetcher.addCallback('headers', this.onHeaders); } - _createClass(UpdatesVia, [{ + return _createClass(UpdatesVia, [{ key: "onHeaders", value: function onHeaders(d) { var etag, uri, via; @@ -166,5 +165,4 @@ export var UpdatesVia = /*#__PURE__*/function () { return this.via[via].subscribe(uri); } }]); - return UpdatesVia; }(); \ No newline at end of file diff --git a/esm/utils-js.js b/esm/utils-js.js index f4ae6a2b4..2ae32a245 100644 --- a/esm/utils-js.js +++ b/esm/utils-js.js @@ -241,7 +241,6 @@ export function parseXML(str, options) { dparser = new DOMParser(); // Doc says this works } } - return dparser.parseFromString(str, 'application/xml'); } diff --git a/esm/utils.js b/esm/utils.js index 5b52fedf6..aae1e351b 100644 --- a/esm/utils.js +++ b/esm/utils.js @@ -2,6 +2,7 @@ import log from './log'; import { docpart } from './uri'; import { string_startswith } from './utils-js'; /** RDF/JS spec Typeguards */ + /** * Loads ontologies of the data we load (this is the callback from the kb to * the fetcher). diff --git a/esm/variable.js b/esm/variable.js index 2556d7045..9390882cb 100644 --- a/esm/variable.js +++ b/esm/variable.js @@ -1,12 +1,11 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; -import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; -import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; +import _inherits from "@babel/runtime/helpers/inherits"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } import ClassOrder from './class-order'; import Node from './node-internal'; import { VariableTermType } from './types'; @@ -19,8 +18,6 @@ import * as Uri from './uri'; * but the ? notation has an implicit base uri of 'varid:' */ var Variable = /*#__PURE__*/function (_Node) { - _inherits(Variable, _Node); - var _super = _createSuper(Variable); /** * Initializes this variable * @param name The variable's name @@ -29,19 +26,20 @@ var Variable = /*#__PURE__*/function (_Node) { var _this; var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; _classCallCheck(this, Variable); - _this = _super.call(this, name); - _defineProperty(_assertThisInitialized(_this), "termType", VariableTermType); + _this = _callSuper(this, Variable, [name]); + _defineProperty(_this, "termType", VariableTermType); /** The base string for a variable's name */ - _defineProperty(_assertThisInitialized(_this), "base", 'varid:'); - _defineProperty(_assertThisInitialized(_this), "classOrder", ClassOrder.Variable); - _defineProperty(_assertThisInitialized(_this), "isVar", 1); + _defineProperty(_this, "base", 'varid:'); + _defineProperty(_this, "classOrder", ClassOrder.Variable); + _defineProperty(_this, "isVar", 1); /** The unique identifier of this variable */ - _defineProperty(_assertThisInitialized(_this), "uri", void 0); + _defineProperty(_this, "uri", void 0); _this.base = 'varid:'; _this.uri = Uri.join(name, _this.base); return _this; } - _createClass(Variable, [{ + _inherits(Variable, _Node); + return _createClass(Variable, [{ key: "equals", value: function equals(other) { if (!other) { @@ -74,6 +72,5 @@ var Variable = /*#__PURE__*/function (_Node) { return "?".concat(variable.uri); } }]); - return Variable; }(Node); export { Variable as default }; \ No newline at end of file diff --git a/lib/blank-node.js b/lib/blank-node.js index 85d1c56b9..ce15c8681 100644 --- a/lib/blank-node.js +++ b/lib/blank-node.js @@ -7,23 +7,20 @@ Object.defineProperty(exports, "__esModule", { exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); -var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _classOrder = _interopRequireDefault(require("./class-order")); var _nodeInternal = _interopRequireDefault(require("./node-internal")); var _types = require("./types"); -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** * An RDF blank node is a Node without a URI * @link https://rdf.js.org/data-model-spec/#blanknode-interface */ -var BlankNode = /*#__PURE__*/function (_Node) { - (0, _inherits2.default)(BlankNode, _Node); - var _super = _createSuper(BlankNode); +var BlankNode = exports.default = /*#__PURE__*/function (_Node) { /** * Initializes this node * @param [id] The identifier for the blank node @@ -31,24 +28,25 @@ var BlankNode = /*#__PURE__*/function (_Node) { function BlankNode(id) { var _this; (0, _classCallCheck2.default)(this, BlankNode); - _this = _super.call(this, BlankNode.getId(id)); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "termType", _types.BlankNodeTermType); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "classOrder", _classOrder.default.BlankNode); + _this = _callSuper(this, BlankNode, [BlankNode.getId(id)]); + (0, _defineProperty2.default)(_this, "termType", _types.BlankNodeTermType); + (0, _defineProperty2.default)(_this, "classOrder", _classOrder.default.BlankNode); /** Whether this is a blank node */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isBlank", 1); + (0, _defineProperty2.default)(_this, "isBlank", 1); /** * This type of node is a variable. * * Note that the existence of this property already indicates that it is a variable. */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isVar", 1); + (0, _defineProperty2.default)(_this, "isVar", 1); return _this; } /** * The identifier for the blank node */ - (0, _createClass2.default)(BlankNode, [{ + (0, _inherits2.default)(BlankNode, _Node); + return (0, _createClass2.default)(BlankNode, [{ key: "id", get: function get() { return this.value; @@ -113,9 +111,7 @@ var BlankNode = /*#__PURE__*/function (_Node) { return 'n' + BlankNode.nextId++; } }]); - return BlankNode; }(_nodeInternal.default); -exports.default = BlankNode; /** * The next unique identifier for blank nodes */ diff --git a/lib/class-order.js b/lib/class-order.js index 359f4968d..84e2b6a5c 100644 --- a/lib/class-order.js +++ b/lib/class-order.js @@ -15,5 +15,4 @@ var ClassOrder = { 'BlankNode': 6, 'Variable': 7 }; -var _default = ClassOrder; -exports.default = _default; \ No newline at end of file +var _default = exports.default = ClassOrder; \ No newline at end of file diff --git a/lib/collection.js b/lib/collection.js index db21c9511..280c0ba90 100644 --- a/lib/collection.js +++ b/lib/collection.js @@ -8,10 +8,9 @@ exports.default = void 0; exports.fromValue = fromValue; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); -var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _blankNode = _interopRequireDefault(require("./blank-node")); var _classOrder = _interopRequireDefault(require("./class-order")); @@ -19,8 +18,8 @@ var _literal = _interopRequireDefault(require("./literal")); var _nodeInternal = _interopRequireDefault(require("./node-internal")); var _types = require("./types"); var _terms = require("./utils/terms"); -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** * Creates an RDF Node from a native javascript value. * RDF Nodes are returned unchanged, undefined returned as itself. @@ -48,22 +47,20 @@ function fromValue(value) { * * Use generic T to control the contents of the array. */ -var Collection = /*#__PURE__*/function (_Node) { - (0, _inherits2.default)(Collection, _Node); - var _super = _createSuper(Collection); +var Collection = exports.default = /*#__PURE__*/function (_Node) { function Collection(initial) { var _this; (0, _classCallCheck2.default)(this, Collection); - _this = _super.call(this, (_blankNode.default.nextId++).toString()); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "termType", _types.CollectionTermType); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "classOrder", _classOrder.default.Collection); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "closed", false); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "compareTerm", _blankNode.default.prototype.compareTerm); + _this = _callSuper(this, Collection, [(_blankNode.default.nextId++).toString()]); + (0, _defineProperty2.default)(_this, "termType", _types.CollectionTermType); + (0, _defineProperty2.default)(_this, "classOrder", _classOrder.default.Collection); + (0, _defineProperty2.default)(_this, "closed", false); + (0, _defineProperty2.default)(_this, "compareTerm", _blankNode.default.prototype.compareTerm); /** * The nodes in this collection */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "elements", []); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isVar", 0); + (0, _defineProperty2.default)(_this, "elements", []); + (0, _defineProperty2.default)(_this, "isVar", 0); if (initial && initial.length > 0) { initial.forEach(function (element) { _this.elements.push(fromValue(element)); @@ -71,7 +68,8 @@ var Collection = /*#__PURE__*/function (_Node) { } return _this; } - (0, _createClass2.default)(Collection, [{ + (0, _inherits2.default)(Collection, _Node); + return (0, _createClass2.default)(Collection, [{ key: "id", get: function get() { return this.value; @@ -154,7 +152,5 @@ var Collection = /*#__PURE__*/function (_Node) { return _blankNode.default.NTAnonymousNodePrefix + collection.id; } }]); - return Collection; }(_nodeInternal.default); -exports.default = Collection; (0, _defineProperty2.default)(Collection, "termType", _types.CollectionTermType); \ No newline at end of file diff --git a/lib/default-graph.js b/lib/default-graph.js index 538659502..eba9475df 100644 --- a/lib/default-graph.js +++ b/lib/default-graph.js @@ -8,30 +8,28 @@ exports.default = void 0; exports.isDefaultGraph = isDefaultGraph; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); -var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _nodeInternal = _interopRequireDefault(require("./node-internal")); var _types = require("./types"); var _defaultGraphUri = require("./utils/default-graph-uri"); -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** The RDF default graph */ -var DefaultGraph = /*#__PURE__*/function (_Node) { - (0, _inherits2.default)(DefaultGraph, _Node); - var _super = _createSuper(DefaultGraph); +var DefaultGraph = exports.default = /*#__PURE__*/function (_Node) { function DefaultGraph() { var _this; (0, _classCallCheck2.default)(this, DefaultGraph); - _this = _super.call(this, ''); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "value", ''); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "termType", _types.DefaultGraphTermType); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "uri", _defaultGraphUri.defaultGraphURI); + _this = _callSuper(this, DefaultGraph, ['']); + (0, _defineProperty2.default)(_this, "value", ''); + (0, _defineProperty2.default)(_this, "termType", _types.DefaultGraphTermType); + (0, _defineProperty2.default)(_this, "uri", _defaultGraphUri.defaultGraphURI); return _this; } - (0, _createClass2.default)(DefaultGraph, [{ + (0, _inherits2.default)(DefaultGraph, _Node); + return (0, _createClass2.default)(DefaultGraph, [{ key: "toCanonical", value: function toCanonical() { return this.value; @@ -42,9 +40,7 @@ var DefaultGraph = /*#__PURE__*/function (_Node) { return 'DefaultGraph'; } }]); - return DefaultGraph; }(_nodeInternal.default); -exports.default = DefaultGraph; function isDefaultGraph(object) { return !!object && object.termType === _types.DefaultGraphTermType; } \ No newline at end of file diff --git a/lib/empty.js b/lib/empty.js index db6997ebd..ebf58f33a 100644 --- a/lib/empty.js +++ b/lib/empty.js @@ -7,34 +7,30 @@ Object.defineProperty(exports, "__esModule", { exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); -var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _nodeInternal = _interopRequireDefault(require("./node-internal")); var _types = require("./types"); -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** * An empty node */ -var Empty = /*#__PURE__*/function (_Node) { - (0, _inherits2.default)(Empty, _Node); - var _super = _createSuper(Empty); +var Empty = exports.default = /*#__PURE__*/function (_Node) { function Empty() { var _this; (0, _classCallCheck2.default)(this, Empty); - _this = _super.call(this, ''); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "termType", _types.EmptyTermType); + _this = _callSuper(this, Empty, ['']); + (0, _defineProperty2.default)(_this, "termType", _types.EmptyTermType); return _this; } - (0, _createClass2.default)(Empty, [{ + (0, _inherits2.default)(Empty, _Node); + return (0, _createClass2.default)(Empty, [{ key: "toString", value: function toString() { return '()'; } }]); - return Empty; -}(_nodeInternal.default); -exports.default = Empty; \ No newline at end of file +}(_nodeInternal.default); \ No newline at end of file diff --git a/lib/factories/canonical-data-factory.js b/lib/factories/canonical-data-factory.js index ec774eee1..8e2ac12d9 100644 --- a/lib/factories/canonical-data-factory.js +++ b/lib/factories/canonical-data-factory.js @@ -22,7 +22,6 @@ var _defaultGraph2 = _interopRequireDefault(require("../default-graph")); var _factoryTypes = require("./factory-types"); var _terms = require("../utils/terms"); var _defaultGraphUri = require("../utils/default-graph-uri"); -var _supports; /** * Gets the default graph */ @@ -30,7 +29,7 @@ var _defaultGraph = new _defaultGraph2.default(); /** A basic internal RDFlib datafactory, which does not support Collections */ var CanonicalDataFactory = { - supports: (_supports = {}, (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.collections, false), (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.defaultGraphType, false), (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.equalsMethod, true), (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.identity, false), (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.id, true), (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.reversibleId, false), (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.variableType, true), _supports), + supports: (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _factoryTypes.Feature.collections, false), _factoryTypes.Feature.defaultGraphType, false), _factoryTypes.Feature.equalsMethod, true), _factoryTypes.Feature.identity, false), _factoryTypes.Feature.id, true), _factoryTypes.Feature.reversibleId, false), _factoryTypes.Feature.variableType, true), /** * Creates a new blank node * @param value - The blank node's identifier @@ -178,5 +177,4 @@ var CanonicalDataFactory = { }; /** Contains the factory methods as defined in the spec, plus id */ -var _default = CanonicalDataFactory; -exports.default = _default; \ No newline at end of file +var _default = exports.default = CanonicalDataFactory; \ No newline at end of file diff --git a/lib/factories/extended-term-factory.js b/lib/factories/extended-term-factory.js index b1be74cfc..7ed1f7436 100644 --- a/lib/factories/extended-term-factory.js +++ b/lib/factories/extended-term-factory.js @@ -12,16 +12,15 @@ var _types = require("../types"); var _factoryTypes = require("./factory-types"); var _terms = require("../utils/terms"); var _variable = _interopRequireDefault(require("../variable")); -var _supports; -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /** * Data factory which also supports Collections * * Necessary for preventing circular dependencies. */ var ExtendedTermFactory = _objectSpread(_objectSpread({}, _canonicalDataFactory.default), {}, { - supports: (_supports = {}, (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.collections, true), (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.defaultGraphType, false), (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.equalsMethod, true), (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.identity, false), (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.id, true), (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.reversibleId, false), (0, _defineProperty2.default)(_supports, _factoryTypes.Feature.variableType, true), _supports), + supports: (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _factoryTypes.Feature.collections, true), _factoryTypes.Feature.defaultGraphType, false), _factoryTypes.Feature.equalsMethod, true), _factoryTypes.Feature.identity, false), _factoryTypes.Feature.id, true), _factoryTypes.Feature.reversibleId, false), _factoryTypes.Feature.variableType, true), /** * Creates a new collection * @param elements - The initial element @@ -48,5 +47,4 @@ var ExtendedTermFactory = _objectSpread(_objectSpread({}, _canonicalDataFactory. return _canonicalDataFactory.default.termToNQ(term); } }); -var _default = ExtendedTermFactory; -exports.default = _default; \ No newline at end of file +var _default = exports.default = ExtendedTermFactory; \ No newline at end of file diff --git a/lib/factories/factory-types.js b/lib/factories/factory-types.js index 32d26dbc6..f68c008cd 100644 --- a/lib/factories/factory-types.js +++ b/lib/factories/factory-types.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.Feature = void 0; /** A set of features that may be supported by a Data Factory */ -var Feature = /*#__PURE__*/function (Feature) { +var Feature = exports.Feature = /*#__PURE__*/function (Feature) { Feature["collections"] = "COLLECTIONS"; Feature["defaultGraphType"] = "DEFAULT_GRAPH_TYPE"; Feature["equalsMethod"] = "EQUALS_METHOD"; @@ -20,5 +20,4 @@ var Feature = /*#__PURE__*/function (Feature) { * but with additional extensions * * bnIndex is optional but useful. - */ -exports.Feature = Feature; \ No newline at end of file + */ \ No newline at end of file diff --git a/lib/factories/rdflib-data-factory.js b/lib/factories/rdflib-data-factory.js index eabcf3aa8..c26167437 100644 --- a/lib/factories/rdflib-data-factory.js +++ b/lib/factories/rdflib-data-factory.js @@ -9,8 +9,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de var _store = _interopRequireDefault(require("../store")); var _fetcher = _interopRequireDefault(require("../fetcher")); var _extendedTermFactory = _interopRequireDefault(require("./extended-term-factory")); -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /** Full RDFLib.js Data Factory */ var RDFlibDataFactory = _objectSpread(_objectSpread({}, _extendedTermFactory.default), {}, { /** @@ -51,5 +51,4 @@ var RDFlibDataFactory = _objectSpread(_objectSpread({}, _extendedTermFactory.def return this.quad(subject, predicate, object, graph); } }); -var _default = RDFlibDataFactory; -exports.default = _default; \ No newline at end of file +var _default = exports.default = RDFlibDataFactory; \ No newline at end of file diff --git a/lib/fetcher.js b/lib/fetcher.js index 2f989de07..d75a108d0 100644 --- a/lib/fetcher.js +++ b/lib/fetcher.js @@ -8,9 +8,9 @@ Object.defineProperty(exports, "__esModule", { exports.default = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); @@ -30,36 +30,36 @@ var _crossFetch = _interopRequireWildcard(require("cross-fetch")); var _types = require("./types"); var _termValue = require("./utils/termValue"); var _jsonldparser = _interopRequireDefault(require("./jsonldparser")); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /* global $SolidTestEnvironment */ /** - * - * Project: rdflib.js - * - * @file: fetcher.js - * - * Description: contains functions for requesting/fetching/retracting - * This implements quite a lot of the web architecture. - * A fetcher is bound to a specific quad store, into which - * it loads stuff and into which it writes its metadata - * @@ The metadata could be optionally a separate graph - * - * - implements semantics of HTTP headers, Internet Content Types - * - selects parsers for rdf/xml, n3, rdfa, grddl - * - * TO do: - * - Implement a runtime registry for parsers and serializers - * - - */ /** - * Things to test: callbacks on request, refresh, retract - * loading from HTTP, HTTPS, FTP, FILE, others? - * To do: - * Firing up a mail client for mid: (message:) URLs - */ +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* global $SolidTestEnvironment */ /** + * + * Project: rdflib.js + * + * @file: fetcher.js + * + * Description: contains functions for requesting/fetching/retracting + * This implements quite a lot of the web architecture. + * A fetcher is bound to a specific quad store, into which + * it loads stuff and into which it writes its metadata + * @@ The metadata could be optionally a separate graph + * + * - implements semantics of HTTP headers, Internet Content Types + * - selects parsers for rdf/xml, n3, rdfa, grddl + * + * TO do: + * - Implement a runtime registry for parsers and serializers + * - + */ /** + * Things to test: callbacks on request, refresh, retract + * loading from HTTP, HTTPS, FTP, FILE, others? + * To do: + * Firing up a mail client for mid: (message:) URLs + */ var Parsable = { 'text/n3': true, 'text/turtle': true, @@ -118,14 +118,13 @@ var Handler = /*#__PURE__*/(0, _createClass2.default)(function Handler(response, this.dom = dom; }); (0, _defineProperty2.default)(Handler, "pattern", void 0); -var RDFXMLHandler = /*#__PURE__*/function (_Handler) { - (0, _inherits2.default)(RDFXMLHandler, _Handler); - var _super = _createSuper(RDFXMLHandler); +var RDFXMLHandler = /*#__PURE__*/function (_Handler2) { function RDFXMLHandler() { (0, _classCallCheck2.default)(this, RDFXMLHandler); - return _super.apply(this, arguments); + return _callSuper(this, RDFXMLHandler, arguments); } - (0, _createClass2.default)(RDFXMLHandler, [{ + (0, _inherits2.default)(RDFXMLHandler, _Handler2); + return (0, _createClass2.default)(RDFXMLHandler, [{ key: "parse", value: function parse(fetcher, /** An XML String */ responseText, /** Requires .original */ @@ -164,17 +163,15 @@ var RDFXMLHandler = /*#__PURE__*/function (_Handler) { }; } }]); - return RDFXMLHandler; }(Handler); RDFXMLHandler.pattern = new RegExp('application/rdf\\+xml'); -var XHTMLHandler = /*#__PURE__*/function (_Handler2) { - (0, _inherits2.default)(XHTMLHandler, _Handler2); - var _super2 = _createSuper(XHTMLHandler); +var XHTMLHandler = /*#__PURE__*/function (_Handler3) { function XHTMLHandler() { (0, _classCallCheck2.default)(this, XHTMLHandler); - return _super2.apply(this, arguments); + return _callSuper(this, XHTMLHandler, arguments); } - (0, _createClass2.default)(XHTMLHandler, [{ + (0, _inherits2.default)(XHTMLHandler, _Handler3); + return (0, _createClass2.default)(XHTMLHandler, [{ key: "parse", value: function parse(fetcher, responseText, options) { var relation, reverse; @@ -242,17 +239,15 @@ var XHTMLHandler = /*#__PURE__*/function (_Handler2) { fetcher.mediatypes[_types.XHTMLContentType] = {}; } }]); - return XHTMLHandler; }(Handler); XHTMLHandler.pattern = new RegExp('application/xhtml'); -var XMLHandler = /*#__PURE__*/function (_Handler3) { - (0, _inherits2.default)(XMLHandler, _Handler3); - var _super3 = _createSuper(XMLHandler); +var XMLHandler = /*#__PURE__*/function (_Handler4) { function XMLHandler() { (0, _classCallCheck2.default)(this, XMLHandler); - return _super3.apply(this, arguments); + return _callSuper(this, XMLHandler, arguments); } - (0, _createClass2.default)(XMLHandler, [{ + (0, _inherits2.default)(XMLHandler, _Handler4); + return (0, _createClass2.default)(XMLHandler, [{ key: "parse", value: function parse(fetcher, responseText, options) { var dom = Util.parseXML(responseText); @@ -326,17 +321,15 @@ var XMLHandler = /*#__PURE__*/function (_Handler3) { return node.nodeType === Node.ELEMENT_NODE; } }]); - return XMLHandler; }(Handler); XMLHandler.pattern = new RegExp('(text|application)/(.*)xml'); -var HTMLHandler = /*#__PURE__*/function (_Handler4) { - (0, _inherits2.default)(HTMLHandler, _Handler4); - var _super4 = _createSuper(HTMLHandler); +var HTMLHandler = /*#__PURE__*/function (_Handler5) { function HTMLHandler() { (0, _classCallCheck2.default)(this, HTMLHandler); - return _super4.apply(this, arguments); + return _callSuper(this, HTMLHandler, arguments); } - (0, _createClass2.default)(HTMLHandler, [{ + (0, _inherits2.default)(HTMLHandler, _Handler5); + return (0, _createClass2.default)(HTMLHandler, [{ key: "parse", value: function parse(fetcher, responseText, options) { var kb = fetcher.store; @@ -369,7 +362,6 @@ var HTMLHandler = /*#__PURE__*/function (_Handler4) { if (titleMatch) { kb.add(options.resource, ns.dc('title'), kb.rdfFactory.literal(titleMatch[1]), options.resource); // think about xml:lang later } - kb.add(options.resource, ns.rdf('type'), ns.link('WebPage'), fetcher.appNode); fetcher.addStatus(options.req, 'non-XML HTML document, not parsed for data.'); return fetcher.doneFetch(options, this.response); @@ -387,17 +379,15 @@ var HTMLHandler = /*#__PURE__*/function (_Handler4) { }; } }]); - return HTMLHandler; }(Handler); HTMLHandler.pattern = new RegExp('text/html'); -var JsonLdHandler = /*#__PURE__*/function (_Handler5) { - (0, _inherits2.default)(JsonLdHandler, _Handler5); - var _super5 = _createSuper(JsonLdHandler); +var JsonLdHandler = /*#__PURE__*/function (_Handler6) { function JsonLdHandler() { (0, _classCallCheck2.default)(this, JsonLdHandler); - return _super5.apply(this, arguments); + return _callSuper(this, JsonLdHandler, arguments); } - (0, _createClass2.default)(JsonLdHandler, [{ + (0, _inherits2.default)(JsonLdHandler, _Handler6); + return (0, _createClass2.default)(JsonLdHandler, [{ key: "parse", value: function parse(fetcher, responseText, options, response) { var kb = fetcher.store; @@ -425,17 +415,15 @@ var JsonLdHandler = /*#__PURE__*/function (_Handler5) { }; } }]); - return JsonLdHandler; }(Handler); JsonLdHandler.pattern = /application\/ld\+json/; -var TextHandler = /*#__PURE__*/function (_Handler6) { - (0, _inherits2.default)(TextHandler, _Handler6); - var _super6 = _createSuper(TextHandler); +var TextHandler = /*#__PURE__*/function (_Handler7) { function TextHandler() { (0, _classCallCheck2.default)(this, TextHandler); - return _super6.apply(this, arguments); + return _callSuper(this, TextHandler, arguments); } - (0, _createClass2.default)(TextHandler, [{ + (0, _inherits2.default)(TextHandler, _Handler7); + return (0, _createClass2.default)(TextHandler, [{ key: "parse", value: function parse(fetcher, responseText, options) { // We only speak dialects of XML right now. Is this XML? @@ -471,17 +459,15 @@ var TextHandler = /*#__PURE__*/function (_Handler6) { }; } }]); - return TextHandler; }(Handler); TextHandler.pattern = new RegExp('text/plain'); -var N3Handler = /*#__PURE__*/function (_Handler7) { - (0, _inherits2.default)(N3Handler, _Handler7); - var _super7 = _createSuper(N3Handler); +var N3Handler = /*#__PURE__*/function (_Handler8) { function N3Handler() { (0, _classCallCheck2.default)(this, N3Handler); - return _super7.apply(this, arguments); + return _callSuper(this, N3Handler, arguments); } - (0, _createClass2.default)(N3Handler, [{ + (0, _inherits2.default)(N3Handler, _Handler8); + return (0, _createClass2.default)(N3Handler, [{ key: "parse", value: function parse(fetcher, responseText, options, response) { // Parse the text of this N3 file @@ -519,7 +505,6 @@ var N3Handler = /*#__PURE__*/function (_Handler7) { }; // post 2008 } }]); - return N3Handler; }(Handler); N3Handler.pattern = new RegExp('(application|text)/(x-)?(rdf\\+)?(n3|turtle)'); var defaultHandlers = { @@ -559,7 +544,7 @@ function isXMLNS(responseText) { * figuring how to parse them. It will also refresh, remove, the data * and put back the data to the web. */ -var Fetcher = /*#__PURE__*/function () { +var Fetcher = exports.default = /*#__PURE__*/function () { function Fetcher(store) { var _this = this; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; @@ -636,7 +621,7 @@ var Fetcher = /*#__PURE__*/function () { return _this.addHandler(defaultHandlers[key]); }); } - (0, _createClass2.default)(Fetcher, [{ + return (0, _createClass2.default)(Fetcher, [{ key: "load", value: /** @@ -979,7 +964,6 @@ var Fetcher = /*#__PURE__*/function () { if (fetchResponse.responseText) { oops += ' ' + fetchResponse.responseText; // not in 404, dns error, nock failure } - userCallback(false, oops, fetchResponse); } } else { @@ -1210,7 +1194,7 @@ var Fetcher = /*#__PURE__*/function () { */ }, { key: "createIfNotExists", - value: function () { + value: (function () { var _createIfNotExists = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(doc) { var contentType, data, @@ -1275,6 +1259,7 @@ var Fetcher = /*#__PURE__*/function () { * @param folderName - Optional folder name (slug) * @param data - Optional folder metadata */ + ) }, { key: "createContainer", value: function createContainer(parentURI, folderName, data) { @@ -1313,7 +1298,6 @@ var Fetcher = /*#__PURE__*/function () { // console.log('*** Fetcher: pending fetchQueue deleted ' + uri) } } - if (fetcher.requested[uri] && fetcher.requested[uri] !== 'done' && fetcher.requested[uri] !== 'failed' && fetcher.requested[uri] !== 404) { var msg = "Rdflib: fetcher: Destructive operation on <".concat(fetcher.requested[uri], "> file being fetched! ") + uri; console.error(msg); @@ -1478,7 +1462,6 @@ var Fetcher = /*#__PURE__*/function () { ); } }); - return responseNode; } }, { @@ -1828,7 +1811,6 @@ var Fetcher = /*#__PURE__*/function () { kb.add(oldReq, this.ns.link('redirectedTo'), kb.rdfFactory.namedNode(newURI), oldReq); this.addStatus(oldReq, 'redirected to new request'); // why } - this.requested[options.resource.value] = 'redirected'; this.redirectedTo[options.resource.value] = newURI; var newOptions = Object.assign({}, options); @@ -1990,9 +1972,7 @@ var Fetcher = /*#__PURE__*/function () { } } }]); - return Fetcher; }(); -exports.default = Fetcher; (0, _defineProperty2.default)(Fetcher, "HANDLERS", void 0); (0, _defineProperty2.default)(Fetcher, "CONTENT_TYPE_BY_EXT", void 0); // TODO: Document this diff --git a/lib/formula.js b/lib/formula.js index 4f168f809..47292717d 100644 --- a/lib/formula.js +++ b/lib/formula.js @@ -7,10 +7,9 @@ Object.defineProperty(exports, "__esModule", { exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); -var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _classOrder = _interopRequireDefault(require("./class-order")); var _collection = _interopRequireDefault(require("./collection")); @@ -27,14 +26,12 @@ var _namedNode = _interopRequireDefault(require("./named-node")); function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** * A formula, or store of RDF statements */ -var Formula = /*#__PURE__*/function (_Node) { - (0, _inherits2.default)(Formula, _Node); - var _super = _createSuper(Formula); +var Formula = exports.default = /*#__PURE__*/function (_Node) { /** * Initializes this formula * @constructor @@ -53,27 +50,27 @@ var Formula = /*#__PURE__*/function (_Node) { var optional = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : []; var opts = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; (0, _classCallCheck2.default)(this, Formula); - _this = _super.call(this, ''); + _this = _callSuper(this, Formula, ['']); _this.statements = statements; _this.constraints = constraints; _this.initBindings = initBindings; _this.optional = optional; - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "termType", _types.GraphTermType); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "classOrder", _classOrder.default.Graph); + (0, _defineProperty2.default)(_this, "termType", _types.GraphTermType); + (0, _defineProperty2.default)(_this, "classOrder", _classOrder.default.Graph); /** * The accompanying fetcher instance. * * Is set by the fetcher when initialized. */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fetcher", void 0); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isVar", 0); + (0, _defineProperty2.default)(_this, "fetcher", void 0); + (0, _defineProperty2.default)(_this, "isVar", 0); /** * A namespace for the specified namespace's URI * @param nsuri The URI for the namespace */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "ns", _namespace.default); + (0, _defineProperty2.default)(_this, "ns", _namespace.default); /** The factory used to generate statements and terms */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "rdfFactory", void 0); + (0, _defineProperty2.default)(_this, "rdfFactory", void 0); _this.rdfFactory = opts && opts.rdfFactory || _canonicalDataFactory.default; // Enable default factory methods on this while preserving factory context. var _iterator = _createForOfIteratorHelper(_utils.appliedFactoryMethods), @@ -103,7 +100,8 @@ var Formula = /*#__PURE__*/function (_Node) { * @param object - the third part of the statement * @param graph - the last part of the statement */ - (0, _createClass2.default)(Formula, [{ + (0, _inherits2.default)(Formula, _Node); + return (0, _createClass2.default)(Formula, [{ key: "add", value: function add(subject, predicate, object, graph) { var _this2 = this; @@ -861,6 +859,4 @@ var Formula = /*#__PURE__*/function (_Node) { return this.statementsMatching(s, p, o, g, false).length; } }]); - return Formula; -}(_nodeInternal.default); -exports.default = Formula; \ No newline at end of file +}(_nodeInternal.default); \ No newline at end of file diff --git a/lib/index.js b/lib/index.js index f7165d079..f58d9a367 100644 --- a/lib/index.js +++ b/lib/index.js @@ -248,10 +248,9 @@ Object.defineProperty(exports, "termValue", { exports.variable = exports.uri = exports.triple = void 0; var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); -var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _blankNode = _interopRequireDefault(require("./blank-node")); var _collection = _interopRequireDefault(require("./collection")); @@ -297,74 +296,56 @@ Object.keys(_terms).forEach(function (key) { }); }); var _termValue = require("./utils/termValue"); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } // Prepare bound versions of data factory methods for export var boundDataFactory = {}; for (var name in _rdflibDataFactory.default) { if (typeof _rdflibDataFactory.default[name] === 'function') boundDataFactory[name] = _rdflibDataFactory.default[name].bind(_rdflibDataFactory.default); } -var fetcher = boundDataFactory.fetcher, - graph = boundDataFactory.graph, - lit = boundDataFactory.lit, - st = boundDataFactory.st, - namedNode = boundDataFactory.namedNode, - variable = boundDataFactory.variable, - blankNode = boundDataFactory.blankNode, - defaultGraph = boundDataFactory.defaultGraph, - literal = boundDataFactory.literal, - quad = boundDataFactory.quad, - triple = boundDataFactory.triple; -exports.triple = triple; -exports.quad = quad; -exports.literal = literal; -exports.defaultGraph = defaultGraph; -exports.blankNode = blankNode; -exports.variable = variable; -exports.namedNode = exports.sym = namedNode; -exports.st = st; -exports.lit = lit; -exports.graph = graph; -exports.fetcher = fetcher; +var fetcher = exports.fetcher = boundDataFactory.fetcher, + graph = exports.graph = boundDataFactory.graph, + lit = exports.lit = boundDataFactory.lit, + st = exports.st = boundDataFactory.st, + namedNode = exports.namedNode = exports.sym = boundDataFactory.namedNode, + variable = exports.variable = boundDataFactory.variable, + blankNode = exports.blankNode = boundDataFactory.blankNode, + defaultGraph = exports.defaultGraph = boundDataFactory.defaultGraph, + literal = exports.literal = boundDataFactory.literal, + quad = exports.quad = boundDataFactory.quad, + triple = exports.triple = boundDataFactory.triple; var formula = new _formula.default(); -var fromNT = function fromNT(str) { +var fromNT = exports.fromNT = function fromNT(str) { return formula.fromNT(str); }; -exports.fromNT = fromNT; -var term = _node.default.fromValue; +var term = exports.term = _node.default.fromValue; // TODO: this export is broken; // it exports the _current_ value of nextId, which is always 0 -exports.term = term; -var NextId = _blankNode.default.nextId; -exports.NextId = NextId; -var ConnectedStore = /*#__PURE__*/function (_Store) { - (0, _inherits2.default)(ConnectedStore, _Store); - var _super = _createSuper(ConnectedStore); +var NextId = exports.NextId = _blankNode.default.nextId; +var ConnectedStore = exports.ConnectedStore = /*#__PURE__*/function (_Store) { function ConnectedStore(features) { var _this; (0, _classCallCheck2.default)(this, ConnectedStore); - _this = _super.call(this, features); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fetcher", void 0); - _this.fetcher = new _fetcher.default((0, _assertThisInitialized2.default)(_this), {}); + _this = _callSuper(this, ConnectedStore, [features]); + (0, _defineProperty2.default)(_this, "fetcher", void 0); + _this.fetcher = new _fetcher.default(_this, {}); return _this; } + (0, _inherits2.default)(ConnectedStore, _Store); return (0, _createClass2.default)(ConnectedStore); }(_store.default); -exports.ConnectedStore = ConnectedStore; -var LiveStore = /*#__PURE__*/function (_ConnectedStore) { - (0, _inherits2.default)(LiveStore, _ConnectedStore); - var _super2 = _createSuper(LiveStore); +var LiveStore = exports.LiveStore = /*#__PURE__*/function (_ConnectedStore2) { function LiveStore(features) { var _this2; (0, _classCallCheck2.default)(this, LiveStore); - _this2 = _super2.call(this, features); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "updater", void 0); - _this2.updater = new _updateManager.default((0, _assertThisInitialized2.default)(_this2)); + _this2 = _callSuper(this, LiveStore, [features]); + (0, _defineProperty2.default)(_this2, "updater", void 0); + _this2.updater = new _updateManager.default(_this2); return _this2; } + (0, _inherits2.default)(LiveStore, _ConnectedStore2); return (0, _createClass2.default)(LiveStore); -}(ConnectedStore); -exports.LiveStore = LiveStore; \ No newline at end of file +}(ConnectedStore); \ No newline at end of file diff --git a/lib/jsonldparser.js b/lib/jsonldparser.js index a0623a57c..9aa8b8183 100644 --- a/lib/jsonldparser.js +++ b/lib/jsonldparser.js @@ -8,8 +8,8 @@ exports.default = jsonldParser; exports.jsonldObjectToTerm = jsonldObjectToTerm; var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _utils = require("./utils"); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != (0, _typeof2.default)(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /** * Parses json-ld formatted JS objects to a rdf Term. * @param kb - The DataFactory to use. diff --git a/lib/jsonparser.js b/lib/jsonparser.js index 02b7bfb2c..c7e679f14 100644 --- a/lib/jsonparser.js +++ b/lib/jsonparser.js @@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; -var _default = function () { +var _default = exports.default = function () { return { parseJSON: function parseJSON(data, source, store) { var subject, predicate, object; @@ -56,5 +56,4 @@ var _default = function () { } } }; -}(); -exports.default = _default; \ No newline at end of file +}(); \ No newline at end of file diff --git a/lib/lists.js b/lib/lists.js index d164e3592..bec9f83c2 100644 --- a/lib/lists.js +++ b/lib/lists.js @@ -13,7 +13,7 @@ var _namespace = _interopRequireDefault(require("./namespace")); function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /* Lists form conversion - */ // import DataFactory from './factories/extended-term-factory' +*/ // import DataFactory from './factories/extended-term-factory' // import jsonldParser from './jsonldparser' // @ts-ignore is this injected? // @@ Goal: remove this dependency diff --git a/lib/literal.js b/lib/literal.js index 1a7c317ed..2ea83e2d3 100644 --- a/lib/literal.js +++ b/lib/literal.js @@ -8,10 +8,9 @@ exports.default = void 0; var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); -var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _classOrder = _interopRequireDefault(require("./class-order")); var _namedNode = _interopRequireDefault(require("./named-node")); @@ -19,15 +18,13 @@ var _nodeInternal = _interopRequireDefault(require("./node-internal")); var _types = require("./types"); var _terms = require("./utils/terms"); var _xsdInternal = _interopRequireDefault(require("./xsd-internal")); -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** * An RDF literal, containing some value which isn't expressed as an IRI. * @link https://rdf.js.org/data-model-spec/#literal-interface */ -var Literal = /*#__PURE__*/function (_Node) { - (0, _inherits2.default)(Literal, _Node); - var _super = _createSuper(Literal); +var Literal = exports.default = /*#__PURE__*/function (_Node) { /** * Initializes a literal * @param value - The literal's lexical value @@ -37,18 +34,18 @@ var Literal = /*#__PURE__*/function (_Node) { function Literal(value, language, datatype) { var _this; (0, _classCallCheck2.default)(this, Literal); - _this = _super.call(this, value); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "termType", _types.LiteralTermType); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "classOrder", _classOrder.default.Literal); + _this = _callSuper(this, Literal, [value]); + (0, _defineProperty2.default)(_this, "termType", _types.LiteralTermType); + (0, _defineProperty2.default)(_this, "classOrder", _classOrder.default.Literal); /** * The literal's datatype as a named node */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "datatype", _xsdInternal.default.string); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isVar", 0); + (0, _defineProperty2.default)(_this, "datatype", _xsdInternal.default.string); + (0, _defineProperty2.default)(_this, "isVar", 0); /** * The language for the literal */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "language", ''); + (0, _defineProperty2.default)(_this, "language", ''); if (language) { _this.language = language; _this.datatype = _xsdInternal.default.langString; @@ -63,7 +60,8 @@ var Literal = /*#__PURE__*/function (_Node) { /** * Gets a copy of this literal */ - (0, _createClass2.default)(Literal, [{ + (0, _inherits2.default)(Literal, _Node); + return (0, _createClass2.default)(Literal, [{ key: "copy", value: function copy() { return new Literal(this.value, this.lang, this.datatype); @@ -204,6 +202,4 @@ var Literal = /*#__PURE__*/function (_Node) { throw new Error("Can't make literal from " + value + ' of type ' + (0, _typeof2.default)(value)); } }]); - return Literal; -}(_nodeInternal.default); -exports.default = Literal; \ No newline at end of file +}(_nodeInternal.default); \ No newline at end of file diff --git a/lib/log.js b/lib/log.js index f63728125..1efdbe3e1 100644 --- a/lib/log.js +++ b/lib/log.js @@ -16,5 +16,4 @@ var log = { success: function success(x) {}, msg: function msg(x) {} }; -var _default = log; -exports.default = _default; \ No newline at end of file +var _default = exports.default = log; \ No newline at end of file diff --git a/lib/n3parser.js b/lib/n3parser.js index eb1886a3b..d2430f030 100644 --- a/lib/n3parser.js +++ b/lib/n3parser.js @@ -12,8 +12,8 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var Uri = _interopRequireWildcard(require("./uri")); var _utils = require("./utils"); var _lists = require("./lists"); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /** * * UTF-8 data encode / decode @@ -91,7 +91,6 @@ var pyjslib_slice = function pyjslib_slice(str, i, j) { if (typeof j == 'undefined' || j == null) return str.slice(i); return str.slice(i, j); // @ exactly the same spec? }; - var StopIteration = Error('dummy error stop iteration'); var pyjslib_Iterator = function pyjslib_Iterator(theList) { this.last = 0; @@ -128,7 +127,6 @@ String.prototype.decode = function (encoding) { var uripath_join = function uripath_join(base, given) { return Uri.join(given, base); // sad but true }; - var becauseSubexpression = null; // No reason needed var diag_tracking = 0; var diag_chatty_flag = 0; @@ -205,9 +203,8 @@ var langcode = new RegExp("^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*", 'g'); function createSinkParser(store, openFormula, thisDoc, baseURI, genPrefix, metaURI, flags, why) { return new SinkParser(store, openFormula, thisDoc, baseURI, genPrefix, metaURI, flags, why); } -var _default = createSinkParser; -exports.default = _default; -var SinkParser = /*#__PURE__*/function () { +var _default = exports.default = createSinkParser; +var SinkParser = exports.SinkParser = /*#__PURE__*/function () { function SinkParser(store, openFormula, thisDoc, baseURI, genPrefix, metaURI, flags, why) { (0, _classCallCheck2.default)(this, SinkParser); if (typeof openFormula == 'undefined') openFormula = null; @@ -278,7 +275,7 @@ var SinkParser = /*#__PURE__*/function () { this._context = this._formula; this._parentContext = null; } - (0, _createClass2.default)(SinkParser, [{ + return (0, _createClass2.default)(SinkParser, [{ key: "here", value: function here(i) { return this._genPrefix + "_L" + this.lines + "C" + (i - this.startOfLine + 1); @@ -1131,7 +1128,6 @@ var SinkParser = /*#__PURE__*/function () { if (j === str.length) { return -1; // EOF } - if (str.charAt(j) === '\n') { this.lines = this.lines + 1; break; @@ -1340,7 +1336,6 @@ var SinkParser = /*#__PURE__*/function () { ; return j; // Where we have got up to } - if (str.charAt(i) == "\"") { if (str.slice(i, i + 3) == "\"\"\"") { var delim = "\"\"\""; @@ -1494,9 +1489,7 @@ var SinkParser = /*#__PURE__*/function () { return new pyjslib_Tuple([j, uch]); } }]); - return SinkParser; }(); -exports.SinkParser = SinkParser; function OLD_BadSyntax(uri, lines, str, i, why) { return new __OLD_BadSyntax(uri, lines, str, i, why); } diff --git a/lib/named-node.js b/lib/named-node.js index b81364f44..6091b6e80 100644 --- a/lib/named-node.js +++ b/lib/named-node.js @@ -7,24 +7,21 @@ Object.defineProperty(exports, "__esModule", { exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); -var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _classOrder = _interopRequireDefault(require("./class-order")); var _nodeInternal = _interopRequireDefault(require("./node-internal")); var _types = require("./types"); var _termValue = require("./utils/termValue"); var _terms = require("./utils/terms"); -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** * A named (IRI) RDF node */ -var NamedNode = /*#__PURE__*/function (_Node) { - (0, _inherits2.default)(NamedNode, _Node); - var _super = _createSuper(NamedNode); +var NamedNode = exports.default = /*#__PURE__*/function (_Node) { /** * Create a named (IRI) RDF Node * @constructor @@ -33,9 +30,9 @@ var NamedNode = /*#__PURE__*/function (_Node) { function NamedNode(iri) { var _this; (0, _classCallCheck2.default)(this, NamedNode); - _this = _super.call(this, (0, _termValue.termValue)(iri)); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "termType", _types.NamedNodeTermType); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "classOrder", _classOrder.default.NamedNode); + _this = _callSuper(this, NamedNode, [(0, _termValue.termValue)(iri)]); + (0, _defineProperty2.default)(_this, "termType", _types.NamedNodeTermType); + (0, _defineProperty2.default)(_this, "classOrder", _classOrder.default.NamedNode); if (!_this.value) { throw new Error('Missing IRI for NamedNode'); } @@ -52,7 +49,8 @@ var NamedNode = /*#__PURE__*/function (_Node) { /** * Returns an $rdf node for the containing directory, ending in slash. */ - (0, _createClass2.default)(NamedNode, [{ + (0, _inherits2.default)(NamedNode, _Node); + return (0, _createClass2.default)(NamedNode, [{ key: "dir", value: function dir() { var str = this.value.split('#')[0]; @@ -136,6 +134,4 @@ var NamedNode = /*#__PURE__*/function (_Node) { return new NamedNode(value); } }]); - return NamedNode; -}(_nodeInternal.default); -exports.default = NamedNode; \ No newline at end of file +}(_nodeInternal.default); \ No newline at end of file diff --git a/lib/node-internal.js b/lib/node-internal.js index a3bf8c11f..5347b80ad 100644 --- a/lib/node-internal.js +++ b/lib/node-internal.js @@ -16,7 +16,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de * @link https://rdf.js.org/data-model-spec/#term-interface * @class Node */ -var Node = /*#__PURE__*/function () { +var Node = exports.default = /*#__PURE__*/function () { function Node(value) { (0, _classCallCheck2.default)(this, Node); /** The type of node */ @@ -32,7 +32,7 @@ var Node = /*#__PURE__*/function () { * Creates the substituted node for this one, according to the specified bindings * @param bindings - Bindings of identifiers to nodes */ - (0, _createClass2.default)(Node, [{ + return (0, _createClass2.default)(Node, [{ key: "substitute", value: function substitute(bindings) { return this; @@ -130,9 +130,7 @@ var Node = /*#__PURE__*/function () { throw new Error('Node.toString() is abstract - see the subclasses instead'); } }]); - return Node; }(); -exports.default = Node; // Specified in './node.ts' to prevent circular dependency (0, _defineProperty2.default)(Node, "fromValue", void 0); // Specified in './node.ts' to prevent circular dependency diff --git a/lib/node.js b/lib/node.js index e47593499..a20517936 100644 --- a/lib/node.js +++ b/lib/node.js @@ -21,8 +21,7 @@ var _terms = require("./utils/terms"); * @return {Node|Collection} */ _nodeInternal.default.fromValue = _collection.fromValue; -var _default = _nodeInternal.default; -exports.default = _default; +var _default = exports.default = _nodeInternal.default; var ns = { xsd: (0, _namespace.default)('http://www.w3.org/2001/XMLSchema#') }; @@ -35,7 +34,6 @@ _nodeInternal.default.toJS = function (term) { if ((0, _terms.isCollection)(term)) { return term.elements.map(_nodeInternal.default.toJS); // Array node (not standard RDFJS) } - if (!(0, _terms.isLiteral)(term)) return term; if (term.datatype.equals(ns.xsd('boolean'))) { return term.value === '1' || term.value === 'true'; diff --git a/lib/parse.js b/lib/parse.js index 8688b3642..0216535b5 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -15,8 +15,8 @@ var _rdfxmlparser = _interopRequireDefault(require("./rdfxmlparser")); var _patchParser = _interopRequireDefault(require("./patch-parser")); var Util = _interopRequireWildcard(require("./utils-js")); var _types = require("./types"); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } // @ts-ignore is this injected? // @@ Goal: remove this dependency diff --git a/lib/patch-parser.js b/lib/patch-parser.js index 0888bc6b4..23a3f4f50 100644 --- a/lib/patch-parser.js +++ b/lib/patch-parser.js @@ -47,7 +47,6 @@ function sparqlUpdateParser(str, kb, base) { if (i < 0) { return clauses; // Allow end in a } - j = i; } var found = false; diff --git a/lib/query.js b/lib/query.js index 170d0b599..224598a96 100644 --- a/lib/query.js +++ b/lib/query.js @@ -33,7 +33,7 @@ var _uri = require("./uri"); /** * Query class, for tracking queries the user has in the UI. */ -var Query = /*#__PURE__*/(0, _createClass2.default)(function Query(name, id) { +var Query = exports.Query = /*#__PURE__*/(0, _createClass2.default)(function Query(name, id) { (0, _classCallCheck2.default)(this, Query); this.pat = new _store.default(); // The pattern to search for this.vars = []; // Used by UI code but not in query.js @@ -56,7 +56,6 @@ var Query = /*#__PURE__*/(0, _createClass2.default)(function Query(name, id) { * which has been created for the quadstore being queried. * @param onDone - callback when query finished */ -exports.Query = Query; function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { /** Debug strings */ @@ -96,7 +95,6 @@ function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { b[self] = other; return [[b, null]]; // Match } - actual = self; } if (!actual.complexType) { @@ -128,11 +126,9 @@ function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { if (self.length !== other.length) { return []; // no way } - if (!self.length) { return [[[], null]]; // Success } - var nbs = unifyTerm(self[0], other[0], bindings, formula); if (nbs.length === 0) { return nbs; @@ -155,13 +151,11 @@ function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { bindings2[v] = nb[v]; // copy } } - for (v in bindings) { if (bindings.hasOwnProperty(v)) { bindings2[v] = bindings[v]; // copy } } - nbs2 = unifyContents(self.slice(1), other.slice(1), bindings2, formula); m = nbs2.length; for (j = 0; j < m; j++) { @@ -320,13 +314,11 @@ function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { if (f.redirections[f.id(t)]) { t = f.redirections[f.id(t)]; // redirect } - termIndex = ind[i][f.id(t)]; if (!termIndex) { item.index = []; return false; // Query line cannot match } - if (item.index === null || item.index.length > termIndex.length) { // Find smallest index item.index = termIndex; @@ -381,7 +373,6 @@ function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { br[b] = new OptionalBranch(junction); // Allocate branches to prevent premature ending br[b].pattern_debug = g.optional[b]; // for diagnotics only } - for (b = 0; b < g.optional.length; b++) { br[b].count = br[b].count + 1; // Count how many matches we have yet to complete match(f, g.optional[b], bindingsSoFar, '', fetcher, callback, br[b]); @@ -391,7 +382,6 @@ function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { _log.default.debug('Match ends -- success , Branch count now: ' + branch.count + ' for ' + branch.pattern_debug); return; // Success } - var item; var i; var n = pattern.length; @@ -419,7 +409,6 @@ function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { fetchResource(bindingsSoFar[item.subject], id); return; // only look up one per line this time, but we will come back again though match } - if (bindingsSoFar[item.object] !== undefined && bindingsSoFar[item.object].uri && fetcher && fetcher.getState((0, _uri.docpart)(bindingsSoFar[item.object].uri)) === 'unrequested') { fetchResource(bindingsSoFar[item.object], id); return; @@ -465,7 +454,6 @@ function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { prepare(f, item, bindingsSoFar); // if (item.index) console.log(' item.index.length ' + item.index.length) } - pattern.sort(easiestQuery); item = pattern[0]; // log.debug("Sorted pattern:\n"+pattern) @@ -502,20 +490,17 @@ function indexedFormulaQuery(myQuery, callback, fetcher, onDone) { bindings2[v] = newBindings1[v]; // copy } } - for (v in bindingsSoFar) { if (bindingsSoFar.hasOwnProperty(v)) { bindings2[v] = bindingsSoFar[v]; // copy } } - branch.count++; // Count how many matches we have yet to complete onward++; match(f, rest, bindings2, level + ' ', fetcher, callback, branch); // call match } } } - branch.count--; if (onward === 0) { _log.default.debug('Match2 fails completely on ' + item); diff --git a/lib/rdfaparser.js b/lib/rdfaparser.js index 929a67b65..ae6fa609c 100644 --- a/lib/rdfaparser.js +++ b/lib/rdfaparser.js @@ -14,8 +14,8 @@ var _namedNode = _interopRequireDefault(require("./named-node")); var Uri = _interopRequireWildcard(require("./uri")); var Util = _interopRequireWildcard(require("./utils-js")); var _canonicalDataFactory = _interopRequireDefault(require("./factories/canonical-data-factory")); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } // RDFa Parser for rdflib.js // Originally by: Alex Milowski @@ -47,7 +47,7 @@ if (typeof Node === 'undefined') { NOTATION_NODE: 12 }; } -var RDFaProcessor = /*#__PURE__*/function () { +var RDFaProcessor = exports.default = /*#__PURE__*/function () { function RDFaProcessor(kb, options) { (0, _classCallCheck2.default)(this, RDFaProcessor); this.options = options || {}; @@ -78,7 +78,7 @@ var RDFaProcessor = /*#__PURE__*/function () { this.finishedHandlers = []; this.init(); } - (0, _createClass2.default)(RDFaProcessor, [{ + return (0, _createClass2.default)(RDFaProcessor, [{ key: "addTriple", value: function addTriple(origin, subject, predicate, object) { var su, ob, pr, or; @@ -287,7 +287,6 @@ var RDFaProcessor = /*#__PURE__*/function () { if (node.baseURI && !options.baseURI) { options.baseURI = node.baseURI; // be defensive as DOM implementations vary } - base = node.baseURI; node = node.documentElement; if (!node.baseURI) { @@ -340,7 +339,6 @@ var RDFaProcessor = /*#__PURE__*/function () { bnodes.push(this.newBlankNode()); // this.newSubject(item.parent,bnodes[i]) } - for (var _i2 = 0; _i2 < bnodes.length; _i2++) { this.addTriple(item.parent, bnodes[_i2], 'http://www.w3.org/1999/02/22-rdf-syntax-ns#first', list[_i2]); this.addTriple(item.parent, bnodes[_i2], 'http://www.w3.org/1999/02/22-rdf-syntax-ns#rest', { @@ -640,7 +638,6 @@ var RDFaProcessor = /*#__PURE__*/function () { currentObjectResource = this.newBlankNode(); // alert(current.tagName+": generated blank node, newSubject="+newSubject+" currentObjectResource="+currentObjectResource) } - if (relAtt && inlistAtt) { for (var _i10 = 0; _i10 < relAttPredicates.length; _i10++) { var _list2 = listMapping[relAttPredicates[_i10]]; @@ -1009,7 +1006,6 @@ var RDFaProcessor = /*#__PURE__*/function () { // Note this became a read-only attribute some time before 2018 dom.baseURI = base; // oinly set if not already set } - p.process(dom, { baseURI: base }); @@ -1025,9 +1021,7 @@ var RDFaProcessor = /*#__PURE__*/function () { return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); } }]); - return RDFaProcessor; }(); -exports.default = RDFaProcessor; RDFaProcessor.XMLLiteralURI = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral'; RDFaProcessor.HTMLLiteralURI = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML'; RDFaProcessor.PlainLiteralURI = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#PlainLiteral'; @@ -1065,5 +1059,4 @@ RDFaProcessor.dateTimeTypes = [{ pattern: /-?[1-9][0-9][0-9][0-9]|0[1-9][0-9][0-9]|00[1-9][0-9]|000[1-9]/, type: 'http://www.w3.org/2001/XMLSchema#gYear' }]; -var parseRDFaDOM = RDFaProcessor.parseRDFaDOM; -exports.parseRDFaDOM = parseRDFaDOM; \ No newline at end of file +var parseRDFaDOM = exports.parseRDFaDOM = RDFaProcessor.parseRDFaDOM; \ No newline at end of file diff --git a/lib/rdfxmlparser.js b/lib/rdfxmlparser.js index e0f46f5e8..34d60a2d7 100644 --- a/lib/rdfxmlparser.js +++ b/lib/rdfxmlparser.js @@ -10,8 +10,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var uriUtil = _interopRequireWildcard(require("./uri")); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /** * RDF/XML PARSER * @@ -69,7 +69,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && * @author David Sheets * */ -var RDFParser = /*#__PURE__*/function () { +var RDFParser = exports.default = /*#__PURE__*/function () { /* * @constructor * @param {RDFStore} store An RDFStore object @@ -87,7 +87,7 @@ var RDFParser = /*#__PURE__*/function () { /** Standard namespaces that we know how to handle @final * @member RDFParser */ - (0, _createClass2.default)(RDFParser, [{ + return (0, _createClass2.default)(RDFParser, [{ key: "frameFactory", value: /** @@ -246,7 +246,6 @@ var RDFParser = /*#__PURE__*/function () { throw new Error("RDFParser: can't find root in " + base + '. Halting. '); // return false } - this.why = why; // our topmost frame var f = this.frameFactory(this); this.base = base; @@ -478,9 +477,7 @@ var RDFParser = /*#__PURE__*/function () { return frame; } }]); - return RDFParser; }(); -exports.default = RDFParser; (0, _defineProperty2.default)(RDFParser, "ns", { 'RDF': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'RDFS': 'http://www.w3.org/2000/01/rdf-schema#' diff --git a/lib/serialize.js b/lib/serialize.js index 6431a9624..e52b94d8f 100644 --- a/lib/serialize.js +++ b/lib/serialize.js @@ -74,7 +74,6 @@ contentType, callback, options) { } throw err; // Don't hide problems from caller in sync mode } - function executeCallback(err, result) { if (callback) { callback(err, result); diff --git a/lib/serializer.js b/lib/serializer.js index d95a26fdf..035ed30bd 100644 --- a/lib/serializer.js +++ b/lib/serializer.js @@ -18,8 +18,8 @@ var _canonicalDataFactory = _interopRequireDefault(require("./factories/canonica var _xsd = require("./xsd"); var _solidNamespace = _interopRequireDefault(require("solid-namespace")); var ttl2jsonld = _interopRequireWildcard(require("@frogcat/ttl2jsonld")); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /* Serialization of RDF Graphs ** ** Tim Berners-Lee 2006 @@ -32,7 +32,7 @@ function createSerializer(store) { return new Serializer(store); } ; -var Serializer = /*#__PURE__*/function () { +var Serializer = exports.Serializer = /*#__PURE__*/function () { function Serializer(store) { (0, _classCallCheck2.default)(this, Serializer); (0, _defineProperty2.default)(this, "_notQNameChars", '\t\r\n !"#$%&\'()*.,+/;<=>?@[\\]^`{|}~'); @@ -64,7 +64,7 @@ var Serializer = /*#__PURE__*/function () { this.rdfFactory = store.rdfFactory || _canonicalDataFactory.default; this.xsd = (0, _xsd.createXSD)(this.rdfFactory); } - (0, _createClass2.default)(Serializer, [{ + return (0, _createClass2.default)(Serializer, [{ key: "setBase", value: function setBase(base) { this.base = base; @@ -83,7 +83,6 @@ var Serializer = /*#__PURE__*/function () { if (x.termType === 'Graph') { this.formulas[s] = x; // remember as reverse does not work } - return s; } }, { @@ -214,7 +213,6 @@ var Serializer = /*#__PURE__*/function () { if (!this.validPrefix.test(p)) { p = 'n'; // Otherwise the loop below may never termimnate } - for (var j = 0;; j++) if (canUse(p.slice(0, 3) + j)) return p.slice(0, 3) + j; } }, { @@ -237,7 +235,6 @@ var Serializer = /*#__PURE__*/function () { if (!incoming.hasOwnProperty(x)) incoming[x] = []; incoming[x].push(st.subject); // List of things which will cause this to be printed }; - var st2 = [st.subject, st.predicate, st.object]; st2.map(function (y) { if (y.termType === 'BlankNode') { @@ -248,14 +245,12 @@ var Serializer = /*#__PURE__*/function () { }); } }); - checkMentions(sts[i].object); var ss = subjects[this.toStr(st.subject)]; // Statements with this as subject if (!ss) ss = []; ss.push(st); subjects[this.toStr(st.subject)] = ss; // Make hash. @@ too slow for formula? } - var roots = []; for (var xNT in subjects) { if (!subjects.hasOwnProperty(xNT)) continue; @@ -389,7 +384,6 @@ var Serializer = /*#__PURE__*/function () { str += ' '; // separate from previous token } } - str += s2; } return str; @@ -446,7 +440,6 @@ var Serializer = /*#__PURE__*/function () { } } } - return str; }; @@ -469,7 +462,6 @@ var Serializer = /*#__PURE__*/function () { if (subject.termType === 'BlankNode' && !stats.incoming[subject]) { return objectTree(subject, stats, true).concat(['.']); // Anonymous bnode subject } - return [termToN3(subject, stats)].concat([propertyTree(subject, stats)]).concat(['.']); } // The property tree for a single subject or anonymous node @@ -698,7 +690,6 @@ var Serializer = /*#__PURE__*/function () { // Fall though if can't do qname } } - return this.explicitURI(uri); } @@ -832,7 +823,6 @@ var Serializer = /*#__PURE__*/function () { } }); } - function relURIMethod(term) { return escapeForXML(this.base ? Util.uri.refTo(this.base, term.uri) : term.uri); } @@ -915,7 +905,6 @@ var Serializer = /*#__PURE__*/function () { throw new Error("Can't serialize object of type " + st.object.termType + ' into XML'); } // switch } - var tag = type ? qname(type) : 'rdf:Description'; var attrs = ''; if (subject.termType === 'BlankNode') { @@ -967,7 +956,6 @@ var Serializer = /*#__PURE__*/function () { throw new Error("Can't serialize object of type " + st.object.termType + ' into XML'); } // switch } - return results; } var propertyXMLTree = propertyXMLTreeMethod.bind(this); @@ -1035,9 +1023,7 @@ var Serializer = /*#__PURE__*/function () { return JSON.stringify(jsonldObj, null, 2); } }]); - return Serializer; }(); // String escaping utilities -exports.Serializer = Serializer; function hexify(str) { // also used in parser return encodeURI(str); diff --git a/lib/sparql-to-query.js b/lib/sparql-to-query.js index 39ae958ce..9cfd3b04c 100644 --- a/lib/sparql-to-query.js +++ b/lib/sparql-to-query.js @@ -124,7 +124,6 @@ function SPARQLToQuery(SPARQL, testMode, kb) { _log.default.info('Literal found: ' + res[1]); res = res.concat(parseLiterals(str.slice(end + ind + 2))); // finds any other literals } - return res; } function spaceDelimit(str) { @@ -352,7 +351,6 @@ function SPARQLToQuery(SPARQL, testMode, kb) { // log.warn("I don't know how to handle the constraint: "+input) // alert("length: "+input.length+" input 0 type: "+input[0].termType+" input 1: "+input[1]+" input[2] type: "+input[2].termType) } - function setOptional(terms, pat) { _log.default.debug('Optional query: ' + terms + ' not yet implemented.'); var opt = kb.formula(); diff --git a/lib/statement.js b/lib/statement.js index ec2784dd5..771506251 100644 --- a/lib/statement.js +++ b/lib/statement.js @@ -12,12 +12,12 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de var _nodeInternal = _interopRequireDefault(require("./node-internal")); var _types = require("./types"); var _defaultGraph = _interopRequireWildcard(require("./default-graph")); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var defaultGraph = new _defaultGraph.default(); /** A Statement represents an RDF Triple or Quad. */ -var Statement = /*#__PURE__*/function () { +var Statement = exports.default = /*#__PURE__*/function () { /** * Construct a new statement * @@ -55,7 +55,7 @@ var Statement = /*#__PURE__*/function () { } /** Alias for graph, favored by Tim */ - (0, _createClass2.default)(Statement, [{ + return (0, _createClass2.default)(Statement, [{ key: "why", get: function get() { return this.graph; @@ -125,6 +125,4 @@ var Statement = /*#__PURE__*/function () { return this.toNT(); } }]); - return Statement; -}(); -exports.default = Statement; \ No newline at end of file +}(); \ No newline at end of file diff --git a/lib/store.js b/lib/store.js index 88e6673c6..6f624a22e 100644 --- a/lib/store.js +++ b/lib/store.js @@ -13,10 +13,9 @@ Object.defineProperty(exports, "defaultGraphURI", { }); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); -var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _classOrder = _interopRequireDefault(require("./class-order")); var _canonicalDataFactory = require("./factories/canonical-data-factory"); @@ -34,30 +33,31 @@ var _serialize2 = _interopRequireDefault(require("./serialize")); var _blankNode = _interopRequireDefault(require("./blank-node")); var _defaultGraph = _interopRequireDefault(require("./default-graph")); var _literal = _interopRequireDefault(require("./literal")); -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /* Identity management and indexing for RDF - * - * This file provides IndexedFormula a formula (set of triples) which - * indexed by predicate, subject and object. - * - * It "smushes" (merges into a single node) things which are identical - * according to owl:sameAs or an owl:InverseFunctionalProperty - * or an owl:FunctionalProperty - * - * - * 2005-10 Written Tim Berners-Lee - * 2007 Changed so as not to munge statements from documents when smushing - * 2019 Converted to typescript - * - * - */ /** @module store */ +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* Identity management and indexing for RDF + * + * This file provides IndexedFormula a formula (set of triples) which + * indexed by predicate, subject and object. + * + * It "smushes" (merges into a single node) things which are identical + * according to owl:sameAs or an owl:InverseFunctionalProperty + * or an owl:FunctionalProperty + * + * + * 2005-10 Written Tim Berners-Lee + * 2007 Changed so as not to munge statements from documents when smushing + * 2019 Converted to typescript + * + * +*/ /** @module store */ var owlNamespaceURI = 'http://www.w3.org/2002/07/owl#'; // var link_ns = 'http://www.w3.org/2007/ont/link#' + // Handle Functional Property function handleFP(formula, subj, pred, obj) { var o1 = formula.any(subj, pred, undefined); @@ -98,9 +98,7 @@ function handleRDFType(formula, subj, pred, obj, why) { /** * Indexed Formula aka Store */ -var IndexedFormula = /*#__PURE__*/function (_Formula) { - (0, _inherits2.default)(IndexedFormula, _Formula); - var _super = _createSuper(IndexedFormula); +var IndexedFormula = exports.default = /*#__PURE__*/function (_Formula) { /** * Creates a new formula * @param features - What sort of automatic processing to do? Array of string @@ -114,42 +112,42 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) { var _this; var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; (0, _classCallCheck2.default)(this, IndexedFormula); - _this = _super.call(this, undefined, undefined, undefined, undefined, opts); + _this = _callSuper(this, IndexedFormula, [undefined, undefined, undefined, undefined, opts]); // IN future - allow pass array of statements to constructor /** * An UpdateManager initialised to this store */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updater", void 0); + (0, _defineProperty2.default)(_this, "updater", void 0); /** * Dictionary of namespace prefixes */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespaces", void 0); + (0, _defineProperty2.default)(_this, "namespaces", void 0); /** Map of iri predicates to functions to call when adding { s type X } */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "classActions", void 0); + (0, _defineProperty2.default)(_this, "classActions", void 0); /** Map of iri predicates to functions to call when getting statement with {s X o} */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "propertyActions", void 0); + (0, _defineProperty2.default)(_this, "propertyActions", void 0); /** Redirect to lexically smaller equivalent symbol */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "redirections", void 0); + (0, _defineProperty2.default)(_this, "redirections", void 0); /** Reverse mapping to redirection: aliases for this */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "aliases", void 0); + (0, _defineProperty2.default)(_this, "aliases", void 0); /** Redirections we got from HTTP */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "HTTPRedirects", void 0); + (0, _defineProperty2.default)(_this, "HTTPRedirects", void 0); /** Array of statements with this X as subject */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "subjectIndex", void 0); + (0, _defineProperty2.default)(_this, "subjectIndex", void 0); /** Array of statements with this X as predicate */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "predicateIndex", void 0); + (0, _defineProperty2.default)(_this, "predicateIndex", void 0); /** Array of statements with this X as object */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "objectIndex", void 0); + (0, _defineProperty2.default)(_this, "objectIndex", void 0); /** Array of statements with X as provenance */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "whyIndex", void 0); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "index", void 0); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "features", void 0); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_universalVariables", void 0); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_existentialVariables", void 0); + (0, _defineProperty2.default)(_this, "whyIndex", void 0); + (0, _defineProperty2.default)(_this, "index", void 0); + (0, _defineProperty2.default)(_this, "features", void 0); + (0, _defineProperty2.default)(_this, "_universalVariables", void 0); + (0, _defineProperty2.default)(_this, "_existentialVariables", void 0); /** Function to remove quads from the store arrays with */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "rdfArrayRemove", void 0); + (0, _defineProperty2.default)(_this, "rdfArrayRemove", void 0); /** Callbacks which are triggered after a statement has been added to the store */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "dataCallbacks", void 0); + (0, _defineProperty2.default)(_this, "dataCallbacks", void 0); _this.propertyActions = {}; _this.classActions = {}; _this.redirections = []; @@ -178,7 +176,8 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) { /** * Gets the URI of the default graph */ - (0, _createClass2.default)(IndexedFormula, [{ + (0, _inherits2.default)(IndexedFormula, _Formula); + return (0, _createClass2.default)(IndexedFormula, [{ key: "substitute", value: /** @@ -320,14 +319,12 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) { return true; // true if statement given is NOT needed in the store }]; // sameAs -> equate & don't add to index } - if ((0, _utils.ArrayIndexOf)(features, 'InverseFunctionalProperty') >= 0) { this.classActions[this.rdfFactory.id(this.rdfFactory.namedNode("".concat(owlNamespaceURI, "InverseFunctionalProperty")))] = [function (formula, subj, pred, obj, addFn) { // yes subj not pred! return formula.newPropertyAction(subj, handleIFP); }]; // IFP -> handleIFP, do add to index } - if ((0, _utils.ArrayIndexOf)(features, 'FunctionalProperty') >= 0) { this.classActions[this.rdfFactory.id(this.rdfFactory.namedNode("".concat(owlNamespaceURI, "FunctionalProperty")))] = [function (formula, subj, proj, obj, addFn) { return formula.newPropertyAction(subj, handleFP); @@ -973,7 +970,6 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) { if (!oldlist) { return; // none to move } - var newlist = ix[newhash]; if (!newlist) { ix[newhash] = oldlist; @@ -1119,7 +1115,6 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) { if (!list) { return []; // No occurrences } - if (list.length < best) { best = list.length; iBest = i; // (not p!) @@ -1187,8 +1182,6 @@ var IndexedFormula = /*#__PURE__*/function (_Formula) { return _canonicalDataFactory.defaultGraphURI; } }]); - return IndexedFormula; }(_formula.default); -exports.default = IndexedFormula; (0, _defineProperty2.default)(IndexedFormula, "handleRDFType", void 0); IndexedFormula.handleRDFType = handleRDFType; \ No newline at end of file diff --git a/lib/types.js b/lib/types.js index 7ce1fee57..b6b2e25c9 100644 --- a/lib/types.js +++ b/lib/types.js @@ -4,48 +4,28 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.XHTMLContentType = exports.VariableTermType = exports.TurtleLegacyContentType = exports.TurtleContentType = exports.SPARQLUpdateSingleMatchContentType = exports.SPARQLUpdateContentType = exports.RDFXMLContentType = exports.NamedNodeTermType = exports.NTriplesContentType = exports.NQuadsContentType = exports.NQuadsAltContentType = exports.N3LegacyContentType = exports.N3ContentType = exports.LiteralTermType = exports.JSONLDContentType = exports.HTMLContentType = exports.GraphTermType = exports.EmptyTermType = exports.DefaultGraphTermType = exports.CollectionTermType = exports.BlankNodeTermType = void 0; -var NamedNodeTermType = "NamedNode"; -exports.NamedNodeTermType = NamedNodeTermType; -var BlankNodeTermType = "BlankNode"; -exports.BlankNodeTermType = BlankNodeTermType; -var LiteralTermType = "Literal"; -exports.LiteralTermType = LiteralTermType; -var VariableTermType = "Variable"; -exports.VariableTermType = VariableTermType; -var DefaultGraphTermType = "DefaultGraph"; +var NamedNodeTermType = exports.NamedNodeTermType = "NamedNode"; +var BlankNodeTermType = exports.BlankNodeTermType = "BlankNode"; +var LiteralTermType = exports.LiteralTermType = "Literal"; +var VariableTermType = exports.VariableTermType = "Variable"; +var DefaultGraphTermType = exports.DefaultGraphTermType = "DefaultGraph"; // Non-RDF/JS types: -exports.DefaultGraphTermType = DefaultGraphTermType; -var CollectionTermType = "Collection"; -exports.CollectionTermType = CollectionTermType; -var EmptyTermType = "Empty"; -exports.EmptyTermType = EmptyTermType; -var GraphTermType = "Graph"; -exports.GraphTermType = GraphTermType; -var HTMLContentType = "text/html"; -exports.HTMLContentType = HTMLContentType; -var JSONLDContentType = "application/ld+json"; -exports.JSONLDContentType = JSONLDContentType; -var N3ContentType = "text/n3"; -exports.N3ContentType = N3ContentType; -var N3LegacyContentType = "application/n3"; -exports.N3LegacyContentType = N3LegacyContentType; -var NQuadsAltContentType = "application/nquads"; -exports.NQuadsAltContentType = NQuadsAltContentType; -var NQuadsContentType = "application/n-quads"; -exports.NQuadsContentType = NQuadsContentType; -var NTriplesContentType = "application/n-triples"; -exports.NTriplesContentType = NTriplesContentType; -var RDFXMLContentType = "application/rdf+xml"; -exports.RDFXMLContentType = RDFXMLContentType; -var SPARQLUpdateContentType = "application/sparql-update"; -exports.SPARQLUpdateContentType = SPARQLUpdateContentType; -var SPARQLUpdateSingleMatchContentType = "application/sparql-update-single-match"; -exports.SPARQLUpdateSingleMatchContentType = SPARQLUpdateSingleMatchContentType; -var TurtleContentType = "text/turtle"; -exports.TurtleContentType = TurtleContentType; -var TurtleLegacyContentType = "application/x-turtle"; -exports.TurtleLegacyContentType = TurtleLegacyContentType; -var XHTMLContentType = "application/xhtml+xml"; +var CollectionTermType = exports.CollectionTermType = "Collection"; +var EmptyTermType = exports.EmptyTermType = "Empty"; +var GraphTermType = exports.GraphTermType = "Graph"; +var HTMLContentType = exports.HTMLContentType = "text/html"; +var JSONLDContentType = exports.JSONLDContentType = "application/ld+json"; +var N3ContentType = exports.N3ContentType = "text/n3"; +var N3LegacyContentType = exports.N3LegacyContentType = "application/n3"; +var NQuadsAltContentType = exports.NQuadsAltContentType = "application/nquads"; +var NQuadsContentType = exports.NQuadsContentType = "application/n-quads"; +var NTriplesContentType = exports.NTriplesContentType = "application/n-triples"; +var RDFXMLContentType = exports.RDFXMLContentType = "application/rdf+xml"; +var SPARQLUpdateContentType = exports.SPARQLUpdateContentType = "application/sparql-update"; +var SPARQLUpdateSingleMatchContentType = exports.SPARQLUpdateSingleMatchContentType = "application/sparql-update-single-match"; +var TurtleContentType = exports.TurtleContentType = "text/turtle"; +var TurtleLegacyContentType = exports.TurtleLegacyContentType = "application/x-turtle"; +var XHTMLContentType = exports.XHTMLContentType = "application/xhtml+xml"; /** * A valid mime type header @@ -71,5 +51,4 @@ var XHTMLContentType = "application/xhtml+xml"; /** An RDF/JS Graph */ // | Formula -/** All the types that a .fromValue() method might return */ -exports.XHTMLContentType = XHTMLContentType; \ No newline at end of file +/** All the types that a .fromValue() method might return */ \ No newline at end of file diff --git a/lib/update-manager.js b/lib/update-manager.js index ec34aa0b9..1bd55fdb9 100644 --- a/lib/update-manager.js +++ b/lib/update-manager.js @@ -20,23 +20,23 @@ var _serializer = _interopRequireDefault(require("./serializer")); var _terms = require("./utils/terms"); var Util = _interopRequireWildcard(require("./utils-js")); var _termValue = require("./utils/termValue"); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } /* @file Update Manager Class - ** - ** 2007-07-15 original SPARQL Update module by Joe Presbrey - ** 2010-08-08 TimBL folded in Kenny's WEBDAV - ** 2010-12-07 TimBL added local file write code - */ +** +** 2007-07-15 original SPARQL Update module by Joe Presbrey +** 2010-08-08 TimBL folded in Kenny's WEBDAV +** 2010-12-07 TimBL added local file write code +*/ /** * The UpdateManager is a helper object for a store. * Just as a Fetcher provides the store with the ability to read and write, * the Update Manager provides functionality for making small patches in real time, * and also looking out for concurrent updates from other agents */ -var UpdateManager = /*#__PURE__*/function () { +var UpdateManager = exports.default = /*#__PURE__*/function () { /** * @param store - The quadstore to store data and metadata. Created if not passed. */ @@ -71,7 +71,7 @@ var UpdateManager = /*#__PURE__*/function () { this.ns.owl = (0, _namespace.default)('http://www.w3.org/2002/07/owl#'); this.patchControl = []; } - (0, _createClass2.default)(UpdateManager, [{ + return (0, _createClass2.default)(UpdateManager, [{ key: "patchControlFor", value: function patchControlFor(doc) { if (!this.patchControl[doc.value]) { @@ -133,7 +133,7 @@ var UpdateManager = /*#__PURE__*/function () { */ }, { key: "checkEditable", - value: function () { + value: (function () { var _checkEditable = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(uri, kb) { var _kb$fetcher2; var initial, final; @@ -183,6 +183,7 @@ var UpdateManager = /*#__PURE__*/function () { * @returns The method string SPARQL or DAV or * LOCALFILE or false if known, undefined if not known. */ + ) }, { key: "editable", value: function editable(uri, kb) { @@ -190,7 +191,6 @@ var UpdateManager = /*#__PURE__*/function () { if (!uri) { return false; // Eg subject is bnode, no known doc to write to } - if (!kb) { kb = this.store; } @@ -637,7 +637,6 @@ var UpdateManager = /*#__PURE__*/function () { control.outOfDate = true; return; // once only needed @@ Not true, has changed again } - control.reloading = true; var retryTimeout = 1000; // ms var tryReload = function tryReload() { @@ -942,7 +941,6 @@ var UpdateManager = /*#__PURE__*/function () { if (ds.length === 0 && is.length === 0) { return callback(null, true); // success -- nothing needed to be done. } - var doc = ds.length ? ds[0].graph : is[0].graph; if (!doc) { var _message2 = 'Error patching: statement does not specify which document to patch:' + ds[0] + ', ' + is[0]; @@ -1012,7 +1010,6 @@ var UpdateManager = /*#__PURE__*/function () { control.upstreamCount += 1; // count changes we originated ourselves // console.log('upstream count up to : ' + control.upstreamCount) } - this.fire(doc.value, query, function (uri, success, body, response) { response.elapsedTimeMs = Date.now() - startTime; /* console.log(' UpdateManager: Return ' + @@ -1073,7 +1070,6 @@ var UpdateManager = /*#__PURE__*/function () { if (!response) { return null; // throw "No record HTTP GET response for document: "+doc } - var contentType = kb.the(response, this.ns.httph('content-type')).value; // prepare contents of revised document @@ -1277,6 +1273,4 @@ var UpdateManager = /*#__PURE__*/function () { }); } }]); - return UpdateManager; -}(); -exports.default = UpdateManager; \ No newline at end of file +}(); \ No newline at end of file diff --git a/lib/updates-via.js b/lib/updates-via.js index 41ab6640f..0de3f9343 100644 --- a/lib/updates-via.js +++ b/lib/updates-via.js @@ -11,7 +11,7 @@ var _rdflibDataFactory = _interopRequireDefault(require("./factories/rdflib-data /* * Updates-Via */ -var UpdatesSocket = /*#__PURE__*/function () { +var UpdatesSocket = exports.UpdatesSocket = /*#__PURE__*/function () { function UpdatesSocket(parent, via) { (0, _classCallCheck2.default)(this, UpdatesSocket); this.parent = parent; @@ -30,7 +30,7 @@ var UpdatesSocket = /*#__PURE__*/function () { this.onError(error); } } - (0, _createClass2.default)(UpdatesSocket, [{ + return (0, _createClass2.default)(UpdatesSocket, [{ key: "_decode", value: function _decode(q) { var elt; @@ -127,10 +127,8 @@ var UpdatesSocket = /*#__PURE__*/function () { } } }]); - return UpdatesSocket; }(); -exports.UpdatesSocket = UpdatesSocket; -var UpdatesVia = /*#__PURE__*/function () { +var UpdatesVia = exports.UpdatesVia = /*#__PURE__*/function () { function UpdatesVia(fetcher) { (0, _classCallCheck2.default)(this, UpdatesVia); this.fetcher = fetcher; @@ -138,7 +136,7 @@ var UpdatesVia = /*#__PURE__*/function () { this.via = {}; this.fetcher.addCallback('headers', this.onHeaders); } - (0, _createClass2.default)(UpdatesVia, [{ + return (0, _createClass2.default)(UpdatesVia, [{ key: "onHeaders", value: function onHeaders(d) { var etag, uri, via; @@ -174,6 +172,4 @@ var UpdatesVia = /*#__PURE__*/function () { return this.via[via].subscribe(uri); } }]); - return UpdatesVia; -}(); -exports.UpdatesVia = UpdatesVia; \ No newline at end of file +}(); \ No newline at end of file diff --git a/lib/utils-js.js b/lib/utils-js.js index 5a93d83bd..f6b3fb95a 100644 --- a/lib/utils-js.js +++ b/lib/utils-js.js @@ -27,22 +27,22 @@ exports.stackString = stackString; exports.string = void 0; exports.string_startswith = string_startswith; exports.uri = void 0; -var uri = _interopRequireWildcard(require("./uri")); -exports.uri = uri; +var _uri = _interopRequireWildcard(require("./uri")); +var uri = _uri; +exports.uri = _uri; var _log = _interopRequireDefault(require("./log")); var _namedNode = _interopRequireDefault(require("./named-node")); var _xmldom = require("@xmldom/xmldom"); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /** * Utility functions for $rdf * @module util */ -var string = { +var string = exports.string = { template: stringTemplate }; -exports.string = string; function mediaTypeClass(mediaType) { mediaType = mediaType.split(';')[0].trim(); // remove media type parameters return new _namedNode.default('http://www.w3.org/ns/iana/media-types/' + mediaType + '#Resource'); @@ -272,7 +272,6 @@ function parseXML(str, options) { dparser = new _xmldom.DOMParser(); // Doc says this works } } - return dparser.parseFromString(str, 'application/xml'); } diff --git a/lib/utils.js b/lib/utils.js index 551bd3da5..e54445abf 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -60,8 +60,7 @@ function AJAR_handleNewTerm(kb, p, requestedBy) { referringTerm: requestedBy }); } -var appliedFactoryMethods = ['blankNode', 'defaultGraph', 'literal', 'namedNode', 'quad', 'variable', 'supports']; -exports.appliedFactoryMethods = appliedFactoryMethods; +var appliedFactoryMethods = exports.appliedFactoryMethods = ['blankNode', 'defaultGraph', 'literal', 'namedNode', 'quad', 'variable', 'supports']; var rdf = { first: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#first', rest: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#rest', diff --git a/lib/utils/default-graph-uri.js b/lib/utils/default-graph-uri.js index 1bdd1f22f..012e6091a 100644 --- a/lib/utils/default-graph-uri.js +++ b/lib/utils/default-graph-uri.js @@ -8,7 +8,5 @@ exports.defaultGraphURI = exports.defaultGraphNode = void 0; var _namedNode = _interopRequireDefault(require("../named-node")); // Prevents circular dependencies between data-factory-internal and statement -var defaultGraphURI = 'chrome:theSession'; -exports.defaultGraphURI = defaultGraphURI; -var defaultGraphNode = new _namedNode.default(defaultGraphURI); -exports.defaultGraphNode = defaultGraphNode; \ No newline at end of file +var defaultGraphURI = exports.defaultGraphURI = 'chrome:theSession'; +var defaultGraphNode = exports.defaultGraphNode = new _namedNode.default(defaultGraphURI); \ No newline at end of file diff --git a/lib/variable.js b/lib/variable.js index 6e4936edc..c79dab457 100644 --- a/lib/variable.js +++ b/lib/variable.js @@ -8,19 +8,18 @@ Object.defineProperty(exports, "__esModule", { exports.default = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); -var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); -var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _classOrder = _interopRequireDefault(require("./class-order")); var _nodeInternal = _interopRequireDefault(require("./node-internal")); var _types = require("./types"); var Uri = _interopRequireWildcard(require("./uri")); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; } -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } +function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } +function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } +function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** * Variables are placeholders used in patterns to be matched. * In cwm they are symbols which are the formula's list of quantified variables. @@ -28,9 +27,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * a common special base URI for variables. Their names are uris, * but the ? notation has an implicit base uri of 'varid:' */ -var Variable = /*#__PURE__*/function (_Node) { - (0, _inherits2.default)(Variable, _Node); - var _super = _createSuper(Variable); +var Variable = exports.default = /*#__PURE__*/function (_Node) { /** * Initializes this variable * @param name The variable's name @@ -39,19 +36,20 @@ var Variable = /*#__PURE__*/function (_Node) { var _this; var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; (0, _classCallCheck2.default)(this, Variable); - _this = _super.call(this, name); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "termType", _types.VariableTermType); + _this = _callSuper(this, Variable, [name]); + (0, _defineProperty2.default)(_this, "termType", _types.VariableTermType); /** The base string for a variable's name */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "base", 'varid:'); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "classOrder", _classOrder.default.Variable); - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isVar", 1); + (0, _defineProperty2.default)(_this, "base", 'varid:'); + (0, _defineProperty2.default)(_this, "classOrder", _classOrder.default.Variable); + (0, _defineProperty2.default)(_this, "isVar", 1); /** The unique identifier of this variable */ - (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "uri", void 0); + (0, _defineProperty2.default)(_this, "uri", void 0); _this.base = 'varid:'; _this.uri = Uri.join(name, _this.base); return _this; } - (0, _createClass2.default)(Variable, [{ + (0, _inherits2.default)(Variable, _Node); + return (0, _createClass2.default)(Variable, [{ key: "equals", value: function equals(other) { if (!other) { @@ -84,6 +82,4 @@ var Variable = /*#__PURE__*/function (_Node) { return "?".concat(variable.uri); } }]); - return Variable; -}(_nodeInternal.default); -exports.default = Variable; \ No newline at end of file +}(_nodeInternal.default); \ No newline at end of file diff --git a/lib/xsd-internal.js b/lib/xsd-internal.js index 3f139a9df..c2e9869d1 100644 --- a/lib/xsd-internal.js +++ b/lib/xsd-internal.js @@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; var _namedNode = _interopRequireDefault(require("./named-node")); -var _default = { +var _default = exports.default = { boolean: new _namedNode.default('http://www.w3.org/2001/XMLSchema#boolean'), dateTime: new _namedNode.default('http://www.w3.org/2001/XMLSchema#dateTime'), decimal: new _namedNode.default('http://www.w3.org/2001/XMLSchema#decimal'), @@ -14,5 +14,4 @@ var _default = { integer: new _namedNode.default('http://www.w3.org/2001/XMLSchema#integer'), langString: new _namedNode.default('http://www.w3.org/1999/02/22-rdf-syntax-ns#langString'), string: new _namedNode.default('http://www.w3.org/2001/XMLSchema#string') -}; -exports.default = _default; \ No newline at end of file +}; \ No newline at end of file diff --git a/lib/xsd.js b/lib/xsd.js index 1769fd58c..3bab9b295 100644 --- a/lib/xsd.js +++ b/lib/xsd.js @@ -20,5 +20,4 @@ function createXSD() { }; } var defaultXSD = createXSD(_canonicalDataFactory.default); -var _default = defaultXSD; -exports.default = _default; \ No newline at end of file +var _default = exports.default = defaultXSD; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f75bf635e..daafbb8be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,49 +9,57 @@ "version": "2.2.34", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.21.0", + "@babel/runtime": "^7.24.4", "@frogcat/ttl2jsonld": "^0.0.9", - "@xmldom/xmldom": "^0.8.7", - "cross-fetch": "^3.1.5", - "jsonld": "^8.1.1", - "n3": "^1.16.4", + "@xmldom/xmldom": "^0.8.10", + "cross-fetch": "^3.1.8", + "jsonld": "^8.3.2", + "n3": "^1.17.3", "solid-namespace": "^0.5.3" }, "devDependencies": { - "@babel/cli": "^7.21.0", - "@babel/core": "^7.21.4", + "@babel/cli": "^7.24.1", + "@babel/core": "^7.24.4", "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-transform-runtime": "^7.21.4", - "@babel/preset-env": "^7.21.4", - "@babel/preset-typescript": "^7.21.4", - "@babel/register": "^7.21.0", - "@types/chai": "^4.3.4", - "@types/dirty-chai": "^2.0.2", - "@types/express": "^4.17.17", - "@types/jsonld": "^1.5.8", - "@types/mocha": "^10.0.4", - "@types/sinon-chai": "^3.2.9", - "babel-loader": "^9.1.2", - "chai": "^4.3.7", - "diff": "^5.1.0", + "@babel/plugin-transform-runtime": "^7.24.3", + "@babel/preset-env": "^7.24.4", + "@babel/preset-typescript": "^7.24.1", + "@babel/register": "^7.23.7", + "@types/chai": "^4.3.14", + "@types/dirty-chai": "^2.0.4", + "@types/express": "^4.17.21", + "@types/jsonld": "^1.5.13", + "@types/mocha": "^10.0.6", + "@types/sinon-chai": "^3.2.12", + "babel-loader": "^9.1.3", + "chai": "^4.4.1", + "diff": "^5.2.0", "dirty-chai": "^2.0.1", - "eslint": "^8.38.0", + "eslint": "^8.57.0", "fs-grep": "0.0.5", "locate-path": "^7.2.0", - "mocha": "^10.2.0", - "nock": "^13.3.0", - "node-fetch": "^3.3.1", + "mocha": "^10.4.0", + "nock": "^13.5.4", + "node-fetch": "^3.3.2", "node-polyfill-webpack-plugin": "^2.0.1", "rdf-js": "^4.0.2", "sinon": "^15.0.3", "sinon-chai": "^3.7.0", - "source-map-loader": "^4.0.1", - "ts-node": "^10.9.1", - "typedoc": "^0.24.2", + "source-map-loader": "^4.0.2", + "ts-node": "^10.9.2", + "typedoc": "^0.25.13", "typescript": "^5.0.4", - "webpack": "^5.79.0", - "webpack-cli": "^5.0.1", - "webpack-dev-server": "^4.13.3" + "webpack": "^5.91.0", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^4.15.2" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "engines": { + "node": ">=0.10.0" } }, "node_modules/@ampproject/remapping": { @@ -68,14 +76,14 @@ } }, "node_modules/@babel/cli": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.21.0.tgz", - "integrity": "sha512-xi7CxyS8XjSyiwUGCfwf+brtJxjW1/ZTcBUkP10xawIEXLX5HzLn+3aXkgxozcP2UhRhtKTmQurw9Uaes7jZrA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.24.1.tgz", + "integrity": "sha512-HbmrtxyFUr34LwAlV9jS+sSIjUp4FpdtIMGwgufY3AsxrIfsh/HxlMTywsONAZsU0RMYbZtbZFpUCrSGs7o0EA==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.25", "commander": "^4.0.1", - "convert-source-map": "^1.1.0", + "convert-source-map": "^2.0.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.2.0", "make-dir": "^2.1.0", @@ -97,47 +105,48 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dev": true, "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", + "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", - "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", + "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.4", + "@babel/parser": "^7.24.4", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -148,14 +157,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", + "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", "dev": true, "dependencies": { - "@babel/types": "^7.21.4", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -163,77 +172,74 @@ } }, "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz", - "integrity": "sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", + "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -243,13 +249,14 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", - "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.2.1" + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -259,142 +266,128 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "resolve": "^1.14.2" }, "peerDependencies": { - "@babel/core": "^7.4.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", - "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", "dev": true, "dependencies": { - "@babel/types": "^7.21.0" + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", "dev": true, "dependencies": { - "@babel/types": "^7.21.4" + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -404,132 +397,132 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "dependencies": { - "@babel/types": "^7.20.2" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", "dev": true, "dependencies": { - "@babel/types": "^7.20.0" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", + "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", + "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -538,13 +531,29 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz", + "integrity": "sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -554,14 +563,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", - "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -570,22 +579,20 @@ "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-proposal-class-properties": { @@ -604,63 +611,49 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", - "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.12.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -669,46 +662,37 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.8.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -717,17 +701,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -736,31 +716,37 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -769,60 +755,70 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" + "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", - "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=4" + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -831,22 +827,25 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { + "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -858,37 +857,62 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { "node": ">=6.9.0" @@ -897,25 +921,30 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", - "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -924,85 +953,130 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz", + "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", + "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.12.0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@babel/plugin-transform-classes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1011,13 +1085,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1026,13 +1101,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", - "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1041,13 +1117,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", - "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1056,15 +1133,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1073,13 +1149,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1088,13 +1166,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", - "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1103,21 +1182,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", - "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" + "node_modules/@babel/plugin-transform-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1126,14 +1197,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", - "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -1142,13 +1213,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", - "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1157,14 +1228,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1173,13 +1244,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-simple-access": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1188,14 +1261,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -1204,13 +1279,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", - "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1219,30 +1295,29 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1251,13 +1326,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1266,14 +1342,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -1282,15 +1358,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", - "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1299,16 +1376,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1317,14 +1392,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1333,29 +1408,30 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1364,14 +1440,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1380,13 +1456,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", - "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1396,12 +1475,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1411,13 +1490,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "regenerator-transform": "^0.15.1" + "@babel/helper-plugin-utils": "^7.24.0", + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" @@ -1427,12 +1506,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1442,17 +1521,17 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz", - "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz", + "integrity": "sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" + "@babel/helper-module-imports": "^7.24.3", + "@babel/helper-plugin-utils": "^7.24.0", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1462,12 +1541,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1477,13 +1556,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1493,12 +1572,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1508,12 +1587,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1523,12 +1602,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1538,15 +1617,15 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz", - "integrity": "sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz", + "integrity": "sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-typescript": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1556,12 +1635,28 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1571,13 +1666,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1586,39 +1681,45 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/preset-env": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.4.tgz", - "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7", - "@babel/plugin-proposal-async-generator-functions": "^7.20.7", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.21.0", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.21.0", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.21.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.4.tgz", + "integrity": "sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.4", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -1628,45 +1729,61 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.20.7", - "@babel/plugin-transform-async-to-generator": "^7.20.7", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.21.0", - "@babel/plugin-transform-classes": "^7.21.0", - "@babel/plugin-transform-computed-properties": "^7.20.7", - "@babel/plugin-transform-destructuring": "^7.21.3", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.21.0", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.20.11", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-modules-systemjs": "^7.20.11", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.21.3", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.20.5", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.20.7", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.21.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.4", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.4", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1676,32 +1793,30 @@ } }, "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/preset-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.4.tgz", - "integrity": "sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", + "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-syntax-jsx": "^7.21.4", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-typescript": "^7.21.3" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-syntax-jsx": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-typescript": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1711,15 +1826,15 @@ } }, "node_modules/@babel/register": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.21.0.tgz", - "integrity": "sha512-9nKsPmYDi5DidAqJaQooxIhsLJiNMkGr8ypQ8Uic7cIox7UCDsM7HuUGxdGT7mSDTYbqzIdsOWzfBton/YJrMw==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz", + "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", "make-dir": "^2.1.0", - "pirates": "^4.0.5", + "pirates": "^4.0.6", "source-map-support": "^0.5.16" }, "engines": { @@ -1729,46 +1844,52 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", + "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", "dependencies": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", - "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.4", - "@babel/types": "^7.21.4", - "debug": "^4.1.0", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -1776,13 +1897,13 @@ } }, "node_modules/@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1812,9 +1933,9 @@ } }, "node_modules/@digitalbazaar/http-client": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.0.tgz", - "integrity": "sha512-B/T3Xlo5UjPkoAqX/DQOAF2D5khgNZJZhoQ1d1b3ykYd2XnwOQ6srz1T+SsWVfjbXyLajN7j/nfKy7QiUofN+A==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.1.tgz", + "integrity": "sha512-Ahk1N+s7urkgj7WvvUND5f8GiWEPfUw0D41hdElaqLgu8wZScI8gdI0q+qWw5N1d35x7GCRH2uk9mi+Uzo9M3g==", "dependencies": { "ky": "^0.33.3", "ky-universal": "^0.11.0", @@ -1848,21 +1969,21 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", - "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", - "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.1", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -1878,9 +1999,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dependencies": { "type-fest": "^0.20.2" }, @@ -1892,13 +2013,21 @@ } }, "node_modules/@eslint/js": { - "version": "8.38.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.38.0.tgz", - "integrity": "sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@fastify/busboy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "engines": { + "node": ">=14" + } + }, "node_modules/@frogcat/ttl2jsonld": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/@frogcat/ttl2jsonld/-/ttl2jsonld-0.0.9.tgz", @@ -1908,12 +2037,12 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -1933,9 +2062,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==" }, "node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", @@ -1960,33 +2089,33 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -1999,13 +2128,13 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@leichtgewicht/ip-codec": { @@ -2141,9 +2270,9 @@ } }, "node_modules/@types/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", + "version": "4.3.14", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.14.tgz", + "integrity": "sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==", "dev": true }, "node_modules/@types/chai-as-promised": { @@ -2175,9 +2304,9 @@ } }, "node_modules/@types/dirty-chai": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/dirty-chai/-/dirty-chai-2.0.2.tgz", - "integrity": "sha512-BruwIN/UQEU0ePghxEX+OyjngpOfOUKJQh3cmfeq2h2Su/g001iljVi3+Y2y2EFp3IPgjf4sMrRU33Hxv1FUqw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/dirty-chai/-/dirty-chai-2.0.4.tgz", + "integrity": "sha512-2OHVsA7YO9X7xE4sMbtUx2EeC4FC7OZ7rk7H329bgoO8QwDa3eb6iFgd73N39Q/mJscwg9vGIwrMrTCkXjOdWw==", "dev": true, "dependencies": { "@types/chai": "*", @@ -2205,15 +2334,15 @@ } }, "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "node_modules/@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dev": true, "dependencies": { "@types/body-parser": "*", @@ -2254,9 +2383,9 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, "node_modules/@types/jsonld": { - "version": "1.5.8", - "resolved": "https://registry.npmjs.org/@types/jsonld/-/jsonld-1.5.8.tgz", - "integrity": "sha512-4l5t/jDnJpqZ+i7CLTTgPcT5BYXnAnwJupb07aAokPufCV0SjDHcwctUkSTuhIuSU9yHok+WOOngIGCtpL96gw==", + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@types/jsonld/-/jsonld-1.5.13.tgz", + "integrity": "sha512-n7fUU6W4kSYK8VQlf/LsE9kddBHPKhODoVOjsZswmve+2qLwBy6naWxs/EiuSZN9NU0N06Ra01FR+j87C62T0A==", "dev": true }, "node_modules/@types/mime": { @@ -2266,9 +2395,9 @@ "dev": true }, "node_modules/@types/mocha": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.4.tgz", - "integrity": "sha512-xKU7bUjiFTIttpWaIZ9qvgg+22O1nmbA+HRxdlR+u6TWsGfmFdXrheJoK4fFxrHNVIOBDvDNKZG+LYBpMHpX3w==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", + "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", "dev": true }, "node_modules/@types/node": { @@ -2324,9 +2453,9 @@ } }, "node_modules/@types/sinon-chai": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.9.tgz", - "integrity": "sha512-/19t63pFYU0ikrdbXKBWj9PCdnKyTd0Qkz0X91Ta081cYsq90OxYdcWwK/dwEoDa6dtXgj2HJfmzgq+QZTHdmQ==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz", + "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==", "dev": true, "dependencies": { "@types/chai": "*", @@ -2349,164 +2478,169 @@ } }, "node_modules/@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", "dev": true, "dependencies": { "@types/node": "*" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, "node_modules/@webpack-cli/configtest": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", - "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, "engines": { "node": ">=14.15.0" @@ -2517,9 +2651,9 @@ } }, "node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, "engines": { "node": ">=14.15.0" @@ -2530,9 +2664,9 @@ } }, "node_modules/@webpack-cli/serve": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz", - "integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, "engines": { "node": ">=14.15.0" @@ -2548,9 +2682,9 @@ } }, "node_modules/@xmldom/xmldom": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.7.tgz", - "integrity": "sha512-sI1Ly2cODlWStkINzqGrZ8K6n+MTSbAeQnAipGyL+KZCXuHaRlj2gyyy8B/9MvsFFqN7XHryQnB2QwhzvJXovg==", + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", "engines": { "node": ">=10.0.0" } @@ -2567,12 +2701,6 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, "node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -2598,9 +2726,9 @@ } }, "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "bin": { "acorn": "bin/acorn" }, @@ -2609,9 +2737,9 @@ } }, "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -2727,9 +2855,9 @@ } }, "node_modules/ansi-sequence-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", - "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", + "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", "dev": true }, "node_modules/ansi-styles": { @@ -2901,12 +3029,12 @@ } }, "node_modules/babel-loader": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", - "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", "dev": true, "dependencies": { - "find-cache-dir": "^3.3.2", + "find-cache-dir": "^4.0.0", "schema-utils": "^4.0.0" }, "engines": { @@ -2918,138 +3046,98 @@ } }, "node_modules/babel-loader/node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/babel-loader/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-loader/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-loader/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-loader/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/babel-loader/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" }, "engines": { - "node": ">=6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-loader/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/babel-loader/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/babel-loader/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", "dev": true, "dependencies": { - "find-up": "^4.0.0" + "find-up": "^6.3.0" }, "engines": { - "node": ">=8" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.1", + "semver": "^6.3.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@babel/helper-define-polyfill-provider": "^0.6.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-runtime": { @@ -3306,9 +3394,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, "funding": [ { @@ -3318,13 +3406,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" @@ -3412,17 +3504,6 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -3465,9 +3546,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001450", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz", - "integrity": "sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==", + "version": "1.0.30001611", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001611.tgz", + "integrity": "sha512-19NuN1/3PjA3QI8Eki55N8my4LzfkMCRLgCVfrl/slbSAchQfV0+GwjPrK3rq37As4UCLlM/DHajbKkAqbv92Q==", "dev": true, "funding": [ { @@ -3477,6 +3558,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -3486,18 +3571,18 @@ "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==" }, "node_modules/chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "type-detect": "^4.0.8" }, "engines": { "node": ">=4" @@ -3518,10 +3603,13 @@ } }, "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, "engines": { "node": "*" } @@ -3636,6 +3724,12 @@ "node": ">= 6" } }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -3741,9 +3835,9 @@ } }, "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, "node_modules/cookie": { @@ -3770,12 +3864,12 @@ "hasInstallScript": true }, "node_modules/core-js-compat": { - "version": "3.27.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.2.tgz", - "integrity": "sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==", + "version": "3.37.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz", + "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==", "dev": true, "dependencies": { - "browserslist": "^4.21.4" + "browserslist": "^4.23.0" }, "funding": { "type": "opencollective", @@ -3838,17 +3932,17 @@ "dev": true }, "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "dependencies": { - "node-fetch": "2.6.7" + "node-fetch": "^2.6.12" } }, "node_modules/cross-fetch/node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -4024,9 +4118,9 @@ "dev": true }, "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, "engines": { "node": ">=0.3.1" @@ -4106,9 +4200,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "version": "1.4.745", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", + "integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==", "dev": true }, "node_modules/elliptic": { @@ -4148,9 +4242,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -4301,26 +4395,27 @@ } }, "node_modules/eslint": { - "version": "8.38.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz", - "integrity": "sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.38.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.4.0", - "espree": "^9.5.1", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -4328,22 +4423,19 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -4654,15 +4746,18 @@ } }, "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-utils": { @@ -4691,9 +4786,9 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -4802,13 +4897,13 @@ } }, "node_modules/espree": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5304,9 +5399,9 @@ } }, "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", "dev": true }, "node_modules/fs-readdir-recursive": { @@ -5392,9 +5487,9 @@ } }, "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, "engines": { "node": "*" @@ -5523,14 +5618,14 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "node_modules/handle-thing": { "version": "2.0.1", @@ -6421,15 +6516,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/js-sdsl": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", - "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6498,20 +6584,20 @@ } }, "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", "dev": true }, "node_modules/jsonld": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-8.1.1.tgz", - "integrity": "sha512-TbtV1hlnoDYxbscazbxcS7seDGV+pc0yktxpMySh0OBFvnLw/TIth0jiQtP/9r+ywuCbtj10XjDNBIkRgiyeUg==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-8.3.2.tgz", + "integrity": "sha512-MwBbq95szLwt8eVQ1Bcfwmgju/Y5P2GdtlHE2ncyfuYjIdEhluUVyj1eudacf1mOkWIoS9GpDBTECqhmq7EOaA==", "dependencies": { - "@digitalbazaar/http-client": "^3.2.0", + "@digitalbazaar/http-client": "^3.4.1", "canonicalize": "^1.0.1", "lru-cache": "^6.0.0", - "rdf-canonize": "^3.0.0" + "rdf-canonize": "^3.4.0" }, "engines": { "node": ">=14" @@ -6664,12 +6750,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -6869,12 +6949,12 @@ } }, "node_modules/memfs": { - "version": "3.4.13", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz", - "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, "dependencies": { - "fs-monkey": "^1.0.3" + "fs-monkey": "^1.0.4" }, "engines": { "node": ">= 4.0.0" @@ -7007,9 +7087,9 @@ } }, "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", + "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", "dev": true, "dependencies": { "ansi-colors": "4.1.1", @@ -7019,13 +7099,12 @@ "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.2.0", + "glob": "8.1.0", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "5.0.1", "ms": "2.1.3", - "nanoid": "3.3.3", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -7040,10 +7119,6 @@ }, "engines": { "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" } }, "node_modules/mocha/node_modules/diff": { @@ -7068,37 +7143,24 @@ } }, "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/mocha/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7169,9 +7231,9 @@ } }, "node_modules/n3": { - "version": "1.16.4", - "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.4.tgz", - "integrity": "sha512-jtC53efM5/q4BYC3qBnegn1MJDKXHH9PEd6gVDNpIicbgXS6gkANz4DdI0jt4aLvza1xSjCcni33riXWvfoEdw==", + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.17.3.tgz", + "integrity": "sha512-ZHc24eZi2GIJcJQVxtL6NT3g+mTHRNeTVfXWELzeUOirqLrh2AAyg0nfYZ/kryJWKFSCgO37DGB6Ok3qmGgEcA==", "dependencies": { "queue-microtask": "^1.1.2", "readable-stream": "^4.0.0" @@ -7180,18 +7242,6 @@ "node": ">=12.0" } }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -7226,14 +7276,13 @@ } }, "node_modules/nock": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.0.tgz", - "integrity": "sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.4.tgz", + "integrity": "sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==", "dev": true, "dependencies": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", "propagate": "^2.0.0" }, "engines": { @@ -7259,9 +7308,9 @@ } }, "node_modules/node-fetch": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.1.tgz", - "integrity": "sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -7336,9 +7385,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz", - "integrity": "sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, "node_modules/normalize-path": { @@ -7544,16 +7593,16 @@ } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -7763,9 +7812,9 @@ } }, "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, "engines": { "node": ">= 6" @@ -8121,9 +8170,9 @@ } }, "node_modules/rdf-canonize": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-3.3.0.tgz", - "integrity": "sha512-gfSNkMua/VWC1eYbSkVaL/9LQhFeOh0QULwv7Or0f+po8pMgQ1blYQFe1r9Mv2GJZXw88Cz/drnAnB9UlNnHfQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-3.4.0.tgz", + "integrity": "sha512-fUeWjrkOO0t1rg7B2fdyDTvngj+9RlUyL92vOdiB7c0FPguWVsniIMjEtHH+meLBO9rzkUlUzBVXgWrjI8P9LA==", "dependencies": { "setimmediate": "^1.0.5" }, @@ -8190,9 +8239,9 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, "dependencies": { "regenerate": "^1.4.2" @@ -8202,14 +8251,14 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" @@ -8243,14 +8292,14 @@ } }, "node_modules/regexpu-core": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", - "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, "dependencies": { + "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" @@ -8259,12 +8308,6 @@ "node": ">=4" } }, - "node_modules/regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", - "dev": true - }, "node_modules/regjsparser": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", @@ -8530,9 +8573,9 @@ } }, "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } @@ -8749,9 +8792,9 @@ } }, "node_modules/shiki": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.1.tgz", - "integrity": "sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==", + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz", + "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==", "dev": true, "dependencies": { "ansi-sequence-parser": "^1.1.0", @@ -8884,12 +8927,11 @@ } }, "node_modules/source-map-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", - "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.2.tgz", + "integrity": "sha512-oYwAqCuL0OZhBoSgmdrLa7mv9MjommVMiQIWgcztf+eS4+8BfcUee6nenFnDhKOhzAVnk5gpZdfnz1iiBv+5sg==", "dev": true, "dependencies": { - "abab": "^2.0.6", "iconv-lite": "^0.6.3", "source-map-js": "^1.0.2" }, @@ -9080,14 +9122,6 @@ "node": ">= 6" } }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -9243,13 +9277,13 @@ } }, "node_modules/terser": { - "version": "5.16.9", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.9.tgz", - "integrity": "sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==", + "version": "5.30.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.3.tgz", + "integrity": "sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==", "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -9261,16 +9295,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", - "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.5" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -9295,9 +9329,9 @@ } }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -9313,9 +9347,9 @@ } }, "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -9386,9 +9420,9 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", @@ -9523,24 +9557,24 @@ } }, "node_modules/typedoc": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.2.tgz", - "integrity": "sha512-Ln1EItgcdKfRzaFSfs9uEc4amz9ZeUZoaTbFdH0ZC8ScA2OjvNMdW7vrjTtZwKE0iF38njUmuFFgQMP4tDl7ag==", + "version": "0.25.13", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.13.tgz", + "integrity": "sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==", "dev": true, "dependencies": { "lunr": "^2.3.9", "marked": "^4.3.0", - "minimatch": "^9.0.0", - "shiki": "^0.14.1" + "minimatch": "^9.0.3", + "shiki": "^0.14.7" }, "bin": { "typedoc": "bin/typedoc" }, "engines": { - "node": ">= 14.14" + "node": ">= 16" }, "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x" + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x" } }, "node_modules/typedoc/node_modules/brace-expansion": { @@ -9553,9 +9587,9 @@ } }, "node_modules/typedoc/node_modules/minimatch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", - "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -9595,14 +9629,14 @@ } }, "node_modules/undici": { - "version": "5.21.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.21.2.tgz", - "integrity": "sha512-f6pTQ9RF4DQtwoWSaC42P/NKlUjvezVvd9r155ohqkwFNRyBKM3f3pcty3ouusefNRyM25XhIQEbeQ46sZDJfQ==", + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "dependencies": { - "busboy": "^1.6.0" + "@fastify/busboy": "^2.0.0" }, "engines": { - "node": ">=12.18" + "node": ">=14.0" } }, "node_modules/unicode-canonical-property-names-ecmascript": { @@ -9655,9 +9689,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "dev": true, "funding": [ { @@ -9667,6 +9701,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { @@ -9674,7 +9712,7 @@ "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -9775,9 +9813,9 @@ "dev": true }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -9810,34 +9848,34 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack": { - "version": "5.79.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.79.0.tgz", - "integrity": "sha512-3mN4rR2Xq+INd6NnYuL9RC9GAmc1ROPKJoHhrZ4pAjdMFEkJJWrsPw8o2JjCIyQyTu7rTXYn4VG6OpyB3CobZg==", + "version": "5.91.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", + "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", + "enhanced-resolve": "^5.16.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -9857,17 +9895,17 @@ } }, "node_modules/webpack-cli": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz", - "integrity": "sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.0.1", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.1", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", "colorette": "^2.0.14", - "commander": "^9.4.1", + "commander": "^10.0.1", "cross-spawn": "^7.0.3", "envinfo": "^7.7.3", "fastest-levenshtein": "^1.0.12", @@ -9902,18 +9940,18 @@ } }, "node_modules/webpack-cli/node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, "engines": { - "node": "^12.20.0 || >=14" + "node": ">=14" } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dev": true, "dependencies": { "colorette": "^2.0.10", @@ -9934,9 +9972,9 @@ } }, "node_modules/webpack-dev-server": { - "version": "4.13.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.3.tgz", - "integrity": "sha512-KqqzrzMRSRy5ePz10VhjyL27K2dxqwXQLP5rAKwRJBPUahe7Z2bBWzHw37jeb8GCPKxZRO79ZdQUAPesMh/Nug==", + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "dev": true, "dependencies": { "@types/bonjour": "^3.5.9", @@ -9945,7 +9983,7 @@ "@types/serve-index": "^1.9.1", "@types/serve-static": "^1.13.10", "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", + "@types/ws": "^8.5.5", "ansi-html-community": "^0.0.8", "bonjour-service": "^1.0.11", "chokidar": "^3.5.3", @@ -9967,7 +10005,7 @@ "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", + "webpack-dev-middleware": "^5.3.4", "ws": "^8.13.0" }, "bin": { @@ -10037,9 +10075,9 @@ } }, "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -10140,14 +10178,6 @@ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/workerpool": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", @@ -10336,6 +10366,11 @@ } }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" + }, "@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -10347,16 +10382,16 @@ } }, "@babel/cli": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.21.0.tgz", - "integrity": "sha512-xi7CxyS8XjSyiwUGCfwf+brtJxjW1/ZTcBUkP10xawIEXLX5HzLn+3aXkgxozcP2UhRhtKTmQurw9Uaes7jZrA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.24.1.tgz", + "integrity": "sha512-HbmrtxyFUr34LwAlV9jS+sSIjUp4FpdtIMGwgufY3AsxrIfsh/HxlMTywsONAZsU0RMYbZtbZFpUCrSGs7o0EA==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.25", "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", "chokidar": "^3.4.0", "commander": "^4.0.1", - "convert-source-map": "^1.1.0", + "convert-source-map": "^2.0.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.2.0", "make-dir": "^2.1.0", @@ -10364,364 +10399,357 @@ } }, "@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dev": true, "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" } }, "@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", + "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", "dev": true }, "@babel/core": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", - "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", + "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.4", + "@babel/parser": "^7.24.4", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "json5": "^2.2.3", + "semver": "^6.3.1" } }, "@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", + "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", "dev": true, "requires": { - "@babel/types": "^7.21.4", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "dependencies": { "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" } } } }, "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/types": "^7.22.15" } }, "@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "semver": "^6.3.1" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz", - "integrity": "sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", + "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", - "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.2.1" + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz", + "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "resolve": "^1.14.2" } }, "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", - "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", "dev": true, "requires": { - "@babel/types": "^7.21.0" + "@babel/types": "^7.23.0" } }, "@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", "dev": true, "requires": { - "@babel/types": "^7.21.4" + "@babel/types": "^7.24.0" } }, "@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" } }, "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" } }, "@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5" } }, "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "requires": { - "@babel/types": "^7.20.2" + "@babel/types": "^7.22.5" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", "dev": true, "requires": { - "@babel/types": "^7.20.0" + "@babel/types": "^7.22.5" } }, "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" } }, "@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", + "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", "dev": true, "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" } }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" } }, "@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", + "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", "dev": true }, + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz", + "integrity": "sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", - "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.24.1" } }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-proposal-class-properties": { @@ -10734,142 +10762,12 @@ "@babel/helper-plugin-utils": "^7.18.6" } }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", - "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", - "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } + "requires": {} }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", @@ -10917,12 +10815,30 @@ } }, "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-json-strings": { @@ -10935,12 +10851,12 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", - "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -11006,398 +10922,566 @@ "@babel/helper-plugin-utils": "^7.14.5" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" } }, - "@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", - "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", + "@babel/plugin-transform-async-to-generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", - "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.24.0" } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "@babel/plugin-transform-block-scoping": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz", + "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" + "@babel/helper-plugin-utils": "^7.24.0" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "@babel/plugin-transform-class-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", - "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "@babel/plugin-transform-class-static-block": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", + "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-transform-classes": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", - "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-split-export-declaration": "^7.22.6", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", - "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" } }, "@babel/plugin-transform-destructuring": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", - "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-transform-for-of": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", - "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", - "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-simple-access": "^7.22.5" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-identifier": "^7.22.20" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.1" } }, "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-transform-parameters": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", - "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "regenerator-transform": "^0.15.1" + "@babel/helper-plugin-utils": "^7.24.0", + "regenerator-transform": "^0.15.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-runtime": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz", - "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz", + "integrity": "sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" + "@babel/helper-module-imports": "^7.24.3", + "@babel/helper-plugin-utils": "^7.24.0", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-typescript": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz", - "integrity": "sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz", + "integrity": "sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-typescript": "^7.24.1" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" } }, "@babel/preset-env": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.4.tgz", - "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7", - "@babel/plugin-proposal-async-generator-functions": "^7.20.7", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.21.0", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.21.0", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.21.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.4.tgz", + "integrity": "sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.4", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -11407,131 +11491,151 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.20.7", - "@babel/plugin-transform-async-to-generator": "^7.20.7", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.21.0", - "@babel/plugin-transform-classes": "^7.21.0", - "@babel/plugin-transform-computed-properties": "^7.20.7", - "@babel/plugin-transform-destructuring": "^7.21.3", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.21.0", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.20.11", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-modules-systemjs": "^7.20.11", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.21.3", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.20.5", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.20.7", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.21.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.4", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.4", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" } }, "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" } }, "@babel/preset-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.4.tgz", - "integrity": "sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", + "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-syntax-jsx": "^7.21.4", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-typescript": "^7.21.3" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-syntax-jsx": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-typescript": "^7.24.1" } }, "@babel/register": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.21.0.tgz", - "integrity": "sha512-9nKsPmYDi5DidAqJaQooxIhsLJiNMkGr8ypQ8Uic7cIox7UCDsM7HuUGxdGT7mSDTYbqzIdsOWzfBton/YJrMw==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz", + "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==", "dev": true, "requires": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", "make-dir": "^2.1.0", - "pirates": "^4.0.5", + "pirates": "^4.0.6", "source-map-support": "^0.5.16" } }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, "@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", + "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", "requires": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" } }, "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dev": true, "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" } }, "@babel/traverse": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", - "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.4", - "@babel/types": "^7.21.4", - "debug": "^4.1.0", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, @@ -11557,9 +11661,9 @@ } }, "@digitalbazaar/http-client": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.0.tgz", - "integrity": "sha512-B/T3Xlo5UjPkoAqX/DQOAF2D5khgNZJZhoQ1d1b3ykYd2XnwOQ6srz1T+SsWVfjbXyLajN7j/nfKy7QiUofN+A==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.1.tgz", + "integrity": "sha512-Ahk1N+s7urkgj7WvvUND5f8GiWEPfUw0D41hdElaqLgu8wZScI8gdI0q+qWw5N1d35x7GCRH2uk9mi+Uzo9M3g==", "requires": { "ky": "^0.33.3", "ky-universal": "^0.11.0", @@ -11581,18 +11685,18 @@ } }, "@eslint-community/regexpp": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", - "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==" + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==" }, "@eslint/eslintrc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", - "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.1", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -11602,9 +11706,9 @@ }, "dependencies": { "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "requires": { "type-fest": "^0.20.2" } @@ -11612,9 +11716,14 @@ } }, "@eslint/js": { - "version": "8.38.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.38.0.tgz", - "integrity": "sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==" + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==" + }, + "@fastify/busboy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==" }, "@frogcat/ttl2jsonld": { "version": "0.0.9", @@ -11622,12 +11731,12 @@ "integrity": "sha512-oT3Abc9sEnwcCx9cTgRCTbz+Y/9fvbqfW22A5V4ChoQ8/P++2eAvlWgUghFoNm2V9U3/CCDSP9HTGJ51D+n1Uw==" }, "@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" } }, @@ -11637,9 +11746,9 @@ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" }, "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==" }, "@jridgewell/gen-mapping": { "version": "0.1.1", @@ -11658,30 +11767,30 @@ "dev": true }, "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, "@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" }, "dependencies": { "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" } } } @@ -11693,13 +11802,13 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@leichtgewicht/ip-codec": { @@ -11826,9 +11935,9 @@ } }, "@types/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", + "version": "4.3.14", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.14.tgz", + "integrity": "sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==", "dev": true }, "@types/chai-as-promised": { @@ -11860,9 +11969,9 @@ } }, "@types/dirty-chai": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/dirty-chai/-/dirty-chai-2.0.2.tgz", - "integrity": "sha512-BruwIN/UQEU0ePghxEX+OyjngpOfOUKJQh3cmfeq2h2Su/g001iljVi3+Y2y2EFp3IPgjf4sMrRU33Hxv1FUqw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/dirty-chai/-/dirty-chai-2.0.4.tgz", + "integrity": "sha512-2OHVsA7YO9X7xE4sMbtUx2EeC4FC7OZ7rk7H329bgoO8QwDa3eb6iFgd73N39Q/mJscwg9vGIwrMrTCkXjOdWw==", "dev": true, "requires": { "@types/chai": "*", @@ -11890,15 +11999,15 @@ } }, "@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dev": true, "requires": { "@types/body-parser": "*", @@ -11939,9 +12048,9 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, "@types/jsonld": { - "version": "1.5.8", - "resolved": "https://registry.npmjs.org/@types/jsonld/-/jsonld-1.5.8.tgz", - "integrity": "sha512-4l5t/jDnJpqZ+i7CLTTgPcT5BYXnAnwJupb07aAokPufCV0SjDHcwctUkSTuhIuSU9yHok+WOOngIGCtpL96gw==", + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@types/jsonld/-/jsonld-1.5.13.tgz", + "integrity": "sha512-n7fUU6W4kSYK8VQlf/LsE9kddBHPKhODoVOjsZswmve+2qLwBy6naWxs/EiuSZN9NU0N06Ra01FR+j87C62T0A==", "dev": true }, "@types/mime": { @@ -11951,9 +12060,9 @@ "dev": true }, "@types/mocha": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.4.tgz", - "integrity": "sha512-xKU7bUjiFTIttpWaIZ9qvgg+22O1nmbA+HRxdlR+u6TWsGfmFdXrheJoK4fFxrHNVIOBDvDNKZG+LYBpMHpX3w==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", + "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", "dev": true }, "@types/node": { @@ -12009,9 +12118,9 @@ } }, "@types/sinon-chai": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.9.tgz", - "integrity": "sha512-/19t63pFYU0ikrdbXKBWj9PCdnKyTd0Qkz0X91Ta081cYsq90OxYdcWwK/dwEoDa6dtXgj2HJfmzgq+QZTHdmQ==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz", + "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==", "dev": true, "requires": { "@types/chai": "*", @@ -12034,185 +12143,190 @@ } }, "@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", "dev": true, "requires": { "@types/node": "*" } }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" } }, "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, "@webpack-cli/configtest": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", - "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, "requires": {} }, "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, "requires": {} }, "@webpack-cli/serve": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz", - "integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, "requires": {} }, "@xmldom/xmldom": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.7.tgz", - "integrity": "sha512-sI1Ly2cODlWStkINzqGrZ8K6n+MTSbAeQnAipGyL+KZCXuHaRlj2gyyy8B/9MvsFFqN7XHryQnB2QwhzvJXovg==" + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==" }, "@xtuc/ieee754": { "version": "1.2.0", @@ -12226,12 +12340,6 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, "abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -12251,14 +12359,14 @@ } }, "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" }, "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "dev": true, "requires": {} }, @@ -12339,9 +12447,9 @@ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-sequence-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", - "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", + "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", "dev": true }, "ansi-styles": { @@ -12479,111 +12587,80 @@ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "babel-loader": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", - "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", "dev": true, "requires": { - "find-cache-dir": "^3.3.2", + "find-cache-dir": "^4.0.0", "schema-utils": "^4.0.0" }, "dependencies": { "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" } }, "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" } }, - "locate-path": { + "path-exists": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true }, "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", "dev": true, "requires": { - "find-up": "^4.0.0" + "find-up": "^6.3.0" } } } }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz", + "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.1", + "semver": "^6.3.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz", + "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@babel/helper-define-polyfill-provider": "^0.6.1" } }, "babel-runtime": { @@ -12813,15 +12890,15 @@ } }, "browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" } }, "buffer": { @@ -12882,14 +12959,6 @@ } } }, - "busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "requires": { - "streamsearch": "^1.1.0" - } - }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -12917,9 +12986,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001450", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz", - "integrity": "sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==", + "version": "1.0.30001611", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001611.tgz", + "integrity": "sha512-19NuN1/3PjA3QI8Eki55N8my4LzfkMCRLgCVfrl/slbSAchQfV0+GwjPrK3rq37As4UCLlM/DHajbKkAqbv92Q==", "dev": true }, "canonicalize": { @@ -12928,18 +12997,18 @@ "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==" }, "chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, "requires": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "type-detect": "^4.0.8" } }, "chalk": { @@ -12954,10 +13023,13 @@ } }, "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "requires": { + "get-func-name": "^2.0.2" + } }, "chokidar": { "version": "3.5.3", @@ -13046,6 +13118,12 @@ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true }, + "common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -13138,9 +13216,9 @@ "dev": true }, "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, "cookie": { @@ -13162,12 +13240,12 @@ "dev": true }, "core-js-compat": { - "version": "3.27.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.2.tgz", - "integrity": "sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==", + "version": "3.37.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz", + "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==", "dev": true, "requires": { - "browserslist": "^4.21.4" + "browserslist": "^4.23.0" } }, "core-util-is": { @@ -13228,17 +13306,17 @@ "dev": true }, "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "requires": { - "node-fetch": "2.6.7" + "node-fetch": "^2.6.12" }, "dependencies": { "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "requires": { "whatwg-url": "^5.0.0" } @@ -13360,9 +13438,9 @@ "dev": true }, "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true }, "diffie-hellman": { @@ -13427,9 +13505,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "version": "1.4.745", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", + "integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==", "dev": true }, "elliptic": { @@ -13468,9 +13546,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -13591,26 +13669,27 @@ "dev": true }, "eslint": { - "version": "8.38.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz", - "integrity": "sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "requires": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.38.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.4.0", - "espree": "^9.5.1", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -13618,22 +13697,19 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "dependencies": { @@ -13904,9 +13980,9 @@ } }, "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "requires": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -13928,18 +14004,18 @@ } }, "eslint-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==" + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" }, "espree": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "requires": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" + "eslint-visitor-keys": "^3.4.1" } }, "esquery": { @@ -14306,9 +14382,9 @@ } }, "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", "dev": true }, "fs-readdir-recursive": { @@ -14369,9 +14445,9 @@ "dev": true }, "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, "get-intrinsic": { @@ -14455,14 +14531,14 @@ } }, "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "handle-thing": { "version": "2.0.1", @@ -15084,11 +15160,6 @@ } } }, - "js-sdsl": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", - "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==" - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -15142,20 +15213,20 @@ "dev": true }, "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", "dev": true }, "jsonld": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-8.1.1.tgz", - "integrity": "sha512-TbtV1hlnoDYxbscazbxcS7seDGV+pc0yktxpMySh0OBFvnLw/TIth0jiQtP/9r+ywuCbtj10XjDNBIkRgiyeUg==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-8.3.2.tgz", + "integrity": "sha512-MwBbq95szLwt8eVQ1Bcfwmgju/Y5P2GdtlHE2ncyfuYjIdEhluUVyj1eudacf1mOkWIoS9GpDBTECqhmq7EOaA==", "requires": { - "@digitalbazaar/http-client": "^3.2.0", + "@digitalbazaar/http-client": "^3.4.1", "canonicalize": "^1.0.1", "lru-cache": "^6.0.0", - "rdf-canonize": "^3.0.0" + "rdf-canonize": "^3.4.0" }, "dependencies": { "lru-cache": { @@ -15261,12 +15332,6 @@ "p-locate": "^6.0.0" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -15425,12 +15490,12 @@ "dev": true }, "memfs": { - "version": "3.4.13", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz", - "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, "requires": { - "fs-monkey": "^1.0.3" + "fs-monkey": "^1.0.4" } }, "merge-descriptors": { @@ -15532,9 +15597,9 @@ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", + "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", "dev": true, "requires": { "ansi-colors": "4.1.1", @@ -15544,13 +15609,12 @@ "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.2.0", + "glob": "8.1.0", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "5.0.1", "ms": "2.1.3", - "nanoid": "3.3.3", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -15573,28 +15637,16 @@ "dev": true }, "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "minimatch": "^5.0.1", + "once": "^1.3.0" } }, "has-flag": { @@ -15656,20 +15708,14 @@ } }, "n3": { - "version": "1.16.4", - "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.4.tgz", - "integrity": "sha512-jtC53efM5/q4BYC3qBnegn1MJDKXHH9PEd6gVDNpIicbgXS6gkANz4DdI0jt4aLvza1xSjCcni33riXWvfoEdw==", + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.17.3.tgz", + "integrity": "sha512-ZHc24eZi2GIJcJQVxtL6NT3g+mTHRNeTVfXWELzeUOirqLrh2AAyg0nfYZ/kryJWKFSCgO37DGB6Ok3qmGgEcA==", "requires": { "queue-microtask": "^1.1.2", "readable-stream": "^4.0.0" } }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -15701,14 +15747,13 @@ } }, "nock": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.0.tgz", - "integrity": "sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg==", + "version": "13.5.4", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.4.tgz", + "integrity": "sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==", "dev": true, "requires": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", "propagate": "^2.0.0" } }, @@ -15718,9 +15763,9 @@ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" }, "node-fetch": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.1.tgz", - "integrity": "sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "requires": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -15775,9 +15820,9 @@ } }, "node-releases": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz", - "integrity": "sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", "dev": true }, "normalize-path": { @@ -15920,16 +15965,16 @@ } }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "os-browserify": { @@ -16085,9 +16130,9 @@ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" }, "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true }, "pkg-conf": { @@ -16351,9 +16396,9 @@ } }, "rdf-canonize": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-3.3.0.tgz", - "integrity": "sha512-gfSNkMua/VWC1eYbSkVaL/9LQhFeOh0QULwv7Or0f+po8pMgQ1blYQFe1r9Mv2GJZXw88Cz/drnAnB9UlNnHfQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-3.4.0.tgz", + "integrity": "sha512-fUeWjrkOO0t1rg7B2fdyDTvngj+9RlUyL92vOdiB7c0FPguWVsniIMjEtHH+meLBO9rzkUlUzBVXgWrjI8P9LA==", "requires": { "setimmediate": "^1.0.5" } @@ -16408,23 +16453,23 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, "requires": { "regenerate": "^1.4.2" } }, "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" @@ -16446,25 +16491,19 @@ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" }, "regexpu-core": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", - "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, "requires": { + "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" } }, - "regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", - "dev": true - }, "regjsparser": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", @@ -16648,9 +16687,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "send": { "version": "0.18.0", @@ -16837,9 +16876,9 @@ "dev": true }, "shiki": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.1.tgz", - "integrity": "sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==", + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz", + "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==", "dev": true, "requires": { "ansi-sequence-parser": "^1.1.0", @@ -16949,12 +16988,11 @@ "dev": true }, "source-map-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", - "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.2.tgz", + "integrity": "sha512-oYwAqCuL0OZhBoSgmdrLa7mv9MjommVMiQIWgcztf+eS4+8BfcUee6nenFnDhKOhzAVnk5gpZdfnz1iiBv+5sg==", "dev": true, "requires": { - "abab": "^2.0.6", "iconv-lite": "^0.6.3", "source-map-js": "^1.0.2" } @@ -17089,11 +17127,6 @@ } } }, - "streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" - }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -17204,13 +17237,13 @@ "dev": true }, "terser": { - "version": "5.16.9", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.9.tgz", - "integrity": "sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==", + "version": "5.30.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.3.tgz", + "integrity": "sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==", "dev": true, "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -17224,22 +17257,22 @@ } }, "terser-webpack-plugin": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", - "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.5" + "terser": "^5.26.0" }, "dependencies": { "schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", @@ -17248,9 +17281,9 @@ } }, "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -17305,9 +17338,9 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "requires": { "@cspotcode/source-map-support": "^0.8.0", @@ -17400,15 +17433,15 @@ } }, "typedoc": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.2.tgz", - "integrity": "sha512-Ln1EItgcdKfRzaFSfs9uEc4amz9ZeUZoaTbFdH0ZC8ScA2OjvNMdW7vrjTtZwKE0iF38njUmuFFgQMP4tDl7ag==", + "version": "0.25.13", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.13.tgz", + "integrity": "sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==", "dev": true, "requires": { "lunr": "^2.3.9", "marked": "^4.3.0", - "minimatch": "^9.0.0", - "shiki": "^0.14.1" + "minimatch": "^9.0.3", + "shiki": "^0.14.7" }, "dependencies": { "brace-expansion": { @@ -17421,9 +17454,9 @@ } }, "minimatch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", - "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -17449,11 +17482,11 @@ } }, "undici": { - "version": "5.21.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.21.2.tgz", - "integrity": "sha512-f6pTQ9RF4DQtwoWSaC42P/NKlUjvezVvd9r155ohqkwFNRyBKM3f3pcty3ouusefNRyM25XhIQEbeQ46sZDJfQ==", + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "requires": { - "busboy": "^1.6.0" + "@fastify/busboy": "^2.0.0" } }, "unicode-canonical-property-names-ecmascript": { @@ -17491,9 +17524,9 @@ "dev": true }, "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "dev": true, "requires": { "escalade": "^3.1.1", @@ -17588,9 +17621,9 @@ "dev": true }, "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -17617,34 +17650,34 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "webpack": { - "version": "5.79.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.79.0.tgz", - "integrity": "sha512-3mN4rR2Xq+INd6NnYuL9RC9GAmc1ROPKJoHhrZ4pAjdMFEkJJWrsPw8o2JjCIyQyTu7rTXYn4VG6OpyB3CobZg==", + "version": "5.91.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", + "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", + "enhanced-resolve": "^5.16.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "dependencies": { @@ -17665,9 +17698,9 @@ "dev": true }, "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", @@ -17678,17 +17711,17 @@ } }, "webpack-cli": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz", - "integrity": "sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.0.1", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.1", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", "colorette": "^2.0.14", - "commander": "^9.4.1", + "commander": "^10.0.1", "cross-spawn": "^7.0.3", "envinfo": "^7.7.3", "fastest-levenshtein": "^1.0.12", @@ -17699,17 +17732,17 @@ }, "dependencies": { "commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true } } }, "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dev": true, "requires": { "colorette": "^2.0.10", @@ -17720,9 +17753,9 @@ } }, "webpack-dev-server": { - "version": "4.13.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.3.tgz", - "integrity": "sha512-KqqzrzMRSRy5ePz10VhjyL27K2dxqwXQLP5rAKwRJBPUahe7Z2bBWzHw37jeb8GCPKxZRO79ZdQUAPesMh/Nug==", + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "dev": true, "requires": { "@types/bonjour": "^3.5.9", @@ -17731,7 +17764,7 @@ "@types/serve-index": "^1.9.1", "@types/serve-static": "^1.13.10", "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", + "@types/ws": "^8.5.5", "ansi-html-community": "^0.0.8", "bonjour-service": "^1.0.11", "chokidar": "^3.5.3", @@ -17753,7 +17786,7 @@ "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", + "webpack-dev-middleware": "^5.3.4", "ws": "^8.13.0" } }, @@ -17838,11 +17871,6 @@ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, "workerpool": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", diff --git a/package.json b/package.json index 421f20db3..9facee18f 100644 --- a/package.json +++ b/package.json @@ -44,49 +44,49 @@ "homepage": "http://github.com/linkeddata/rdflib.js", "bugs": "http://github.com/linkeddata/rdflib.js/issues", "dependencies": { - "@babel/runtime": "^7.21.0", + "@babel/runtime": "^7.24.4", "@frogcat/ttl2jsonld": "^0.0.9", - "@xmldom/xmldom": "^0.8.7", - "cross-fetch": "^3.1.5", - "jsonld": "^8.1.1", - "n3": "^1.16.4", + "@xmldom/xmldom": "^0.8.10", + "cross-fetch": "^3.1.8", + "jsonld": "^8.3.2", + "n3": "^1.17.3", "solid-namespace": "^0.5.3" }, "devDependencies": { - "@babel/cli": "^7.21.0", - "@babel/core": "^7.21.4", + "@babel/cli": "^7.24.1", + "@babel/core": "^7.24.4", "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-transform-runtime": "^7.21.4", - "@babel/preset-env": "^7.21.4", - "@babel/preset-typescript": "^7.21.4", - "@babel/register": "^7.21.0", - "@types/chai": "^4.3.4", - "@types/dirty-chai": "^2.0.2", - "@types/express": "^4.17.17", - "@types/jsonld": "^1.5.8", - "@types/mocha": "^10.0.4", - "@types/sinon-chai": "^3.2.9", - "babel-loader": "^9.1.2", - "chai": "^4.3.7", - "diff": "^5.1.0", + "@babel/plugin-transform-runtime": "^7.24.3", + "@babel/preset-env": "^7.24.4", + "@babel/preset-typescript": "^7.24.1", + "@babel/register": "^7.23.7", + "@types/chai": "^4.3.14", + "@types/dirty-chai": "^2.0.4", + "@types/express": "^4.17.21", + "@types/jsonld": "^1.5.13", + "@types/mocha": "^10.0.6", + "@types/sinon-chai": "^3.2.12", + "babel-loader": "^9.1.3", + "chai": "^4.4.1", + "diff": "^5.2.0", "dirty-chai": "^2.0.1", - "eslint": "^8.38.0", + "eslint": "^8.57.0", "fs-grep": "0.0.5", "locate-path": "^7.2.0", - "mocha": "^10.2.0", - "nock": "^13.3.0", - "node-fetch": "^3.3.1", + "mocha": "^10.4.0", + "nock": "^13.5.4", + "node-fetch": "^3.3.2", "node-polyfill-webpack-plugin": "^2.0.1", "rdf-js": "^4.0.2", "sinon": "^15.0.3", "sinon-chai": "^3.7.0", - "source-map-loader": "^4.0.1", - "ts-node": "^10.9.1", - "typedoc": "^0.24.2", + "source-map-loader": "^4.0.2", + "ts-node": "^10.9.2", + "typedoc": "^0.25.13", "typescript": "^5.0.4", - "webpack": "^5.79.0", - "webpack-cli": "^5.0.1", - "webpack-dev-server": "^4.13.3" + "webpack": "^5.91.0", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^4.15.2" }, "scripts": { "build": "babel src --extensions \".ts,.js\" -d lib",