insite-client 2.0.1 → 2.0.2

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/InSite.d.ts CHANGED
@@ -32,7 +32,8 @@ export declare class InSite<AS extends AbilitiesSchema, O extends Options<AS>> e
32
32
  private init?;
33
33
  private initPromise;
34
34
  whenReady(): Promise<this>;
35
- static init<IO extends Options<any>>(options: IO): Promise<InSiteWithActualProps<InSite<IO extends Options<infer EIAS extends AbilitiesSchema> ? EIAS : never, IO>, IO>>;
35
+ static init<IO extends Options<any>, IAS extends AbilitiesSchema = IO extends Options<infer A> ? A : never>(options: IO, asPromise: true): Promise<InSiteWithActualProps<InSite<IAS, IO>, IO>>;
36
+ static init<IO extends Options<any>, IAS extends AbilitiesSchema = IO extends Options<infer A> ? A : never>(options: IO, asPromise?: false): InSiteWithActualProps<InSite<IAS, IO>, IO>;
36
37
  }
37
38
  export {};
38
39
  //# sourceMappingURL=InSite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InSite.d.ts","sourceRoot":"","sources":["../src/InSite.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,sBAAsB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAM9D,OAAO,CAAC,MAAM,CAAC;IACd,IAAI,QAAQ,EAAE;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,SAAS,CAAC;CACd;AAGD,mBAAmB;AACnB,iBAAS,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,sCAErE;AAED,mBAAmB;AACnB,iBAAS,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,sCAErC;AAGD,qBAAa,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC,SAAS,OAAO,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY;gBAC9E,OAAO,CAAC,EAAE,CAAC;IAOvB,EAAE,EAAG,eAAe,CAAC;IACrB,iBAAiB,EAAG,iBAAiB,CAAC;IACtC,iBAAiB,EAAG,iBAAiB,CAAC;IACtC,MAAM,EAAG,YAAY,CAAC;IACtB,sBAAsB,EAAG,sBAAsB,CAAC;IAChD,IAAI,EAAG,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAG,KAAK,GAAG,aAAa,CAAC;IAC9B,IAAI,EAAG,IAAI,GAAG,YAAY,CAAC;IAC3B,KAAK,EAAG,KAAK,CAAC;IACd,UAAU,UAAS;IAEnB,KAAK,EAAG,OAAO,KAAK,CAAC;IACrB,MAAM,EAAG,OAAO,MAAM,CAAC;IAEvB,OAAO,UAAS;IAEhB,OAAO,CAAC,IAAI,CAAC,CA4EX;IAEF,OAAO,CAAC,WAAW,CAAC;IAEpB,SAAS;IAKT,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,GAGH,OAAO,CAAC,qBAAqB,CAAC,MAAM,0BAF5C,IAAI,0CAE8C,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;CAGhG"}
