@metapages/metapage 1.7.2 → 1.7.4
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/metapage/MetapageIFrameRpcClient.d.ts.map +1 -1
- package/dist/metapage/MetapageIFrameRpcClient.js +2 -2
- package/dist/metapage/MetapageIFrameRpcClient.js.map +1 -1
- package/dist/metapage/util.d.ts +1 -1
- package/dist/metapage/util.d.ts.map +1 -1
- package/dist/metapage/util.js +1 -1
- package/dist/metapage/util.js.map +1 -1
- package/package.json +1 -1
- package/src/metapage/MetapageIFrameRpcClient.ts +17 -24
- package/src/metapage/util.ts +30 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetapageIFrameRpcClient.d.ts","sourceRoot":"","sources":["../../src/metapage/MetapageIFrameRpcClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIzD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO5C,OAAO,EAAsB,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAA0B,MAAM,QAAQ,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAEL,wBAAwB,EAGzB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAC;AAajE,qBAAa,uBAAwB,SAAQ,YAAY,CACvD,wBAAwB,GAAG,cAAc,CAC1C;IACC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,EAAE,EAAE,WAAW,CAAC;IAChB,OAAO,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAEvC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,iBAAiB,CAAM;IAC/B,OAAO,EAAE,iBAAiB,CAAM;IAChC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAM;IAClC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE,CAAM;IACzD,OAAO,EAAE,OAAO,CAAS;IACzB,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAM;IAC/B,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,4BAA4B,EAAE,OAAO,CAAS;IAC9C,WAAW,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAE/C,SAAS,EAAE,cAAc,CAAC;gBAGxB,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,UAAU,EACpB,sBAAsB,EAAE,MAAM,EAC9B,KAAK,GAAE,OAAe;
|
|
1
|
+
{"version":3,"file":"MetapageIFrameRpcClient.d.ts","sourceRoot":"","sources":["../../src/metapage/MetapageIFrameRpcClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
2
|
-
Error: ${
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("eventemitter3"),b=require("./Constants.js"),M=require("./data.js"),h=require("./MetapageTools.js"),w=require("./Shared.js"),c=require("./conversions-metaframe.js"),r=require("./events.js"),u=require("./jsonrpc.js"),O=require("@metapages/hash-query"),R=require("./util.js");class L extends I.EventEmitter{constructor(t,s,e,a,d,p=!1){if(super(),this.inputs={},this.outputs={},this._disposables=[],this._rpcListeners=[],this._loaded=!1,this._onLoaded=[],this._sendInputsAfterRegistration=!1,this._cachedEventInputsUpdate={iframeId:void 0,inputs:void 0},this._cachedEventOutputsUpdate={iframeId:null,inputs:null},!s.startsWith("http")){for(;s.startsWith("/");)s=s.substring(1);s=window.location.protocol+"//"+window.location.hostname+(window.location.port&&window.location.port!=""?":"+window.location.port:"")+"/"+s}if(this.url=s,this._metapage=t,this._debug=p,p){var f=new URL(this.url);f.searchParams.set(w.MetapageHashParams.mp_debug,"true"),this.url=f.href}this.id=e,this._parentId=a,this._color=h.stringToRgb(this.id),this._consoleBackgroundColor=d,this._iframe=document.createElement("iframe"),this._iframe.name=this.id;const i=this;this.iframe=new Promise(v=>{h.pageLoaded().then(async()=>{var l,g,m,_;if(i._iframe){if((_=(m=(g=(l=this._metapage)==null?void 0:l._definition)==null?void 0:g.metaframes)==null?void 0:m[this.id])!=null&&_.allow)i._iframe.allow=this._metapage._definition.metaframes[this.id].allow,this._debug&&this.log(`mf allow=${i._iframe.allow} from this._metapage?._definition`);else{let o=O.getHashParamValueJsonFromUrl(this.url,"definition");if(o=o&&(o!=null&&o.version)?await c.convertMetaframeJsonToCurrentVersion(o):void 0,!i._iframe)return;if(o!=null&&o.allow)i._iframe.allow=o.allow;else{let n=await i.getDefinition();if(this._debug&&this.log(`mf metaframeDef=${JSON.stringify(n)}`),n=n&&(n!=null&&n.version)?await c.convertMetaframeJsonToCurrentVersion(n):void 0,this._debug&&this.log(`mf metaframeDef=${JSON.stringify(n)}`),!i._iframe)return;n&&n.allow&&(i._iframe.allow=n.allow)}}this._debug&&this.log(`mf allow=${i._iframe.allow} from ${this.url}`),i._iframe.src=this.url,v(i._iframe)}})}),this.ack=this.ack.bind(this),this.dispose=this.dispose.bind(this),this.getDefinition=this.getDefinition.bind(this),this.getDefinitionUrl=this.getDefinitionUrl.bind(this),this.log=this.log.bind(this),this.logInternal=this.logInternal.bind(this),this.onInput=this.onInput.bind(this),this.onInputs=this.onInputs.bind(this),this.onOutput=this.onOutput.bind(this),this.onOutputs=this.onOutputs.bind(this),this.register=this.register.bind(this),this.registered=this.registered.bind(this),this.sendInputs=this.sendInputs.bind(this),this.sendOrBufferPostMessage=this.sendOrBufferPostMessage.bind(this),this.sendRpc=this.sendRpc.bind(this),this.sendRpcInternal=this.sendRpcInternal.bind(this),this.setInput=this.setInput.bind(this),this.setInputs=this.setInputs.bind(this),this.setMetapage=this.setMetapage.bind(this),this.setOutput=this.setOutput.bind(this),this.setOutputs=this.setOutputs.bind(this),this.addListenerReturnDisposer=this.addListenerReturnDisposer.bind(this),this.isDisposed=this.isDisposed.bind(this)}addListenerReturnDisposer(t,s){return super.addListener(t,s),()=>{super.removeListener(t,s)}}setMetapage(t){return this._metapage=t,this}getDefinitionUrl(){var t=new URL(this.url);return t.pathname=t.pathname+(t.pathname.endsWith("/")?"metaframe.json":"/metaframe.json"),t.href}async getDefinition(){if(this._definition)return this._definition;try{const s=await R.getMetaframeDefinitionFromUrl(this.url);if(s)return this._definition=s,this._definition}catch(s){var t=this.getDefinitionUrl();this.emit(r.MetapageEvents.Warning,`Failed to fetch or convert: ${t}
|
|
2
|
+
Error: ${s!=null&&s.message?s==null?void 0:s.message:s==null?void 0:s.toString()}`)}}setInput(t,s){console.assert(!!t);var e={};e[t]=s,this.setInputs(e)}setInputs(t){this.log({m:"MetapageIFrameRpcClient",inputs:t});const s=t;if(this.inputs=h.merge(this.inputs,t),this.inputs===s)return this;if(this._loaded||(this._sendInputsAfterRegistration=!0),this._iframe.parentNode&&this._loaded&&this.sendInputs(t),this.emit(r.MetapageEvents.Inputs,this.inputs),this._metapage.listenerCount(r.MetapageEvents.Inputs)>0){var e={};e[this.id]=t,this._metapage.emit(r.MetapageEvents.Inputs,e)}return this}setOutput(t,s){console.assert(!!t);var e={};e[t]=s,this.setOutputs(e)}setOutputs(t){const s=t;if(this.outputs=h.merge(this.outputs,t),this.outputs===s)return this;if(this.emit(r.MetapageEvents.Outputs,t),this._metapage.listenerCount(r.MetapageEvents.Outputs)>0){var e={};e[this.id]=this.outputs,this._metapage.emit(r.MetapageEvents.Outputs,e)}}onInputs(t){return this.addListenerReturnDisposer(r.MetapageEvents.Inputs,t)}onInput(t,s){var e=function(a){a.hasOwnProperty(t)&&s(a[t])};return this.addListenerReturnDisposer(r.MetapageEvents.Inputs,e)}onOutputs(t){return this.addListenerReturnDisposer(r.MetapageEvents.Outputs,t)}onOutput(t,s){var e=function(a){a.hasOwnProperty(t)&&s(a[t])};return this.addListenerReturnDisposer(r.MetapageEvents.Outputs,e)}isDisposed(){return this.inputs===void 0}dispose(){for(super.removeAllListeners();this._disposables&&this._disposables.length>0;){const t=this._disposables.pop();t&&t()}this._rpcListeners=void 0,this.inputs=void 0,this.outputs=void 0,this._iframe&&this._iframe.parentNode&&this._iframe.parentNode.removeChild(this._iframe),this._iframe=void 0,this._bufferMessages=void 0,this._bufferTimeout&&(window.clearInterval(this._bufferTimeout),this._bufferTimeout=void 0),this._metapage=void 0}register(){var t={iframeId:this.id,parentId:this._parentId,state:{inputs:this.inputs},version:b.VERSION_METAPAGE};this.sendRpcInternal(u.JsonRpcMethodsFromParent.SetupIframeServerResponse,t)}registered(t){if(this.log({m:"MetapageIFrameRpcClient.registered",inputs:this.inputs}),!this._loaded){if(!t)throw"Cannot register without a version";for(this.version=t,this._loaded=!0;this._onLoaded&&this._onLoaded.length>0;)this._onLoaded.pop()();this._sendInputsAfterRegistration&&this.sendInputs(this.inputs)}}async sendInputs(t){t&&(t=await M.serializeInputs(t),!this.isDisposed()&&this.sendRpc(u.JsonRpcMethodsFromParent.InputsUpdate,{inputs:t,parentId:this._parentId}))}sendRpc(t,s){var e,a;if((e=this==null?void 0:this._iframe)!=null&&e.parentNode&&this._loaded)this.sendRpcInternal(t,s);else{(a=this==null?void 0:this._metapage)==null||a.error("sending rpc later");const d=this;this==null||this._onLoaded.push(()=>{d.sendRpcInternal(t,s)})}}ack(t){if(this._debug){this.log("⚒ ⚒ ⚒ sending ack from client to frame");var s={message:t};this.sendRpc(u.JsonRpcMethodsFromParent.MessageAck,s)}}log(t){this._debug&&this.logInternal(t)}logInternal(t){let s;typeof t=="string"?s=t:typeof t=="string"?s=t+"":s=JSON.stringify(t),h.log(`Metapage[${this._parentId}] Metaframe[${this.id}] ${s}`,this._color,this._consoleBackgroundColor)}sendRpcInternal(t,s){const e={id:"_",iframeId:this.id,jsonrpc:"2.0",method:t,params:s,parentId:this._parentId};this._iframe?this.sendOrBufferPostMessage(e):this._metapage?this._metapage.error(`Cannot send to child iframe messageJSON=${JSON.stringify(e).substring(0,200)}`):console.error(`Cannot send to child iframe messageJSON=${JSON.stringify(e).substring(0,200)}`)}sendOrBufferPostMessage(t){if(this._iframe&&this._iframe.contentWindow)this._iframe.contentWindow.postMessage(t,this.url);else if(this._bufferMessages)this._bufferMessages.push(t);else{this._bufferMessages=[t];const s=this;this._bufferTimeout=window.setInterval(function(){s._iframe&&s._iframe.contentWindow&&(s._bufferMessages.forEach(e=>s._iframe.contentWindow.postMessage(e,s.url)),window.clearInterval(s._bufferTimeout),s._bufferTimeout=void 0,s._bufferMessages=void 0)},0)}}}exports.MetapageIFrameRpcClient=L;
|
|
3
3
|
//# sourceMappingURL=MetapageIFrameRpcClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetapageIFrameRpcClient.js","sources":["../../src/metapage/MetapageIFrameRpcClient.ts"],"sourcesContent":[null],"names":["MetapageIFrameRpcClient","EventEmitter","metapage","url","iframeId","parentId","consoleBackgroundColor","debug","urlBlob","MetapageHashParams","stringToRgb","selfThis","resolve","_d","_c","_b","_a","urlEncodedDefinition","getHashParamValueJsonFromUrl","convertMetaframeJsonToCurrentVersion","metaframeDef","event","listener","
|
|
1
|
+
{"version":3,"file":"MetapageIFrameRpcClient.js","sources":["../../src/metapage/MetapageIFrameRpcClient.ts"],"sourcesContent":[null],"names":["MetapageIFrameRpcClient","EventEmitter","metapage","url","iframeId","parentId","consoleBackgroundColor","debug","urlBlob","MetapageHashParams","stringToRgb","selfThis","resolve","_d","_c","_b","_a","urlEncodedDefinition","getHashParamValueJsonFromUrl","convertMetaframeJsonToCurrentVersion","metaframeDef","event","listener","getMetaframeDefinitionFromUrl","err","MetapageEvents","name","inputBlob","inputs","maybeNewInputs","originalInputs","merge","inputUpdate","pipeId","updateBlob","outputs","maybeNewOutputs","originalOutputs","outputsUpdate","f","pipeName","fWrap","val","response","VERSION_METAPAGE","JsonRpcMethodsFromParent","version","serializeInputs","method","params","thing","message","payload","o","MetapageToolsLog","messageJSON","m"],"mappings":"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"}
|
package/dist/metapage/util.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ import { VersionsMetaframe, VersionsMetapage } from "./versions";
|
|
|
3
3
|
import { MetaframeDefinitionV4, MetapageDefinitionV3 } from "./v0_4";
|
|
4
4
|
import { MetaframeDefinitionV2, MetapageDefinitionV2 } from "./v2";
|
|
5
5
|
export declare const getMetapageDefinitionFromUrl: (url: string, version?: VersionsMetapage) => Promise<MetapageDefinitionV2 | MetapageDefinitionV1 | MetapageDefinitionV3>;
|
|
6
|
-
export declare const getMetaframeDefinitionFromUrl: (url: string, version?: VersionsMetaframe) => Promise<MetaframeDefinitionV2 | MetaframeDefinitionV1 | MetaframeDefinitionV4>;
|
|
6
|
+
export declare const getMetaframeDefinitionFromUrl: (url: string, version?: VersionsMetaframe) => Promise<MetaframeDefinitionV2 | MetaframeDefinitionV1 | MetaframeDefinitionV4 | undefined>;
|
|
7
7
|
export declare const isEmptyMetaframeDefinition: (definition?: MetaframeDefinitionV1 | MetaframeDefinitionV2 | MetaframeDefinitionV4) => boolean;
|
|
8
8
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/metapage/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,MAAM,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/metapage/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,MAAM,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,MAAM,CAAC;AAKnE,eAAO,MAAM,4BAA4B,QAAe,MAAM,YAAY,gBAAgB,KAAG,QAAQ,oBAAoB,GAAC,oBAAoB,GAAC,oBAAoB,CAWlK,CAAC;AAEF,eAAO,MAAM,6BAA6B,QAAe,MAAM,YAAY,iBAAiB,KAAG,QAAQ,qBAAqB,GAAC,qBAAqB,GAAC,qBAAqB,GAAC,SAAS,CA6BjL,CAAC;AAEF,eAAO,MAAM,0BAA0B,gBAAiB,qBAAqB,GAAC,qBAAqB,GAAC,qBAAqB,KAAG,OAiB3H,CAAC"}
|
package/dist/metapage/util.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("fetch-retry"),l=require("./conversions-metapage.js"),n=require("./conversions-metaframe.js"),f=require("@metapages/hash-query"),c=m(fetch),p=async(e,s)=>{const t=new URL(e);t.pathname=t.pathname+(t.pathname.endsWith("/")?"metapage.json":"/metapage.json");const a=await(await c(t.href,{redirect:"follow",retries:3,retryDelay:1e3})).json();return await l.convertMetapageDefinitionToVersion(a,s||"1")},u=async(e,s)=>{const t=new URL(e);let r=f.getHashParamValueJsonFromUrl(e,"definition");if(r!=null&&r.version)return n.convertMetaframeJsonToCurrentVersion(r);t.pathname.endsWith("metaframe.json")||(t.pathname=t.pathname+(t.pathname.endsWith("/")?"metaframe.json":"/metaframe.json"));try{const o=await(await c(t.href,{redirect:"follow",retries:3,retryDelay:1e3})).json();return console.log("definition",o),await n.convertMetaframeDefinitionToVersion(o,s||"1")}catch(a){console.error(`Error fetching metaframe definition from ${t.href}: ${a}`);return}},h=e=>e?!(e!=null&&e.inputs&&Object.keys(e.inputs).length>0||e!=null&&e.outputs&&Object.keys(e.outputs).length>0||e!=null&&e.allow||e!=null&&e.metadata&&Object.keys(e.metadata).length>0):!0;exports.getMetaframeDefinitionFromUrl=u;exports.getMetapageDefinitionFromUrl=p;exports.isEmptyMetaframeDefinition=h;
|
|
2
2
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../src/metapage/util.ts"],"sourcesContent":[null],"names":["fetchRetry","fetchRetryWrapper","getMetapageDefinitionFromUrl","url","version","metapageUrl","definition","convertMetapageDefinitionToVersion","getMetaframeDefinitionFromUrl","metaframeUrl","convertMetaframeDefinitionToVersion","isEmptyMetaframeDefinition"],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sources":["../../src/metapage/util.ts"],"sourcesContent":[null],"names":["fetchRetry","fetchRetryWrapper","getMetapageDefinitionFromUrl","url","version","metapageUrl","definition","convertMetapageDefinitionToVersion","getMetaframeDefinitionFromUrl","metaframeUrl","urlEncodedDefinition","getHashParamValueJsonFromUrl","convertMetaframeJsonToCurrentVersion","convertMetaframeDefinitionToVersion","error","isEmptyMetaframeDefinition"],"mappings":"iOASMA,EAAaC,EAAkB,KAAK,EAE7BC,EAA+B,MAAOC,EAAaC,IAAuG,CAC/J,MAAAC,EAAc,IAAI,IAAIF,CAAG,EACnBE,EAAA,SAAWA,EAAY,UAAYA,EAAY,SAAS,SAAS,GAAG,EAAI,gBAAkB,kBAMhG,MAAAC,EAAa,MALF,MAAMN,EAAWK,EAAY,KAAM,CAClD,SAAU,SACV,QAAS,EACT,WAAY,GAAA,CACb,GACiC,OAE3B,OADqB,MAAME,EAAmC,mCAAAD,EAAYF,GAAW,GAAG,CAEjG,EAEaI,EAAgC,MAAOL,EAAaC,IAAqH,CAC9K,MAAAK,EAAe,IAAI,IAAIN,CAAG,EAG5B,IAAAO,EAA0DC,EAAAA,6BAA6BR,EAAK,YAAY,EAE5G,GAAIO,GAAA,MAAAA,EAAsB,QACxB,OAAOE,EAAAA,qCAAqCF,CAAoB,EAI7DD,EAAa,SAAS,SAAS,gBAAgB,IACrCA,EAAA,SAAWA,EAAa,UAAYA,EAAa,SAAS,SAAS,GAAG,EAAI,iBAAmB,oBAExG,GAAA,CAOI,MAAAH,EAAa,MALF,MAAMN,EAAWS,EAAa,KAAM,CACnD,SAAU,SACV,QAAS,EACT,WAAY,GAAA,CACb,GACiC,OAC1B,eAAA,IAAI,aAAcH,CAAU,EACR,MAAMO,EAAoC,oCAAAP,EAAYF,GAAW,GAAG,QAEzFU,EAAO,CACd,QAAQ,MAAM,4CAA4CL,EAAa,IAAI,KAAKK,CAAK,EAAE,EAChF,MACT,CACF,EAEaC,EAA8BT,GACpCA,EAGD,EAAAA,GAAA,MAAAA,EAAY,QAAU,OAAO,KAAKA,EAAW,MAAM,EAAE,OAAS,GAG9DA,GAAA,MAAAA,EAAY,SAAW,OAAO,KAAKA,EAAW,OAAO,EAAE,OAAS,GAGhEA,GAAA,MAAAA,EAAY,OAGZA,GAAA,MAAAA,EAAY,UAAY,OAAO,KAAKA,EAAW,QAAQ,EAAE,OAAS,GAX7D"}
|
package/package.json
CHANGED
|
@@ -119,6 +119,9 @@ export class MetapageIFrameRpcClient extends EventEmitter<
|
|
|
119
119
|
if (this._metapage?._definition?.metaframes?.[this.id]?.allow) {
|
|
120
120
|
selfThis._iframe.allow =
|
|
121
121
|
this._metapage._definition.metaframes[this.id].allow!;
|
|
122
|
+
if (this._debug) {
|
|
123
|
+
this.log(`mf allow=${selfThis._iframe.allow} from this._metapage?._definition`);
|
|
124
|
+
}
|
|
122
125
|
} else {
|
|
123
126
|
// else use the url encoded definition
|
|
124
127
|
let urlEncodedDefinition: MetaframeDefinitionV2 | undefined =
|
|
@@ -135,7 +138,17 @@ export class MetapageIFrameRpcClient extends EventEmitter<
|
|
|
135
138
|
selfThis._iframe.allow = urlEncodedDefinition.allow;
|
|
136
139
|
} else {
|
|
137
140
|
// Otherwise use whatever is in the metaframe.json
|
|
138
|
-
|
|
141
|
+
let metaframeDef : MetaframeDefinitionV2 | undefined = await selfThis.getDefinition();
|
|
142
|
+
if (this._debug) {
|
|
143
|
+
this.log(`mf metaframeDef=${JSON.stringify(metaframeDef)}`);
|
|
144
|
+
}
|
|
145
|
+
metaframeDef = metaframeDef && metaframeDef?.version
|
|
146
|
+
? await convertMetaframeJsonToCurrentVersion(metaframeDef)
|
|
147
|
+
: undefined;
|
|
148
|
+
|
|
149
|
+
if (this._debug) {
|
|
150
|
+
this.log(`mf metaframeDef=${JSON.stringify(metaframeDef)}`);
|
|
151
|
+
}
|
|
139
152
|
if (!selfThis._iframe) {
|
|
140
153
|
// possibly already disposed
|
|
141
154
|
return;
|
|
@@ -216,29 +229,7 @@ export class MetapageIFrameRpcClient extends EventEmitter<
|
|
|
216
229
|
if (this._definition) {
|
|
217
230
|
return this._definition;
|
|
218
231
|
}
|
|
219
|
-
|
|
220
|
-
try {
|
|
221
|
-
const definitionFromHashParams: MetaframeDefinitionV2 | undefined =
|
|
222
|
-
getHashParamValueJsonFromUrl(this.url, "definition");
|
|
223
|
-
if (definitionFromHashParams) {
|
|
224
|
-
const metaframeDefCurrent = await convertMetaframeJsonToCurrentVersion(
|
|
225
|
-
definitionFromHashParams
|
|
226
|
-
);
|
|
227
|
-
this._definition = metaframeDefCurrent;
|
|
228
|
-
return this._definition;
|
|
229
|
-
}
|
|
230
|
-
} catch (err) {
|
|
231
|
-
this.emit(
|
|
232
|
-
MetapageEvents.Warning,
|
|
233
|
-
`Failed to convert metaframe definition from hash params. Error: ${
|
|
234
|
-
(err as Error)?.message ? (err as Error)?.message : "unknown error"
|
|
235
|
-
}`
|
|
236
|
-
);
|
|
237
|
-
return;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
// TODO: this should be retried?
|
|
241
|
-
var url = this.getDefinitionUrl();
|
|
232
|
+
|
|
242
233
|
try {
|
|
243
234
|
const metaframeDef = await getMetaframeDefinitionFromUrl(this.url);
|
|
244
235
|
if (metaframeDef) {
|
|
@@ -246,6 +237,8 @@ export class MetapageIFrameRpcClient extends EventEmitter<
|
|
|
246
237
|
return this._definition;
|
|
247
238
|
}
|
|
248
239
|
} catch (err: unknown) {
|
|
240
|
+
// TODO: this should be retried?
|
|
241
|
+
var url = this.getDefinitionUrl();
|
|
249
242
|
// hmm silent on failures to load the metaframe.json?
|
|
250
243
|
this.emit(
|
|
251
244
|
MetapageEvents.Warning,
|
package/src/metapage/util.ts
CHANGED
|
@@ -3,8 +3,9 @@ import { convertMetapageDefinitionToVersion } from "./conversions-metapage";
|
|
|
3
3
|
import { MetaframeDefinitionV1, MetapageDefinitionV1 } from "./v1";
|
|
4
4
|
import { VersionsMetaframe, VersionsMetapage } from "./versions";
|
|
5
5
|
import { MetaframeDefinitionV4, MetapageDefinitionV3 } from "./v0_4";
|
|
6
|
-
import { convertMetaframeDefinitionToVersion } from "./conversions-metaframe";
|
|
6
|
+
import { convertMetaframeDefinitionToVersion, convertMetaframeJsonToCurrentVersion } from "./conversions-metaframe";
|
|
7
7
|
import { MetaframeDefinitionV2, MetapageDefinitionV2 } from "./v2";
|
|
8
|
+
import { getHashParamValueJsonFromUrl } from "@metapages/hash-query";
|
|
8
9
|
|
|
9
10
|
const fetchRetry = fetchRetryWrapper(fetch);
|
|
10
11
|
|
|
@@ -21,17 +22,35 @@ export const getMetapageDefinitionFromUrl = async (url: string, version?: Versio
|
|
|
21
22
|
return convertedDefinition;
|
|
22
23
|
};
|
|
23
24
|
|
|
24
|
-
export const getMetaframeDefinitionFromUrl = async (url: string, version?: VersionsMetaframe): Promise<MetaframeDefinitionV2|MetaframeDefinitionV1|MetaframeDefinitionV4> => {
|
|
25
|
+
export const getMetaframeDefinitionFromUrl = async (url: string, version?: VersionsMetaframe): Promise<MetaframeDefinitionV2|MetaframeDefinitionV1|MetaframeDefinitionV4|undefined> => {
|
|
25
26
|
const metaframeUrl = new URL(url);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
|
|
28
|
+
// first try hash param encoded definition
|
|
29
|
+
let urlEncodedDefinition: MetaframeDefinitionV2 | undefined = getHashParamValueJsonFromUrl(url, "definition");
|
|
30
|
+
|
|
31
|
+
if (urlEncodedDefinition?.version) {
|
|
32
|
+
return convertMetaframeJsonToCurrentVersion(urlEncodedDefinition)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// then try metaframe.json in the url
|
|
36
|
+
if (!metaframeUrl.pathname.endsWith("metaframe.json")) {
|
|
37
|
+
metaframeUrl.pathname = metaframeUrl.pathname + (metaframeUrl.pathname.endsWith("/") ? "metaframe.json" : "/metaframe.json");
|
|
38
|
+
}
|
|
39
|
+
try {
|
|
40
|
+
|
|
41
|
+
const response = await fetchRetry(metaframeUrl.href, {
|
|
42
|
+
redirect: "follow",
|
|
43
|
+
retries: 3,
|
|
44
|
+
retryDelay: 1000,
|
|
45
|
+
});
|
|
46
|
+
const definition = await response.json();
|
|
47
|
+
console.log("definition", definition);
|
|
48
|
+
const convertedDefinition = await convertMetaframeDefinitionToVersion(definition, version || "1");
|
|
49
|
+
return convertedDefinition;
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.error(`Error fetching metaframe definition from ${metaframeUrl.href}: ${error}`);
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
35
54
|
};
|
|
36
55
|
|
|
37
56
|
export const isEmptyMetaframeDefinition = (definition?: MetaframeDefinitionV1|MetaframeDefinitionV2|MetaframeDefinitionV4): boolean => {
|