UNPKG

@ng-org/web

Version:

JS/TS SDK of NextGraph for third-party web apps

2 lines (1 loc) 3.55 kB
(function(f,a){typeof exports=="object"&&typeof module<"u"?a(exports):typeof define=="function"&&define.amd?define(["exports"],a):(f=typeof globalThis<"u"?globalThis:f||self,a(f.ngweb={}))})(this,(function(f){"use strict";function a(s,o){let i=s;for(let r=0;r<o.length;++r)i=i[o[r]];return i}function g(s,o,i){if(o.length===0)throw new Error("Cannot assign target object itself");let r=s;for(let l=0;l<o.length;++l)l===o.length-1?r[o[l]]=i:r=r[o[l]];return!0}function h(s,o){if(o.length===0)throw new Error("Cannot remove target object itself");let i=s;for(let r=0;r<o.length;++r)r===o.length-1?delete i[o[r]]:i=i[o[r]];return!0}function P(s=Object.create(null),o=Object.create(null)){class i extends Function{}const r={async get(e,n){return a(e,n)},async apply(e,n,t,c){return Reflect.apply(a(e,n),t,c)},async set(e,n,t){g(e,n,t)},async deleteProperty(e,n){h(e,n)},async construct(e,n,t){return Reflect.construct(a(e,n),t)},async setPrototypeOf(e,n,t){Reflect.setPrototypeOf(a(e,n),t)},async getPrototypeOf(e,n){return Reflect.getPrototypeOf(a(e,n))},async defineProperty(e,n,t,c){Reflect.defineProperty(a(e,n),t,c)},...o};function l(e=[]){return new Proxy(new i,{get(n,t){switch(t){case"then":case"catch":case"finally":const c=(async()=>await r.get(s,e))();return c[t].bind(c);default:return l([...e,t])}},apply(n,t,c){return r.apply(s,e,t,c)},set(n,t,c){return r.set(s,[...e,t],c),!0},deleteProperty(n,t){return r.deleteProperty(s,[...e,t]),!0},construct(n,t){return r.construct(s,e,t)},setPrototypeOf(n,t){return r.setPrototypeOf(s,e,t),!0},getPrototypeOf(n){return r.getPrototypeOf(s,e)},defineProperty(n,t,c){return r.defineProperty(s,e,t,c),!0},has(n,t){throw Error('Async proxy does not support "has" handler.')},getOwnPropertyDescriptor(n,t){throw Error('Async proxy does not support "getOwnPropertyDescriptor" handler.')},ownKeys(n){throw Error('Async proxy does not support "ownKeys" handler.')},preventExtensions(n){throw Error('Async proxy does not support "preventExtensions" handler.')},isExtensible(n){throw Error('Async proxy does not support "isExtensible" handler.')}})}return l()}let d=!1;const w="nextgraph.net",p={redirect:`https://${w}/redir/#/?o=`,origin:`https://${w}`},b=async function(s,o,i){if(!window)throw new Error("init(callback,..) can only be called from a browser's window");if(window.self===window.top)window.location.href=p.redirect+encodeURIComponent(window.location.href);else if(d===!1){const{port1:r,port2:l}=new MessageChannel;r.onmessage=async e=>{e.data.ok&&(d=e.data.ret,s&&await s({status:"loggedin",session:d})),r.close()},parent.postMessage({method:"init",origin:window.location.href,singleton:o,access_requests:i,port:l},p.origin,[l])}else throw new Error("you must call init() only once")},_={doc_subscribe:2,orm_start:3};function E(s,o){const{port1:i,port2:r}=new MessageChannel;let l=_[s];if(l){let e=o[l],n=o.slice(0,-1);return parent.postMessage({method:s,args:n,port:r},p.origin,[r]),new Promise((c,O)=>{let y=!1;i.onmessage=u=>{if(u.data.stream)y||(c(()=>{i.close()}),y=!0),e(u.data.ret);else if(!u.data.ok)if(!y)O(u.data.ret),y=!0;else throw new Error(u.data.ret)}})}else return parent.postMessage({method:s,args:o,port:r},p.origin,[r]),new Promise((e,n)=>{i.onmessage=t=>{t.data.ok?e(t.data.ret):(console.error("method "+s+" with args ",o," failed with ",t.data.ret),n(new Error(t.data.ret)))}})}const x=P({},{apply(s,o,i,r){if(d===!1)throw new Error("you must call init() first (and once)");return E(o[0],r)}});f.init=b,f.ng=x,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})}));