@wcstack/server 1.13.1 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +14 -3
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.min.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -118,14 +118,25 @@ interface IWcBindableProperty {
|
|
|
118
118
|
readonly event: string;
|
|
119
119
|
readonly getter?: (event: Event) => any;
|
|
120
120
|
}
|
|
121
|
+
interface IWcBindableInput {
|
|
122
|
+
readonly name: string;
|
|
123
|
+
readonly attribute?: string;
|
|
124
|
+
}
|
|
125
|
+
interface IWcBindableCommand {
|
|
126
|
+
readonly name: string;
|
|
127
|
+
readonly async?: boolean;
|
|
128
|
+
}
|
|
121
129
|
interface IWcBindable {
|
|
122
130
|
readonly protocol: "wc-bindable";
|
|
123
|
-
readonly version:
|
|
124
|
-
readonly properties: IWcBindableProperty[];
|
|
131
|
+
readonly version: 1;
|
|
132
|
+
readonly properties: readonly IWcBindableProperty[];
|
|
133
|
+
readonly inputs?: readonly IWcBindableInput[];
|
|
134
|
+
readonly commands?: readonly IWcBindableCommand[];
|
|
125
135
|
}
|
|
136
|
+
|
|
126
137
|
/**
|
|
127
138
|
* Value types for RenderCore (headless) — the 3 async state properties.
|
|
128
|
-
* Use with `bind()` from
|
|
139
|
+
* Use with `bind()` from `a wc-bindable binding core` for compile-time type checking.
|
|
129
140
|
*
|
|
130
141
|
* @example
|
|
131
142
|
* ```typescript
|
package/dist/index.esm.js
CHANGED
package/dist/index.esm.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Window as t}from"happy-dom";const e=new class{_queue=[];_locked=!1;async acquire(){return this._locked&&await new Promise(t=>this._queue.push(t)),this._locked=!0,()=>{this._locked=!1,this._queue.shift()?.()}}},n=["document","customElements","HTMLElement","DocumentFragment","Node","NodeFilter","Comment","Text","MutationObserver","ShadowRoot","Element","HTMLTemplateElement"];function r(t){const e={};for(const r of n)e[r]=globalThis[r],globalThis[r]=t[r];const r=URL.createObjectURL;return URL.createObjectURL=void 0,()=>{URL.createObjectURL=r;for(const t of n)globalThis[t]=e[t]}}function o(t){const e=globalThis.URL,n=t;return globalThis.URL=class extends e{constructor(t,e){"string"==typeof t&&t.startsWith("/")&&void 0===e?super(t,n):super(t,e)}},globalThis.URL.createObjectURL=e.createObjectURL,globalThis.URL.revokeObjectURL=e.revokeObjectURL,()=>{globalThis.URL=e}}function s(t){const e=t.__state;if(!e||"object"!=typeof e)return{};const n={};for(const[t,r]of Object.entries(e))t.startsWith("$")||"function"==typeof r||(n[t]=r);return n}async function a(n,s){const a=await e.acquire(),i=new t,c=r(i),l=i.document,d=s?.baseUrl?o(s.baseUrl):null,h=s?.bootstraps??await async function(){const{bootstrapState:t}=await import("@wcstack/state");return[t]}();for(const t of h)t();try{l.documentElement.setAttribute("data-wcs-server",""),l.body.innerHTML=n;const t=10,e=new WeakSet,r=new Set,o=[];for(let n=0;n<t;n++){const t=[];for(const n of l.querySelectorAll("*-*")){if(e.has(n))continue;const s=n.constructor;s.hasConnectedCallbackPromise&&(e.add(n),t.push(n.connectedCallbackPromise)),r.has(s)||"function"!=typeof s.getBindingsReady||(r.add(s),o.push(s.getBindingsReady(l)))}if(0===t.length)break;await Promise.all(t)}return await Promise.all(o),l.body.innerHTML}finally{d?.(),c(),await i.close(),a()}}const i="1.
|
|
1
|
+
import{Window as t}from"happy-dom";const e=new class{_queue=[];_locked=!1;async acquire(){return this._locked&&await new Promise(t=>this._queue.push(t)),this._locked=!0,()=>{this._locked=!1,this._queue.shift()?.()}}},n=["document","customElements","HTMLElement","DocumentFragment","Node","NodeFilter","Comment","Text","MutationObserver","ShadowRoot","Element","HTMLTemplateElement"];function r(t){const e={};for(const r of n)e[r]=globalThis[r],globalThis[r]=t[r];const r=URL.createObjectURL;return URL.createObjectURL=void 0,()=>{URL.createObjectURL=r;for(const t of n)globalThis[t]=e[t]}}function o(t){const e=globalThis.URL,n=t;return globalThis.URL=class extends e{constructor(t,e){"string"==typeof t&&t.startsWith("/")&&void 0===e?super(t,n):super(t,e)}},globalThis.URL.createObjectURL=e.createObjectURL,globalThis.URL.revokeObjectURL=e.revokeObjectURL,()=>{globalThis.URL=e}}function s(t){const e=t.__state;if(!e||"object"!=typeof e)return{};const n={};for(const[t,r]of Object.entries(e))t.startsWith("$")||"function"==typeof r||(n[t]=r);return n}async function a(n,s){const a=await e.acquire(),i=new t,c=r(i),l=i.document,d=s?.baseUrl?o(s.baseUrl):null,h=s?.bootstraps??await async function(){const{bootstrapState:t}=await import("@wcstack/state");return[t]}();for(const t of h)t();try{l.documentElement.setAttribute("data-wcs-server",""),l.body.innerHTML=n;const t=10,e=new WeakSet,r=new Set,o=[];for(let n=0;n<t;n++){const t=[];for(const n of l.querySelectorAll("*-*")){if(e.has(n))continue;const s=n.constructor;s.hasConnectedCallbackPromise&&(e.add(n),t.push(n.connectedCallbackPromise)),r.has(s)||"function"!=typeof s.getBindingsReady||(r.add(s),o.push(s.getBindingsReady(l)))}if(0===t.length)break;await Promise.all(t)}return await Promise.all(o),l.body.innerHTML}finally{d?.(),c(),await i.close(),a()}}const i="1.15.0";class c extends EventTarget{static wcBindable={protocol:"wc-bindable",version:1,properties:[{name:"html",event:"wcs-render:html-changed"},{name:"loading",event:"wcs-render:loading-changed"},{name:"error",event:"wcs-render:error"}]};_html=null;_loading=!1;_error=null;get html(){return this._html}get loading(){return this._loading}get error(){return this._error}_setLoading(t){this._loading=t,this.dispatchEvent(new CustomEvent("wcs-render:loading-changed",{detail:t}))}_setHtml(t){this._html=t,this.dispatchEvent(new CustomEvent("wcs-render:html-changed",{detail:t}))}_setError(t){this._error=t,this.dispatchEvent(new CustomEvent("wcs-render:error",{detail:t}))}async render(t){this._setLoading(!0),this._setError(null);try{const e=await a(t);return this._setHtml(e),this._setLoading(!1),this._html}catch(t){return this._setError(t instanceof Error?t:new Error(String(t))),this._setLoading(!1),null}}}export{n as GLOBALS_KEYS,c as RenderCore,i as VERSION,s as extractStateData,o as installBaseUrl,r as installGlobals,a as renderToString};
|
|
2
2
|
//# sourceMappingURL=index.esm.min.js.map
|