1
+ {"version":3,"file":"InSite.d.ts","sourceRoot":"","sources":["../src/InSite.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,sBAAsB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAM9D,OAAO,CAAC,MAAM,CAAC;IACd,IAAI,QAAQ,EAAE;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,SAAS,CAAC;CACd;AAGD,mBAAmB;AACnB,iBAAS,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,sCAErE;AAED,mBAAmB;AACnB,iBAAS,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,sCAErC;AAGD,qBAAa,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC,SAAS,OAAO,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY;gBAC9E,OAAO,CAAC,EAAE,CAAC;IAOvB,EAAE,EAAG,eAAe,CAAC;IACrB,iBAAiB,EAAG,iBAAiB,CAAC;IACtC,iBAAiB,EAAG,iBAAiB,CAAC;IACtC,MAAM,EAAG,YAAY,CAAC;IACtB,sBAAsB,EAAG,sBAAsB,CAAC;IAChD,IAAI,EAAG,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAG,KAAK,GAAG,aAAa,CAAC;IAC9B,IAAI,EAAG,IAAI,GAAG,YAAY,CAAC;IAC3B,KAAK,EAAG,KAAK,CAAC;IACd,UAAU,UAAS;IAEnB,KAAK,EAAG,OAAO,KAAK,CAAC;IACrB,MAAM,EAAG,OAAO,MAAM,CAAC;IAEvB,OAAO,UAAS;IAEhB,OAAO,CAAC,IAAI,CAAC,CA4EX;IAEF,OAAO,CAAC,WAAW,CAAC;IAEpB,SAAS;IAKT,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,eAAe,GAAG,EAAE,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9L,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,eAAe,GAAG,EAAE,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;CASvL"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var m=Object.defineProperty;var d=(e,i,s)=>i in e?m(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s;var t=(e,i,s)=>d(e,typeof i!="symbol"?i+"":i,s);import f from"eventemitter3";import{CookieSetter as S}from"insite-cookie/client";import{InSiteWebSocket as I}from"insite-ws/client";import{IncomingTransport as w,OutgoingTransport as y}from"insite-ws-transfers/browser";import{Subscription as O}from"insite-subscriptions-client";import{UsersSubscriptionGroup as b}from"insite-users-client";function T(e,i){return this.ws.sendRequest("login",e,i)}function x(){return this.ws.sendRequest("logout")}var p=class e extends f{constructor(s){super();t(this,"ws");t(this,"incomingTransport");t(this,"outgoingTransport");t(this,"cookie");t(this,"usersSubscriptionGroup");t(this,"user");t(this,"users");t(this,"orgs");t(this,"roles");t(this,"isLoggedIn",!1);t(this,"login");t(this,"logout");t(this,"isReady",!1);t(this,"init",async s=>{let{ws:g={},cookie:r,users:l}=s??{},{subscriptions:u,incomingTransport:n,outgoingTransport:h,...o}=g;if(o.url??(o.url=globalThis.__insite?.wss_url),!o.url)throw new Error("options.ws.url or INSITE_CLIENT_WSS_URL have to be set");return this.ws=new I(o),u!==null&&O.bindTo(this.ws),n&&(this.incomingTransport=new w(this.ws,typeof n=="object"?n:{})),h&&(this.outgoingTransport=new y(this.ws)),r!==null&&(this.cookie=new S(this.ws,r)),l!==null&&u!==null&&r!==null&&(this.user=null,this.login=T,this.logout=x,this.usersSubscriptionGroup=new b({target:this}),await new Promise(a=>{this.usersSubscriptionGroup.once("init",()=>{this.isLoggedIn=!!this.user,this.usersSubscriptionGroup.on("update.user",c=>{c.valueOf()?this.isLoggedIn||(this.isLoggedIn=!0,this.emit("login",!0)):this.isLoggedIn&&(this.isLoggedIn=!1,this.emit("logout",!1))}),a(),this.isLoggedIn&&this.emit("login",!0)})})),this.isReady=!0,this.emit("ready",!0),delete this.init,this});t(this,"initPromise");this.initPromise=this.init(s)}whenReady(){return this.initPromise}static init(s){return new e(s).whenReady()}};export{p as InSite};
1
+ var c=Object.defineProperty;var m=(s,i,e)=>i in s?c(s,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[i]=e;var t=(s,i,e)=>m(s,typeof i!="symbol"?i+"":i,e);import S from"eventemitter3";import{CookieSetter as d}from"insite-cookie/client";import{InSiteWebSocket as O}from"insite-ws/client";import{IncomingTransport as f,OutgoingTransport as A}from"insite-ws-transfers/browser";import{Subscription as y}from"insite-subscriptions-client";import{UsersSubscriptionGroup as w}from"insite-users-client";function b(s,i){return this.ws.sendRequest("login",s,i)}function x(){return this.ws.sendRequest("logout")}var l=class s extends S{constructor(e){super();t(this,"ws");t(this,"incomingTransport");t(this,"outgoingTransport");t(this,"cookie");t(this,"usersSubscriptionGroup");t(this,"user");t(this,"users");t(this,"orgs");t(this,"roles");t(this,"isLoggedIn",!1);t(this,"login");t(this,"logout");t(this,"isReady",!1);t(this,"init",async e=>{let{ws:r={},cookie:n,users:a}=e??{},{subscriptions:p,incomingTransport:u,outgoingTransport:g,...o}=r;if(o.url??(o.url=globalThis.__insite?.wss_url),!o.url)throw new Error("options.ws.url or INSITE_CLIENT_WSS_URL have to be set");return this.ws=new O(o),p!==null&&y.bindTo(this.ws),u&&(this.incomingTransport=new f(this.ws,typeof u=="object"?u:{})),g&&(this.outgoingTransport=new A(this.ws)),n!==null&&(this.cookie=new d(this.ws,n)),a!==null&&p!==null&&n!==null&&(this.user=null,this.login=b,this.logout=x,this.usersSubscriptionGroup=new w({target:this}),await new Promise(h=>{this.usersSubscriptionGroup.once("init",()=>{this.isLoggedIn=!!this.user,this.usersSubscriptionGroup.on("update.user",I=>{I.valueOf()?this.isLoggedIn||(this.isLoggedIn=!0,this.emit("login",!0)):this.isLoggedIn&&(this.isLoggedIn=!1,this.emit("logout",!1))}),h(),this.isLoggedIn&&this.emit("login",!0)})})),this.isReady=!0,this.emit("ready",!0),delete this.init,this});t(this,"initPromise");this.initPromise=this.init(e)}whenReady(){return this.initPromise}static init(e,r=!1){let n=new s(e);return r?n.whenReady():n}};export{l as InSite};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/InSite.ts"],
4
- "sourcesContent": ["import EventEmitter from \"eventemitter3\";\nimport { CookieSetter } from \"insite-cookie/client\";\nimport { InSiteWebSocket } from \"insite-ws/client\";\nimport { IncomingTransport, OutgoingTransport } from \"insite-ws-transfers/browser\";\nimport type { AbilitiesSchema } from \"insite-common\";\nimport { Subscription } from \"insite-subscriptions-client\";\nimport {\n\ttype CurrentUser,\n\ttype Orgs,\n\ttype OrgsExtended,\n\ttype Roles,\n\ttype Users,\n\ttype UsersExtended,\n\tUsersSubscriptionGroup\n} from \"insite-users-client\";\nimport type { InSiteWithActualProps, Options } from \"./types\";\n\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\ndeclare global {\n\tvar __insite: { // eslint-disable-line no-var\n\t\twss_url?: string;\n\t} | undefined;\n}\n\n\n/** @this InSite */\nfunction login(this: InSite<any, any>, email: string, password: string) {\n\treturn this.ws.sendRequest(\"login\", email, password);\n}\n\n/** @this InSite */\nfunction logout(this: InSite<any, any>) {\n\treturn this.ws.sendRequest(\"logout\");\n}\n\n\nexport class InSite<AS extends AbilitiesSchema, O extends Options<AS>> extends EventEmitter {\n\tconstructor(options?: O) {\n\t\tsuper();\n\t\t\n\t\tthis.initPromise = this.init!(options);\n\t\t\n\t}\n\t\n\tws!: InSiteWebSocket;\n\tincomingTransport!: IncomingTransport;\n\toutgoingTransport!: OutgoingTransport;\n\tcookie!: CookieSetter;\n\tusersSubscriptionGroup!: UsersSubscriptionGroup;\n\tuser!: CurrentUser<AS> | null;\n\tusers!: Users | UsersExtended;\n\torgs!: Orgs | OrgsExtended;\n\troles!: Roles;\n\tisLoggedIn = false;\n\t\n\tlogin!: typeof login;\n\tlogout!: typeof logout;\n\t\n\tisReady = false;\n\t\n\tprivate init? = async (options?: O) => {\n\t\t\n\t\tconst {\n\t\t\tws: wsWithOtherOptions = {},\n\t\t\tcookie: cookieOptions,\n\t\t\tusers\n\t\t} = options ?? {};\n\t\t\n\t\tconst {\n\t\t\tsubscriptions,\n\t\t\tincomingTransport,\n\t\t\toutgoingTransport,\n\t\t\t...wsOptions\n\t\t} = wsWithOtherOptions;\n\t\t\n\t\twsOptions.url ??= globalThis.__insite?.wss_url;\n\t\t\n\t\tif (!wsOptions.url)\n\t\t\tthrow new Error(\"options.ws.url or INSITE_CLIENT_WSS_URL have to be set\");\n\t\t\n\t\tthis.ws = new InSiteWebSocket(wsOptions);\n\t\t\n\t\tif (subscriptions !== null)\n\t\t\tSubscription.bindTo(this.ws);\n\t\t\n\t\tif (incomingTransport)\n\t\t\tthis.incomingTransport = new IncomingTransport(this.ws, typeof incomingTransport == \"object\" ? incomingTransport : {});\n\t\t\n\t\tif (outgoingTransport)\n\t\t\tthis.outgoingTransport = new OutgoingTransport(this.ws);\n\t\t\n\t\tif (cookieOptions !== null)\n\t\t\tthis.cookie = new CookieSetter(this.ws, cookieOptions);\n\t\t\n\t\tif (users !== null && subscriptions !== null && cookieOptions !== null) {\n\t\t\tthis.user = null;\n\t\t\tthis.login = login;\n\t\t\tthis.logout = logout;\n\t\t\t\n\t\t\tthis.usersSubscriptionGroup = new UsersSubscriptionGroup({ target: this });\n\t\t\t\n\t\t\tawait new Promise<void>(resolve => {\n\t\t\t\t\n\t\t\t\tthis.usersSubscriptionGroup.once(\"init\", () => {\n\t\t\t\t\t\n\t\t\t\t\tthis.isLoggedIn = !!this.user;\n\t\t\t\t\t\n\t\t\t\t\tthis.usersSubscriptionGroup.on(\"update.user\", (user: CurrentUser) => {\n\t\t\t\t\t\tif (user.valueOf()) {\n\t\t\t\t\t\t\tif (!this.isLoggedIn) {\n\t\t\t\t\t\t\t\tthis.isLoggedIn = true;\n\t\t\t\t\t\t\t\tthis.emit(\"login\", true);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (this.isLoggedIn) {\n\t\t\t\t\t\t\tthis.isLoggedIn = false;\n\t\t\t\t\t\t\tthis.emit(\"logout\", false);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\tresolve();\n\t\t\t\t\t\n\t\t\t\t\tif (this.isLoggedIn)\n\t\t\t\t\t\tthis.emit(\"login\", true);\n\t\t\t\t\t\n\t\t\t\t});\n\t\t\t\t\n\t\t\t});\n\t\t}\n\t\t\n\t\tthis.isReady = true;\n\t\tthis.emit(\"ready\", true);\n\t\t\n\t\tdelete this.init;\n\t\t\n\t\treturn this;\n\t};\n\t\n\tprivate initPromise;\n\t\n\twhenReady() {\n\t\treturn this.initPromise;\n\t}\n\t\n\t\n\tstatic init<IO extends Options<any>>(options: IO) {\n\t\ttype IAS = IO extends Options<infer EIAS> ? EIAS : never;\n\t\t\n\t\treturn (new InSite(options)).whenReady() as Promise<InSiteWithActualProps<InSite<IAS, IO>, IO>>;\n\t}\n\t\n}\n"],
5
- "mappings": "oKAAA,OAAOA,MAAkB,gBACzB,OAAS,gBAAAC,MAAoB,uBAC7B,OAAS,mBAAAC,MAAuB,mBAChC,OAAS,qBAAAC,EAAmB,qBAAAC,MAAyB,8BAErD,OAAS,gBAAAC,MAAoB,8BAC7B,OAOC,0BAAAC,MACM,sBAeP,SAASC,EAA8BC,EAAeC,EAAkB,CACvE,OAAO,KAAK,GAAG,YAAY,QAASD,EAAOC,CAAQ,CACpD,CAGA,SAASC,GAA+B,CACvC,OAAO,KAAK,GAAG,YAAY,QAAQ,CACpC,CAGO,IAAMC,EAAN,MAAMC,UAAkEC,CAAa,CAC3F,YAAYC,EAAa,CACxB,MAAM,EAMPC,EAAA,WACAA,EAAA,0BACAA,EAAA,0BACAA,EAAA,eACAA,EAAA,+BACAA,EAAA,aACAA,EAAA,cACAA,EAAA,aACAA,EAAA,cACAA,EAAA,kBAAa,IAEbA,EAAA,cACAA,EAAA,eAEAA,EAAA,eAAU,IAEVA,EAAA,KAAQ,OAAQ,MAAOD,GAAgB,CAEtC,GAAM,CACL,GAAIE,EAAqB,CAAC,EAC1B,OAAQC,EACR,MAAAC,CACD,EAAIJ,GAAW,CAAC,EAEV,CACL,cAAAK,EACA,kBAAAC,EACA,kBAAAC,EACA,GAAGC,CACJ,EAAIN,EAIJ,GAFAM,EAAU,MAAVA,EAAU,IAAQ,WAAW,UAAU,SAEnC,CAACA,EAAU,IACd,MAAM,IAAI,MAAM,wDAAwD,EAEzE,YAAK,GAAK,IAAIC,EAAgBD,CAAS,EAEnCH,IAAkB,MACrBK,EAAa,OAAO,KAAK,EAAE,EAExBJ,IACH,KAAK,kBAAoB,IAAIK,EAAkB,KAAK,GAAI,OAAOL,GAAqB,SAAWA,EAAoB,CAAC,CAAC,GAElHC,IACH,KAAK,kBAAoB,IAAIK,EAAkB,KAAK,EAAE,GAEnDT,IAAkB,OACrB,KAAK,OAAS,IAAIU,EAAa,KAAK,GAAIV,CAAa,GAElDC,IAAU,MAAQC,IAAkB,MAAQF,IAAkB,OACjE,KAAK,KAAO,KACZ,KAAK,MAAQV,EACb,KAAK,OAASG,EAEd,KAAK,uBAAyB,IAAIkB,EAAuB,CAAE,OAAQ,IAAK,CAAC,EAEzE,MAAM,IAAI,QAAcC,GAAW,CAElC,KAAK,uBAAuB,KAAK,OAAQ,IAAM,CAE9C,KAAK,WAAa,CAAC,CAAC,KAAK,KAEzB,KAAK,uBAAuB,GAAG,cAAgBC,GAAsB,CAChEA,EAAK,QAAQ,EACX,KAAK,aACT,KAAK,WAAa,GAClB,KAAK,KAAK,QAAS,EAAI,GAEd,KAAK,aACf,KAAK,WAAa,GAClB,KAAK,KAAK,SAAU,EAAK,EAG3B,CAAC,EAEDD,EAAQ,EAEJ,KAAK,YACR,KAAK,KAAK,QAAS,EAAI,CAEzB,CAAC,CAEF,CAAC,GAGF,KAAK,QAAU,GACf,KAAK,KAAK,QAAS,EAAI,EAEvB,OAAO,KAAK,KAEL,IACR,GAEAd,EAAA,KAAQ,eAlGP,KAAK,YAAc,KAAK,KAAMD,CAAO,CAEtC,CAkGA,WAAY,CACX,OAAO,KAAK,WACb,CAGA,OAAO,KAA8BA,EAAa,CAGjD,OAAQ,IAAIF,EAAOE,CAAO,EAAG,UAAU,CACxC,CAED",
6
- "names": ["EventEmitter", "CookieSetter", "InSiteWebSocket", "IncomingTransport", "OutgoingTransport", "Subscription", "UsersSubscriptionGroup", "login", "email", "password", "logout", "InSite", "_InSite", "EventEmitter", "options", "__publicField", "wsWithOtherOptions", "cookieOptions", "users", "subscriptions", "incomingTransport", "outgoingTransport", "wsOptions", "InSiteWebSocket", "Subscription", "IncomingTransport", "OutgoingTransport", "CookieSetter", "UsersSubscriptionGroup", "resolve", "user"]
4
+ "sourcesContent": ["import EventEmitter from \"eventemitter3\";\nimport { CookieSetter } from \"insite-cookie/client\";\nimport { InSiteWebSocket } from \"insite-ws/client\";\nimport { IncomingTransport, OutgoingTransport } from \"insite-ws-transfers/browser\";\nimport type { AbilitiesSchema } from \"insite-common\";\nimport { Subscription } from \"insite-subscriptions-client\";\nimport {\n\ttype CurrentUser,\n\ttype Orgs,\n\ttype OrgsExtended,\n\ttype Roles,\n\ttype Users,\n\ttype UsersExtended,\n\tUsersSubscriptionGroup\n} from \"insite-users-client\";\nimport type { InSiteWithActualProps, Options } from \"./types\";\n\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\ndeclare global {\n\tvar __insite: { // eslint-disable-line no-var\n\t\twss_url?: string;\n\t} | undefined;\n}\n\n\n/** @this InSite */\nfunction login(this: InSite<any, any>, email: string, password: string) {\n\treturn this.ws.sendRequest(\"login\", email, password);\n}\n\n/** @this InSite */\nfunction logout(this: InSite<any, any>) {\n\treturn this.ws.sendRequest(\"logout\");\n}\n\n\nexport class InSite<AS extends AbilitiesSchema, O extends Options<AS>> extends EventEmitter {\n\tconstructor(options?: O) {\n\t\tsuper();\n\t\t\n\t\tthis.initPromise = this.init!(options);\n\t\t\n\t}\n\t\n\tws!: InSiteWebSocket;\n\tincomingTransport!: IncomingTransport;\n\toutgoingTransport!: OutgoingTransport;\n\tcookie!: CookieSetter;\n\tusersSubscriptionGroup!: UsersSubscriptionGroup;\n\tuser!: CurrentUser<AS> | null;\n\tusers!: Users | UsersExtended;\n\torgs!: Orgs | OrgsExtended;\n\troles!: Roles;\n\tisLoggedIn = false;\n\t\n\tlogin!: typeof login;\n\tlogout!: typeof logout;\n\t\n\tisReady = false;\n\t\n\tprivate init? = async (options?: O) => {\n\t\t\n\t\tconst {\n\t\t\tws: wsWithOtherOptions = {},\n\t\t\tcookie: cookieOptions,\n\t\t\tusers\n\t\t} = options ?? {};\n\t\t\n\t\tconst {\n\t\t\tsubscriptions,\n\t\t\tincomingTransport,\n\t\t\toutgoingTransport,\n\t\t\t...wsOptions\n\t\t} = wsWithOtherOptions;\n\t\t\n\t\twsOptions.url ??= globalThis.__insite?.wss_url;\n\t\t\n\t\tif (!wsOptions.url)\n\t\t\tthrow new Error(\"options.ws.url or INSITE_CLIENT_WSS_URL have to be set\");\n\t\t\n\t\tthis.ws = new InSiteWebSocket(wsOptions);\n\t\t\n\t\tif (subscriptions !== null)\n\t\t\tSubscription.bindTo(this.ws);\n\t\t\n\t\tif (incomingTransport)\n\t\t\tthis.incomingTransport = new IncomingTransport(this.ws, typeof incomingTransport == \"object\" ? incomingTransport : {});\n\t\t\n\t\tif (outgoingTransport)\n\t\t\tthis.outgoingTransport = new OutgoingTransport(this.ws);\n\t\t\n\t\tif (cookieOptions !== null)\n\t\t\tthis.cookie = new CookieSetter(this.ws, cookieOptions);\n\t\t\n\t\tif (users !== null && subscriptions !== null && cookieOptions !== null) {\n\t\t\tthis.user = null;\n\t\t\tthis.login = login;\n\t\t\tthis.logout = logout;\n\t\t\t\n\t\t\tthis.usersSubscriptionGroup = new UsersSubscriptionGroup({ target: this });\n\t\t\t\n\t\t\tawait new Promise<void>(resolve => {\n\t\t\t\t\n\t\t\t\tthis.usersSubscriptionGroup.once(\"init\", () => {\n\t\t\t\t\t\n\t\t\t\t\tthis.isLoggedIn = !!this.user;\n\t\t\t\t\t\n\t\t\t\t\tthis.usersSubscriptionGroup.on(\"update.user\", (user: CurrentUser) => {\n\t\t\t\t\t\tif (user.valueOf()) {\n\t\t\t\t\t\t\tif (!this.isLoggedIn) {\n\t\t\t\t\t\t\t\tthis.isLoggedIn = true;\n\t\t\t\t\t\t\t\tthis.emit(\"login\", true);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (this.isLoggedIn) {\n\t\t\t\t\t\t\tthis.isLoggedIn = false;\n\t\t\t\t\t\t\tthis.emit(\"logout\", false);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\tresolve();\n\t\t\t\t\t\n\t\t\t\t\tif (this.isLoggedIn)\n\t\t\t\t\t\tthis.emit(\"login\", true);\n\t\t\t\t\t\n\t\t\t\t});\n\t\t\t\t\n\t\t\t});\n\t\t}\n\t\t\n\t\tthis.isReady = true;\n\t\tthis.emit(\"ready\", true);\n\t\t\n\t\tdelete this.init;\n\t\t\n\t\treturn this;\n\t};\n\t\n\tprivate initPromise;\n\t\n\twhenReady() {\n\t\treturn this.initPromise;\n\t}\n\t\n\t\n\tstatic init<IO extends Options<any>, IAS extends AbilitiesSchema = IO extends Options<infer A> ? A : never>(options: IO, asPromise: true): Promise<InSiteWithActualProps<InSite<IAS, IO>, IO>>;\n\tstatic init<IO extends Options<any>, IAS extends AbilitiesSchema = IO extends Options<infer A> ? A : never>(options: IO, asPromise?: false): InSiteWithActualProps<InSite<IAS, IO>, IO>;\n\tstatic init<IO extends Options<any>, IAS extends AbilitiesSchema = IO extends Options<infer A> ? A : never>(options: IO, asPromise = false) {\n\t\tconst inSite = new InSite(options);\n\t\t\n\t\treturn asPromise ?\n\t\t\tinSite.whenReady() as Promise<InSiteWithActualProps<InSite<IAS, IO>, IO>> :\n\t\t\tinSite as InSiteWithActualProps<InSite<IAS, IO>, IO>;\n\t}\n\t\n}\n"],
5
+ "mappings": "oKAAA,OAAOA,MAAkB,gBACzB,OAAS,gBAAAC,MAAoB,uBAC7B,OAAS,mBAAAC,MAAuB,mBAChC,OAAS,qBAAAC,EAAmB,qBAAAC,MAAyB,8BAErD,OAAS,gBAAAC,MAAoB,8BAC7B,OAOC,0BAAAC,MACM,sBAeP,SAASC,EAA8BC,EAAeC,EAAkB,CACvE,OAAO,KAAK,GAAG,YAAY,QAASD,EAAOC,CAAQ,CACpD,CAGA,SAASC,GAA+B,CACvC,OAAO,KAAK,GAAG,YAAY,QAAQ,CACpC,CAGO,IAAMC,EAAN,MAAMC,UAAkEC,CAAa,CAC3F,YAAYC,EAAa,CACxB,MAAM,EAMPC,EAAA,WACAA,EAAA,0BACAA,EAAA,0BACAA,EAAA,eACAA,EAAA,+BACAA,EAAA,aACAA,EAAA,cACAA,EAAA,aACAA,EAAA,cACAA,EAAA,kBAAa,IAEbA,EAAA,cACAA,EAAA,eAEAA,EAAA,eAAU,IAEVA,EAAA,KAAQ,OAAQ,MAAOD,GAAgB,CAEtC,GAAM,CACL,GAAIE,EAAqB,CAAC,EAC1B,OAAQC,EACR,MAAAC,CACD,EAAIJ,GAAW,CAAC,EAEV,CACL,cAAAK,EACA,kBAAAC,EACA,kBAAAC,EACA,GAAGC,CACJ,EAAIN,EAIJ,GAFAM,EAAU,MAAVA,EAAU,IAAQ,WAAW,UAAU,SAEnC,CAACA,EAAU,IACd,MAAM,IAAI,MAAM,wDAAwD,EAEzE,YAAK,GAAK,IAAIC,EAAgBD,CAAS,EAEnCH,IAAkB,MACrBK,EAAa,OAAO,KAAK,EAAE,EAExBJ,IACH,KAAK,kBAAoB,IAAIK,EAAkB,KAAK,GAAI,OAAOL,GAAqB,SAAWA,EAAoB,CAAC,CAAC,GAElHC,IACH,KAAK,kBAAoB,IAAIK,EAAkB,KAAK,EAAE,GAEnDT,IAAkB,OACrB,KAAK,OAAS,IAAIU,EAAa,KAAK,GAAIV,CAAa,GAElDC,IAAU,MAAQC,IAAkB,MAAQF,IAAkB,OACjE,KAAK,KAAO,KACZ,KAAK,MAAQV,EACb,KAAK,OAASG,EAEd,KAAK,uBAAyB,IAAIkB,EAAuB,CAAE,OAAQ,IAAK,CAAC,EAEzE,MAAM,IAAI,QAAcC,GAAW,CAElC,KAAK,uBAAuB,KAAK,OAAQ,IAAM,CAE9C,KAAK,WAAa,CAAC,CAAC,KAAK,KAEzB,KAAK,uBAAuB,GAAG,cAAgBC,GAAsB,CAChEA,EAAK,QAAQ,EACX,KAAK,aACT,KAAK,WAAa,GAClB,KAAK,KAAK,QAAS,EAAI,GAEd,KAAK,aACf,KAAK,WAAa,GAClB,KAAK,KAAK,SAAU,EAAK,EAG3B,CAAC,EAEDD,EAAQ,EAEJ,KAAK,YACR,KAAK,KAAK,QAAS,EAAI,CAEzB,CAAC,CAEF,CAAC,GAGF,KAAK,QAAU,GACf,KAAK,KAAK,QAAS,EAAI,EAEvB,OAAO,KAAK,KAEL,IACR,GAEAd,EAAA,KAAQ,eAlGP,KAAK,YAAc,KAAK,KAAMD,CAAO,CAEtC,CAkGA,WAAY,CACX,OAAO,KAAK,WACb,CAKA,OAAO,KAAqGA,EAAaiB,EAAY,GAAO,CAC3I,IAAMC,EAAS,IAAIpB,EAAOE,CAAO,EAEjC,OAAOiB,EACNC,EAAO,UAAU,EACjBA,CACF,CAED",
6
+ "names": ["EventEmitter", "CookieSetter", "InSiteWebSocket", "IncomingTransport", "OutgoingTransport", "Subscription", "UsersSubscriptionGroup", "login", "email", "password", "logout", "InSite", "_InSite", "EventEmitter", "options", "__publicField", "wsWithOtherOptions", "cookieOptions", "users", "subscriptions", "incomingTransport", "outgoingTransport", "wsOptions", "InSiteWebSocket", "Subscription", "IncomingTransport", "OutgoingTransport", "CookieSetter", "UsersSubscriptionGroup", "resolve", "user", "asPromise", "inSite"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "insite-client",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "Client-side inSite app",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",