@kanonak-protocol/sdk 3.78.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +1 -1
- package/dist/canonical/CanonicalHash.d.ts +8 -0
- package/dist/canonical/Datatypes.d.ts +98 -0
- package/dist/canonical/index.d.ts +2 -1
- package/dist/{chunk-RVOMWGIN.js → chunk-4OSNT57C.js} +1 -1
- package/dist/{chunk-KXVSGB6Q.js → chunk-6I4BYZVA.js} +1 -1
- package/dist/{chunk-Z5ELOT2C.js → chunk-NC3FSY3R.js} +1 -1
- package/dist/{chunk-XQS5LDSO.js → chunk-PBNVHBS3.js} +1 -1
- package/dist/chunk-T3JR2SV6.js +1 -0
- package/dist/{chunk-QXFO6X6V.js → chunk-V3YPCUA6.js} +1 -1
- package/dist/chunk-VNKX52D5.js +2 -0
- package/dist/chunk-WUAKDYY6.js +1 -0
- package/dist/{chunk-IOMNZBK4.js → chunk-XYEY6HUC.js} +1 -1
- package/dist/{chunk-LKBG2MK6.js → chunk-YCV4H6H5.js} +1 -1
- package/dist/{chunk-PJMOM5H7.js → chunk-YI5GLYMB.js} +1 -1
- package/dist/{chunk-ATH6636H.js → chunk-YWUKDEZA.js} +1 -1
- package/dist/{chunk-XWRVENU6.js → chunk-ZRMF5QLN.js} +1 -1
- package/dist/chunk-ZYAABYDS.js +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +26 -26
- package/dist/kanonaks/LiteralKanonak.d.ts +4 -0
- package/dist/parsing/KanonakObjectParser.d.ts +13 -0
- package/dist/parsing/index.js +1 -1
- package/dist/reasoning/index.js +1 -1
- package/dist/repositories/browser.js +1 -1
- package/dist/repositories/index.js +1 -1
- package/dist/resolution/index.js +1 -1
- package/dist/search/index.js +1 -1
- package/dist/server/index.js +1 -1
- package/dist/statements/ScalarStatement.d.ts +14 -0
- package/dist/transformations/index.js +1 -1
- package/dist/uri-helpers/index.js +1 -1
- package/dist/validation/index.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-GIYURKX6.js +0 -2
- package/dist/chunk-IUZZDC2U.js +0 -1
- package/dist/chunk-TJPQETHV.js +0 -1
- package/dist/chunk-W6T7MOKY.js +0 -1
package/dist/chunk-GIYURKX6.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{I as W,J as X}from"./chunk-QXFO6X6V.js";import{b as B,c as V,f as w}from"./chunk-IUZZDC2U.js";import{a as b,d as K,e as q,f as z}from"./chunk-Z5ELOT2C.js";import{a as D,f as E,h as F,j as N,k as Y,m as v}from"./chunk-XQS5LDSO.js";import{c as G,d as x}from"./chunk-W6T7MOKY.js";import{a as L}from"./chunk-FUUTGGJS.js";import{d as U}from"./chunk-2ACBWC7K.js";var Q=(t=>(t.Class="Class",t.DatatypeProperty="DatatypeProperty",t.ObjectProperty="ObjectProperty",t.AnnotationProperty="AnnotationProperty",t.Instance="Instance",t.Datatype="Datatype",t.Unknown="Unknown",t))(Q||{}),Z=(p=>(p.InstanceOf="instanceOf",p.SubClassOf="subClassOf",p.Domain="domain",p.Range="range",p.ObjectRelationship="objectRelationship",p.SubPropertyOf="subPropertyOf",p.PropertyValue="propertyValue",p.EmbeddedLink="embeddedLink",p))(Z||{}),I=class{static async buildFromRepository(e){let a=await new w().parseKanonaks(e),o=await e.getAllDocumentsAsync(),s=[],i=[],t=new Set,p=new Set,g=new Map;for(let u of a){let l=u;l.name&&(b.isClassType(l)&&t.add(l.name),(b.isObjectPropertyType(l)||b.isGenericPropertyType(l))&&p.add(l.name))}for(let u of o)for(let[l,f]of Object.entries(u.body))p.has(l)&&f?.range&&typeof f.range=="string"&&g.set(l,f.range);let y=new Map;for(let u of a){let l=u;l.name&&y.set(l.name,l)}for(let u of o){let l=u.metadata.namespace_,f=l?`${l.publisher}/${l.package_}`:"",c=l?.version?`${l.version.major}.${l.version.minor}.${l.version.patch}`:"",d=H(u);for(let[k,m]of Object.entries(u.body)){if(!m||typeof m!="object")continue;let P=y.get(k),h="Unknown";if(P){let T=P;b.isClassType(T)?h="Class":b.isObjectPropertyType(T)?h="ObjectProperty":b.isDatatypePropertyType(T)?h="DatatypeProperty":b.isAnnotationPropertyType(T)?h="AnnotationProperty":b.isDatatypeType(T)?h="Datatype":b.isGenericPropertyType(T)?h="ObjectProperty":b.isInstanceOfKnownClass(T,t)&&(h="Instance")}let j=f&&c?`${f}/${k}@${c}`:k,A={};for(let[T,$]of Object.entries(m))T!=="type"&&(typeof $!="object"||$===null)&&(A[T]=$);s.push({id:j,label:m.label??k,type:h,namespace:f,properties:A}),J(j,m,h,t,p,i,f,c,d),_(j,m,p,g,s,i,f,c,d),ue(j,P,i)}}return{nodes:s,edges:i}}static buildFromDocument(e){let r=[],a=[],o=e.metadata.namespace_,s=o?.version?`${o.version.major}.${o.version.minor}.${o.version.patch}`:"",i=o?`${o.publisher}/${o.package_}`:"",t=new Set,p=new Set,g=new Map,y=H(e);for(let[f,c]of Object.entries(e.body)){let d=c?.type;d&&(pe(d,y)&&t.add(f),ce(d,y)&&(p.add(f),c.range&&typeof c.range=="string"&&g.set(f,c.range)))}for(let[f,c]of Object.entries(e.body)){if(!c||typeof c!="object")continue;let d=c.type,k=le(d,f,t,y),m=i&&s?`${i}/${f}@${s}`:f,P={};for(let[h,j]of Object.entries(c))h!=="type"&&(typeof j!="object"||j===null)&&(P[h]=j);r.push({id:m,label:c.label??f,type:k,namespace:i,properties:P}),J(m,c,k,t,p,a,i,s,y),_(m,c,p,g,r,a,i,s,y)}let u=new Set(r.map(f=>f.id)),l=a.filter(f=>u.has(f.source)&&u.has(f.target));return{nodes:r,edges:l}}};function H(n,e){let r=new Map;if(n.metadata?.imports)for(let[a,o]of Object.entries(n.metadata.imports))for(let s of o){let i=s.alias??s.packageName,t=s.version,p=`${t.major}.${t.minor}.${t.patch}`;r.set(i,{publisher:a,package_:s.packageName,version:p})}return r}var ee={"kanonak.org/core-rdf/Class":"Class","kanonak.org/core-owl/Class":"Class","kanonak.org/core-rdfs/Class":"Class","kanonak.org/core-owl/ObjectProperty":"ObjectProperty","kanonak.org/core-owl/DatatypeProperty":"DatatypeProperty","kanonak.org/core-owl/AnnotationProperty":"AnnotationProperty","kanonak.org/core-rdf/Property":"ObjectProperty","kanonak.org/core-rdfs/Datatype":"Datatype"},ie=new Set(["kanonak.org/core-owl/ObjectProperty","kanonak.org/core-owl/DatatypeProperty","kanonak.org/core-owl/AnnotationProperty","kanonak.org/core-rdf/Property"]);function M(n,e){if(n.includes(".")){let r=n.indexOf("."),a=n.substring(0,r),o=n.substring(r+1),s=e.get(a);if(s)return`${s.publisher}/${s.package_}/${o}`}return null}function pe(n,e){let r=M(n,e);return r?ee[r]==="Class":!1}function ce(n,e){let r=M(n,e);return r?ie.has(r):!1}function le(n,e,r,a){if(!n||n==="Package")return"Unknown";let o=M(n,a);if(o){let i=ee[o];if(i)return i;let t=o.split("/").pop()?.split("@")[0]??"";return r.has(t)?"Instance":"Unknown"}let s=n.split(".").pop()??n;return r.has(s)?"Instance":"Unknown"}var ne=new Set(["type","label","comment","version","publisher","imports","license","match","alias","package"]);function J(n,e,r,a,o,s,i,t,p){let g=e.type,y=e.subClassOf;if(y){let c=Array.isArray(y)?y:[y];for(let d of c)typeof d=="string"&&s.push({source:n,target:O(d,i,t,p),type:"subClassOf",label:"subClassOf"})}let u=e.subPropertyOf;if(u){let c=Array.isArray(u)?u:[u];for(let d of c)typeof d=="string"&&s.push({source:n,target:O(d,i,t,p),type:"subPropertyOf",label:"subPropertyOf"})}if(r==="Instance"&&g){let c=g.split(".").pop()??g;s.push({source:n,target:O(c,i,t,p),type:"instanceOf",label:"type"})}if(r==="Instance")for(let[c,d]of Object.entries(e)){if(ne.has(c)||!o.has(c))continue;let k=Array.isArray(d)?d:[d];for(let m of k)typeof m=="string"&&fe(m)&&s.push({source:n,target:O(m,i,t,p),type:"propertyValue",label:c,propertyId:O(c,i,t,p)})}let l=r==="ObjectProperty"||r==="DatatypeProperty",f=e.domain&&e.range;if((l||f)&&e.domain&&e.range){let c=typeof e.domain=="string"?e.domain:null,d=typeof e.range=="string"?e.range:null;c&&d&&s.push({source:O(c,i,t,p),target:O(d,i,t,p),type:"objectRelationship",label:e.label??n.split("/").pop()??"",propertyId:n})}}function _(n,e,r,a,o,s,i,t,p){for(let[g,y]of Object.entries(e)){if(ne.has(g)||typeof y!="object"||y===null||Array.isArray(y))continue;let u=y,l=`${n}/${g}`,f=a.get(g),c=f?f.split(".").pop()??f:"Unknown",d={};for(let[m,P]of Object.entries(u))(typeof P!="object"||P===null)&&(d[m]=P);o.push({id:l,label:`${c} (embedded)`,type:"Instance",namespace:i,properties:d});let k=i&&t?`${i}/${g}@${t}`:g;s.push({source:n,target:l,type:"propertyValue",label:g,propertyId:r.has(g)?k:void 0}),f&&s.push({source:l,target:O(c,i,t,p),type:"instanceOf",label:"type (inferred)"}),_(l,u,r,a,o,s,i,t,p)}}function ue(n,e,r){let a=e?.statement;if(Array.isArray(a))for(let o of a){if(!(o instanceof V))continue;let s=o.predicate?.subject?.name??"";for(let i of o.links){let t=i.target?.subject;if(!t)continue;let p=t.version,g=p&&typeof p.major=="number"?`@${p.major}.${p.minor}.${p.patch}`:"";r.push({source:n,target:`${t.publisher}/${t.package_}/${t.name}${g}`,type:"embeddedLink",label:s})}}}function fe(n){return!(!n||n.includes(" ")||n.includes(`
|
|
2
|
-
`)||n.startsWith("http://")||n.startsWith("https://")||/^\d{4}-\d{2}/.test(n)||/^\d+(\.\d+)?$/.test(n))}function O(n,e,r,a){if(n.includes("@")&&n.includes("/"))return n;if(n.includes(".")){let o=n.indexOf("."),s=n.substring(0,o),i=n.substring(o+1);if(a){let t=a.get(s);if(t)return`${t.publisher}/${t.package_}/${i}@${t.version}`}return e&&r?`${e}/${i}@${r}`:i}return e&&r?`${e}/${n}@${r}`:n}function de(n){if(!n.expiresAt)return!1;let e=new Date(n.expiresAt),r=300*1e3;return e.getTime()<=Date.now()+r}function Re(n){return!!n.accessToken&&!de(n)}function Se(n){let e=n.replace(/^https?:\/\//,"").replace(/^git:\/\//,"").replace(/\/+$/,"").trim();if(!e)throw new Error("Publisher host cannot be empty");return e}var C="kanonak.org",S="core-rdf",re="core-xsd",te={publisher:C,package_:S,name:"subClassOf"},oe={publisher:C,package_:S,name:"label"},ye={publisher:C,package_:S,name:"comment"},se={publisher:C,package_:"core-owl",name:"oneOf"},ae=n=>n;function ge(n){let e=Y(n,te);if(e)return[e];let r=[];for(let a of v(n,te))a instanceof x&&r.push(a.subject);return r}function me(n,e,r){if(e.publisher===C&&e.package_===S&&e.name==="Literal")return{kind:"datatype",uri:e};let o=E(n,e);if(o){let s=ae(o);if(b.isDatatypeType(s))return{kind:"datatype",uri:e};if(b.isClassType(s))return{kind:"class",uri:K(o)??e,localName:o.name}}return e.publisher===C&&e.package_===re?{kind:"datatype",uri:e}:r==="datatype"?{kind:"datatype",uri:e}:{kind:"class",uri:e,localName:e.name}}function be(n,e,r){if(!e.range)throw new Error(`Property ${e.uri.publisher}/${e.uri.package_}/${e.uri.name} has no rdfs.range; every property must declare a range. Validate the ontology before introspecting it.`);let a=me(n,e.range,e.kind),o=e.kind==="object"?"object":e.kind==="datatype"?"datatype":a.kind==="class"?"object":"datatype";return{uri:e.uri,localName:e.uri.name,kind:o,range:a,...e.label!==void 0?{label:e.label}:{},...e.comment!==void 0?{comment:e.comment}:{},...r??{}}}var R=n=>new L(C,re,n);function ke(n){return typeof n=="boolean"?R("boolean"):typeof n=="number"?Number.isInteger(n)?R("integer"):R("decimal"):R("string")}function he(n,e){let r=[];for(let a of v(e,se))if(a instanceof x){let o=E(n,a.subject),s=(o?K(o):void 0)??a.subject,i=o?N(o,oe):void 0;r.push({kind:"individual",uri:s,localName:s.name,...i!==void 0?{label:i}:{}})}else a instanceof B&&r.push({kind:"literal",value:a.value,datatype:ke(a.value)});return r}function Pe(n,e,r,a){let o=q(n,e),s=D(e);return z(n,e).filter(t=>r?!0:t.domains.some(p=>D(p)===s)).map(t=>be(n,t,X(a,o,t.uri)))}async function Te(n,e,r){let a=n.metadata?.namespace_;if(!a)throw new Error("buildOntologyModel: document has no namespace (publisher/package/version).");let o=r?.includeInherited??!1,s=await new w().parseKanonaks(e),i=W(s),t=[],p=[],g=new Set;for(let y of s){if(!(y instanceof G)||!b.isClassType(ae(y)))continue;let u=K(y);if(!u||u.publisher!==a.publisher||u.package_!==a.package_||u.version&&a.version&&!U(u.version,a.version))continue;let l=D(u);if(g.has(l))continue;g.add(l);let f=ge(y).map(k=>({uri:k,localName:k.name})),c=N(y,oe),d=N(y,ye);t.push({uri:u,localName:u.name,superClasses:f,properties:Pe(s,u,o,i),...c!==void 0?{label:c}:{},...d!==void 0?{comment:d}:{}}),F(y,se)&&p.push({uri:u,localName:u.name,members:he(s,y),...c!==void 0?{label:c}:{},...d!==void 0?{comment:d}:{}})}return{classes:t,enums:p}}export{Q as a,Z as b,I as c,de as d,Re as e,Se as f,Te as g};
|
package/dist/chunk-IUZZDC2U.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as A}from"./chunk-TJPQETHV.js";import{b as N,c as _,i as M}from"./chunk-IOMNZBK4.js";import{a as $,b as L,c as j,d as k,g as S,h as D,i as O,j as P,k as K,l as R}from"./chunk-W6T7MOKY.js";var b=class extends L{name};var w=class extends ${value};var I=class extends S{links=[]};var U=/\[\[([^\[\]\n]+)\]\]/g,B=/\[\[/g,V=/```[\s\S]*?```|`[^`\n]*`/g;function z(f){let e=[];for(let t of f.matchAll(V))e.push([t.index,t.index+t[0].length]);return e}function Q(f){if(!f||!f.includes("[["))return[];let e=z(f),t=a=>e.some(([n,p])=>a>=n&&a<p),r=new Set(T(f).map(a=>a.startOffset)),o=[];for(let a of f.matchAll(B)){let n=a.index;if(t(n)||r.has(n))continue;let p=f.slice(n,n+48).replace(/\s+/g," ").trim();o.push({startOffset:n,snippet:p})}return o}function T(f){if(!f||!f.includes("[["))return[];let e=[];for(let o of f.matchAll(V))e.push([o.index,o.index+o[0].length]);let t=o=>e.some(([a,n])=>o>=a&&o<n),r=[];for(let o of f.matchAll(U)){let a=o.index;if(t(a))continue;let n=o[1],p=n.indexOf("|"),s=(p===-1?n:n.slice(0,p)).trim();if(s.length===0)continue;let m=p===-1?"":n.slice(p+1).trim(),y={reference:s,startOffset:a,endOffset:a+o[0].length};m.length>0&&(y.displayText=m),r.push(y)}return r}var C=class{constructor(e){}async parseKanonaks(e){let t=[],r=await e.getAllDocumentsAsync(),o=new N(e),a=new _(o);for(let i of r){let c=i.metadata.namespace_?.toString()??"";for(let[l,u]of Object.entries(i.body)){let d=new j,g=this.resolveCanonicalEntity(l,i,c);d.namespace=g.namespace,d.name=g.name,d.statement=[];let h=await this.parseStatements(u,i,o,a,e);d.statement.push(...h),t.push(d)}}let n=new Map,p=new Map,s=[];for(let i of t)if(i instanceof j){let c=`${i.namespace}/${i.name}`,l=n.get(c);if(l){let u=p.get(c);for(let d of i.statement){let g=E(d);u.has(g)||(u.add(g),l.statement.push(d))}}else{let u=new Set,d=[];for(let g of i.statement){let h=E(g);u.has(h)||(u.add(h),d.push(g))}i.statement=d,p.set(c,u),n.set(c,i),s.push(i)}}else s.push(i);let m=new Set;for(let i of s)if(i instanceof j){let c=i.namespace||"",l=c.indexOf("/"),u=l>=0?c.slice(0,l):"",d=l>=0?c.slice(l+1):"",g=d.indexOf("@"),h=g>=0?d.slice(0,g):d;m.add(`${u}/${h}/${i.name}`)}let y=i=>m.has(`${i.publisher}/${i.package_}/${i.name}`);for(let i of s)i instanceof j&&this.canonicalizeStatementBuiltins(i.statement,y);return s}canonicalizeStatementBuiltins(e,t){for(let r of e){let o=r.predicate?.subject;if(M(o,t),r instanceof P)r.object instanceof k&&M(r.object.subject,t);else if(r instanceof K)r.object&&this.canonicalizeStatementBuiltins(r.object.statement,t);else if(r instanceof R)for(let a of r.object??[])a instanceof k?M(a.subject,t):a instanceof b&&this.canonicalizeStatementBuiltins(a.statement,t)}}resolveCanonicalEntity(e,t,r){if(!e.includes(".")||!t.metadata?.imports)return{namespace:r,name:e};let o=e.indexOf("."),a=e.substring(0,o),n=e.substring(o+1);for(let[p,s]of Object.entries(t.metadata.imports))for(let m of s)if((m.alias??m.packageName)===a){let i=m.version;return{namespace:`${p}/${m.packageName}@${i.major}.${i.minor}.${i.patch}`,name:n}}return{namespace:r,name:e}}async parseStatements(e,t,r,o,a){let n=[];if(typeof e!="object"||e===null||Array.isArray(e))return n;for(let[p,s]of Object.entries(e))try{let m=await this.getPropertyMetadata(p,t,r,a,o);if(!m)continue;let y=await this.parsePropertyValue(p,s,m,t,r,o,a);y&&n.push(y)}catch(m){throw new Error(`Failed to parse property '${p}': ${m.message}`,{cause:m})}return n}async getPropertyMetadata(e,t,r,o,a){let n=await r.resolveEntityAsync(e,t);if(!n)return;let p=n.entity,s=p.type?.toString()??"",m=s.includes(".")?s.substring(s.lastIndexOf(".")+1):s;if(!new Set(["Property","DatatypeProperty","ObjectProperty","AnnotationProperty"]).has(m))return;let i=a.getPropertyTypeClassification(s),c=p.range?.toString(),l;if(i==="ObjectProperty")l="ObjectProperty";else if(i==="DatatypeProperty")l="DatatypeProperty";else{let g=c&&c.includes(".")?c.substring(c.lastIndexOf(".")+1):c??"";(c?a.isKnownXsdDatatypeName(c):!1)||g==="Literal"?l="DatatypeProperty":l="ObjectProperty"}let u;if(c){let g=t;if(n.isImported&&n.definedInNamespace){if(typeof o.getDocumentAsync!="function")throw new Error(`Cannot resolve the range of imported property '${e}': the parse repository cannot fetch defining document '${n.definedInNamespace}'. Thread the real repository through to embedded-object parsing \u2014 no stub, no fallback.`);let x=await o.getDocumentAsync(n.definedInNamespace);if(!x)throw new Error(`Cannot resolve the range of imported property '${e}': defining document '${n.definedInNamespace}' was not found in the repository.`);g=x}u=(await r.resolveEntityAsync(c,g))?.uri}return{propertyUri:n.uri.toString(),propertyType:l,range:c,rangeUri:u,isImported:n.isImported,definedInNamespace:n.definedInNamespace}}async parsePropertyValue(e,t,r,o,a,n,p){let s=r.propertyUri;if(t!=null){if(Array.isArray(t))return this.parseListValue(s,t,r,o,a,n,p);if(r.propertyType==="DatatypeProperty")return this.parseDatatypeValue(s,t,r,o,a,n);if(r.propertyType==="ObjectProperty")return this.parseObjectValue(s,t,r,o,a,n,p)}}async parseDatatypeValue(e,t,r,o,a,n){if(t instanceof Date)return S.parse(e,t.toISOString());if(typeof t=="string")return n.isSubstitutableDatatype(r.rangeUri)?await this.parseSubstitutableValue(e,t,o,a):S.parse(e,t);if(typeof t=="number")return D.parse(e,t);if(typeof t=="boolean"){let p=new O;return p.predicate=k.parse(e),p.object=t,p}}async parseSubstitutableValue(e,t,r,o){let a=new I;a.predicate=k.parse(e),a.object=t;for(let n of T(t)){let p=await o.resolveEntityAsync(n.reference,r),s;p&&(s=new k,s.subject=p.uri);let m={reference:n.reference,startOffset:n.startOffset,endOffset:n.endOffset};n.displayText!==void 0&&(m.displayText=n.displayText),s!==void 0&&(m.target=s),a.links.push(m)}return a}async parseObjectValue(e,t,r,o,a,n,p){if(typeof t=="string"){let s=await this.resolveReference(t,o,a);if(!s)return;let m=new P;return m.predicate=k.parse(e),m.object=s,m}if(typeof t=="object"&&!Array.isArray(t)){let s=new b;if(s.statement=await this.parseStatements(t,o,a,n,p),s.statement.length>0){let i=new K;return i.predicate=k.parse(e),i.object=s,i}let m=[];for(let[i,c]of Object.entries(t))if(typeof c=="object"&&c!==null&&!Array.isArray(c)){let l=new b;l.name=i,l.statement=await this.parseStatements(c,o,a,n,p),m.push(l)}else if(typeof c=="string"){let l=await this.resolveReference(c,o,a);l&&m.push(l)}if(m.length>0){let i=new R;return i.predicate=k.parse(e),i.object=m,i}let y=new K;return y.predicate=k.parse(e),y.object=s,y}}async parseListValue(e,t,r,o,a,n,p){let s=[],m=r.propertyType==="DatatypeProperty",y=r.rangeUri?.publisher==="kanonak.org"&&r.rangeUri?.package_==="core-rdf"&&r.rangeUri?.name==="List"||!r.rangeUri&&(r.range?.includes(".")?r.range.substring(r.range.lastIndexOf(".")+1):r.range)==="List";for(let c of t){let l=typeof c=="string"||typeof c=="number"||typeof c=="boolean";if(m&&l){let u=new w;u.value=c,s.push(u);continue}if((m||y)&&c instanceof Date){let u=new w;u.value=c.toISOString(),s.push(u);continue}if(y&&l){if(typeof c=="string"){let u=await a.resolveEntityAsync(c,o);if(u){let d=new k;d.subject=u.uri,s.push(d)}else{let d=new w;d.value=c,s.push(d)}}else{let u=new w;u.value=c,s.push(u)}continue}if(typeof c=="string"){let u=await this.resolveReference(c,o,a);u&&s.push(u)}else if(typeof c=="object"&&c!==null&&!Array.isArray(c)){let u=new b;u.statement=await this.parseStatements(c,o,a,n,p),s.push(u)}}let i=new R;return i.predicate=k.parse(e),i.object=s,i}async resolveReference(e,t,r){let o=await r.resolveEntityAsync(e,t);if(o){let n=new k;return n.subject=o.uri,n}let a=t.metadata?.namespace_;if(a){let{KanonakUri:n}=await import("./KanonakUri-4VJGV3FN.js"),p=a.version??{major:0,minor:0,patch:0,toString:()=>"0.0.0",equals:()=>!1,getHashCode:()=>0,compareTo:()=>0};if(e.includes(".")){let m=e.indexOf("."),y=e.substring(0,m),i=e.substring(m+1);if(t.metadata?.imports){for(let[c,l]of Object.entries(t.metadata.imports))for(let u of l)if((u.alias??u.packageName)===y){let g=new k;return g.subject=new n(c,u.packageName,i,u.version),g}}}let s=new k;return s.subject=new n(a.publisher,a.package_,e,p),s}return null}async saveKanonaks(e,t){let r=new Map;for(let o of e)o instanceof j&&o.namespace&&(r.has(o.namespace)||r.set(o.namespace,[]),r.get(o.namespace).push(o));for(let[o,a]of r){let n=await this.convertKanonaksToDocument(o,a),p=`${o.split("@")[0]}.yml`;await t.saveDocumentAsync(n,p)}}async serializeToYaml(e,t){let r=e.filter(n=>n instanceof j&&n.namespace===t);if(r.length===0)throw new Error(`No kanonaks found with namespace '${t}'`);let o=await this.convertKanonaksToDocument(t,r);return new A().save(o)}async convertKanonaksToDocument(e,t){let o={metadata:{namespace_:e,get allImports(){if(!this.imports)return[];let n=[];for(let p of Object.values(this.imports))n.push(...p);return n}},body:{}},a=new Map;for(let n of t){let p={};for(let s of n.statement){let[m,y]=this.convertStatementToProperty(s);m&&y!==null&&y!==void 0&&(p[m]=y),this.collectImportsFromStatement(s,e,a)}o.body[n.name]=p}return o}convertStatementToProperty(e){if(e instanceof S)return[e.predicate.subject.name,e.object];if(e instanceof D)return[e.predicate.subject.name,e.object];if(e instanceof O)return[e.predicate.subject.name,e.object];if(e instanceof P)return[e.predicate.subject.name,e.object.subject.name];if(e instanceof R){let t=this.convertKanonakListToValue(e.object);return[e.predicate.subject.name,t]}else if(e instanceof K){let t=this.convertEmbeddedKanonakToValue(e.object);return[e.predicate.subject.name,t]}return[null,null]}convertKanonakListToValue(e){let t=[];for(let r of e)r instanceof k?t.push(r.subject.name):r instanceof b&&t.push(this.convertEmbeddedKanonakToValue(r));return t}convertEmbeddedKanonakToValue(e){let t={};for(let r of e.statement){let[o,a]=this.convertStatementToProperty(r);o&&a!==null&&a!==void 0&&(t[o]=a)}return t}collectImportsFromStatement(e,t,r){}};function E(f){let e=f.predicate?.subject;return(e?`${e.publisher}/${e.package_}/${e.name}`:"?")+"="+X(f)}function X(f){return f instanceof I?"m:"+String(f.object):f instanceof S?"s:"+String(f.object):f instanceof D?"n:"+String(f.object):f instanceof O?"b:"+String(f.object):f instanceof P?"r:"+v(f.object):f instanceof K?"e:"+v(f.object):f instanceof R?"l:["+(f.object??[]).map(v).join("|")+"]":"x"}function v(f){if(!f)return"";if(f instanceof k){let e=f.subject;return"R("+(e?`${e.publisher}/${e.package_}/${e.name}`:"")+")"}return f instanceof b?"E("+(f.statement??[]).map(E).join(";")+")":f instanceof w?"L("+String(f.value)+")":"N"}export{b as a,w as b,I as c,Q as d,T as e,C as f};
|
package/dist/chunk-TJPQETHV.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as k,b as f}from"./chunk-2ACBWC7K.js";import*as h from"js-yaml";var b=new Set(["Package","EphemeralPackage"]);function v(d){return typeof d=="string"&&b.has(d)}var $=class{parse(r){let t=this.parseWithErrors(r);if(!t.isValid){let a=t.errors[0];throw new Error(`YAML parse error at line ${a.line}, column ${a.column}: ${a.message}`)}return t.document}parseWithErrors(r){let t=[],a;try{r=r.replace(/^\uFEFF/,"");let s=h.load(r);if(!s||typeof s!="object")return a={metadata:this.createEmptyMetadata(),body:{},toString:()=>"KanonakDocument(empty)"},{document:a,errors:t,isValid:!0};let e=this.extractMetadata(s),n=this.extractBody(s,e);return a={metadata:e,body:n,toString:function(){return this.metadata.namespace_?`KanonakDocument(${this.metadata.namespace_.publisher}/${this.metadata.namespace_.package_})`:"KanonakDocument(no namespace)"}},{document:a,errors:t,isValid:!0}}catch(s){let e=s,n={message:e.message||"Unknown parse error",line:e.mark?.line??0,column:e.mark?.column??0,errorType:e.name==="YAMLException"?"SyntaxError":"Unknown",toString:()=>`${e.name==="YAMLException"?"SyntaxError":"Unknown"} at line ${e.mark?.line??0}: ${e.message||"Unknown parse error"}`};return t.push(n),{document:void 0,errors:t,isValid:!1}}}save(r){let t={};if(r.metadata.namespace_){let a=r.metadata.namespace_,s={type:"Package",publisher:a.publisher};a.version&&(s.version=`${a.version.major}.${a.version.minor}.${a.version.patch}`),r.metadata.imports&&(s.imports=this.serializeImports(r.metadata.imports)),t[a.package_]=s}return Object.assign(t,r.body),h.dump(t,{indent:2,noRefs:!0,sortKeys:!1})}createEmptyMetadata(){return{get allImports(){return[]}}}addAllImportsGetter(r){let t=r.imports;return Object.defineProperty(r,"allImports",{get:function(){if(!t)return[];let a=[];for(let s of Object.values(t))a.push(...s);return a},enumerable:!0,configurable:!0}),r}createVersion(r,t,a){return{major:r,minor:t,patch:a,toString:()=>`${r}.${t}.${a}`,equals:e=>!e||typeof e!="object"?!1:e.major===r&&e.minor===t&&e.patch===a,getHashCode:()=>r<<20|t<<10|a,compareTo:e=>r!==e.major?r-e.major:t!==e.minor?t-e.minor:a-e.patch}}extractMetadata(r){let t=this.createEmptyMetadata();for(let[a,s]of Object.entries(r))if(s&&typeof s=="object"&&v(s.type)){t.type_=s.type;let e=a,n=s.publisher,i=s.version?this.parseVersion(s.version):void 0;return n&&e&&(t.namespace_={publisher:n,package_:e,version:i,toString:function(){return this.version?`${this.publisher}/${this.package_}@${this.version.major}.${this.version.minor}.${this.version.patch}`:`${this.publisher}/${this.package_}`},equals:o=>!o||typeof o!="object"?!1:o.publisher===n&&o.package_===e&&(!i||!o.version||i.equals(o.version)),getHashCode:()=>{let o=0;for(let c=0;c<n.length;c++)o=(o<<5)-o+n.charCodeAt(c);for(let c=0;c<e.length;c++)o=(o<<5)-o+e.charCodeAt(c);return o|0}}),s.imports&&Array.isArray(s.imports)&&(t.imports=this.parseImportsV3(s.imports)),this.addAllImportsGetter(t)}if(r.kanonak&&typeof r.kanonak=="object"){let a=r.kanonak;return(a.publisher||a.package||a.version)&&(t.namespace_=this.parseNamespace(a)),a.imports&&typeof a.imports=="object"&&(t.imports=this.parseImportsLegacy(a.imports)),this.addAllImportsGetter(t)}return t}extractBody(r,t){let a={};for(let[s,e]of Object.entries(r))if(!(s==="kanonak"||s==="namespace"||s==="imports"))if(e&&typeof e=="object"&&v(e.type)){let n={};for(let[i,o]of Object.entries(e))i==="publisher"||i==="version"||i==="imports"||(n[i]=o);a[s]=n}else a[s]=e;return a}parseNamespace(r){if(typeof r=="string"){let e=r.match(/^([^/]+)\/([^@]+)(?:@(.+))?$/);if(e){let n=e[3]?this.parseVersion(e[3]):this.createVersion(1,0,0);return{publisher:e[1],package_:e[2],version:n,toString:()=>r,equals:i=>!i||typeof i!="object"?!1:i.publisher===e[1]&&i.package_===e[2]&&(!n||!i.version||n.equals(i.version)),getHashCode:()=>{let i=0;for(let o=0;o<e[1].length;o++)i=(i<<5)-i+e[1].charCodeAt(o);for(let o=0;o<e[2].length;o++)i=(i<<5)-i+e[2].charCodeAt(o);return i|0}}}}let t=r.publisher||"",a=r.package||"",s=r.version?this.parseVersion(r.version):this.createVersion(1,0,0);return{publisher:t,package_:a,version:s,toString:function(){return`${this.publisher}/${this.package_}@${this.version?.major??1}.${this.version?.minor??0}.${this.version?.patch??0}`},equals:e=>!e||typeof e!="object"?!1:e.publisher===t&&e.package_===a&&(!s||!e.version||s.equals(e.version)),getHashCode:()=>{let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n);for(let n=0;n<a.length;n++)e=(e<<5)-e+a.charCodeAt(n);return e|0}}}parseVersion(r){if(typeof r=="string"){let t=r.split(".").map(Number);return this.createVersion(t[0]||0,t[1]||0,t[2]||0)}return this.createVersion(r.major||0,r.minor||0,r.patch||0)}parseImportsV3(r){let t={};for(let a of r)if(!(!a||typeof a!="object"))if(a.packages&&Array.isArray(a.packages)){let s=a.publisher;if(!s)throw new Error("PublisherImport requires 'publisher' property");t[s]||(t[s]=[]);for(let e of a.packages){if(!e||typeof e!="object")continue;let n=this.parseImportFromEmbeddedObject(e,s);t[s].push(n)}}else{let s=this.parseImportFromEmbeddedObject(a,a.publisher),e=s.publisher||"";t[e]||(t[e]=[]),t[e].push(s)}return t}parseImportsLegacy(r){let t={};for(let[a,s]of Object.entries(r))Array.isArray(s)&&(t[a]=s.map(e=>this.parseImport(e,a)));return t}parseImportFromEmbeddedObject(r,t){let a=r.package;if(!a)throw new Error("Import requires 'package' property");let s=r.match;if(!s)throw new Error("Import requires 'match' property");let e=r.version;if(!e)throw new Error("Import requires 'version' property");let n=this.parseVersion(e),i=this.parseVersionOperator(s),o=this.calculateMaxVersion(s,n),c=r.alias;return{package_:`${a} ${s} ${n.toString()}`,publisher:t,packageName:a,versionOperator:i,version:n,alias:c,minVersion:n,maxVersion:o,toEmbeddedObject:()=>{let m={package:a,match:s,version:n.toString()};return c&&(m.alias=c),m},toString:()=>c?`${a} ${s} ${n.toString()} as ${c}`:`${a} ${s} ${n.toString()}`}}buildImport(r,t,a,s){return this.parseImport({packageName:r,operator:t,version:a},s)}parseImport(r,t){if(typeof r=="string"){let o=r.match(/^(.+?)\s*([~^=*])\s*(\S+)\s+as\s+(\S+)$/);if(o){let m=o[1].trim(),u=o[2],p=this.parseVersion(o[3].trim()),l=o[4].trim(),g=this.parseVersionOperator(u),V=this.calculateMaxVersion(u,p);return{package_:r,publisher:t,packageName:m,versionOperator:g,version:p,alias:l,minVersion:p,maxVersion:V,toEmbeddedObject:()=>{let y={package:m,match:u,version:p.toString()};return l&&(y.alias=l),y},toString:()=>`${m} ${u} ${p.toString()} as ${l}`}}let c=r.match(/^(.+?)\s*([~^=*])\s*(.+)$/);if(c){let m=c[1].trim(),u=c[2],p=this.parseVersion(c[3].trim()),l=this.parseVersionOperator(u),g=this.calculateMaxVersion(u,p);return{package_:r,publisher:t,packageName:m,versionOperator:l,version:p,alias:void 0,minVersion:p,maxVersion:g,toEmbeddedObject:()=>({package:m,match:u,version:p.toString()}),toString:()=>`${m} ${u} ${p.toString()}`}}}let a=this.parseVersionOperator(r.operator||"~"),s=this.parseVersion(r.version||"1.0.0"),e=r.packageName||r.package||"",n=f(a),i=this.calculateMaxVersion(r.operator||"~",s);return{package_:r.package||"",publisher:t,packageName:e,versionOperator:a,version:s,alias:r.alias,minVersion:s,maxVersion:i,toEmbeddedObject:()=>{let o={package:e,match:n,version:s.toString()};return r.alias&&(o.alias=r.alias),o},toString:()=>`${e} ${n} ${s.toString()}`}}parseVersionOperator(r){return k(r)}calculateMaxVersion(r,t){switch(r){case"~":return this.createVersion(t.major,t.minor+1,0);case"^":return t.major===0?this.createVersion(0,t.minor+1,0):this.createVersion(t.major+1,0,0);default:return this.createVersion(999,999,999)}}serializeImports(r){let t=[];for(let[a,s]of Object.entries(r)){let e={publisher:a,packages:s.map(n=>{let i=f(n.versionOperator),o={package:n.packageName,match:i,version:`${n.version.major}.${n.version.minor}.${n.version.patch}`};return n.alias&&(o.alias=n.alias),o})};t.push(e)}return t}};export{$ as a};
|
package/dist/chunk-W6T7MOKY.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as c}from"./chunk-FUUTGGJS.js";var m=class{};var p=class extends m{statement=[]};var i=class extends p{namespace;name;icon};var a=class e extends m{subject;static parse(o){let n=new e;return n.subject=c.parse(o),n}};var r=class{predicate;object};var s=class extends r{};var f=class e extends s{static parse(o,n){let t=new e;return t.predicate=a.parse(o),t.object=n,t}};var k=class e extends s{static parse(o,n){let t=new e;return t.predicate=a.parse(o),t.object=n,t}};var x=class extends s{};var d=class e extends r{static parse(o,n){let t=new e;return t.predicate=a.parse(o),t.object=a.parse(n),t}};var l=class extends r{};var b=class extends r{};export{m as a,p as b,i as c,a as d,r as e,s as f,f as g,k as h,x as i,d as j,l as k,b as l};
|