@jointhedots/core 2.0.24 → 2.1.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/bundle.manifest.json +0 -1
- package/{chunk.CFIED3LN.js → chunk.4XVT3TGR.js} +1 -1
- package/chunk.M34PULAU.js +1 -0
- package/{chunk.TW6GNY3I.js → chunk.QKAND342.js} +1 -1
- package/export.commands.js +1 -1
- package/export.js +2 -2
- package/export.react.js +1 -1
- package/export.rest.js +1 -1
- package/export.storage.js +1 -1
- package/export.view.js +1 -1
- package/package.json +10 -14
- package/types.d.ts +70 -694
- package/chunk.UGWDPVMV.js +0 -1
package/bundle.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as d,
|
|
1
|
+
import{A as d,R as p,x as u}from"./chunk.M34PULAU.js";var y=(i=>(i[i.Default=0]="Default",i[i.Reset=1]="Reset",i[i.Temporary=2]="Temporary",i))(y||{}),l=class{constructor(e){this.name=e;this.key=`settings://${this.name}`;try{let t=localStorage.getItem(this.key);this.restore(JSON.parse(t).stores)}catch{}try{window.addEventListener("storage",t=>{let{key:i,newValue:s}=t;if(i===this.key)try{this.restore(JSON.parse(s).stores)}catch{}})}catch(t){console.error(t.message)}}key=null;stores=S();temporaries=S();settings=S();get(e,t){let i=this.settings[e][t];if(!i){let s=this.temporaries[e][t]||this.stores[e][t];s&&(i=JSON.parse(s),this.settings[e][t]=i)}return i}set(e,t,i,s=0){let n=JSON.stringify(i);return this.write(e,t,n,s)?(this.settings[e][t]=i,m(this,e,t),!0):!1}list(e){return Object.keys(this.temporaries[e]).length>0?Object.keys(Object.assign({},this.stores[e],this.temporaries[e])):Object.keys(this.stores[e])}read(e){return this.stores[e]}write(e,t,i,s){if(s!==1&&this.temporaries[e][t]!==void 0&&(s=2),s===2){if(this.temporaries[e][t]!==i)return this.temporaries[e][t]=i,this.settings[e][t]=null,!0}else if(this.stores[e][t]!==i)return this.stores[e][t]=i,this.settings[e][t]=null,s===0&&localStorage.setItem(this.key,JSON.stringify({stores:this.stores})),!0;return!1}restore(e){for(let t in e)for(let i in e[t])this.write(t,i,e[t][i],1)&&m(this,t,i)}},h=new Set,P=new l("default");function c(){return P}function I(r){return h.add(r),r}function b(r){h.delete(r)}function m(r,e,t){if(r===P&&r.settings[e][t]!==void 0)for(let i of h)i(e,t)}function S(){return{service_points:{},components:{},shareds:{}}}var a=new Map,g=new Set,v=class{constructor(e){this.descriptor=e;let[t,i]=e.id.split("/");this.service=t,this.name=i}service="";name="";services=[];loading=null;ready=!1;failure=null;get id(){return this.descriptor.id}get multiple(){return this.descriptor?.properties?.multiple||!1}async fetch(){return this.ready?this.services:(this.loading||(this.loading=new Promise(async e=>{let{descriptor:t}=this,{providers:i}=this.descriptor,s=await x(i,this.service,this.id,this);t===this.descriptor?(this.services=s,this.ready=!0,this.loading=null,e(this.services)):e(this.fetch())})),this.loading)}async reset(e){return this.descriptor!==e&&(this.descriptor=e,(this.loading||this.ready||this.failure)&&(this.failure=null,this.loading=null,this.ready=!1,g.forEach(t=>t(this)),await this.fetch()),g.forEach(t=>t(this))),this}override(e){let t=c(),i=t.get("service_points",this.id);t.set("service_points",this.id,{...i,providers:e},2)}notifyError(e){this.failure=e,p.error(e)}notifyObject(e){p.send(e)}};function G(r){return g.add(r),r}function H(r){g.delete(r)}u.listen(r=>{for(let e of a.values())e.descriptor.providers?.includes(r.id)&&g.forEach(t=>t(e))});async function x(r,e,t,i){let s=[];if(Array.isArray(r)&&r.length>0)for(let n of r){let o=d(n);if(await o.fetch()){let f=await o.acquireResource(e).fetch();f?s.push(f):i.notifyError(new Error(`ServicePoint '${t}': component '${n}' not implement service '${e}'`))}else i.notifyError(new Error(`ServicePoint '${t}': component '${n}' not found`))}return s}function C(r){let t=c().get("service_points",r);return t||(t={id:r,providers:[],properties:{}}),t}function w(r,e){let t=c(),i=t.get("service_points",r);if(i){let s=!1;for(let n in e){let o=e[n];o!==void 0&&i[n]!=o&&(i[n]=o,s=!0)}s&&t.set("service_points",r,i)}else i={id:r,providers:[],properties:e},t.set("service_points",r,i);return i}I((r,e)=>{if(r==="service_points"){let t=a.get(e);if(t){let i=c().get("service_points",e);t.reset(i),console.log("[Update Service Point]",e)}}});function L(r){return a.get(r)}function D(r){let e=a.get(r);return e||(e=new v(C(r)),a.set(e.id,e)),e}function j(r,e,t){let i=r.resource+"/"+e;return w(i,t),D(i)}export{y as a,l as b,c,I as d,b as e,a as f,v as g,G as h,H as i,C as j,w as k,L as l,D as m,j as n};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{URI as O}from"vscode-uri";import{URI as le,Utils as fe}from"vscode-uri";var l=class t{constructor(e,n){this.resource=e;this.definition=n}get(e){return e.getResource(this.resource)?.get()}fetch(e){return e.fetchResource(this.resource)}spec(e){return e.acquireResource(this.resource)?.spec}subservice(e){return t.About(`${this.resource}.${e}`)}static About(e,n=null){return new t(e,n)}};var D=l.About("component"),Ce=l.About("editor");var v={object:{async read(t){let e=await t.text();return JSON.parse(e)},async write(t){let e=JSON.stringify(t);return new Blob([e],{type:"application/json"})}},text:{async read(t){return t.text()},async write(t){return new Blob([t],{type:"text/plain"})}}};function U(t){let[e,n]=t.split(","),o=e.match(/data:([^;]+)/),r=o?o[1]:"application/octet-stream",s=atob(n),i=new Uint8Array(s.length);for(let c=0;c<s.length;c++)i[c]=s.charCodeAt(c);return new Blob([i],{type:r})}function B(t){let e=t.match(/data:([^;]+)/);return e?e[1]:"application/octet-stream"}async function F(t){return new Promise((e,n)=>{let o=new FileReader;o.onloadend=()=>e(o.result),o.onerror=n,o.readAsDataURL(t)})}import{URI as T}from"vscode-uri";function w(t){if(t.startsWith("./")){let e=T.parse(window.location.href),n=e.path.split("/");return n[n.length-1]=t.slice(2),e.with({path:n.join("/"),query:"",fragment:""})}else return t.startsWith("/")?T.parse(window.location.href).with({path:t,query:"",fragment:""}):T.parse(t)}async function X(t){let e=t.services?Object.keys(t.services):[];if(t.type){let n=await u(t.type)?.fetch();if(n){for(let o in n?.services)if(o.startsWith("component.")){let r=o.slice(10);e.includes(r)||e.push(r)}}else throw new Error("Cannot create publiction properly")}return e}async function x(t){let{$id:e}=t;return{id:e,type:t.type,icon:t.icon,title:t.title||e,description:t.description||"",keywords:t.keywords,tags:t.tags,services:await X(t)}}function Ie(t){let e={query:t?.query||"",pattern:t?.pattern||null,tags:t?.tags||[],keywords:t?.keywords||[],services:t?.services||[],types:t?.types||[]};if(e.query.length>0)for(let n of e.query.split(/\s/))n.length>0&&!e.keywords.includes(n)&&e.keywords.push(n);return e.keywords.length>0&&(e.pattern=new RegExp(`(${e.keywords.join(").*(")})`)),e}function h(t,e){function n(s,i){return i?s?!i||i.test(s):!1:!0}function o(s,i){return!!(i.length===0||s&&i.includes(s))}function r(s,i){if(i.length===0)return!0;if(s){for(let c of s)if(i.includes(c))return!0}return!1}return!(!n(t.title||t.id,e.pattern)&&!n(t.description,e.pattern)||!r(t.services,e.services)||!r(t.keywords,e.keywords)||!r(t.tags,e.tags)||!o(t.type,e.types))}function A(t){if(typeof t=="string"){let[e,n]=t.split("#",2),o={type:"module",location:e};if(n){let[r,s]=n.split("?",2);if(o.identifier=r,s)for(let i of s.split("&")){let[c,p]=i.split("=");o[c]=p===void 0?!0:p}}return o}return t}var I=class{constructor(e){this.storage=e}modules_exports=new Map;baseUrl=Y(import.meta.url);async load_resource(e){if(this.modules_exports.has(e))return this.modules_exports.get(e);let n=w(e);switch(await this.storage.check_content(n)){case"application/json":case"text/json":return this.import_module_json(e,n);default:return this.import_module_esm(e,n)}}async import_module_json(e,n){let o=await this.storage.load_content(n);return v.object.read(o)}async import_module_esm(e,n){let o=n.toString();try{let r=await import(o);return this.modules_exports.set(e,r),r}catch(r){throw r.message=`Cannot import '${o}': ${r.message}`,r}}};function Y(t){let e=t.split("/");return e.pop(),e.join("/")}import{URI as Z}from"vscode-uri";var S=class{async check_url_content(e){let n=await fetch(e,{method:"HEAD"});if(n.ok){let o=n.headers.get("content-type");return o?o.split(";")[0].trim():"application/octet-stream"}return null}async load_url_content(e){let n=await fetch(e);if(n.ok)return n.blob();throw new Error(`Fetch failed ${n.statusText} ${n.status} '${e}'`)}async check_content(e){if(e.scheme==="local"){let n=e.toString(),o=localStorage.getItem(n);if(o)return B(o);throw new Error(`Unsupported local content uri: ${e}`)}else return this.check_url_content(e.toString())}async load_content(e){if(e.scheme==="local"){let n=e.toString();if(localStorage.getItem(n))return U(localStorage.getItem(n));throw new Error(`Unsupported local content uri: ${e}`)}else return this.load_url_content(e.toString())}async store_content(e,n){if(n.scheme==="local"){let o=n.toString(),r=await F(e);return localStorage.setItem(o,r),!0}return!1}};function De(t,e,n){let o=n?`/${e}/${n}`:`/${e}`;return Z.from({scheme:"local",authority:t,path:o})}var _=class{pubs=new Map;constructor(e=[]){for(let n of e)this.pubs.set(n.id,n)}async get_component_publication(e){return this.pubs.get(e)}async search_component_publications(e){let n=[];for(let o of this.pubs.values())h(o,e)&&n.push(o);return n}},R=class extends _{manifests=new Map;async add_component(e){let n=await x(e);return this.manifests.set(n.id,e),this.pubs.set(n.id,n),n}async delete_component(e){return this.manifests.delete(e),this.pubs.delete(e),!0}async get_component_manifest(e){return this.manifests.get(e)}async set_component_manifest(e,n){return!1}};var M=class{constructor(e){this.content_provider=e}manifest=null;catalog=null;async get_provider_bundle(){return this.manifest||(this.manifest=await(await fetch("./bundle.manifest.json")).json()),this.manifest}async get_component_catalog(){if(!this.catalog){let e=await this.get_provider_bundle();this.catalog=new _(e.data?.components)}return this.catalog}async get_component_publication(e){return(await this.get_component_catalog()).get_component_publication(e)}async search_component_publications(e){return(await this.get_component_catalog()).search_component_publications(e)}async get_component_manifest(e){try{let o=(await this.get_provider_bundle()).data.components.find(r=>r.id===e);if(o){let r=w(o.ref?`./${o.ref}`:`./${e}.json`),s=await this.content_provider.load_content(r);if(s)return v.object.read(s)}}catch{}return null}async set_component_manifest(e,n){return!1}async add_component(e){return null}async delete_component(e){return!1}};var E=class{constructor(e=[]){this.providers=e}add_provider(e){this.providers.push(e)}async get_component_publication(e){for(let n of this.providers){let o=await n.get_component_publication(e);if(o)return o}return null}async search_component_publications(e){let n=[];for(let o of this.providers){let r=await o.search_component_publications(e);r&&n.push(...r)}return n}async get_component_manifest(e){for(let n of this.providers){let o=await n.get_component_manifest(e);if(o)return o}return null}async set_component_manifest(e,n){for(let o of this.providers)if(await o.set_component_manifest(e,n))return!0;return!1}async add_component(e){for(let n of this.providers){let o=await n.add_component(e);if(o)return o}return null}async delete_component(e){for(let n of this.providers)if(await n.delete_component(e))return!0;return!1}};var N=5;function ee(){return new Promise((t,e)=>{let n=window.indexedDB.open("LocalComponents",N);n.onerror=o=>{console.error("Database error:",o.target.error),e(o.target.error)},n.onupgradeneeded=()=>{console.log("Upgrade LocalComponents to ",N);debugger;let o=n.result;o.objectStoreNames.contains("components_manifests")&&o.deleteObjectStore("components_manifests"),o.objectStoreNames.contains("components_services")&&o.deleteObjectStore("components_services"),o.objectStoreNames.contains("components")&&o.deleteObjectStore("components"),o.createObjectStore("components",{keyPath:"id"}).createIndex("title","title",{unique:!1});let s=o.createObjectStore("components_services",{keyPath:["component_id","service"]});s.createIndex("component_id","component_id",{unique:!1}),s.createIndex("service","service",{unique:!1}),o.createObjectStore("components_manifests",{keyPath:"component_id"}).createIndex("component_id","component_id",{unique:!1})},n.onsuccess=()=>{let o=n.result;o.onerror=r=>{console.error("Database error:",r)},t(n.result)}})}function te(t,e){return new Promise((n,o)=>{let r=[],c=t.transaction(["components_manifests"],"readonly").objectStore("components_manifests").getAll(e);c.onsuccess=()=>{n(c.result?.[0]?.manifest)},c.onerror=p=>{o(p.target.error)}})}function ne(t,e){let o=t.transaction(["components","components_services"],"readonly").objectStore("components");return new Promise((r,s)=>{let i=o.get(e);i.onsuccess=()=>{r(i.result)},i.onerror=c=>{s(c.target.error)}})}function J(t,e){let o=t.transaction(["components","components_services"],"readonly").objectStore("components"),r=[];for(let s of e)r.push(new Promise((i,c)=>{let p=o.get(s);p.onsuccess=()=>{i(p.result)},p.onerror=m=>{c(m.target.error)}}));return Promise.all(r)}function oe(t,e){return new Promise((n,o)=>{let i=t.transaction(["components"],"readonly").objectStore("components").openCursor(),c=[];i.onsuccess=()=>{let p=i.result;if(p){let m=p.value;e(m)&&c.push(p.value),p.continue()}else n(c)},i.onerror=()=>{o(i.error)}})}function re(t,e,n){let s=t.transaction(["components_services"],"readonly").objectStore("components_services").index("service"),i=[];for(let c of e)i.push(new Promise((p,m)=>{let d=s.getAll(c);d.onsuccess=async()=>{for(let P of d.result)P.service===c&&n.add(P.component_id);p(void 0)},d.onerror=P=>{m(P.target.error)}}));return Promise.all(i)}async function se(t,e){let{services:n}=e;if(n&&n.length>0){let o=[],r=new Set;await re(t,n,r);for(let s of await J(t,Array.from(r)))h(s,e)&&o.push(s);return o}else return oe(t,o=>h(o,e))}function ie(t,e){return new Promise(async(n,o)=>{let r=await x(e),s=t.transaction(["components","components_services","components_manifests"],"readwrite");s.objectStore("components").put(r);let c=s.objectStore("components_services");for(let m of r.services)c.put({component_id:r.id,service:m});s.objectStore("components_manifests").put({component_id:r.id,manifest:e}),s.onerror=m=>o(m.target.error),s.oncomplete=()=>n(r),s.commit()})}function ce(t,e){return new Promise(async(n,o)=>{let r=await ne(t,e);if(r){let s=t.transaction(["components","components_services","components_manifests"],"readwrite");s.objectStore("components").delete(e);let c=s.objectStore("components_services");for(let m of r.services)c.delete([e,m]);s.objectStore("components_manifests").delete(e),s.onerror=m=>o(m.target.error),s.oncomplete=()=>n(!0),s.commit()}else n(!1)})}var $=class{db=ee();async get_component_publication(e){return(await J(await this.db,[e]))[0]}async search_component_publications(e){return se(await this.db,e)}async get_component_manifest(e){return te(await this.db,e)}async set_component_manifest(e,n){return!1}async add_component(e){return ie(await this.db,e)}async delete_component(e){return ce(await this.db,e)}};function K(){try{if(window)return new $}catch{}return new R}var b={...console},Ke=console.error=(...t)=>{b.error(...t.map(e=>typeof e=="string"?`\x1B[31m${e}\x1B[0m`:e))},We=console.warn=(...t)=>{b.warn(...t.map(e=>typeof e=="string"?`\x1B[35m${e}\x1B[0m`:e))},Qe=console.info=(...t)=>{b.info(...t.map(e=>typeof e=="string"?`\x1B[36m${e}\x1B[0m`:e))},Ge=console.trace=(...t)=>{b.trace(...t.map(e=>typeof e=="string"?`\x1B[34m${e}\x1B[0m`:e))},Ve=console.debug=(...t)=>{b.debug(...t.map(e=>typeof e=="string"?`\x1B[32m${e}\x1B[0m`:e))},ae=console;var k=class{notifyError(e,n){console.error(e),this.notifyObject(ue(e,n))}notifyObject(e){f.push(e),console.log(e)}},j=new Set,f=[],W=0,pe=new k;me(pe);function Q(){return W++,"id-"+Date.now().toString(36)+"-"+W.toString(2)}function me(t){j.add(t)}function Xe(t){j.delete(t)}function Ye(){return f.length}function G(t,e){let n=[];for(let o of f)if(e===void 0||e===o.component_id){if(n.length>=t)return{objects:n,hasMore:!0};n.push(o)}return{objects:n,hasMore:!1}}function V(t){return f.reduce((e,n)=>{if(t===void 0||t===n.component_id)switch(n.status){case"error":e.error_count++,e.warn_count++,e.notify_count++,e.info_count++;break;case"warn":e.warn_count++,e.notify_count++,e.info_count++;break;case"notify":e.notify_count++,e.info_count++;break;case"info":e.info_count++;break}return e},{action_expected_count:0,error_count:0,warn_count:0,notify_count:0,info_count:0})}var y={send(t){setTimeout(()=>{for(let e of j)e.notifyObject(t)},0)},error(t,e){setTimeout(()=>{for(let n of j)n.notifyError(t,e)},0)},event(t,e){let n=g(t),o=Q();y.send({...e,kind:"event",status:e.status||"error",message:e.message||`Issue with component: ${o}`,component_id:n.id,id:o})},openTicket(t,e,n){let o=g(t),r=`${o.id}/${e}`;y.send({...n,kind:"ticket",status:n.status||"error",message:n.message||`Issue with component: ${r}`,component_id:o.id,id:r})},closeTicket(t,e){let o=`${g(t).id}/${e}`,r=f.findIndex(s=>s.id===o);if(r>=0){let s=f[r];f.splice(r,1),y.event(t,{...s,kind:"event",status:"info",icon:"[success]bi:check-circle",message:`[closed] ${s.message}`,actions:void 0,doc_uri:void 0})}}};function ue(t,e){return{id:Q(),kind:"event",status:"error",component_id:g(e).id,message:t.message}}var C=class{constructor(e){this.id=e}__instance__=void 0;manifest=void 0;get title(){return this.id}get namespace(){let e=this.id.indexOf(":");switch(e){case-1:return"std";case 0:return"";default:return this.id.slice(0,e)}}get valid(){return this.manifest!==void 0&&this.manifest.type!=="<error>"}get loaded(){return this.manifest!==void 0}get installed(){return this.__instance__!==void 0}get instance(){return this.__instance__}set instance(e){if(this.__instance__=e,e instanceof Object)a.datamap.set(e,this);else if(e!==null)throw this.__instance__=null,new Error("Component instance shall be an object")}get(){if(this.manifest===void 0)throw new Error("Cannot get manifest of not loaded module");return this.manifest}set(e){return this.manifest=e,this}fetch(){let e=a.loadings.get(this);return e||(this.manifest===void 0?e=a.components_provider.get_component_manifest(this.id).then(async n=>{if(n)n.type&&await u(n.type).fetch(),this.manifest=n;else throw new Error(`Component '${this.id}' not found`);return this.manifest}).catch(n=>(y.error(n,this),this.set({$id:this.id,type:"<error>",message:n.message,stack:n.stack}),this.__instance__=new Error(n.message),this.manifest)):e=Promise.resolve(this.manifest),a.loadings.set(this,e),e)}async install(){let e=a.installings.get(this);return e||(this.instance===void 0?(this.instance=null,e=new Promise(async n=>{try{this.loaded===!1&&await this.fetch();let o=this.manifest?.type;if(o){let r=u(o);await(await D.fetch(r)).createComponent(this,this.manifest)}}catch(o){y.error(o,this)}n(this)})):e=Promise.resolve(this),a.installings.set(this,e),e)}acquireResource(e){let n=`${this.id}#${e}`,o=a.resources.get(n);return o||(o=new L(this,e),a.resources.set(n,o)),o}getResource(e){return this.hasResource(e)?this.acquireResource(e):null}hasResource(e){let{manifest:n}=this;if(n?.services?.[e])return!0;if(n?.type){let o=u(n.type);if(o)return o?.hasResource(`component.${e}`)}return!1}async getResourceAsync(e){return this.manifest===void 0&&await this.fetch(),this.getResource(e)}async fetchResource(e){return this.manifest===void 0&&await this.fetch(),this.getResource(e)?.fetch()}getLogStats(){return V(this.id)}getLogs(e){return G(e,this.id)}},L=class{constructor(e,n){this.component=e;this.resource=n;e.fetch()}entry=void 0;identifier=void 0;get valid(){return this.identifier!==void 0&&this.component.valid}get loaded(){return this.identifier!==void 0}async fetch(){if(this.identifier===void 0){let e=a.loadings.get(this);return e||(e=new Promise(async n=>{let{component:o}=this;try{o.installed===!1&&await o.install();let{manifest:r}=o,s=A(r.services?.[this.resource]),i=s?.type;if(i==="module")this.entry=await a.resources_loader.load_resource(s.location),this.identifier=s.identifier;else if(i==="api.rest")this.entry=H(s,o),this.identifier=null;else if(r.type){let m=u(r.type).getResource(`component.${this.resource}`);if(m){let d=await m.fetch();d?this.entry=await d(this.component):this.entry=null,this.identifier=null}else throw new Error(`Cannot provide resource '${this.resource}'`)}else throw new Error(`Cannot load resource '${this.resource}': ${JSON.stringify(s)}`);let c=this.get();c instanceof Object&&a.datamap.set(c,this)}catch(r){console.error(`Cannot install service '${this.resource}' of '${o.id}':`,r),this.entry=null,this.identifier=null}n(this.get()),a.loadings.set(this,null)}),a.loadings.set(this,e),e)}else return this.get()}get(){if(this.entry)return this.identifier!==null?this.entry?.[this.identifier]:this.entry}set(e){this.entry=e,this.identifier=null}get spec(){let e=this.resource.split(".")[0];return this.component.manifest?.specs?.[e]}get url(){let e=this.component.manifest?.services?.[this.resource];if(typeof e=="string"){let n=le.parse(window.location.href).with({fragment:null});return fe.joinPath(n,"..",e.split("#")[0]).toString()}return null}},q=class{components=new Map;resources=new Map;datamap=new WeakMap;loadings=new Map;installings=new Map;listeners=new Set;components_provider=new E([]);resources_loader=null;content_provider=null;constructor(){this.content_provider=new S,this.components_provider.add_provider(new M(this.content_provider)),this.components_provider.add_provider(K()),this.resources_loader=new I(this.content_provider)}listen(e){return this.listeners.add(e),e}unlisten(e){this.listeners.delete(e)}notifyError(e,n){}},a=new q;u("<error>").set({$id:"<error>",icon:"bi:house",title:"Define invalid component"});function de(){return u("log:application")}function g(t,e){if(t instanceof Object){let n=a.datamap.get(t)||t;if(n instanceof C)return n;if(n instanceof L)return n.component;if(!e&&t.getComponent instanceof Function)return g(t.getComponent(),!0)}return de()}function u(t){let e=a.components.get(t);return!e&&typeof t=="string"&&(e=new C(t),a.components.set(t,e)),e}function ut(t){let e=t.$id,n=a.components.get(e);return!n&&typeof e=="string"&&(n=new C(e),n.manifest=t,n.instance=null,a.components.set(e,n)),n}function lt(t){let e=t.split("#");return e.length===2?u(e[0])?.acquireResource(e[1]):null}function ft(t,e){return e&&t.startsWith("/")?u(`${e?.id}${t}`):null}async function dt(t){let e=u(t.$id);return a.loadings.delete(e),e.manifest=t,ge(e)}async function ge(t){console.log("[Update Component]",t.id);let e=await t.fetch();if(await a.components_provider.add_component(e),t.loaded&&e.type&&t.installed){let o=await D.fetch(u(e.type));o&&(t.instance?await o.updateComponent(t,e):(t.__instance__=void 0,await o.createComponent(t,e))),t.instance instanceof Object&&a.datamap.set(t.instance,t),a.listeners.forEach(r=>r(t))}return t}async function gt(t){console.log("deleteComponent",t),await a.components_provider.delete_component(t)&&ye(t)}function ye(t){let e=a.components.get(t);e&&(e.set({$id:e.id,type:"<error>",message:"Component deleted"}),a.listeners.forEach(n=>n(e)),a.components.delete(t))}async function yt(t){return a.components_provider.search_component_publications(t)}async function ht(t){let e=[];for(let n of t){let o=await a.components_provider.get_component_publication(n);o?e.push(o):e.push(he(n))}return e}function he(t,e){return{id:t,title:e||"! Not found: "+t}}var z=l.About("api.rest");function H(t,e){let n=t.endpoint+(t.path||"");return{invoke(o,r){return globalThis.fetch(n+o,r)},getUrl(o){return n+o}}}var wt={async fetch(t,e){if(typeof t=="string"&&(t=O.parse(t)),t.scheme==="jtd"){let n=u(t.authority),o=await z.fetch(n);if(o){let r=t.query?`${t.path}?${t.query}`:t.path;return o.invoke(r,e)}else return Response.error()}else return fetch(t.toString(),e)},async getUri(t){if(typeof t=="string"&&(t=O.parse(t)),t.scheme==="jtd"){let e=u(t.authority),n=await z.fetch(e);if(n){let o=t.query?`${t.path}?${t.query}`:t.path;t=O.parse(n.getUrl(o))}else throw new Error(`Unknown component '${t.authority}'`)}return t}};export{l as a,D as b,Ce as c,w as d,X as e,x as f,Ie as g,h,A as i,I as j,S as k,De as l,_ as m,R as n,M as o,E as p,K as q,z as r,H as s,wt as t,C as u,L as v,q as w,a as x,de as y,g as z,u as A,ut as B,lt as C,ft as D,dt as E,ge as F,gt as G,ye as H,yt as I,ht as J,he as K,ae as L,me as M,Xe as N,Ye as O,G as P,V as Q,y as R,ue as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as h,C as V,a as w}from"./chunk.
|
|
1
|
+
import{A as h,C as V,a as w}from"./chunk.M34PULAU.js";var S={stringify(n,r){let e=new URLSearchParams;for(let[t,o]of Object.entries(n||{}))if(!(r?.skipNull&&o===null)&&!(r?.skipEmptyString&&o===""))if(Array.isArray(o))for(let s of o)e.append(t,String(s));else e.set(t,String(o));return e.toString()},parse(n,r){let e={},t=new URLSearchParams(n);for(let[o,s]of t.entries())e[o]=s;return e}},I=w.About("view");function g(n){if(!n)return"";if(n instanceof Object){let r=[];for(;n;){let e=S.stringify(n.params,{skipNull:!1,skipEmptyString:!1});e?r.push(`${n.name}?${e}`):r.push(n.name),n=n.nested}return r.join("/")}return n.startsWith("#")?n.slice(1):n}function a(n,r){if(!n)return null;if(n instanceof Object)return n;let e=null,t=null;n=n.startsWith("#")?n.slice(1):n;for(let o of n.split("/"))if(o){let[s,u]=o.split("?"),c={};u&&(c=S.parse(u,{parseNumbers:!1,parseBooleans:!1}));let f={name:s,params:c};t?t.nested=f:e=f,t=f}return t&&(t.content=r),e}function R(n,r){if(n==="safe")return null;if(n){let e=typeof n=="string"?n:n?.rule,t=V(e).get();if(t)try{return t.check(r,n instanceof Object?n:null)}catch(o){return o}else return new Error("Data security guard not found")}else return new Error("Data cannot be securised")}function k(n,r,e){if(r!==void 0){if(e!==!0){let t=R(n?.security,r);if(t)throw t}return r}else return n.default}function d(n,r,e,t){let o={},s=I.spec(n),u=t==="safe",c=s?.properties;if(c instanceof Object){let{content:f}=e,l=e.params||{},y=s.aliases;if(y){let i={};for(let p in l){let m=y?.[p]||p;i[m]=l[p]}l=i}for(let i in c){let p=c[i],m=l[i];f!==void 0&&p?.binding?.source==="content"&&(m=f);try{o[i]=k(p,m,u)}catch(b){throw new Error(`Invalid param '${i}' : ${b.message}`)}}}return o}async function N(n,r){typeof n=="string"&&(n=a(n));let e=h(n.name),t=await e.fetch();if(e.valid){let o=d(e,t,n,r||"unknown");return{component:e,properties:o}}else throw new Error(`Component '${e.id}' is invalid`)}function O(n,r){let{origin:e,pathname:t}=window.location;typeof n=="string"&&(n=a(n)),r&&(typeof r=="string"&&(r=a(e)),n={...r,nested:n});let o="#"+g(n);return`${e}${t}${o}`}function $(n,r){let{origin:e}=window.location;typeof n=="string"&&(n=a(n)),r&&(typeof r=="string"&&(r=a(e)),n={...r,nested:n});let t="#"+g(n);window.location.assign(t)}function C(n){typeof n=="string"&&(n=a(n));let r=a(window.location.hash),e="#"+g({...n,params:{...r.params,...n.params}});window.location.replace(e)}export{I as a,g as b,a as c,N as d,O as e,$ as f,C as g};
|
package/export.commands.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as o,
|
|
1
|
+
import{A as o,R as r}from"./chunk.M34PULAU.js";import{URI as d}from"vscode-uri";async function l(t){console.log("executeCommand:",t.target);let a=d.parse(t.target),i=o(a.authority);if(a.scheme==="command")try{let e=await i.fetchResource("commands");if(e?.execute instanceof Function)e.execute(a.path,t.payload);else throw new Error("Invalid commands service")}catch(e){r.error(e)}}export{l as executeCommand};
|
package/export.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
`)}else if(e.type)return e.type;return"any"}var pr={getPropertyTyping:re,getItemTyping:oe,getValueTyping:J,isType:ae,typeAsString:se,generateTypescript:N};import{z as o}from"zod";var ie=o.enum(["string","number","integer","boolean","object","array","null"]),le=o.enum(["module","function","service"]),P=o.union([o.string(),o.number(),o.boolean(),o.null(),o.record(o.string(),o.any()),o.array(o.any())]),ue=o.object({title:o.string().optional(),properties:o.array(o.string()).optional(),secondaryProperties:o.array(o.string()).optional(),patternProperties:o.array(o.string()).optional(),additionalProperties:o.boolean().optional()}),pe=o.object({description:o.string().optional(),chapters:o.array(ue).optional(),additionalChapter:o.boolean().optional()}),ce=o.object({source:o.string()}),fe=o.object({type:o.string()}).passthrough(),c=o.lazy(()=>b),ye=o.object({title:o.string().optional(),icon:o.string().optional(),description:o.string().optional(),args:o.array(c).optional(),content:fe}),me=o.object({view:o.string(),properties:o.record(o.string(),c).optional()}),yr=o.object({check:o.any()}),he=o.union([o.literal("safe"),o.string(),o.object({rule:o.string()}).passthrough()]),Se=o.string(),ge=o.union([Se,o.object({type:o.string(),data:o.any().optional()})]),L=o.object({$id:o.string().optional(),$ref:o.string().optional(),$schema:o.string().optional(),$comment:o.string().optional(),$defs:o.record(o.string(),o.lazy(()=>c)).optional(),type:o.union([ie,le]).optional(),enum:o.array(P).optional(),const:P.optional(),multipleOf:o.number().optional(),maximum:o.number().optional(),exclusiveMaximum:o.number().optional(),minimum:o.number().optional(),exclusiveMinimum:o.number().optional(),maxLength:o.number().optional(),minLength:o.number().optional(),pattern:o.string().optional(),items:o.union([o.lazy(()=>c),o.array(o.lazy(()=>c))]).optional(),additionalItems:o.lazy(()=>c).optional(),maxItems:o.number().optional(),minItems:o.number().optional(),uniqueItems:o.boolean().optional(),contains:o.lazy(()=>c).optional(),maxProperties:o.number().optional(),minProperties:o.number().optional(),required:o.array(o.string()).optional(),properties:o.record(o.string(),o.lazy(()=>c)).optional(),patternProperties:o.record(o.string(),o.lazy(()=>c)).optional(),additionalProperties:o.lazy(()=>c).optional(),dependencies:o.record(o.string(),o.union([o.lazy(()=>c),o.array(o.string())])).optional(),propertyNames:o.lazy(()=>c).optional(),if:o.lazy(()=>c).optional(),then:o.lazy(()=>c).optional(),else:o.lazy(()=>c).optional(),allOf:o.array(o.lazy(()=>c)).optional(),anyOf:o.array(o.lazy(()=>c)).optional(),oneOf:o.array(o.lazy(()=>c)).optional(),not:o.lazy(()=>c).optional(),format:o.string().optional(),contentMediaType:o.string().optional(),contentEncoding:o.string().optional(),definitions:o.record(o.string(),o.lazy(()=>c)).optional(),title:o.string().optional(),description:o.string().optional(),default:P.optional(),readOnly:o.boolean().optional(),writeOnly:o.boolean().optional(),examples:P.optional()}),V=o.object({title:o.string().optional(),icon:o.string().optional(),doc:pe.optional(),$error:o.union([o.string(),o.instanceof(Error)]).optional(),args:o.array(o.lazy(()=>b)).optional(),placeholder:o.boolean().optional(),resources:o.record(o.string(),ge).optional(),security:he.optional(),"allow-origin":o.string().optional(),docking:me.optional(),templates:o.array(ye).optional(),binding:ce.optional(),aliases:o.record(o.string(),o.string()).optional()}),de=L.merge(V).extend({type:o.literal("service"),$spec:o.string(),version:o.string().optional()}),mr=L.merge(V).extend({type:o.literal("function"),input:o.union([o.lazy(()=>b),o.array(o.lazy(()=>b))]).optional(),output:o.union([o.lazy(()=>b),o.array(o.lazy(()=>b))]).optional()}),b=o.lazy(()=>o.union([L.merge(V),de]));var S=class{constructor(t,n,r={}){this.$parentScope=t;this.$thisScope=n;this.locals=r}getThis(){return this.$thisScope}getValue(t){if(Object.hasOwn(this.locals,t))return this.locals[t];if(this.$parentScope)return this.$parentScope.getValue(t)}setValue(t,n){if(Object.hasOwn(this.locals,t)){this.locals[t]=n;return}this.$parentScope?.setValue(t,n)}setArguments(t,n){this.locals.arguments=t;let r=Math.min(t.length,n.length);for(let a=0;a<r;a++){let i=n[a];this.locals[i.name]=t[a]}}},Er=new S(null,null),x=Symbol("return"),C=Symbol("break"),R=Symbol("continue"),D=class{constructor(t){this.value=t}symbol=x},F=class{symbol=C},$=class{symbol=R};function v(e){return e!==null&&typeof e=="object"&&"symbol"in e&&(e.symbol===x||e.symbol===C||e.symbol===R)}var Z=new Map([["+",(e,t)=>e+t],["-",(e,t)=>e-t],["*",(e,t)=>e*t],["/",(e,t)=>e/t],["%",(e,t)=>e%t],["==",(e,t)=>e==t],["!=",(e,t)=>e!=t],["===",(e,t)=>e===t],["!==",(e,t)=>e!==t],["<",(e,t)=>e<t],["<=",(e,t)=>e<=t],[">",(e,t)=>e>t],[">=",(e,t)=>e>=t]]),we=new Map([["-",e=>-e],["+",e=>+e],["!",e=>!e],["~",e=>~e],["typeof",e=>typeof e],["void",e=>{}]]),Q=new Map([["=",(e,t)=>t],["+=",(e,t)=>e+t],["-=",(e,t)=>e-t],["*=",(e,t)=>e*t],["/=",(e,t)=>e/t],["%=",(e,t)=>e%t]]);function be(e){return e.value}function xe(e,t){return t.getValue(e.name)}function ve(e){return e.getThis()}function Te(e,t){let n=s(e.left,t),r=s(e.right,t),a=Z.get(e.operator);if(!a)throw new Error(`Unsupported binary operator: ${e.operator}`);return a(n,r)}function Ee(e,t){let n=s(e.left,t);if(e.operator==="&&")return n&&s(e.right,t);if(e.operator==="||")return n||s(e.right,t);throw new Error(`Unsupported logical operator: ${e.operator}`)}function ke(e,t){if(e.operator==="delete"){if(e.argument.type==="MemberExpression"){let a=e.argument,i=s(a.object,t),u=a.computed?s(a.property,t):a.property.name;return delete i[u]}throw new Error(`Unsupported delete operation on type: ${e.argument.type}`)}let n=s(e.argument,t),r=we.get(e.operator);if(!r)throw new Error(`Unsupported unary operator: ${e.operator}`);return r(n)}function Ae(e,t){if(e.argument.type!=="Identifier")throw new Error("Update expression only supports identifiers");let n=e.argument,r=t.getValue(n.name);if(e.operator==="++"){let a=r+1;return t.setValue(n.name,a),e.prefix?a:r}if(e.operator==="--"){let a=r-1;return t.setValue(n.name,a),e.prefix?a:r}throw new Error(`Unsupported update operator: ${e.operator}`)}function Oe(e,t){if(e.left.type!=="Identifier")throw new Error("Assignment only supports identifier left-hand side");let n=e.left,r=s(e.right,t),a=t.getValue(n.name),i=Q.get(e.operator);if(!i)throw new Error(`Unsupported assignment operator: ${e.operator}`);let u=i(a,r);return t.setValue(n.name,u),u}function Ie(e,t){let n=s(e.callee,t);if(typeof n!="function")throw new Error("Attempt to call a non-function");let r=new Array(e.arguments.length);for(let a=0;a<e.arguments.length;a++)r[a]=s(e.arguments[a],t);return n.apply(t.getThis(),r)}function Ne(e,t){let n=s(e.object,t),r=e.computed?s(e.property,t):e.property.name,a=n[r];return typeof a=="function"?a.bind(n):a}function Pe(e,t){let n=s(e.test,t);return s(n?e.consequent:e.alternate,t)}function Ce(e,t){let n=new Array(e.elements.length);for(let r=0;r<e.elements.length;r++)n[r]=s(e.elements[r],t);return n}function je(e,t){let n={};for(let r of e.properties){let a=r,i=a.key.type==="Literal"?a.key.value:a.key.name;n[String(i)]=s(a.value,t)}return n}function ze(e,t){return function(...n){let r=new S(t,this);r.setArguments(n,e.params);try{return s(e.body,r)}catch(a){if(v(a)&&a.symbol===x)return a.value;throw a}}}function Je(e,t){return function(...n){let r=new S(t,t.getThis());r.setArguments(n,e.params);try{return s(e.body,r)}catch(a){if(v(a)&&a.symbol===x)return a.value;throw a}}}function Le(e,t){let n;for(let r of e.body)n=s(r,t);return n}function Ve(e,t){return s(e.expression,t)}function De(e,t){let n;for(let r of e.declarations){let a=r.id.name,i=r.init?s(r.init,t):void 0;t.setValue(a,i),n=i}return n}function Fe(e,t){let n=e.argument?s(e.argument,t):void 0;throw new D(n)}function $e(e,t){if(s(e.test,t))return s(e.consequent,t);if(e.alternate)return s(e.alternate,t)}function k(e,t){if(v(e)){if(e.symbol===C)return{shouldBreak:!0,shouldContinue:!1,result:t};if(e.symbol===R)return{shouldBreak:!1,shouldContinue:!0,result:t};if(e.symbol===x)throw e}throw e}function Re(e,t){let n;for(;s(e.test,t);)try{n=s(e.body,t)}catch(r){let a=k(r,n);if(a.shouldBreak)break;if(a.shouldContinue)continue;n=a.result}return n}function Me(e,t){let n;for(e.init&&s(e.init,t);!e.test||s(e.test,t);){try{n=s(e.body,t)}catch(r){let a=k(r,n);if(a.shouldBreak)break;if(a.shouldContinue){e.update&&s(e.update,t);continue}n=a.result}e.update&&s(e.update,t)}return n}var l=new Map([["Literal",be],["Identifier",xe],["ThisExpression",(e,t)=>ve(t)],["BinaryExpression",Te],["LogicalExpression",Ee],["UnaryExpression",ke],["UpdateExpression",Ae],["AssignmentExpression",Oe],["CallExpression",Ie],["MemberExpression",Ne],["ConditionalExpression",Pe],["ArrayExpression",Ce],["ObjectExpression",je],["FunctionExpression",ze],["ArrowFunctionExpression",Je],["BlockStatement",Le],["ExpressionStatement",Ve],["VariableDeclaration",De],["ReturnStatement",Fe],["IfStatement",$e],["WhileStatement",Re],["ForStatement",Me],["BreakStatement",()=>{throw new F}],["ContinueStatement",()=>{throw new $}],["EmptyStatement",()=>{}]]);function Be(e,t){let n;do try{n=s(e.body,t)}catch(r){let a=k(r,n);if(a.shouldBreak)break;if(a.shouldContinue)continue;n=a.result}while(s(e.test,t));return n}function _e(e,t){let n=s(e.right,t),r;for(let a in n)if(Object.prototype.hasOwnProperty.call(n,a)){X(e.left,a,t);try{r=s(e.body,t)}catch(i){let u=k(i,r);if(u.shouldBreak)break;if(u.shouldContinue)continue;r=u.result}}return r}function qe(e,t){let n=s(e.right,t),r;for(let a of n){X(e.left,a,t);try{r=s(e.body,t)}catch(i){let u=k(i,r);if(u.shouldBreak)break;if(u.shouldContinue)continue;r=u.result}}return r}function X(e,t,n){if(e.type==="VariableDeclaration"){let r=e.declarations[0].id.name;n.setValue(r,t)}else e.type==="Identifier"&&n.setValue(e.name,t)}function Ue(e,t){let n=s(e.discriminant,t),r=!1,a;for(let i of e.cases)if(!r&&i.test&&s(i.test,t)===n&&(r=!0),r||!i.test&&!r)for(let u of i.consequent)try{a=s(u,t)}catch(p){if(v(p)&&p.symbol===C)return a;throw p}return a}function Ge(e,t){throw s(e.argument,t)}function Ke(e,t){let n;try{n=s(e.block,t)}catch(r){if(e.handler){let a=e.handler.param?e.handler.param.name:void 0,i=new S(t,t.getThis());a&&i.setValue(a,r),n=s(e.handler.body,i)}else throw r}finally{e.finalizer&&s(e.finalizer,t)}return n}function Ye(e,t){return s(e.body,t)}function We(e,t){let n;for(let r of e.body)n=s(r,t);return n}function He(e,t){let n=function(...r){let a=new S(t,this);a.setArguments(r,e.params);try{return s(e.body,a)}catch(i){if(v(i)&&i.symbol===x)return i.value;throw i}};return e.id&&t.setValue(e.id.name,n),n}function Ze(e,t){let n=s(e.callee,t);if(typeof n!="function")throw new Error("Attempt to construct a non-function");let r=new Array(e.arguments.length);for(let a=0;a<e.arguments.length;a++)r[a]=s(e.arguments[a],t);return new n(...r)}function Qe(e,t){let n;for(let r of e.expressions)n=s(r,t);return n}function Xe(e,t){let n=e.argument?s(e.argument,t):void 0;if(e.delegate)throw new Error("yield* delegation not implemented");return n}function et(e,t){let n="";for(let r=0;r<e.quasis.length;r++)if(n+=e.quasis[r].value.cooked||e.quasis[r].value.raw,r<e.expressions.length){let a=s(e.expressions[r],t);n+=String(a)}return n}function tt(e,t){let n=s(e.tag,t);if(typeof n!="function")throw new Error("Template tag must be a function");let r=e.quasi.quasis.map(i=>i.value.cooked||i.value.raw);Object.defineProperty(r,"raw",{value:e.quasi.quasis.map(i=>i.value.raw)});let a=e.quasi.expressions.map(i=>s(i,t));return n(r,...a)}function nt(e,t){let n=s(e.argument,t);if(typeof n=="string"||Array.isArray(n))return[...n];if(n&&typeof n=="object")return{...n};throw new Error("Invalid spread operation")}function rt(e,t){throw new Error("ObjectPattern evaluation requires assignment context")}function ot(e,t){throw new Error("ArrayPattern evaluation requires assignment context")}function at(e,t){throw new Error("RestElement evaluation requires destructuring context")}function st(e,t){return s(e.right,t)}function it(e,t){let n=ee(e,t);return e.id&&t.setValue(e.id.name,n),n}function ee(e,t){let n=e.superClass?s(e.superClass,t):null,r=function(...a){let i=e.body.body.find(u=>u.type==="MethodDefinition"&&u.kind==="constructor");if(i)return s(i.value,t).apply(this,a);if(n)return n.apply(this,a)};n&&(Object.setPrototypeOf(r.prototype,n.prototype),Object.setPrototypeOf(r,n));for(let a of e.body.body)if(a.type==="MethodDefinition"&&a.kind!=="constructor"){let i=a,u=s(i.value,t),p=i.computed?s(i.key,t):i.key.name;i.static?r[p]=u:r.prototype[p]=u}return r}function lt(e,t){return s(e.value,t)}function ut(e,t){throw new Error("Super can only be used in class methods")}function pt(e,t){if(!(e.meta.name==="new"&&e.property.name==="target")){if(e.meta.name==="import"&&e.property.name==="meta")return{};throw new Error(`Unsupported meta property: ${e.meta.name}.${e.property.name}`)}}function ct(e,t){let n=s(e.argument,t);if(n&&typeof n=="object"&&"then"in n)throw new Error("Async/await requires async context");return n}function ft(e,t){try{return s(e.expression,t)}catch{return}}function yt(e,t){throw new Error("Dynamic import not supported in this interpreter")}function mt(e,t){return s(e.expression,t)}function ht(e,t){throw new Error("Private identifiers require class context")}function St(e,t){throw new Error("Import declarations require module system")}function gt(e,t){if(e.declaration)return s(e.declaration,t)}function dt(e,t){return s(e.declaration,t)}function wt(e,t){throw new Error("Export all declarations require module system")}var bt=new Map([...Z,["<<",(e,t)=>e<<t],[">>",(e,t)=>e>>t],[">>>",(e,t)=>e>>>t],["|",(e,t)=>e|t],["^",(e,t)=>e^t],["&",(e,t)=>e&t],["in",(e,t)=>e in t],["instanceof",(e,t)=>e instanceof t],["**",(e,t)=>e**t]]),xt=new Map([...Q,["<<=",(e,t)=>e<<t],[">>=",(e,t)=>e>>t],[">>>=",(e,t)=>e>>>t],["|=",(e,t)=>e|t],["^=",(e,t)=>e^t],["&=",(e,t)=>e&t],["**=",(e,t)=>e**t],["||=",(e,t)=>e||t],["&&=",(e,t)=>e&&t],["??=",(e,t)=>e??t]]),vt=new Map([["||",(e,t,n)=>e||s(t,n)],["&&",(e,t,n)=>e&&s(t,n)],["??",(e,t,n)=>e??s(t,n)]]);function Tt(e,t){let n=s(e.left,t),r=s(e.right,t),a=bt.get(e.operator);if(!a)throw new Error(`Unsupported binary operator: ${e.operator}`);return a(n,r)}function Et(e,t){let n=s(e.left,t),r=vt.get(e.operator);if(!r)throw new Error(`Unsupported logical operator: ${e.operator}`);return r(n,e.right,t)}function kt(e,t){if(e.left.type!=="Identifier")throw new Error("Assignment only supports identifier left-hand side");let n=e.left,r=s(e.right,t),a=t.getValue(n.name),i=xt.get(e.operator);if(!i)throw new Error(`Unsupported assignment operator: ${e.operator}`);let u=i(a,r);return t.setValue(n.name,u),u}l.set("Program",We);l.set("FunctionDeclaration",He);l.set("NewExpression",Ze);l.set("SequenceExpression",Qe);l.set("YieldExpression",Xe);l.set("TemplateLiteral",et);l.set("TaggedTemplateExpression",tt);l.set("SpreadElement",nt);l.set("ObjectPattern",rt);l.set("ArrayPattern",ot);l.set("RestElement",at);l.set("AssignmentPattern",st);l.set("ClassDeclaration",it);l.set("ClassExpression",ee);l.set("MethodDefinition",lt);l.set("Super",ut);l.set("MetaProperty",pt);l.set("AwaitExpression",ct);l.set("ChainExpression",ft);l.set("ImportExpression",yt);l.set("ParenthesizedExpression",mt);l.set("PrivateIdentifier",ht);l.set("ImportDeclaration",St);l.set("ExportNamedDeclaration",gt);l.set("ExportDefaultDeclaration",dt);l.set("ExportAllDeclaration",wt);l.set("BinaryExpression",Tt);l.set("LogicalExpression",Et);l.set("AssignmentExpression",kt);l.set("DoWhileStatement",Be);l.set("ForInStatement",_e);l.set("ForOfStatement",qe);l.set("SwitchStatement",Ue);l.set("ThrowStatement",Ge);l.set("TryStatement",Ke);l.set("LabeledStatement",Ye);l.set("DebuggerStatement",()=>{});l.set("WithStatement",()=>{throw new Error("WithStatement is not supported for security reasons")});l.set("VariableDeclarator",(e,t)=>{let n=e.init?s(e.init,t):void 0;return e.id.type==="Identifier"&&t.setValue(e.id.name,n),n});l.set("SwitchCase",(e,t)=>{let n;for(let r of e.consequent)n=s(r,t);return n});l.set("CatchClause",(e,t)=>s(e.body,t));l.set("Property",(e,t)=>s(e.value,t));l.set("TemplateElement",e=>e.value.cooked||e.value.raw);function s(e,t){if(!e||!e.type)throw new Error("Invalid node: missing type");let n=l.get(e.type);if(n)try{return n(e,t)}catch(r){throw v(r)?r:new Error(`Error evaluating ${e.type}: ${r instanceof Error?r.message:String(r)}`)}throw new Error(`Unsupported node type: ${e.type}`)}import*as te from"acorn";import*as q from"astring";var At=(r=>(r[r.DollarBracket=0]="DollarBracket",r[r.DollarCurly=1]="DollarCurly",r[r.CurlyCurly=2]="CurlyCurly",r))(At||{}),B=class{constructor(t,n,r){this.start=t;this.end=n;this.node=r}evaluate(t){return s(this.node,t)}toString(){return q.generate(this.node)}},_=class{constructor(t,n,r){this.pattern=t;this.bindings=n;this.issues=r}evaluate(t){let{pattern:n,bindings:r}=this,a=new S(null,null,t.vars),i=n,u=t.encoder||Nt;for(let p in r){let f=r[p];try{let g=f.evaluate(a);i=i.replace(p,u(g))}catch(g){let T=q.generate(f.node);throw console.log(`Invalid binding '${T}':`,g),new Error(`Invalid binding '${T}': ${g.message}`)}}return i}getBindingAt(t){for(let n in this.bindings){let r=this.bindings[n];if(t>=r.start&&t<r.end)return r}return null}toString(){let{pattern:t,bindings:n}=this,r=t;for(let a in n){let i=n[a];r=r.replace(a,i.toString())}return r}};function M(e,t,n){return{startToken:e,endToken:t,escapeChar:n,escapeCode:n.charCodeAt(0)}}var Ot=[M("$(",")","\\"),M("${","}","\\"),M("{{","}}","\\")];function Or(e,t,n=It){let{startToken:r,endToken:a,escapeCode:i}=Ot[t],u={ecmaVersion:2020},p={},f=n(e),g=0,T=[],A=[],E=0,y=0;for(;y=e.indexOf(r,y),!(y<0);)if(e.charCodeAt(y-1)===i)A.push(e.slice(E,y-1),r),E=y=y+r.length;else try{let d=te.parseExpressionAt(e,y+r.length,u),j=e.indexOf(a,d.end);if(j>0&&e.slice(d.end,j).trim()===""){let U=f(g);p[U]=new B(d.start,d.end,d),A.push(e.slice(E,y),U),E=y=j+a.length,g++}else throw new Error(`Embedding shall end with '${a}'`)}catch(d){T.push(d),y++}A.push(e.slice(E,e.length));let ne=A.join("");return new _(ne,p,T)}function It(e){let t="$";for(;e.includes(t);)t+="_";return n=>t+n}function Nt(e){return e===void 0||e===null?"":e.toString()}export{Q as ASSIGNMENT_OPERATIONS,zn as AccountSettings,Z as BINARY_OPERATIONS,ce as BindingSchema,ue as ChapterSchema,Ut as CombinedComponentProvider,ur as CommonMakers,$t as CommonResourceProvider,h as CommonTypes,Ct as ComponentControllerKey,Kt as ComponentEntry,Yt as ComponentResource,Wt as ComponentsManifold,Ht as ComponentsRegistry,me as DockingSchema,pe as DocumentationSchema,xt as ENHANCED_ASSIGNMENT_OPERATIONS,bt as ENHANCED_BINARY_OPERATIONS,vt as ENHANCED_LOGICAL_OPERATIONS,jt as EditorKey,At as EmbedSyntax,Er as EmptyScope,w as ErrorTypes,fe as ExpressionSchema,mr as FunctionSchemaSchema,K as HttpStatusAttribute,_t as InMemComponentProvider,Bt as InMemComponentPublisher,c as JSONSchema7DefinitionSchema,le as JSONSchema7TypeNameCustomSchema,ie as JSONSchema7TypeNameSchema,P as JSONSchema7TypeSchema,V as JSONSchemaCustomSchema,b as JSONSchemaSchema,L as JSONSchemaStandardSchema,I as Listenable,S as LocalScope,Sn as Log,O as Observable,G as ObservableAttribute,ge as ResourceEntrySchema,Se as ResourceLinkSchema,H as RestResource,pr as Schema,he as SecurityGuardSchema,yr as SecurityRuleSchema,Pt as ServiceAccessor,Fn as ServicePoint,Dn as ServicePoints,de as ServiceSchemaSchema,qt as StaticComponentProvider,Rt as StaticContentProvider,ye as TemplateSchema,B as TextBinding,_ as TextTemplate,we as UNARY_OPERATIONS,jn as WriteMode,wn as ZodService,Xt as acquireComponent,en as acquireFutureComponent,tn as acquireResource,qn as acquireServicePoint,Mn as acquireServicePointDescriptor,Gn as areSimilarObjects,An as checkVersionCompatibility,Mt as contentLocalURI,Vt as createComponentFilter,Lt as createComponentPublication,Gt as createLocalComponentProvider,gn as createLogFromError,Un as createServicePoint,On as defineServiceSpec,an as deleteComponent,s as evaluateExpression,pn as failedComponentPublication,un as fetchComponentsPublications,kn as generateTypeScript,Qt as getComponentFromData,Jt as getComponentServicesList,Zt as getDefaultComponent,_n as getServicePoint,Nn as getServiceSchema,Pn as getServiceSchemaFromSpec,In as getServiceZod,Jn as getSettings,vn as jsonSchemaToZod,Kn as listOneOrMany,$n as listenServicePoints,Ln as listenSettings,Dt as matchComponentFilter,Cn as matchesSpecification,zt as parseComponentURI,Ft as parseResourceEntry,Or as parseTextTemplate,yn as queryLogCount,hn as queryLogInfos,mn as queryLogObjects,cn as registerLogCollector,nn as resolveRelativeComponent,on as saveComponent,rn as saveComponentManifest,ln as searchComponentsPublications,Rn as unlistenServicePoints,Vn as unlistenSettings,sn as unregisterComponent,fn as unregisterLogCollector,Bn as updateServicePointDescriptor,Tn as validate,En as validateOrThrow,dn as z,bn as zService,xn as zodToJSONSchema};
|
|
1
|
+
import{a as Ae,b as Ee,c as we,d as $e,e as Ce,f as Re,g as Fe,h as _e,i as De,j as Ke,k as qe,l as Ie,m as Me,n as Be}from"./chunk.LFHCE3KB.js";import{a as Ge,b as He,c as Ze,d as Ve,e as Qe,f as Ue,g as We,h as Xe,i as Ye,j as et,k as tt,l as rt,m as nt,n as ot}from"./chunk.4XVT3TGR.js";import{A as ye,B as he,C as fe,D as Se,E as ge,F as de,G as be,H as xe,I as ve,J as Oe,K as Ne,L as N,M as Te,N as Je,O as ze,P as Pe,Q as je,R as Le,S as ke,a as B,b as G,c as H,d as Z,e as V,f as Q,g as U,h as W,i as X,j as Y,k as ee,l as te,m as re,n as ne,o as oe,p as ie,q as se,u as ae,v as le,w as pe,x as ce,y as ue,z as me}from"./chunk.M34PULAU.js";function it(n,t){for(let r in n)if(n[r]!==t[r])return!1;for(let r in t)if(n[r]!==t[r])return!1;return!0}function*st(n){if(Array.isArray(n))for(let t of n)yield t;else n&&(yield n)}var T=Symbol("__observable__"),J=Symbol("__status__");var f=class{observers;state;image;constructor(){this.observers=null,this.state={},this.image=new Proxy(this.state,this)}subscribe(t,r){this.observers===null&&(this.observers=[]),this.observers.push(t,r)}unsubscribe(t){}notify(t){if(this.observers)for(let r=0;r<this.observers.length;r+=2){let o=this.observers[r];o(this.image,t)}}async use(t){return this.image}get(t,r){return r===T?this:Reflect.get(this.state,r)}set(t,r,o){return this.state[r]!==o&&(this.state[r]=o,this.notify(r)),!0}ownKeys(t){return Reflect.ownKeys(this.state)}has(t,r){return Reflect.has(this.state,r)}};var c=null,S=class{".events";".listeners";addEventListener(){let t=this[".listeners"];if(t?c===t&&(this[".listeners"]=t=t.slice()):this[".listeners"]=t=[],arguments.length===1)return arguments[0]?(t.push(arguments[0]),t.push(null),!0):!1;if(arguments.length===2)return arguments[1]?(t.push(arguments[1]),t.push(arguments[0]),!0):!1}removeEventListener(){let t=this[".listeners"];if(t)c===t&&(this[".listeners"]=t=t.slice());else return!1;if(arguments.length===1){let r=arguments[0],o=0;for(;;)if(o=t.indexOf(r,o),o>=0)t.splice(o,2),o++;else return!0}else if(arguments.length===2){let r=arguments[0],o=arguments[1],i=0;for(;;)if(i=t.indexOf(o,i),i>=0){if(t[i+1]===r)return t.splice(i,2),!0;i++}else return console.warn(`removeEventListener(${r}) failed on:`,this),!1}return!1}synchronizeStateInContext(t,r,o,i){return this}addStateListener(t,r){return this.addEventListener("change",t)}removeStateListener(t){return this.removeEventListener("change",t)}setState(){if(arguments.length===0)this[".events"]?this[".events"][0]||(this[".events"][0]={}):(this[".events"]=[{}],setTimeout(b.bind(this)));else if(arguments.length===1)for(let t in arguments[0])z.call(this,t,arguments[0][t]);else arguments.length===2&&z.call(this,arguments[0],arguments[1])}dispatchEvent(t,r){this[".events"]||(this[".events"]=[null],setTimeout(b.bind(this))),t==="change"?this[".events"][0]=Object.assign(this[".events"][0]||{},r):(this[".events"].push(t),this[".events"].push(r))}executeEvent(t,r){let o=this[".listeners"],i=o?o.length:0;if(!i)return;c===null?c=o:o=o.slice();let a=[];for(let p=1;p<i;p+=2)try{let l,m=o[p];m?m===t&&(l=o[p-1](r,this)):l=o[p-1](t,r,this),l instanceof Promise&&a.push(l)}catch(l){console.error(l)}return c===o&&(c=null),Promise.all(a)}static setState(){}};S.setState=S.prototype.setState;function z(n,t){if(this[n]!==t){this[".events"]||(this[".events"]=[null],setTimeout(b.bind(this)));let r=this[".events"][0];r?r.hasOwnProperty(n)||(r[n]=this[n]):this[".events"][0]={[n]:t},this[n]=t}}function b(){let n=this[".listeners"],t=this[".events"],r=n?n.length:0;if(this[".events"]=null,!r)return;c===null?c=n:n=n.slice();let o=t[0];if(o)for(let i=1;i<r;i+=2)try{let a=n[i];if(!a)n[i-1]("change",this,o);else if(a==="change")n[i-1](this,o);else if(Array.isArray(a)){for(let p of a)if(o.hasOwnProperty(p)){n[i-1](this,o);break}}}catch(a){console.error(a)}for(let i=2;i<t.length;i+=2){let a=t[i-1],p=t[i];for(let l=1;l<r;l+=2)try{let m=n[l];m?m===a&&n[l-1](p,this):n[l-1](a,p,this)}catch(m){console.error(m)}}c===n&&(c=null)}var P=class extends f{constructor(r){super();this.url=r}loaded=!1;query=null;status=0;async use(){return this.loaded===!1?(this.query===null&&(this.query=fetch(this.url).then(async r=>{let o=await r.json();return Object.assign(this.state,o),this.status=r.status,this.query=null,this.loaded=!0,this.notify(),this.image},r=>(N.error(r),this.loaded=!0,this.image))),this.query):this.image}get(r,o){if(typeof o=="string"){if(this.loaded===!1)return this.use().then(()=>this.state[o])}else if(o===J)return this.status;return super.get(r,o)}set(r,o,i){return this.loaded===!1?(console.error(`Resource '${this.url}' not ready for assignement`),!0):super.set(this.state,o,i)}};var u={boolean:{type:"boolean"},string:{type:"string"},number:{type:"number"},object:{type:"object"},view:{type:"view"},display:{type:"display"},function:{type:"function"},null:{type:"null"},unknown:{type:"null"},any:{}},vt={enums(n,...t){return{...n,enum:t}},array(n){return{type:"array",items:n}},record(n){return{type:"object",properties:n}},collection(n){return{type:"object",additionalProperties:n}},event_fn(n){return{type:"function",args:[n||u.any]}}},y={invalid:{$error:"Cannot determine the type"}};function j(n,t){if(!t)return y.invalid;let r=t.properties?.[n];if(r)return r;let{patternProperties:o}=t;for(let i in o)if(n.match(i))return o[i];return t.$error?y.invalid:t.additionalProperties||u.any}function L(n,t){return t?Array.isArray(t.items)?t.items?.[n]||y.invalid:t.items?t.items:t.type==="element"?t:t.$error?y.invalid:t.additionalProperties||u.any:y.invalid}function x(n){switch(typeof n){case"undefined":return u.null;case"boolean":return u.boolean;case"symbol":case"string":return u.string;case"bigint":case"number":return u.number;case"function":return u.function;case"object":{if(Array.isArray(n))return{type:"array",items:n.map(x)};if(n!==null){let t={};for(let r in t)t[r]=x(t[r]);return{type:"array",properties:t}}return u.null}default:return y.invalid}}function k(n,t){let{type:r}=n;return Array.isArray(r)?r.includes(t):r===t}function A(n){return Array.isArray(n)?n.join(","):n}function g(n){if(n.type==="object"){let t=[];for(let r in n.properties)t.push(`${r}: ${g(n.properties[r])}`);for(let r in n.additionalProperties)t.push(`${r}?: ${g(n.additionalProperties[r])}`);for(let r in n.patternProperties)t.push(`[${r}: ${g(n.patternProperties[r])}]`);return t.join(`
|
|
2
|
+
`)}else if(n.type)return n.type;return"any"}var Ot={getPropertyTyping:j,getItemTyping:L,getValueTyping:x,isType:k,typeAsString:A,generateTypescript:g};import{z as e}from"zod";var E=e.enum(["string","number","integer","boolean","object","array","null"]),w=e.enum(["module","function","service"]),d=e.union([e.string(),e.number(),e.boolean(),e.null(),e.record(e.string(),e.any()),e.array(e.any())]),$=e.object({title:e.string().optional(),properties:e.array(e.string()).optional(),secondaryProperties:e.array(e.string()).optional(),patternProperties:e.array(e.string()).optional(),additionalProperties:e.boolean().optional()}),C=e.object({description:e.string().optional(),chapters:e.array($).optional(),additionalChapter:e.boolean().optional()}),R=e.object({source:e.string()}),F=e.object({type:e.string()}).passthrough(),s=e.lazy(()=>h),_=e.object({title:e.string().optional(),icon:e.string().optional(),description:e.string().optional(),args:e.array(s).optional(),content:F}),D=e.object({view:e.string(),properties:e.record(e.string(),s).optional()}),Jt=e.object({check:e.any()}),K=e.union([e.literal("safe"),e.string(),e.object({rule:e.string()}).passthrough()]),q=e.string(),I=e.union([q,e.object({type:e.string(),data:e.any().optional()})]),v=e.object({$id:e.string().optional(),$ref:e.string().optional(),$schema:e.string().optional(),$comment:e.string().optional(),$defs:e.record(e.string(),e.lazy(()=>s)).optional(),type:e.union([E,w]).optional(),enum:e.array(d).optional(),const:d.optional(),multipleOf:e.number().optional(),maximum:e.number().optional(),exclusiveMaximum:e.number().optional(),minimum:e.number().optional(),exclusiveMinimum:e.number().optional(),maxLength:e.number().optional(),minLength:e.number().optional(),pattern:e.string().optional(),items:e.union([e.lazy(()=>s),e.array(e.lazy(()=>s))]).optional(),additionalItems:e.lazy(()=>s).optional(),maxItems:e.number().optional(),minItems:e.number().optional(),uniqueItems:e.boolean().optional(),contains:e.lazy(()=>s).optional(),maxProperties:e.number().optional(),minProperties:e.number().optional(),required:e.array(e.string()).optional(),properties:e.record(e.string(),e.lazy(()=>s)).optional(),patternProperties:e.record(e.string(),e.lazy(()=>s)).optional(),additionalProperties:e.lazy(()=>s).optional(),dependencies:e.record(e.string(),e.union([e.lazy(()=>s),e.array(e.string())])).optional(),propertyNames:e.lazy(()=>s).optional(),if:e.lazy(()=>s).optional(),then:e.lazy(()=>s).optional(),else:e.lazy(()=>s).optional(),allOf:e.array(e.lazy(()=>s)).optional(),anyOf:e.array(e.lazy(()=>s)).optional(),oneOf:e.array(e.lazy(()=>s)).optional(),not:e.lazy(()=>s).optional(),format:e.string().optional(),contentMediaType:e.string().optional(),contentEncoding:e.string().optional(),definitions:e.record(e.string(),e.lazy(()=>s)).optional(),title:e.string().optional(),description:e.string().optional(),default:d.optional(),readOnly:e.boolean().optional(),writeOnly:e.boolean().optional(),examples:d.optional()}),O=e.object({title:e.string().optional(),icon:e.string().optional(),doc:C.optional(),$error:e.union([e.string(),e.instanceof(Error)]).optional(),args:e.array(e.lazy(()=>h)).optional(),placeholder:e.boolean().optional(),resources:e.record(e.string(),I).optional(),security:K.optional(),"allow-origin":e.string().optional(),docking:D.optional(),templates:e.array(_).optional(),binding:R.optional(),aliases:e.record(e.string(),e.string()).optional()}),M=v.merge(O).extend({type:e.literal("service"),$spec:e.string(),version:e.string().optional()}),zt=v.merge(O).extend({type:e.literal("function"),input:e.union([e.lazy(()=>h),e.array(e.lazy(()=>h))]).optional(),output:e.union([e.lazy(()=>h),e.array(e.lazy(()=>h))]).optional()}),h=e.lazy(()=>e.union([v.merge(O),M]));export{He as AccountSettings,R as BindingSchema,$ as ChapterSchema,ie as CombinedComponentProvider,vt as CommonMakers,Y as CommonResourceProvider,u as CommonTypes,G as ComponentControllerKey,ae as ComponentEntry,le as ComponentResource,pe as ComponentsManifold,ce as ComponentsRegistry,D as DockingSchema,C as DocumentationSchema,H as EditorKey,y as ErrorTypes,F as ExpressionSchema,zt as FunctionSchemaSchema,J as HttpStatusAttribute,ne as InMemComponentProvider,re as InMemComponentPublisher,s as JSONSchema7DefinitionSchema,w as JSONSchema7TypeNameCustomSchema,E as JSONSchema7TypeNameSchema,d as JSONSchema7TypeSchema,O as JSONSchemaCustomSchema,h as JSONSchemaSchema,v as JSONSchemaStandardSchema,S as Listenable,Le as Log,f as Observable,T as ObservableAttribute,I as ResourceEntrySchema,q as ResourceLinkSchema,P as RestResource,Ot as Schema,K as SecurityGuardSchema,Jt as SecurityRuleSchema,B as ServiceAccessor,We as ServicePoint,Ue as ServicePoints,M as ServiceSchemaSchema,oe as StaticComponentProvider,ee as StaticContentProvider,_ as TemplateSchema,Ge as WriteMode,Ee as ZodService,ye as acquireComponent,he as acquireFutureComponent,fe as acquireResource,nt as acquireServicePoint,et as acquireServicePointDescriptor,it as areSimilarObjects,De as checkVersionCompatibility,te as contentLocalURI,U as createComponentFilter,Q as createComponentPublication,se as createLocalComponentProvider,ke as createLogFromError,ot as createServicePoint,Ke as defineServiceSpec,be as deleteComponent,Ne as failedComponentPublication,Oe as fetchComponentsPublications,_e as generateTypeScript,me as getComponentFromData,V as getComponentServicesList,ue as getDefaultComponent,rt as getServicePoint,Ie as getServiceSchema,Me as getServiceSchemaFromSpec,qe as getServiceZod,Ze as getSettings,Ce as jsonSchemaToZod,st as listOneOrMany,Xe as listenServicePoints,Ve as listenSettings,W as matchComponentFilter,Be as matchesSpecification,Z as parseComponentURI,X as parseResourceEntry,N as print,ze as queryLogCount,je as queryLogInfos,Pe as queryLogObjects,Te as registerLogCollector,Se as resolveRelativeComponent,de as saveComponent,ge as saveComponentManifest,ve as searchComponentsPublications,Ye as unlistenServicePoints,Qe as unlistenSettings,xe as unregisterComponent,Je as unregisterLogCollector,tt as updateServicePointDescriptor,Re as validate,Fe as validateOrThrow,Ae as z,we as zService,$e as zodToJSONSchema};
|
package/export.react.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{h as y,i as U,m as L}from"./chunk.
|
|
1
|
+
import{h as y,i as U,m as L}from"./chunk.4XVT3TGR.js";import{a as v,c as w,d as q}from"./chunk.QKAND342.js";import"./chunk.M34PULAU.js";import{z as a}from"zod";function Ve(t){let e=t||a.record(a.string(),a.any());return{$spec:"spec://jointhedots.org/view.react",version:"0.0",properties:a.object({props:e,requirements:a.object({servicePoints:a.record(a.string(),a.object({service:a.string().optional(),cardinality:a.number().optional()})).optional()}).optional()}),isAssignable(r){return r.$spec=this.$spec}}}var N=v.subservice("react"),ke=v.subservice("webc");import{useEffect as K,useState as z}from"react";function qe(t,e,r){let[o,i]=z(e);return K(()=>{t().then(i,console.error)},r),o}import T from"react";import{jsx as f}from"react/jsx-runtime";var x=class{constructor(e,r){this.value=e;this.updateTimeout=r}promise=null;dispatch=null;updateTimer=null;shallUpdate=!0;updater;deps;use(e,r){if(this.updater=e,r!==this.deps){let o=this.deps;if(this.deps=r,r?.length===o?.length){if(r){for(let i=0;i<r.length;i++)if(r[i]!==o[i])return this.update()}}else return this.update()}}initiate(e){this.dispatch=e,this.dispatch(this.value)}cancelAutoUpdate(){this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null)}scheduleAutoUpdate(){this.cancelAutoUpdate(),this.shallUpdate?this.update():this.updateTimeout>0&&(this.updateTimer=setTimeout(()=>{this.updateTimer=null,this.update()},this.updateTimeout))}get isWaiting(){return this.promise!==null}get hasState(){return this.value!==void 0}get autoUpdate(){return this.updateTimeout}set autoUpdate(e){this.updateTimeout=e,this.cancelAutoUpdate(),this.update()}set(e){this.value!==e&&(this.value=e,this.dispatch&&this.dispatch(e))}get(){return this.value}update(){try{if(this.promise)this.shallUpdate=!0,this.cancelAutoUpdate();else{let e=this.updater();this.shallUpdate=!1,e instanceof Promise?(this.promise=e,e.then(r=>{this.promise=null,this.set(r),this.scheduleAutoUpdate()},r=>{this.promise=null,this.scheduleAutoUpdate(),console.log(r)})):this.scheduleAutoUpdate()}}catch(e){this.scheduleAutoUpdate(),console.log(e)}}cancel(){this.dispatch=null,this.promise=null,this.updateTimeout=0,this.cancelAutoUpdate()}waiting(e){return this.isWaiting==!0?f(m,{}):e(this.value)}using(e){return this.hasState==!1?f(m,{}):e(this.value)}};function Me(t,e,r,o){let[i]=T.useState(()=>new x(r,o)),[s,n]=T.useState(r);return i.use(t,e),T.useEffect(()=>(i.initiate(n),()=>i.cancel()),null),i}function Ae(t,...e){for(let r of e)if(r.isWaiting==!0)return f(m,{});return t()}function _e(t,...e){for(let r of e)if(r.hasState==!1)return f(m,{});return t()}function m(){return f("div",{children:"..."})}import D,{useContext as ie,useEffect as A,useMemo as oe,useState as ne}from"react";import G,{createContext as X,useContext as Y,useMemo as ee}from"react";var Q=`.JDT-ErrorBoundary {
|
|
2
2
|
background-color: rgb(216, 59, 59);
|
|
3
3
|
padding: 5px;
|
|
4
4
|
overflow: hidden;
|
package/export.rest.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as a,s as b,t as c}from"./chunk.
|
|
1
|
+
import{r as a,s as b,t as c}from"./chunk.M34PULAU.js";export{c as REST,a as RESTServiceKey,b as __import_RESTService};
|
package/export.storage.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk.LFHCE3KB.js";import"./chunk.
|
|
1
|
+
import"./chunk.LFHCE3KB.js";import"./chunk.4XVT3TGR.js";import{a as e}from"./chunk.M34PULAU.js";var r=e.About("storage");export{r as StorageServiceKey};
|
package/export.view.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c,d,e,f,g}from"./chunk.
|
|
1
|
+
import{a,b,c,d,e,f,g}from"./chunk.QKAND342.js";import"./chunk.M34PULAU.js";export{a as ViewServiceKey,d as evaluateViewInfos,c as getViewInfosFrom,b as getViewReferenceFrom,e as getViewURL,f as gotoURLView,g as updateURLView};
|
package/package.json
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jointhedots/core",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"singleton": true,
|
|
6
|
+
"dependencies": {
|
|
7
|
+
"json-schema": "^0.4.0",
|
|
8
|
+
"vscode-uri": "^3.1.0",
|
|
9
|
+
"zod": "^4.2.1"
|
|
10
|
+
},
|
|
11
|
+
"peerDependencies": {
|
|
12
|
+
"react": "^18.2.0",
|
|
13
|
+
"react-dom": "^18.2.0"
|
|
14
|
+
},
|
|
6
15
|
"exports": {
|
|
7
16
|
".": {
|
|
8
17
|
"import": "./export.js",
|
|
@@ -28,18 +37,5 @@
|
|
|
28
37
|
"import": "./export.rest.js",
|
|
29
38
|
"types": "./types.d.ts"
|
|
30
39
|
}
|
|
31
|
-
},
|
|
32
|
-
"dependencies": {
|
|
33
|
-
"acorn": "^8.15.0",
|
|
34
|
-
"astring": "^1.9.0",
|
|
35
|
-
"json-schema": "^0.4.0",
|
|
36
|
-
"query-string": "^9.1.0",
|
|
37
|
-
"vscode-uri": "^3.1.0",
|
|
38
|
-
"yaml": "^2.8.2",
|
|
39
|
-
"zod": "^4.2.1"
|
|
40
|
-
},
|
|
41
|
-
"peerDependencies": {
|
|
42
|
-
"react": "^18.2.0",
|
|
43
|
-
"react-dom": "^18.2.0"
|
|
44
40
|
}
|
|
45
41
|
}
|
package/types.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
declare module '@jointhedots/core/src/common/types' {
|
|
2
|
-
export interface MapLike<T> {
|
|
3
|
-
[index: string]: T;
|
|
4
|
-
}
|
|
5
2
|
export type ObjectClass<T extends Object = any> = new (...args: any[]) => T;
|
|
6
3
|
export type Overwrite<Base, Overrides> = Omit<Base, keyof Overrides> & Overrides;
|
|
7
4
|
export type Async<T> = T | Promise<T>;
|
|
@@ -455,7 +452,7 @@ declare module '@jointhedots/core/src/components/components' {
|
|
|
455
452
|
baseline?: string;
|
|
456
453
|
namespaces?: string[];
|
|
457
454
|
dependencies?: string[];
|
|
458
|
-
|
|
455
|
+
distribueds?: {
|
|
459
456
|
[packageName: string]: string | DistributedConfig;
|
|
460
457
|
};
|
|
461
458
|
exports?: {
|
|
@@ -666,7 +663,7 @@ declare module '@jointhedots/core/rest' {
|
|
|
666
663
|
declare module '@jointhedots/core/src/components/manifold' {
|
|
667
664
|
import { type ComponentFilter, type ComponentManifest, type ComponentPublication, type IContentProvider, type IResourceLoader } from '@jointhedots/core/src/components/components';
|
|
668
665
|
import { CombinedComponentProvider } from '@jointhedots/core/src/providers/components/CombinedComponentProvider';
|
|
669
|
-
import { type QueryLogResult } from 'src/logging';
|
|
666
|
+
import { type QueryLogResult } from '@jointhedots/core/src/logging/index';
|
|
670
667
|
export type ComponentErrorManifest = ComponentManifest & {
|
|
671
668
|
type: "<error>";
|
|
672
669
|
message: string;
|
|
@@ -770,8 +767,63 @@ declare module '@jointhedots/core/commands' {
|
|
|
770
767
|
export function executeCommand(cmd: Command): Promise<void>;
|
|
771
768
|
}
|
|
772
769
|
|
|
773
|
-
declare module 'src/logging' {
|
|
770
|
+
declare module '@jointhedots/core/src/logging/trace' {
|
|
771
|
+
export const originalConsole: {
|
|
772
|
+
assert(condition?: boolean, ...data: any[]): void;
|
|
773
|
+
assert(value: any, message?: string, ...optionalParams: any[]): void;
|
|
774
|
+
clear(): void;
|
|
775
|
+
clear(): void;
|
|
776
|
+
count(label?: string): void;
|
|
777
|
+
count(label?: string): void;
|
|
778
|
+
countReset(label?: string): void;
|
|
779
|
+
countReset(label?: string): void;
|
|
780
|
+
debug(...data: any[]): void;
|
|
781
|
+
debug(message?: any, ...optionalParams: any[]): void;
|
|
782
|
+
dir(item?: any, options?: any): void;
|
|
783
|
+
dir(obj: any, options?: import( 'util').InspectOptions): void;
|
|
784
|
+
dirxml(...data: any[]): void;
|
|
785
|
+
dirxml(...data: any[]): void;
|
|
786
|
+
error(...data: any[]): void;
|
|
787
|
+
error(message?: any, ...optionalParams: any[]): void;
|
|
788
|
+
group(...data: any[]): void;
|
|
789
|
+
group(...label: any[]): void;
|
|
790
|
+
groupCollapsed(...data: any[]): void;
|
|
791
|
+
groupCollapsed(...label: any[]): void;
|
|
792
|
+
groupEnd(): void;
|
|
793
|
+
groupEnd(): void;
|
|
794
|
+
info(...data: any[]): void;
|
|
795
|
+
info(message?: any, ...optionalParams: any[]): void;
|
|
796
|
+
log(...data: any[]): void;
|
|
797
|
+
log(message?: any, ...optionalParams: any[]): void;
|
|
798
|
+
table(tabularData?: any, properties?: string[]): void;
|
|
799
|
+
table(tabularData: any, properties?: readonly string[]): void;
|
|
800
|
+
time(label?: string): void;
|
|
801
|
+
time(label?: string): void;
|
|
802
|
+
timeEnd(label?: string): void;
|
|
803
|
+
timeEnd(label?: string): void;
|
|
804
|
+
timeLog(label?: string, ...data: any[]): void;
|
|
805
|
+
timeLog(label?: string, ...data: any[]): void;
|
|
806
|
+
timeStamp(label?: string): void;
|
|
807
|
+
timeStamp(label?: string): void;
|
|
808
|
+
trace(...data: any[]): void;
|
|
809
|
+
trace(message?: any, ...optionalParams: any[]): void;
|
|
810
|
+
warn(...data: any[]): void;
|
|
811
|
+
warn(message?: any, ...optionalParams: any[]): void;
|
|
812
|
+
Console: console.ConsoleConstructor;
|
|
813
|
+
profile(label?: string): void;
|
|
814
|
+
profileEnd(label?: string): void;
|
|
815
|
+
};
|
|
816
|
+
export const logError: (...args: any[]) => void;
|
|
817
|
+
export const logWarning: (...args: any[]) => void;
|
|
818
|
+
export const logInfo: (...args: any[]) => void;
|
|
819
|
+
export const logTrace: (...args: any[]) => void;
|
|
820
|
+
export const logDebug: (...args: any[]) => void;
|
|
821
|
+
export const print: Console;
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
declare module '@jointhedots/core/src/logging/index' {
|
|
774
825
|
import type { Command } from '@jointhedots/core/commands';
|
|
826
|
+
export { print } from '@jointhedots/core/src/logging/trace';
|
|
775
827
|
export type LogObjectID = string;
|
|
776
828
|
export type LogStatus = "error" | "warn" | "notify" | "info";
|
|
777
829
|
export type LogKind = "event" | "ticket";
|
|
@@ -881,26 +933,6 @@ declare module '@jointhedots/core/src/observable/listenable' {
|
|
|
881
933
|
export {};
|
|
882
934
|
}
|
|
883
935
|
|
|
884
|
-
declare module '@jointhedots/core/src/logging/console' {
|
|
885
|
-
export const print: {
|
|
886
|
-
log(...args: any[]): any;
|
|
887
|
-
debug(...args: any[]): any;
|
|
888
|
-
warning(...args: any[]): any;
|
|
889
|
-
error(...args: any[]): any;
|
|
890
|
-
success(...args: any[]): any;
|
|
891
|
-
title(...args: any[]): any;
|
|
892
|
-
info(...args: any[]): any;
|
|
893
|
-
exception(exception: Error): any;
|
|
894
|
-
};
|
|
895
|
-
export class ConsoleTable {
|
|
896
|
-
readonly sizes: number[];
|
|
897
|
-
constructor(sizes: number[]);
|
|
898
|
-
head(...cells: any[]): void;
|
|
899
|
-
row(...cells: any[]): void;
|
|
900
|
-
end(): void;
|
|
901
|
-
}
|
|
902
|
-
}
|
|
903
|
-
|
|
904
936
|
declare module '@jointhedots/core/src/observable/RestResource' {
|
|
905
937
|
import { Observable } from '@jointhedots/core/src/observable/observable';
|
|
906
938
|
export class RestResource<T extends Object> extends Observable<T> {
|
|
@@ -915,7 +947,7 @@ declare module '@jointhedots/core/src/observable/RestResource' {
|
|
|
915
947
|
}
|
|
916
948
|
}
|
|
917
949
|
|
|
918
|
-
declare module 'src/observable' {
|
|
950
|
+
declare module '@jointhedots/core/src/observable/index' {
|
|
919
951
|
export * from '@jointhedots/core/src/observable/attributes';
|
|
920
952
|
export * from '@jointhedots/core/src/observable/observable';
|
|
921
953
|
export * from '@jointhedots/core/src/observable/listenable';
|
|
@@ -1002,13 +1034,13 @@ declare module '@jointhedots/core/src/schema/zod' {
|
|
|
1002
1034
|
export { z };
|
|
1003
1035
|
}
|
|
1004
1036
|
|
|
1005
|
-
declare module 'src/schema' {
|
|
1037
|
+
declare module '@jointhedots/core/src/schema/index' {
|
|
1006
1038
|
export * from '@jointhedots/core/src/schema/helpers';
|
|
1007
1039
|
export * from '@jointhedots/core/src/schema/schema';
|
|
1008
1040
|
export * from '@jointhedots/core/src/schema/zod';
|
|
1009
1041
|
}
|
|
1010
1042
|
|
|
1011
|
-
declare module 'src/components' {
|
|
1043
|
+
declare module '@jointhedots/core/src/components/index' {
|
|
1012
1044
|
export * from '@jointhedots/core/src/components/components';
|
|
1013
1045
|
export * from '@jointhedots/core/src/components/manifold';
|
|
1014
1046
|
export * from '@jointhedots/core/src/components/helpers';
|
|
@@ -1143,7 +1175,7 @@ declare module '@jointhedots/core/src/services/settings' {
|
|
|
1143
1175
|
|
|
1144
1176
|
declare module '@jointhedots/core/src/services/service-points' {
|
|
1145
1177
|
import { type ComponentID } from '@jointhedots/core/src/components/components';
|
|
1146
|
-
import { type ILogDispatcher, type LogObject } from 'src/logging';
|
|
1178
|
+
import { type ILogDispatcher, type LogObject } from '@jointhedots/core/src/logging/index';
|
|
1147
1179
|
import { ServiceAccessor, type ServiceType } from '@jointhedots/core/src/services/service-accessor';
|
|
1148
1180
|
export const ServicePoints: Map<string, ServicePoint>;
|
|
1149
1181
|
export type ServicePointID = string;
|
|
@@ -1184,7 +1216,7 @@ declare module '@jointhedots/core/src/services/service-points' {
|
|
|
1184
1216
|
export function createServicePoint<S extends any, D extends any>(service: ServiceAccessor<S, D>, name: ServicePointID, properties?: ServicePointProperties): ServicePoint<S>;
|
|
1185
1217
|
}
|
|
1186
1218
|
|
|
1187
|
-
declare module 'src/services' {
|
|
1219
|
+
declare module '@jointhedots/core/src/services/index' {
|
|
1188
1220
|
export * from '@jointhedots/core/src/services/service-definitions';
|
|
1189
1221
|
export * from '@jointhedots/core/src/services/service-points';
|
|
1190
1222
|
export * from '@jointhedots/core/src/services/service-specification';
|
|
@@ -1192,354 +1224,13 @@ declare module 'src/services' {
|
|
|
1192
1224
|
export * from '@jointhedots/core/src/services/settings';
|
|
1193
1225
|
}
|
|
1194
1226
|
|
|
1195
|
-
declare module '@jointhedots/core/src/scripting/ast/primitives' {
|
|
1196
|
-
import * as Acorn from 'acorn';
|
|
1197
|
-
export * from 'acorn';
|
|
1198
|
-
/******************************************************
|
|
1199
|
-
// # Primitive
|
|
1200
|
-
/******************************************************/
|
|
1201
|
-
export type NodeKey = number;
|
|
1202
|
-
export interface Node extends Partial<Acorn.Node> {
|
|
1203
|
-
$id?: NodeKey;
|
|
1204
|
-
$owner?: NodeKey;
|
|
1205
|
-
annotations?: CompositePrimitive[];
|
|
1206
|
-
}
|
|
1207
|
-
export interface Primitive extends Node {
|
|
1208
|
-
type: string;
|
|
1209
|
-
}
|
|
1210
|
-
export interface Additional extends Node {
|
|
1211
|
-
type?: undefined;
|
|
1212
|
-
}
|
|
1213
|
-
export type SourceLink = {
|
|
1214
|
-
start: number;
|
|
1215
|
-
end?: number;
|
|
1216
|
-
fragment?: string;
|
|
1217
|
-
src?: number | string;
|
|
1218
|
-
};
|
|
1219
|
-
export type SourceLocation = SourceLink | SourceLink[];
|
|
1220
|
-
export type ExpressiveValue = boolean | number | string | AnyPrimitive | AnyPrimitive[];
|
|
1221
|
-
export type AnyPrimitive = Partial<Acorn.AnyNode> & Primitive | CompositePrimitive | ProceduralPrimitive | ElementPrimitive | DocumentPrimitive | ElementAttribute | RefPrimitive;
|
|
1222
|
-
export type Any = AnyPrimitive;
|
|
1223
|
-
interface RefPrimitive extends Additional {
|
|
1224
|
-
$ref: string | number;
|
|
1225
|
-
}
|
|
1226
|
-
/******************************************************
|
|
1227
|
-
// # Behavior/Procedural primitives
|
|
1228
|
-
/******************************************************/
|
|
1229
|
-
export interface RecallPrimitive extends Primitive {
|
|
1230
|
-
type: "Recall";
|
|
1231
|
-
intend: AnyPrimitive;
|
|
1232
|
-
}
|
|
1233
|
-
export interface SamplingPrimitive extends Primitive {
|
|
1234
|
-
type: "Sampling";
|
|
1235
|
-
items: AnyPrimitive;
|
|
1236
|
-
}
|
|
1237
|
-
export interface CommandPrimitive extends Primitive {
|
|
1238
|
-
type: "Command";
|
|
1239
|
-
cmd: string;
|
|
1240
|
-
}
|
|
1241
|
-
export type ProceduralPrimitive = SamplingPrimitive | CommandPrimitive;
|
|
1242
|
-
/******************************************************
|
|
1243
|
-
// # Semantic/Information primitives
|
|
1244
|
-
/******************************************************/
|
|
1245
|
-
export interface TextPrimitive extends Primitive {
|
|
1246
|
-
type: "Text";
|
|
1247
|
-
lang?: string;
|
|
1248
|
-
text: string;
|
|
1249
|
-
}
|
|
1250
|
-
export interface ImagePrimitive extends Primitive {
|
|
1251
|
-
type: "Image";
|
|
1252
|
-
name?: string;
|
|
1253
|
-
pixels: Blob;
|
|
1254
|
-
}
|
|
1255
|
-
export interface AudioPrimitive extends Primitive {
|
|
1256
|
-
type: "Audio";
|
|
1257
|
-
name?: string;
|
|
1258
|
-
data: Blob;
|
|
1259
|
-
}
|
|
1260
|
-
export interface VideoPrimitive extends Primitive {
|
|
1261
|
-
type: "Video";
|
|
1262
|
-
name?: string;
|
|
1263
|
-
data: Blob;
|
|
1264
|
-
}
|
|
1265
|
-
export enum BlockFormat {
|
|
1266
|
-
Paragraph = "paragraph",
|
|
1267
|
-
Tip = "tip",
|
|
1268
|
-
Quote = "quote",
|
|
1269
|
-
Code = "code",
|
|
1270
|
-
Section = "section",
|
|
1271
|
-
Figure = "figure",
|
|
1272
|
-
Association = "pair",// Association: associate a content to a label, ex: **{{label}}**: {{content}}
|
|
1273
|
-
Fragment = "fragment"
|
|
1274
|
-
}
|
|
1275
|
-
export enum BlockEmphasis {
|
|
1276
|
-
Important = "important",
|
|
1277
|
-
Information = "info",
|
|
1278
|
-
Warning = "warning",
|
|
1279
|
-
Danger = "danger"
|
|
1280
|
-
}
|
|
1281
|
-
export type BlockContent = AnyPrimitive[];
|
|
1282
|
-
export interface BlockPrimitive extends Primitive {
|
|
1283
|
-
type: "Block";
|
|
1284
|
-
format: BlockFormat;
|
|
1285
|
-
lang?: string;
|
|
1286
|
-
metadata?: string;
|
|
1287
|
-
label?: BlockContent;
|
|
1288
|
-
content: BlockContent;
|
|
1289
|
-
}
|
|
1290
|
-
export interface ListPrimitive extends Primitive {
|
|
1291
|
-
type: "List";
|
|
1292
|
-
items: AnyPrimitive[];
|
|
1293
|
-
}
|
|
1294
|
-
export interface TablePrimitive extends Primitive {
|
|
1295
|
-
type: "Table";
|
|
1296
|
-
subjects: AnyPrimitive[];
|
|
1297
|
-
items: AnyPrimitive[][];
|
|
1298
|
-
}
|
|
1299
|
-
/******************************************************
|
|
1300
|
-
// # Element: Generic procedural primitives
|
|
1301
|
-
/******************************************************/
|
|
1302
|
-
export interface ElementAttribute extends Additional {
|
|
1303
|
-
ns?: string;
|
|
1304
|
-
name: string;
|
|
1305
|
-
value: AnyPrimitive;
|
|
1306
|
-
}
|
|
1307
|
-
export interface ElementPrimitive extends Primitive {
|
|
1308
|
-
type: "Element";
|
|
1309
|
-
tag: string;
|
|
1310
|
-
attributes?: ElementAttribute[];
|
|
1311
|
-
content?: BlockContent;
|
|
1312
|
-
}
|
|
1313
|
-
export interface DocumentPrimitive extends Primitive {
|
|
1314
|
-
type: "Document";
|
|
1315
|
-
metadata?: Record<string, any>;
|
|
1316
|
-
content: AnyPrimitive[];
|
|
1317
|
-
}
|
|
1318
|
-
export type BasicPrimitive = TextPrimitive | ImagePrimitive | AudioPrimitive | VideoPrimitive;
|
|
1319
|
-
export type CompositePrimitive = BasicPrimitive | BlockPrimitive | ListPrimitive | TablePrimitive;
|
|
1320
|
-
}
|
|
1321
|
-
|
|
1322
|
-
declare module '@jointhedots/core/src/scripting/ast/serde/tokenizer' {
|
|
1323
|
-
export type MatchRule<P> = {
|
|
1324
|
-
name: string;
|
|
1325
|
-
parse: P;
|
|
1326
|
-
entry: RegExp;
|
|
1327
|
-
};
|
|
1328
|
-
export class TokenPattern {
|
|
1329
|
-
readonly id: number;
|
|
1330
|
-
readonly name: string;
|
|
1331
|
-
readonly marker: string;
|
|
1332
|
-
readonly parse?: (token: Token) => boolean;
|
|
1333
|
-
readonly pattern?: RegExp;
|
|
1334
|
-
constructor(id: number, name: string, marker: string, parse?: (token: Token) => boolean, pattern?: RegExp);
|
|
1335
|
-
createToken(source: TokenStream): Token;
|
|
1336
|
-
}
|
|
1337
|
-
export enum TokenBaseId {
|
|
1338
|
-
EOF = 0,
|
|
1339
|
-
Chunk = 1
|
|
1340
|
-
}
|
|
1341
|
-
export class Token {
|
|
1342
|
-
readonly rule: TokenPattern;
|
|
1343
|
-
readonly source: TokenStream;
|
|
1344
|
-
id: number;
|
|
1345
|
-
chunk: Token;
|
|
1346
|
-
start: number;
|
|
1347
|
-
end: number;
|
|
1348
|
-
data: any;
|
|
1349
|
-
match: RegExpExecArray;
|
|
1350
|
-
constructor(rule: TokenPattern, source: TokenStream);
|
|
1351
|
-
get raw(): string;
|
|
1352
|
-
fork(format: TokenizerFormat): TokenStream;
|
|
1353
|
-
toString(): string;
|
|
1354
|
-
print(): this;
|
|
1355
|
-
} function matchSpaceChunkInto(token: Token, chunk: Token): void;
|
|
1356
|
-
export class TokenizerFormat {
|
|
1357
|
-
readonly rules: TokenPattern[];
|
|
1358
|
-
charmap: Map<number, TokenPattern[]>;
|
|
1359
|
-
matchChunkInto: typeof matchSpaceChunkInto;
|
|
1360
|
-
constructor(rules?: TokenPattern[]);
|
|
1361
|
-
allowAnyChunk(): this;
|
|
1362
|
-
add(rule: TokenPattern): void;
|
|
1363
|
-
complete(): this;
|
|
1364
|
-
}
|
|
1365
|
-
export enum MergeKind {
|
|
1366
|
-
StreamPosition = 0,
|
|
1367
|
-
ChunkStart = 1,
|
|
1368
|
-
ChunkEnd = 2,
|
|
1369
|
-
TokenStart = 3,
|
|
1370
|
-
TokenEnd = 4
|
|
1371
|
-
}
|
|
1372
|
-
export class TokenStream {
|
|
1373
|
-
origin: Token;
|
|
1374
|
-
input: string;
|
|
1375
|
-
format: TokenizerFormat;
|
|
1376
|
-
matches: Token[];
|
|
1377
|
-
pos: number;
|
|
1378
|
-
end: number;
|
|
1379
|
-
last: Token;
|
|
1380
|
-
EOF: Token;
|
|
1381
|
-
chunk: Token;
|
|
1382
|
-
retainLast: boolean;
|
|
1383
|
-
constructor(input: string, format: TokenizerFormat);
|
|
1384
|
-
isEOF(): boolean;
|
|
1385
|
-
fork(format: TokenizerFormat, pos: number, end?: number): TokenStream;
|
|
1386
|
-
reset(pos: number): void;
|
|
1387
|
-
merge(kind: MergeKind): void;
|
|
1388
|
-
retain(): void;
|
|
1389
|
-
next<P>(): Token;
|
|
1390
|
-
}
|
|
1391
|
-
export {};
|
|
1392
|
-
}
|
|
1393
|
-
|
|
1394
|
-
declare module '@jointhedots/core/src/logging/trace' {
|
|
1395
|
-
export const originalConsole: {
|
|
1396
|
-
assert(condition?: boolean, ...data: any[]): void;
|
|
1397
|
-
assert(value: any, message?: string, ...optionalParams: any[]): void;
|
|
1398
|
-
clear(): void;
|
|
1399
|
-
clear(): void;
|
|
1400
|
-
count(label?: string): void;
|
|
1401
|
-
count(label?: string): void;
|
|
1402
|
-
countReset(label?: string): void;
|
|
1403
|
-
countReset(label?: string): void;
|
|
1404
|
-
debug(...data: any[]): void;
|
|
1405
|
-
debug(message?: any, ...optionalParams: any[]): void;
|
|
1406
|
-
dir(item?: any, options?: any): void;
|
|
1407
|
-
dir(obj: any, options?: import( 'util').InspectOptions): void;
|
|
1408
|
-
dirxml(...data: any[]): void;
|
|
1409
|
-
dirxml(...data: any[]): void;
|
|
1410
|
-
error(...data: any[]): void;
|
|
1411
|
-
error(message?: any, ...optionalParams: any[]): void;
|
|
1412
|
-
group(...data: any[]): void;
|
|
1413
|
-
group(...label: any[]): void;
|
|
1414
|
-
groupCollapsed(...data: any[]): void;
|
|
1415
|
-
groupCollapsed(...label: any[]): void;
|
|
1416
|
-
groupEnd(): void;
|
|
1417
|
-
groupEnd(): void;
|
|
1418
|
-
info(...data: any[]): void;
|
|
1419
|
-
info(message?: any, ...optionalParams: any[]): void;
|
|
1420
|
-
log(...data: any[]): void;
|
|
1421
|
-
log(message?: any, ...optionalParams: any[]): void;
|
|
1422
|
-
table(tabularData?: any, properties?: string[]): void;
|
|
1423
|
-
table(tabularData: any, properties?: readonly string[]): void;
|
|
1424
|
-
time(label?: string): void;
|
|
1425
|
-
time(label?: string): void;
|
|
1426
|
-
timeEnd(label?: string): void;
|
|
1427
|
-
timeEnd(label?: string): void;
|
|
1428
|
-
timeLog(label?: string, ...data: any[]): void;
|
|
1429
|
-
timeLog(label?: string, ...data: any[]): void;
|
|
1430
|
-
timeStamp(label?: string): void;
|
|
1431
|
-
timeStamp(label?: string): void;
|
|
1432
|
-
trace(...data: any[]): void;
|
|
1433
|
-
trace(message?: any, ...optionalParams: any[]): void;
|
|
1434
|
-
warn(...data: any[]): void;
|
|
1435
|
-
warn(message?: any, ...optionalParams: any[]): void;
|
|
1436
|
-
Console: console.ConsoleConstructor;
|
|
1437
|
-
profile(label?: string): void;
|
|
1438
|
-
profileEnd(label?: string): void;
|
|
1439
|
-
};
|
|
1440
|
-
export const logError: (...args: any[]) => void;
|
|
1441
|
-
export const logWarning: (...args: any[]) => void;
|
|
1442
|
-
export const logInfo: (...args: any[]) => void;
|
|
1443
|
-
export const logTrace: (...args: any[]) => void;
|
|
1444
|
-
export const logDebug: (...args: any[]) => void;
|
|
1445
|
-
export const print: Console;
|
|
1446
|
-
}
|
|
1447
|
-
|
|
1448
|
-
declare module '@jointhedots/core/src/scripting/ast/serde/parser' {
|
|
1449
|
-
import * as AST from '@jointhedots/core/src/scripting/ast/primitives';
|
|
1450
|
-
export function parseDocumentFromMDX(text: string): AST.DocumentPrimitive;
|
|
1451
|
-
}
|
|
1452
|
-
|
|
1453
|
-
declare module '@jointhedots/core/src/scripting/ast/loader' {
|
|
1454
|
-
/***********
|
|
1455
|
-
* Flow Document: Editable/readable flow representation
|
|
1456
|
-
**********/
|
|
1457
|
-
import type { AST } from '@jointhedots/core/src/scripting/ast/api';
|
|
1458
|
-
import { type ElementPrimitive } from '@jointhedots/core/src/scripting/ast/primitives';
|
|
1459
|
-
export type FlowAny = ElementPrimitive;
|
|
1460
|
-
export function loadScriptASTFromText(text: string): AST.DocumentPrimitive;
|
|
1461
|
-
}
|
|
1462
|
-
|
|
1463
|
-
declare module '@jointhedots/core/src/scripting/ast/api' {
|
|
1464
|
-
export * as AST from '@jointhedots/core/src/scripting/ast/primitives';
|
|
1465
|
-
export * from '@jointhedots/core/src/scripting/ast/loader';
|
|
1466
|
-
}
|
|
1467
|
-
|
|
1468
|
-
declare module '@jointhedots/core/src/scripting/interpreter' {
|
|
1469
|
-
import type { AST } from '@jointhedots/core/src/scripting/ast/api';
|
|
1470
|
-
export interface InterpreterScope {
|
|
1471
|
-
getThis(): unknown;
|
|
1472
|
-
getValue(id: string): unknown;
|
|
1473
|
-
setValue(id: string, value: unknown): void;
|
|
1474
|
-
}
|
|
1475
|
-
export class LocalScope<C = unknown> implements InterpreterScope {
|
|
1476
|
-
readonly $parentScope: InterpreterScope | null;
|
|
1477
|
-
readonly $thisScope: unknown;
|
|
1478
|
-
readonly locals: Record<string, unknown>;
|
|
1479
|
-
constructor($parentScope: InterpreterScope | null, $thisScope: unknown, locals?: Record<string, unknown>);
|
|
1480
|
-
getThis(): unknown;
|
|
1481
|
-
getValue(id: string): unknown;
|
|
1482
|
-
setValue(id: string, value: unknown): void;
|
|
1483
|
-
setArguments(args: unknown[], params: AST.Pattern[]): void;
|
|
1484
|
-
}
|
|
1485
|
-
export const EmptyScope: LocalScope<unknown>;
|
|
1486
|
-
export const BINARY_OPERATIONS: Map<string, (l: unknown, r: unknown) => unknown>;
|
|
1487
|
-
export const UNARY_OPERATIONS: Map<string, (v: unknown) => unknown>;
|
|
1488
|
-
export const ASSIGNMENT_OPERATIONS: Map<string, (current: unknown, right: unknown) => unknown>;
|
|
1489
|
-
export const ENHANCED_BINARY_OPERATIONS: Map<string, (l: unknown, r: unknown) => unknown>;
|
|
1490
|
-
export const ENHANCED_ASSIGNMENT_OPERATIONS: Map<string, (current: unknown, right: unknown) => unknown>;
|
|
1491
|
-
export const ENHANCED_LOGICAL_OPERATIONS: Map<string, (l: unknown, r: unknown, scope: InterpreterScope) => unknown>;
|
|
1492
|
-
export function evaluateExpression(node: AST.Any, scope: InterpreterScope): unknown;
|
|
1493
|
-
}
|
|
1494
|
-
|
|
1495
|
-
declare module '@jointhedots/core/src/scripting/template' {
|
|
1496
|
-
import * as ACorn from 'acorn';
|
|
1497
|
-
import { type InterpreterScope } from '@jointhedots/core/src/scripting/interpreter';
|
|
1498
|
-
export enum EmbedSyntax {
|
|
1499
|
-
DollarBracket = 0,// Embed: $(expr) | Escaping: \$(expr)
|
|
1500
|
-
DollarCurly = 1,// Embed: ${expr} | Escaping: \${expr}
|
|
1501
|
-
CurlyCurly = 2
|
|
1502
|
-
}
|
|
1503
|
-
export type TextContext = {
|
|
1504
|
-
vars: {
|
|
1505
|
-
[key: string]: any;
|
|
1506
|
-
};
|
|
1507
|
-
encoder?: (value: any) => string;
|
|
1508
|
-
};
|
|
1509
|
-
export class TextBinding {
|
|
1510
|
-
start: number;
|
|
1511
|
-
end: number;
|
|
1512
|
-
node: ACorn.AnyNode;
|
|
1513
|
-
constructor(start: number, end: number, node: ACorn.AnyNode);
|
|
1514
|
-
evaluate(scope: InterpreterScope): unknown;
|
|
1515
|
-
toString(): string;
|
|
1516
|
-
}
|
|
1517
|
-
export class TextTemplate {
|
|
1518
|
-
pattern: string;
|
|
1519
|
-
bindings: Record<string, TextBinding>;
|
|
1520
|
-
issues: Error[];
|
|
1521
|
-
constructor(pattern: string, bindings: Record<string, TextBinding>, issues: Error[]);
|
|
1522
|
-
evaluate(context: TextContext): string;
|
|
1523
|
-
getBindingAt(position: number): TextBinding;
|
|
1524
|
-
toString(): string;
|
|
1525
|
-
}
|
|
1526
|
-
export type PlaceholderGenerator = (text: string) => (index: number) => string;
|
|
1527
|
-
export function parseTextTemplate(code: string, syntax: EmbedSyntax, placeholder?: PlaceholderGenerator): TextTemplate;
|
|
1528
|
-
}
|
|
1529
|
-
|
|
1530
|
-
declare module 'src/scripting' {
|
|
1531
|
-
export * from '@jointhedots/core/src/scripting/interpreter';
|
|
1532
|
-
export * from '@jointhedots/core/src/scripting/template';
|
|
1533
|
-
}
|
|
1534
|
-
|
|
1535
1227
|
declare module '@jointhedots/core' {
|
|
1536
1228
|
export * from '@jointhedots/core/src/common/types';
|
|
1537
|
-
export * from 'src/logging';
|
|
1538
|
-
export * from 'src/observable';
|
|
1539
|
-
export * from 'src/schema';
|
|
1540
|
-
export * from 'src/components';
|
|
1541
|
-
export * from 'src/services';
|
|
1542
|
-
export * from 'src/scripting';
|
|
1229
|
+
export * from '@jointhedots/core/src/logging/index';
|
|
1230
|
+
export * from '@jointhedots/core/src/observable/index';
|
|
1231
|
+
export * from '@jointhedots/core/src/schema/index';
|
|
1232
|
+
export * from '@jointhedots/core/src/components/index';
|
|
1233
|
+
export * from '@jointhedots/core/src/services/index';
|
|
1543
1234
|
export * from '@jointhedots/core/src/providers/resources/StaticContentProvider';
|
|
1544
1235
|
export * from '@jointhedots/core/src/providers/resources/CommonResourceProvider';
|
|
1545
1236
|
export * from '@jointhedots/core/src/providers/components/CombinedComponentProvider';
|
|
@@ -1550,7 +1241,6 @@ declare module '@jointhedots/core' {
|
|
|
1550
1241
|
|
|
1551
1242
|
declare module '@jointhedots/core/src/interfaces/react/ErrorBoundary' {
|
|
1552
1243
|
import React from 'react';
|
|
1553
|
-
import 'src/interfaces/react/style.scss';
|
|
1554
1244
|
export type ErrorDisplayerType<E extends Error = Error> = React.ComponentType<{
|
|
1555
1245
|
error: E;
|
|
1556
1246
|
onRetry?: () => void;
|
|
@@ -1620,7 +1310,7 @@ declare module '@jointhedots/core/src/interfaces/react/useLocation' {
|
|
|
1620
1310
|
|
|
1621
1311
|
declare module '@jointhedots/core/src/interfaces/react/interface' {
|
|
1622
1312
|
import { z, type ZodObject, type ZodRawShape } from 'zod';
|
|
1623
|
-
import { type ServiceDefinition, type ServiceInterface } from 'src/services';
|
|
1313
|
+
import { type ServiceDefinition, type ServiceInterface } from '@jointhedots/core/src/services/index';
|
|
1624
1314
|
import React from 'react';
|
|
1625
1315
|
export type ViewServicePoint = {
|
|
1626
1316
|
service?: string;
|
|
@@ -1894,7 +1584,7 @@ declare module '@jointhedots/core/src/interfaces/rest/decorators' {
|
|
|
1894
1584
|
}
|
|
1895
1585
|
|
|
1896
1586
|
declare module '@jointhedots/core/storage' {
|
|
1897
|
-
import { ServiceAccessor } from 'src/services';
|
|
1587
|
+
import { ServiceAccessor } from '@jointhedots/core/src/services/index';
|
|
1898
1588
|
export type NameSpaceId = string;
|
|
1899
1589
|
export type FileKey = string;
|
|
1900
1590
|
export type ChangeSetId = string;
|
|
@@ -1959,317 +1649,3 @@ declare module '@jointhedots/core/storage' {
|
|
|
1959
1649
|
export const StorageServiceKey: ServiceAccessor<StorageService, void>;
|
|
1960
1650
|
}
|
|
1961
1651
|
|
|
1962
|
-
declare module '@jointhedots/core/src/scripting/graph/log' {
|
|
1963
|
-
import type { AST } from '@jointhedots/core/src/scripting/ast/api';
|
|
1964
|
-
export class DocumentData {
|
|
1965
|
-
nodes: Map<number, AST.AnyPrimitive>;
|
|
1966
|
-
main: string;
|
|
1967
|
-
seq: number;
|
|
1968
|
-
createKey(): number;
|
|
1969
|
-
serialize(): {};
|
|
1970
|
-
}
|
|
1971
|
-
export function createDocumentFromAST(n: AST.Any): DocumentData;
|
|
1972
|
-
}
|
|
1973
|
-
|
|
1974
|
-
declare module '@jointhedots/core/src/scripting/graph/uses' {
|
|
1975
|
-
import type { AST } from '@jointhedots/core/src/scripting/ast/api';
|
|
1976
|
-
import { type Node, type ContextInstance, type FeatureID } from '@jointhedots/core/src/scripting/graph/model';
|
|
1977
|
-
import React from 'react';
|
|
1978
|
-
export type ValueRecast = (x: any) => any;
|
|
1979
|
-
export class ValueType {
|
|
1980
|
-
accept(ty: ValueType): boolean;
|
|
1981
|
-
recastTo(ty: ValueType): ValueRecast;
|
|
1982
|
-
}
|
|
1983
|
-
export class ValueConstraint {
|
|
1984
|
-
readonly accepteds: ValueType[];
|
|
1985
|
-
constructor(accepteds: ValueType[]);
|
|
1986
|
-
accept(ty: ValueType): boolean;
|
|
1987
|
-
}
|
|
1988
|
-
export abstract class BasicType extends ValueType {
|
|
1989
|
-
accept(ty: ValueType): boolean;
|
|
1990
|
-
recastTo(ty: ValueType): ValueRecast;
|
|
1991
|
-
}
|
|
1992
|
-
export class NumberType extends BasicType {
|
|
1993
|
-
static Self: NumberType;
|
|
1994
|
-
accept(ty: ValueType): boolean;
|
|
1995
|
-
recastTo(ty: ValueType): ValueRecast;
|
|
1996
|
-
}
|
|
1997
|
-
export class StringType extends BasicType {
|
|
1998
|
-
static Self: StringType;
|
|
1999
|
-
accept(ty: ValueType): boolean;
|
|
2000
|
-
recastTo(ty: ValueType): ValueRecast;
|
|
2001
|
-
}
|
|
2002
|
-
export class AnyType extends ValueType {
|
|
2003
|
-
static Self: AnyType;
|
|
2004
|
-
static Constraint: ValueConstraint;
|
|
2005
|
-
accept(ty: ValueType): boolean;
|
|
2006
|
-
recastTo(ty: ValueType): ValueRecast;
|
|
2007
|
-
}
|
|
2008
|
-
export type ObjectClass = new (...args: any[]) => any;
|
|
2009
|
-
export class ObjectType extends ValueType {
|
|
2010
|
-
readonly ctor: ObjectClass;
|
|
2011
|
-
static Self: ObjectType;
|
|
2012
|
-
constructor(ctor: ObjectClass);
|
|
2013
|
-
accept(ty: ValueType): boolean;
|
|
2014
|
-
}
|
|
2015
|
-
export class JSXType extends ValueType {
|
|
2016
|
-
static Self: JSXType;
|
|
2017
|
-
static Constraint: ValueConstraint;
|
|
2018
|
-
accept(ty: ValueType): any;
|
|
2019
|
-
}
|
|
2020
|
-
export enum UseLink {
|
|
2021
|
-
Strong = 0,
|
|
2022
|
-
Weak = 1
|
|
2023
|
-
}
|
|
2024
|
-
export interface Use<T = any> {
|
|
2025
|
-
readonly link: UseLink;
|
|
2026
|
-
get(ctx: ContextInstance): T;
|
|
2027
|
-
}
|
|
2028
|
-
export class UseList<T = any> extends Array<Use<T>> {
|
|
2029
|
-
get(ctx: ContextInstance): T[];
|
|
2030
|
-
static create(user: Node, items: AST.Any[], constraint?: ValueConstraint): UseList;
|
|
2031
|
-
}
|
|
2032
|
-
export class UseAggregate extends Array<Use> {
|
|
2033
|
-
readonly buckets: FeatureID[];
|
|
2034
|
-
mapping: Uint8Array;
|
|
2035
|
-
constructor(length: number, buckets: FeatureID[]);
|
|
2036
|
-
get(ctx: ContextInstance): any[][];
|
|
2037
|
-
static create(user: Node, items: AST.Any[], buckets: FeatureID[]): UseAggregate;
|
|
2038
|
-
}
|
|
2039
|
-
export function isInheritedOf(cls: ObjectClass, parent: ObjectClass): boolean;
|
|
2040
|
-
export interface Displayable {
|
|
2041
|
-
display(ctx: ContextInstance): React.ReactNode;
|
|
2042
|
-
}
|
|
2043
|
-
export class UseDisplayable implements Use {
|
|
2044
|
-
readonly node: Displayable;
|
|
2045
|
-
constructor(node: Displayable, constraint: ValueConstraint);
|
|
2046
|
-
get link(): UseLink;
|
|
2047
|
-
get(ctx: ContextInstance): React.ReactNode;
|
|
2048
|
-
}
|
|
2049
|
-
export interface Readable {
|
|
2050
|
-
read(ctx: ContextInstance): any;
|
|
2051
|
-
}
|
|
2052
|
-
export class UseReadable implements Use {
|
|
2053
|
-
readonly node: Readable;
|
|
2054
|
-
constructor(node: Readable, constraint: ValueConstraint);
|
|
2055
|
-
get link(): UseLink;
|
|
2056
|
-
get(ctx: ContextInstance): React.ReactNode;
|
|
2057
|
-
}
|
|
2058
|
-
}
|
|
2059
|
-
|
|
2060
|
-
declare module '@jointhedots/core/src/scripting/graph/model' {
|
|
2061
|
-
import type { AST } from '@jointhedots/core/src/scripting/ast/api';
|
|
2062
|
-
import type { NodeKey } from '@jointhedots/core/src/scripting/ast/primitives';
|
|
2063
|
-
import type { GraphBuilder } from '@jointhedots/core/src/scripting/graph/builder';
|
|
2064
|
-
import type { DocumentData } from '@jointhedots/core/src/scripting/graph/log';
|
|
2065
|
-
import { type Use, type ValueConstraint } from '@jointhedots/core/src/scripting/graph/uses';
|
|
2066
|
-
export type NodeSymbol = string | Symbol;
|
|
2067
|
-
export type NodeCtor<T extends Node = Node> = new ($key: NodeKey, $class: NodeClass, model: DocumentModel) => T;
|
|
2068
|
-
export interface NodeClass {
|
|
2069
|
-
getConstructor(): NodeCtor;
|
|
2070
|
-
updateNode(n: Node): Promise<void>;
|
|
2071
|
-
linkNode(n: Node): void;
|
|
2072
|
-
}
|
|
2073
|
-
export interface NodeNamespace {
|
|
2074
|
-
resolveIdentifier(symbol: NodeSymbol): Node;
|
|
2075
|
-
}
|
|
2076
|
-
export type ResultValue<T> = T | Promise<T>;
|
|
2077
|
-
export type FeatureID = string | symbol;
|
|
2078
|
-
export const GetterFeature: unique symbol;
|
|
2079
|
-
export const SetterFeature: unique symbol;
|
|
2080
|
-
export const DisplayFeature: unique symbol;
|
|
2081
|
-
export class Node<Data extends AST.Node = AST.Any> {
|
|
2082
|
-
readonly $key: NodeKey;
|
|
2083
|
-
readonly $class: NodeClass;
|
|
2084
|
-
readonly model: DocumentModel;
|
|
2085
|
-
$owner: Node;
|
|
2086
|
-
constructor($key: NodeKey, $class: NodeClass, model: DocumentModel);
|
|
2087
|
-
get data(): Data;
|
|
2088
|
-
get symbol(): NodeSymbol;
|
|
2089
|
-
get $namespace(): NodeNamespace;
|
|
2090
|
-
get $context(): ContextModel;
|
|
2091
|
-
use(feature: FeatureID, constraint?: ValueConstraint): Use;
|
|
2092
|
-
toString(): string;
|
|
2093
|
-
}
|
|
2094
|
-
export class State<T extends any> {
|
|
2095
|
-
index: number;
|
|
2096
|
-
initial: any;
|
|
2097
|
-
constructor(index: number, initial: any);
|
|
2098
|
-
read(ctx: ContextInstance): T;
|
|
2099
|
-
write(ctx: ContextInstance, value: T): T;
|
|
2100
|
-
}
|
|
2101
|
-
export interface Executor {
|
|
2102
|
-
init(ctx: ContextInstance): any;
|
|
2103
|
-
update(ctx: ContextInstance): any;
|
|
2104
|
-
}
|
|
2105
|
-
export class Task {
|
|
2106
|
-
index: number;
|
|
2107
|
-
executor: Executor;
|
|
2108
|
-
constructor(index: number, executor: Executor);
|
|
2109
|
-
}
|
|
2110
|
-
export interface ContextController {
|
|
2111
|
-
getControllerNode(): Node;
|
|
2112
|
-
apply(ctx: ContextInstance): any;
|
|
2113
|
-
}
|
|
2114
|
-
export class ContextModel {
|
|
2115
|
-
readonly controller: ContextController;
|
|
2116
|
-
members: Map<NodeSymbol, Node<AST.AnyPrimitive>>;
|
|
2117
|
-
states: State<any>[];
|
|
2118
|
-
tasks: Task[];
|
|
2119
|
-
statements: Node[];
|
|
2120
|
-
output: State<any>;
|
|
2121
|
-
constructor(controller: ContextController);
|
|
2122
|
-
addMember(symbol: NodeSymbol, node: Node): void;
|
|
2123
|
-
addState<T>(initial: T): State<T>;
|
|
2124
|
-
addTask(executor: Executor): Task;
|
|
2125
|
-
addOutput(): State<any>;
|
|
2126
|
-
}
|
|
2127
|
-
export enum FlowControl {
|
|
2128
|
-
Execute = 0,
|
|
2129
|
-
Return = 1,// For return
|
|
2130
|
-
Exit = 2,// For continue
|
|
2131
|
-
Break = 3
|
|
2132
|
-
}
|
|
2133
|
-
export class ContextInstance {
|
|
2134
|
-
readonly model: ContextModel;
|
|
2135
|
-
readonly parent: ContextInstance;
|
|
2136
|
-
layers: Set<ContextInstance>;
|
|
2137
|
-
state_values: any[];
|
|
2138
|
-
state_times: Uint32Array;
|
|
2139
|
-
tasks_statuses: Uint32Array;
|
|
2140
|
-
control: FlowControl;
|
|
2141
|
-
timecode: number;
|
|
2142
|
-
constructor(model: ContextModel, parent: ContextInstance);
|
|
2143
|
-
execute(): Promise<void>;
|
|
2144
|
-
schedule(task: Task): void;
|
|
2145
|
-
run(): void;
|
|
2146
|
-
dispose(): void;
|
|
2147
|
-
}
|
|
2148
|
-
export class DocumentModel implements ContextController {
|
|
2149
|
-
readonly data: DocumentData;
|
|
2150
|
-
readonly nodes: Map<number, Node<AST.AnyPrimitive>>;
|
|
2151
|
-
controller: ContextController;
|
|
2152
|
-
builder: GraphBuilder;
|
|
2153
|
-
globalModel: ContextModel;
|
|
2154
|
-
globalInstance: ContextInstance;
|
|
2155
|
-
constructor(data: DocumentData);
|
|
2156
|
-
getControllerNode(): Node;
|
|
2157
|
-
apply(ctx: ContextInstance): any;
|
|
2158
|
-
getNode(data: any): Node<AST.AnyPrimitive>;
|
|
2159
|
-
createInstance(): any;
|
|
2160
|
-
createCallback(): (...args: any[]) => any;
|
|
2161
|
-
}
|
|
2162
|
-
}
|
|
2163
|
-
|
|
2164
|
-
declare module '@jointhedots/core/src/scripting/graph/register' {
|
|
2165
|
-
import type { Node, NodeClass, NodeCtor } from '@jointhedots/core/src/scripting/graph/model';
|
|
2166
|
-
type NodeTag = string | symbol; class ModelRegister {
|
|
2167
|
-
classes: Map<NodeTag, NodeClass>;
|
|
2168
|
-
Node<T extends Node>(config: {
|
|
2169
|
-
type: NodeTag;
|
|
2170
|
-
linkNode?: (n: T) => void;
|
|
2171
|
-
updateNode?: (n: T) => Promise<void>;
|
|
2172
|
-
}): (constructor: NodeCtor<T>) => NodeCtor<T>;
|
|
2173
|
-
getNodeClassOf(ctor: any): NodeClass;
|
|
2174
|
-
}
|
|
2175
|
-
export const Model: ModelRegister;
|
|
2176
|
-
export {};
|
|
2177
|
-
}
|
|
2178
|
-
|
|
2179
|
-
declare module '@jointhedots/core/src/scripting/graph/builder' {
|
|
2180
|
-
import type { DocumentData } from '@jointhedots/core/src/scripting/graph/log';
|
|
2181
|
-
import { DocumentModel, type Node, type NodeClass } from '@jointhedots/core/src/scripting/graph/model';
|
|
2182
|
-
export interface GraphScriptResolver {
|
|
2183
|
-
resolveNodeClass(type: string): NodeClass;
|
|
2184
|
-
}
|
|
2185
|
-
export class GraphBuilder {
|
|
2186
|
-
readonly model: DocumentModel;
|
|
2187
|
-
readonly data: DocumentData;
|
|
2188
|
-
readonly resolver: GraphScriptResolver;
|
|
2189
|
-
unconsolidatedElements: Set<Node<import( '@jointhedots/core/src/scripting/ast/primitives').AnyPrimitive>>;
|
|
2190
|
-
constructor(model: DocumentModel, data: DocumentData, resolver: GraphScriptResolver);
|
|
2191
|
-
revise(target: Node): void;
|
|
2192
|
-
}
|
|
2193
|
-
export function createGlobalResolver(): GraphScriptResolver;
|
|
2194
|
-
export function updateModel(b: GraphBuilder): void;
|
|
2195
|
-
}
|
|
2196
|
-
|
|
2197
|
-
declare module '@jointhedots/core/src/scripting/graph/values' {
|
|
2198
|
-
export class Pipeline<T> implements PromiseLike<T> {
|
|
2199
|
-
private resolvers;
|
|
2200
|
-
private value;
|
|
2201
|
-
private paused;
|
|
2202
|
-
emit(value: T): this;
|
|
2203
|
-
then<R = T>(onfulfilled?: ((value: T) => R | PromiseLike<R>) | null): Promise<any>;
|
|
2204
|
-
map<R>(fn: (value: T) => R): Pipeline<R>;
|
|
2205
|
-
filter(fn: (value: T) => boolean): Pipeline<T>;
|
|
2206
|
-
pipe<R>(fn: (pipeline: Pipeline<T>) => Pipeline<R>): Pipeline<R>;
|
|
2207
|
-
pause(): this;
|
|
2208
|
-
resume(): this;
|
|
2209
|
-
getValue(): T;
|
|
2210
|
-
subscribe(listener: (value: T) => void): () => boolean;
|
|
2211
|
-
private listeners;
|
|
2212
|
-
}
|
|
2213
|
-
}
|
|
2214
|
-
|
|
2215
|
-
declare module '@jointhedots/core/src/scripting/graph/nodes/nodes-expr' {
|
|
2216
|
-
import type { AST } from '@jointhedots/core/src/scripting/ast/api';
|
|
2217
|
-
import { ContextInstance, Node, type FeatureID } from '@jointhedots/core/src/scripting/graph/model';
|
|
2218
|
-
import { ValueConstraint, type Use } from '@jointhedots/core/src/scripting/graph/uses';
|
|
2219
|
-
export abstract class DXExpr<Data extends AST.Node = AST.Any, Value = any> extends Node<Data> {
|
|
2220
|
-
abstract evaluate(ctx: ContextInstance): any;
|
|
2221
|
-
use(feature: FeatureID, constraint: ValueConstraint): Use;
|
|
2222
|
-
}
|
|
2223
|
-
export class Literal extends DXExpr<AST.Literal> {
|
|
2224
|
-
value: any;
|
|
2225
|
-
evaluate(ctx: ContextInstance): any;
|
|
2226
|
-
}
|
|
2227
|
-
export class Identifier extends Node<AST.Identifier> {
|
|
2228
|
-
target: Node;
|
|
2229
|
-
use(feature: FeatureID, constraint: ValueConstraint): Use;
|
|
2230
|
-
}
|
|
2231
|
-
}
|
|
2232
|
-
|
|
2233
|
-
declare module '@jointhedots/core/src/scripting/graph/nodes/nodes-states' {
|
|
2234
|
-
import type { AST } from '@jointhedots/core/src/scripting/ast/api';
|
|
2235
|
-
import { Node, type NodeSymbol, type FeatureID } from '@jointhedots/core/src/scripting/graph/model';
|
|
2236
|
-
import { ValueConstraint, type Use } from '@jointhedots/core/src/scripting/graph/uses';
|
|
2237
|
-
export class DXElement extends Node<AST.ElementPrimitive> {
|
|
2238
|
-
get symbol(): NodeSymbol;
|
|
2239
|
-
getAttribut(name: string, ns?: string): Node;
|
|
2240
|
-
use(fature: FeatureID, constraint: ValueConstraint): Use;
|
|
2241
|
-
toString(): string;
|
|
2242
|
-
}
|
|
2243
|
-
}
|
|
2244
|
-
|
|
2245
|
-
declare module '@jointhedots/core/src/scripting/graph/nodes/nodes-render' {
|
|
2246
|
-
export {};
|
|
2247
|
-
}
|
|
2248
|
-
|
|
2249
|
-
declare module '@jointhedots/core/src/scripting/graph/api' {
|
|
2250
|
-
/***********
|
|
2251
|
-
* Flow Graph: Intermediate flow representation, consolidate basic syntax and connect element from document
|
|
2252
|
-
**********/
|
|
2253
|
-
import { DocumentModel } from '@jointhedots/core/src/scripting/graph/model';
|
|
2254
|
-
import '@jointhedots/core/src/scripting/graph/nodes/nodes-states';
|
|
2255
|
-
import '@jointhedots/core/src/scripting/graph/nodes/nodes-expr';
|
|
2256
|
-
import '@jointhedots/core/src/scripting/graph/nodes/nodes-render';
|
|
2257
|
-
import type { AST } from '@jointhedots/core/src/scripting/ast/api';
|
|
2258
|
-
export function loadScriptGraphFromAST(ast: AST.DocumentPrimitive): Promise<DocumentModel>;
|
|
2259
|
-
}
|
|
2260
|
-
|
|
2261
|
-
declare module '@jointhedots/core/src/scripting/builder' {
|
|
2262
|
-
export function createFlowFromMdx(text: string): Promise<import( '@jointhedots/core/src/scripting/graph/model').DocumentModel>;
|
|
2263
|
-
}
|
|
2264
|
-
|
|
2265
|
-
declare module '@jointhedots/core/src/scripting/ast/serde/printer' {
|
|
2266
|
-
import * as AST from '@jointhedots/core/src/scripting/ast/primitives';
|
|
2267
|
-
export function stringify_node_jsx(n: AST.Any): string;
|
|
2268
|
-
export function stringify_document(n: AST.Any): string;
|
|
2269
|
-
}
|
|
2270
|
-
|
|
2271
|
-
declare module '@jointhedots/core/src/scripting/graph/helpers' {
|
|
2272
|
-
import { Node } from '@jointhedots/core/src/scripting/graph/model';
|
|
2273
|
-
export function stringifyGraph(n: Node): string;
|
|
2274
|
-
}
|
|
2275
|
-
|
package/chunk.UGWDPVMV.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{URI as q}from"vscode-uri";import{URI as me,Utils as ue}from"vscode-uri";var l=class t{constructor(e,n){this.resource=e;this.definition=n}get(e){return e.getResource(this.resource)?.get()}fetch(e){return e.fetchResource(this.resource)}spec(e){return e.acquireResource(this.resource)?.spec}subservice(e){return t.About(`${this.resource}.${e}`)}static About(e,n=null){return new t(e,n)}};var L=l.About("component"),_e=l.About("editor");var P={object:{async read(t){let e=await t.text();return JSON.parse(e)},async write(t){let e=JSON.stringify(t);return new Blob([e],{type:"application/json"})}},text:{async read(t){return t.text()},async write(t){return new Blob([t],{type:"text/plain"})}}};function O(t){let[e,n]=t.split(","),o=e.match(/data:([^;]+)/),r=o?o[1]:"application/octet-stream",s=atob(n),i=new Uint8Array(s.length);for(let c=0;c<s.length;c++)i[c]=s.charCodeAt(c);return new Blob([i],{type:r})}function U(t){let e=t.match(/data:([^;]+)/);return e?e[1]:"application/octet-stream"}async function B(t){return new Promise((e,n)=>{let o=new FileReader;o.onloadend=()=>e(o.result),o.onerror=n,o.readAsDataURL(t)})}import{URI as D}from"vscode-uri";function v(t){if(t.startsWith("./")){let e=D.parse(window.location.href),n=e.path.split("/");return n[n.length-1]=t.slice(2),e.with({path:n.join("/"),query:"",fragment:""})}else return t.startsWith("/")?D.parse(window.location.href).with({path:t,query:"",fragment:""}):D.parse(t)}async function z(t){let e=t.services?Object.keys(t.services):[];if(t.type){let n=await u(t.type)?.fetch();if(n){for(let o in n?.services)if(o.startsWith("component.")){let r=o.slice(10);e.includes(r)||e.push(r)}}else throw new Error("Cannot create publiction properly")}return e}async function w(t){let{$id:e}=t;return{id:e,type:t.type,icon:t.icon,title:t.title||e,description:t.description||"",keywords:t.keywords,tags:t.tags,services:await z(t)}}function we(t){let e={query:t?.query||"",pattern:t?.pattern||null,tags:t?.tags||[],keywords:t?.keywords||[],services:t?.services||[],types:t?.types||[]};if(e.query.length>0)for(let n of e.query.split(/\s/))n.length>0&&!e.keywords.includes(n)&&e.keywords.push(n);return e.keywords.length>0&&(e.pattern=new RegExp(`(${e.keywords.join(").*(")})`)),e}function h(t,e){function n(s,i){return i?s?!i||i.test(s):!1:!0}function o(s,i){return!!(i.length===0||s&&i.includes(s))}function r(s,i){if(i.length===0)return!0;if(s){for(let c of s)if(i.includes(c))return!0}return!1}return!(!n(t.title||t.id,e.pattern)&&!n(t.description,e.pattern)||!r(t.services,e.services)||!r(t.keywords,e.keywords)||!r(t.tags,e.tags)||!o(t.type,e.types))}function F(t){if(typeof t=="string"){let[e,n]=t.split("#",2),o={type:"module",location:e};if(n){let[r,s]=n.split("?",2);if(o.identifier=r,s)for(let i of s.split("&")){let[c,p]=i.split("=");o[c]=p===void 0?!0:p}}return o}return t}var x=class{constructor(e){this.storage=e}modules_exports=new Map;baseUrl=X(import.meta.url);async load_resource(e){if(this.modules_exports.has(e))return this.modules_exports.get(e);let n=v(e);switch(await this.storage.check_content(n)){case"application/json":case"text/json":return this.import_module_json(e,n);default:return this.import_module_esm(e,n)}}async import_module_json(e,n){let o=await this.storage.load_content(n);return P.object.read(o)}async import_module_esm(e,n){let o=n.toString();try{let r=await import(o);return this.modules_exports.set(e,r),r}catch(r){throw r.message=`Cannot import '${o}': ${r.message}`,r}}};function X(t){let e=t.split("/");return e.pop(),e.join("/")}import{URI as Y}from"vscode-uri";var I=class{async check_url_content(e){let n=await fetch(e,{method:"HEAD"});if(n.ok){let o=n.headers.get("content-type");return o?o.split(";")[0].trim():"application/octet-stream"}return null}async load_url_content(e){let n=await fetch(e);if(n.ok)return n.blob();throw new Error(`Fetch failed ${n.statusText} ${n.status} '${e}'`)}async check_content(e){if(e.scheme==="local"){let n=e.toString(),o=localStorage.getItem(n);if(o)return U(o);throw new Error(`Unsupported local content uri: ${e}`)}else return this.check_url_content(e.toString())}async load_content(e){if(e.scheme==="local"){let n=e.toString();if(localStorage.getItem(n))return O(localStorage.getItem(n));throw new Error(`Unsupported local content uri: ${e}`)}else return this.load_url_content(e.toString())}async store_content(e,n){if(n.scheme==="local"){let o=n.toString(),r=await B(e);return localStorage.setItem(o,r),!0}return!1}};function je(t,e,n){let o=n?`/${e}/${n}`:`/${e}`;return Y.from({scheme:"local",authority:t,path:o})}var _=class{pubs=new Map;constructor(e=[]){for(let n of e)this.pubs.set(n.id,n)}async get_component_publication(e){return this.pubs.get(e)}async search_component_publications(e){let n=[];for(let o of this.pubs.values())h(o,e)&&n.push(o);return n}},S=class extends _{manifests=new Map;async add_component(e){let n=await w(e);return this.manifests.set(n.id,e),this.pubs.set(n.id,n),n}async delete_component(e){return this.manifests.delete(e),this.pubs.delete(e),!0}async get_component_manifest(e){return this.manifests.get(e)}async set_component_manifest(e,n){return!1}};var R=class{constructor(e){this.content_provider=e}manifest=null;catalog=null;async get_provider_bundle(){return this.manifest||(this.manifest=await(await fetch("./bundle.manifest.json")).json()),this.manifest}async get_component_catalog(){if(!this.catalog){let e=await this.get_provider_bundle();this.catalog=new _(e.data?.components)}return this.catalog}async get_component_publication(e){return(await this.get_component_catalog()).get_component_publication(e)}async search_component_publications(e){return(await this.get_component_catalog()).search_component_publications(e)}async get_component_manifest(e){try{let o=(await this.get_provider_bundle()).data.components.find(r=>r.id===e);if(o){let r=v(o.ref?`./${o.ref}`:`./${e}.json`),s=await this.content_provider.load_content(r);if(s)return P.object.read(s)}}catch{}return null}async set_component_manifest(e,n){return!1}async add_component(e){return null}async delete_component(e){return!1}};var M=class{constructor(e=[]){this.providers=e}add_provider(e){this.providers.push(e)}async get_component_publication(e){for(let n of this.providers){let o=await n.get_component_publication(e);if(o)return o}return null}async search_component_publications(e){let n=[];for(let o of this.providers){let r=await o.search_component_publications(e);r&&n.push(...r)}return n}async get_component_manifest(e){for(let n of this.providers){let o=await n.get_component_manifest(e);if(o)return o}return null}async set_component_manifest(e,n){for(let o of this.providers)if(await o.set_component_manifest(e,n))return!0;return!1}async add_component(e){for(let n of this.providers){let o=await n.add_component(e);if(o)return o}return null}async delete_component(e){for(let n of this.providers)if(await n.delete_component(e))return!0;return!1}};var A=5;function Z(){return new Promise((t,e)=>{let n=window.indexedDB.open("LocalComponents",A);n.onerror=o=>{console.error("Database error:",o.target.error),e(o.target.error)},n.onupgradeneeded=()=>{console.log("Upgrade LocalComponents to ",A);debugger;let o=n.result;o.objectStoreNames.contains("components_manifests")&&o.deleteObjectStore("components_manifests"),o.objectStoreNames.contains("components_services")&&o.deleteObjectStore("components_services"),o.objectStoreNames.contains("components")&&o.deleteObjectStore("components"),o.createObjectStore("components",{keyPath:"id"}).createIndex("title","title",{unique:!1});let s=o.createObjectStore("components_services",{keyPath:["component_id","service"]});s.createIndex("component_id","component_id",{unique:!1}),s.createIndex("service","service",{unique:!1}),o.createObjectStore("components_manifests",{keyPath:"component_id"}).createIndex("component_id","component_id",{unique:!1})},n.onsuccess=()=>{let o=n.result;o.onerror=r=>{console.error("Database error:",r)},t(n.result)}})}function ee(t,e){return new Promise((n,o)=>{let r=[],c=t.transaction(["components_manifests"],"readonly").objectStore("components_manifests").getAll(e);c.onsuccess=()=>{n(c.result?.[0]?.manifest)},c.onerror=p=>{o(p.target.error)}})}function te(t,e){let o=t.transaction(["components","components_services"],"readonly").objectStore("components");return new Promise((r,s)=>{let i=o.get(e);i.onsuccess=()=>{r(i.result)},i.onerror=c=>{s(c.target.error)}})}function N(t,e){let o=t.transaction(["components","components_services"],"readonly").objectStore("components"),r=[];for(let s of e)r.push(new Promise((i,c)=>{let p=o.get(s);p.onsuccess=()=>{i(p.result)},p.onerror=m=>{c(m.target.error)}}));return Promise.all(r)}function ne(t,e){return new Promise((n,o)=>{let i=t.transaction(["components"],"readonly").objectStore("components").openCursor(),c=[];i.onsuccess=()=>{let p=i.result;if(p){let m=p.value;e(m)&&c.push(p.value),p.continue()}else n(c)},i.onerror=()=>{o(i.error)}})}function oe(t,e,n){let s=t.transaction(["components_services"],"readonly").objectStore("components_services").index("service"),i=[];for(let c of e)i.push(new Promise((p,m)=>{let d=s.getAll(c);d.onsuccess=async()=>{for(let b of d.result)b.service===c&&n.add(b.component_id);p(void 0)},d.onerror=b=>{m(b.target.error)}}));return Promise.all(i)}async function re(t,e){let{services:n}=e;if(n&&n.length>0){let o=[],r=new Set;await oe(t,n,r);for(let s of await N(t,Array.from(r)))h(s,e)&&o.push(s);return o}else return ne(t,o=>h(o,e))}function se(t,e){return new Promise(async(n,o)=>{let r=await w(e),s=t.transaction(["components","components_services","components_manifests"],"readwrite");s.objectStore("components").put(r);let c=s.objectStore("components_services");for(let m of r.services)c.put({component_id:r.id,service:m});s.objectStore("components_manifests").put({component_id:r.id,manifest:e}),s.onerror=m=>o(m.target.error),s.oncomplete=()=>n(r),s.commit()})}function ie(t,e){return new Promise(async(n,o)=>{let r=await te(t,e);if(r){let s=t.transaction(["components","components_services","components_manifests"],"readwrite");s.objectStore("components").delete(e);let c=s.objectStore("components_services");for(let m of r.services)c.delete([e,m]);s.objectStore("components_manifests").delete(e),s.onerror=m=>o(m.target.error),s.oncomplete=()=>n(!0),s.commit()}else n(!1)})}var T=class{db=Z();async get_component_publication(e){return(await N(await this.db,[e]))[0]}async search_component_publications(e){return re(await this.db,e)}async get_component_manifest(e){return ee(await this.db,e)}async set_component_manifest(e,n){return!1}async add_component(e){return se(await this.db,e)}async delete_component(e){return ie(await this.db,e)}};function J(){try{if(window)return new T}catch{}return new S}var $=class{notifyError(e,n){console.error(e),this.notifyObject(pe(e,n))}notifyObject(e){f.push(e),console.log(e)}},E=new Set,f=[],K=0,ce=new $;ae(ce);function W(){return K++,"id-"+Date.now().toString(36)+"-"+K.toString(2)}function ae(t){E.add(t)}function Je(t){E.delete(t)}function Ke(){return f.length}function Q(t,e){let n=[];for(let o of f)if(e===void 0||e===o.component_id){if(n.length>=t)return{objects:n,hasMore:!0};n.push(o)}return{objects:n,hasMore:!1}}function G(t){return f.reduce((e,n)=>{if(t===void 0||t===n.component_id)switch(n.status){case"error":e.error_count++,e.warn_count++,e.notify_count++,e.info_count++;break;case"warn":e.warn_count++,e.notify_count++,e.info_count++;break;case"notify":e.notify_count++,e.info_count++;break;case"info":e.info_count++;break}return e},{action_expected_count:0,error_count:0,warn_count:0,notify_count:0,info_count:0})}var y={send(t){setTimeout(()=>{for(let e of E)e.notifyObject(t)},0)},error(t,e){setTimeout(()=>{for(let n of E)n.notifyError(t,e)},0)},event(t,e){let n=g(t),o=W();y.send({...e,kind:"event",status:e.status||"error",message:e.message||`Issue with component: ${o}`,component_id:n.id,id:o})},openTicket(t,e,n){let o=g(t),r=`${o.id}/${e}`;y.send({...n,kind:"ticket",status:n.status||"error",message:n.message||`Issue with component: ${r}`,component_id:o.id,id:r})},closeTicket(t,e){let o=`${g(t).id}/${e}`,r=f.findIndex(s=>s.id===o);if(r>=0){let s=f[r];f.splice(r,1),y.event(t,{...s,kind:"event",status:"info",icon:"[success]bi:check-circle",message:`[closed] ${s.message}`,actions:void 0,doc_uri:void 0})}}};function pe(t,e){return{id:W(),kind:"event",status:"error",component_id:g(e).id,message:t.message}}var C=class{constructor(e){this.id=e}__instance__=void 0;manifest=void 0;get title(){return this.id}get namespace(){let e=this.id.indexOf(":");switch(e){case-1:return"std";case 0:return"";default:return this.id.slice(0,e)}}get valid(){return this.manifest!==void 0&&this.manifest.type!=="<error>"}get loaded(){return this.manifest!==void 0}get installed(){return this.__instance__!==void 0}get instance(){return this.__instance__}set instance(e){if(this.__instance__=e,e instanceof Object)a.datamap.set(e,this);else if(e!==null)throw this.__instance__=null,new Error("Component instance shall be an object")}get(){if(this.manifest===void 0)throw new Error("Cannot get manifest of not loaded module");return this.manifest}set(e){return this.manifest=e,this}fetch(){let e=a.loadings.get(this);return e||(this.manifest===void 0?e=a.components_provider.get_component_manifest(this.id).then(async n=>{if(n)n.type&&await u(n.type).fetch(),this.manifest=n;else throw new Error(`Component '${this.id}' not found`);return this.manifest}).catch(n=>(y.error(n,this),this.set({$id:this.id,type:"<error>",message:n.message,stack:n.stack}),this.__instance__=new Error(n.message),this.manifest)):e=Promise.resolve(this.manifest),a.loadings.set(this,e),e)}async install(){let e=a.installings.get(this);return e||(this.instance===void 0?(this.instance=null,e=new Promise(async n=>{try{this.loaded===!1&&await this.fetch();let o=this.manifest?.type;if(o){let r=u(o);await(await L.fetch(r)).createComponent(this,this.manifest)}}catch(o){y.error(o,this)}n(this)})):e=Promise.resolve(this),a.installings.set(this,e),e)}acquireResource(e){let n=`${this.id}#${e}`,o=a.resources.get(n);return o||(o=new j(this,e),a.resources.set(n,o)),o}getResource(e){return this.hasResource(e)?this.acquireResource(e):null}hasResource(e){let{manifest:n}=this;if(n?.services?.[e])return!0;if(n?.type){let o=u(n.type);if(o)return o?.hasResource(`component.${e}`)}return!1}async getResourceAsync(e){return this.manifest===void 0&&await this.fetch(),this.getResource(e)}async fetchResource(e){return this.manifest===void 0&&await this.fetch(),this.getResource(e)?.fetch()}getLogStats(){return G(this.id)}getLogs(e){return Q(e,this.id)}},j=class{constructor(e,n){this.component=e;this.resource=n;e.fetch()}entry=void 0;identifier=void 0;get valid(){return this.identifier!==void 0&&this.component.valid}get loaded(){return this.identifier!==void 0}async fetch(){if(this.identifier===void 0){let e=a.loadings.get(this);return e||(e=new Promise(async n=>{let{component:o}=this;try{o.installed===!1&&await o.install();let{manifest:r}=o,s=F(r.services?.[this.resource]),i=s?.type;if(i==="module")this.entry=await a.resources_loader.load_resource(s.location),this.identifier=s.identifier;else if(i==="api.rest")this.entry=V(s,o),this.identifier=null;else if(r.type){let m=u(r.type).getResource(`component.${this.resource}`);if(m){let d=await m.fetch();d?this.entry=await d(this.component):this.entry=null,this.identifier=null}else throw new Error(`Cannot provide resource '${this.resource}'`)}else throw new Error(`Cannot load resource '${this.resource}': ${JSON.stringify(s)}`);let c=this.get();c instanceof Object&&a.datamap.set(c,this)}catch(r){console.error(`Cannot install service '${this.resource}' of '${o.id}':`,r),this.entry=null,this.identifier=null}n(this.get()),a.loadings.set(this,null)}),a.loadings.set(this,e),e)}else return this.get()}get(){if(this.entry)return this.identifier!==null?this.entry?.[this.identifier]:this.entry}set(e){this.entry=e,this.identifier=null}get spec(){let e=this.resource.split(".")[0];return this.component.manifest?.specs?.[e]}get url(){let e=this.component.manifest?.services?.[this.resource];if(typeof e=="string"){let n=me.parse(window.location.href).with({fragment:null});return ue.joinPath(n,"..",e.split("#")[0]).toString()}return null}},k=class{components=new Map;resources=new Map;datamap=new WeakMap;loadings=new Map;installings=new Map;listeners=new Set;components_provider=new M([]);resources_loader=null;content_provider=null;constructor(){this.content_provider=new I,this.components_provider.add_provider(new R(this.content_provider)),this.components_provider.add_provider(J()),this.resources_loader=new x(this.content_provider)}listen(e){return this.listeners.add(e),e}unlisten(e){this.listeners.delete(e)}notifyError(e,n){}},a=new k;u("<error>").set({$id:"<error>",icon:"bi:house",title:"Define invalid component"});function le(){return u("log:application")}function g(t,e){if(t instanceof Object){let n=a.datamap.get(t)||t;if(n instanceof C)return n;if(n instanceof j)return n.component;if(!e&&t.getComponent instanceof Function)return g(t.getComponent(),!0)}return le()}function u(t){let e=a.components.get(t);return!e&&typeof t=="string"&&(e=new C(t),a.components.set(t,e)),e}function nt(t){let e=t.$id,n=a.components.get(e);return!n&&typeof e=="string"&&(n=new C(e),n.manifest=t,n.instance=null,a.components.set(e,n)),n}function ot(t){let e=t.split("#");return e.length===2?u(e[0])?.acquireResource(e[1]):null}function rt(t,e){return e&&t.startsWith("/")?u(`${e?.id}${t}`):null}async function st(t){let e=u(t.$id);return a.loadings.delete(e),e.manifest=t,fe(e)}async function fe(t){console.log("[Update Component]",t.id);let e=await t.fetch();if(await a.components_provider.add_component(e),t.loaded&&e.type&&t.installed){let o=await L.fetch(u(e.type));o&&(t.instance?await o.updateComponent(t,e):(t.__instance__=void 0,await o.createComponent(t,e))),t.instance instanceof Object&&a.datamap.set(t.instance,t),a.listeners.forEach(r=>r(t))}return t}async function it(t){console.log("deleteComponent",t),await a.components_provider.delete_component(t)&&de(t)}function de(t){let e=a.components.get(t);e&&(e.set({$id:e.id,type:"<error>",message:"Component deleted"}),a.listeners.forEach(n=>n(e)),a.components.delete(t))}async function ct(t){return a.components_provider.search_component_publications(t)}async function at(t){let e=[];for(let n of t){let o=await a.components_provider.get_component_publication(n);o?e.push(o):e.push(ge(n))}return e}function ge(t,e){return{id:t,title:e||"! Not found: "+t}}var H=l.About("api.rest");function V(t,e){let n=t.endpoint+(t.path||"");return{invoke(o,r){return globalThis.fetch(n+o,r)},getUrl(o){return n+o}}}var dt={async fetch(t,e){if(typeof t=="string"&&(t=q.parse(t)),t.scheme==="jtd"){let n=u(t.authority),o=await H.fetch(n);if(o){let r=t.query?`${t.path}?${t.query}`:t.path;return o.invoke(r,e)}else return Response.error()}else return fetch(t.toString(),e)},async getUri(t){if(typeof t=="string"&&(t=q.parse(t)),t.scheme==="jtd"){let e=u(t.authority),n=await H.fetch(e);if(n){let o=t.query?`${t.path}?${t.query}`:t.path;t=q.parse(n.getUrl(o))}else throw new Error(`Unknown component '${t.authority}'`)}return t}};export{l as a,L as b,_e as c,v as d,z as e,w as f,we as g,h,F as i,x as j,I as k,je as l,_ as m,S as n,R as o,M as p,J as q,H as r,V as s,dt as t,C as u,j as v,k as w,a as x,le as y,g as z,u as A,nt as B,ot as C,rt as D,st as E,fe as F,it as G,de as H,ct as I,at as J,ge as K,ae as L,Je as M,Ke as N,Q as O,G as P,y as Q,pe as R};
|