insite-client 2.0.13 → 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/dist/InSite.d.ts +14 -18
- package/dist/InSite.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +4 -4
- package/dist/types.d.ts +30 -26
- package/dist/types.d.ts.map +1 -1
- package/package.json +12 -12
package/dist/InSite.d.ts
CHANGED
|
@@ -1,23 +1,19 @@
|
|
|
1
1
|
import EventEmitter from "eventemitter3";
|
|
2
|
+
import { StatefulPromise } from "@nesvet/n";
|
|
3
|
+
import type { AbilitiesSchema } from "insite-common";
|
|
2
4
|
import { CookieSetter } from "insite-cookie/client";
|
|
3
|
-
import {
|
|
5
|
+
import { UsersSubscriptionGroup, type CurrentUser, type Orgs, type OrgsExtended, type Roles, type Users, type UsersExtended } from "insite-users-client";
|
|
4
6
|
import { IncomingTransport, OutgoingTransport } from "insite-ws-transfers/browser";
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import type { InSiteWithActualProps, Options } from "./types";
|
|
8
|
-
declare global {
|
|
9
|
-
var __insite: {
|
|
10
|
-
wss_url?: string;
|
|
11
|
-
} | undefined;
|
|
12
|
-
}
|
|
7
|
+
import { WS } from "insite-ws/client";
|
|
8
|
+
import type { OmitRedundant, Options, WSWithActualProps } from "./types";
|
|
13
9
|
/** @this InSite */
|
|
14
|
-
declare function login(this: InSite<
|
|
10
|
+
declare function login<AS extends AbilitiesSchema, O extends Options<AS>>(this: InSite<AS, O>, email: string, password: string): WS | Promise<unknown>;
|
|
15
11
|
/** @this InSite */
|
|
16
|
-
declare function logout(this: InSite<
|
|
12
|
+
declare function logout<AS extends AbilitiesSchema, O extends Options<AS>>(this: InSite<AS, O>): WS | Promise<unknown>;
|
|
17
13
|
export declare class InSite<AS extends AbilitiesSchema, O extends Options<AS>> extends EventEmitter {
|
|
18
14
|
#private;
|
|
19
15
|
constructor(options?: O);
|
|
20
|
-
ws:
|
|
16
|
+
ws: WSWithActualProps<O>;
|
|
21
17
|
incomingTransport: IncomingTransport;
|
|
22
18
|
outgoingTransport: OutgoingTransport;
|
|
23
19
|
cookie: CookieSetter;
|
|
@@ -27,13 +23,13 @@ export declare class InSite<AS extends AbilitiesSchema, O extends Options<AS>> e
|
|
|
27
23
|
orgs: Orgs | OrgsExtended;
|
|
28
24
|
roles: Roles;
|
|
29
25
|
isLoggedIn: boolean;
|
|
30
|
-
login: typeof login
|
|
31
|
-
logout: typeof logout
|
|
26
|
+
login: typeof login<AS, O>;
|
|
27
|
+
logout: typeof logout<AS, O>;
|
|
32
28
|
isReady: boolean;
|
|
33
|
-
|
|
34
|
-
whenReady():
|
|
35
|
-
static init<
|
|
36
|
-
static init<
|
|
29
|
+
protected init(options?: O): Promise<void>;
|
|
30
|
+
whenReady(): StatefulPromise<this>;
|
|
31
|
+
static init<IAS extends AbilitiesSchema, IO extends Options<IAS>, IS extends InSite<IAS, IO>>(options: IO, asPromise: true): Promise<OmitRedundant<IS, IO>>;
|
|
32
|
+
static init<IAS extends AbilitiesSchema, IO extends Options<IAS>, IS extends InSite<IAS, IO>>(options: IO, asPromise?: false): OmitRedundant<IS, IO>;
|
|
37
33
|
}
|
|
38
34
|
export {};
|
|
39
35
|
//# sourceMappingURL=InSite.d.ts.map
|
package/dist/InSite.d.ts.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"InSite.d.ts","sourceRoot":"","sources":["../src/InSite.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACN,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGzE,mBAAmB;AACnB,iBAAS,KAAK,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC,SAAS,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,yBAErH;AAED,mBAAmB;AACnB,iBAAS,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC,SAAS,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,yBAErF;AAGD,qBAAa,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC,SAAS,OAAO,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY;;gBAC9E,OAAO,CAAC,EAAE,CAAC;IAQvB,EAAE,EAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC1B,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,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAG,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAE9B,OAAO,UAAS;cAEA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IA4EhC,SAAS;IAKT,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,eAAe,EAAE,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3J,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,eAAe,EAAE,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC;CASpJ"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export * from "./InSite";
|
|
2
2
|
export type { Options } from "./types";
|
|
3
|
-
export * from "insite-common";
|
|
3
|
+
export * from "insite-common/frontend";
|
|
4
4
|
export type { Options as CookieOptions } from "insite-cookie/client";
|
|
5
5
|
export * from "insite-cookie/client";
|
|
6
6
|
export * from "insite-subscriptions-client";
|
|
7
7
|
export * from "insite-users-client";
|
|
8
|
+
export * from "insite-ws-transfers/browser";
|
|
8
9
|
export type { Options as WSOptions } from "insite-ws/client";
|
|
9
10
|
export * from "insite-ws/client";
|
|
10
|
-
export * from "insite-ws-transfers/browser";
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,YAAY,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,YAAY,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
var k=Object.defineProperty;var T=e=>{throw TypeError(e)};var M=(e,o,t)=>o in e?k(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t;var n=(e,o,t)=>M(e,typeof o!="symbol"?o+"":o,t),E=(e,o,t)=>o.has(e)||T("Cannot "+t);var A=(e,o,t)=>(E(e,o,"read from private field"),t?t.call(e):o.get(e)),$=(e,o,t)=>o.has(e)?T("Cannot add the same private member more than once"):o instanceof WeakSet?o.add(e):o.set(e,t);import B from"eventemitter3";function d(){}function W(e,o=0,t={}){let{leading:r=!1,trailing:i=!0}=t,{maxWait:f=1/0}=t,s,l,m,O,S,p,c,w,b=async()=>{let x=Date.now();x>=m?(s=void 0,m=void 0,clearTimeout(l),typeof c=="function"&&await c(),u.resolve(w),u.promise.isResolved=!0,p=r):(clearTimeout(s),s=setTimeout(b,m-x))},I=Number.isFinite(f)?()=>{c===a&&(c=!1),a(),l=setTimeout(I,f)}:null;async function a(){return w=await e.apply(O,S)}r&&typeof r=="boolean"&&(r=a),p=r,i&&typeof i=="boolean"&&(i=a),c=i;let u=Object.assign(function(...x){return S=x,O=this,m=Date.now()+o,c=i,u.promise.isResolved&&(u.promise=Object.assign(new Promise(R=>{u.resolve=R,typeof p=="function"&&(p(),p=!1,c===a&&(c=!1)),s||(s=setTimeout(b,o),I&&(l=setTimeout(I,f)))}),{isResolved:!1})),u.promise},{callback:e,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:d,run:a,clear:async x=>{clearTimeout(s),s=void 0,clearTimeout(l),u.promise.isResolved=!0,u.resolve(x?await a():w)}});return u}W.noop=Object.assign(()=>{},{callback:d,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:d,run:d,clear:d});function P(e,o,t,r,i=!0){return Array.isArray(e)&&(e=e.length),typeof r!="string"&&(i=r??!0,r=t),(i?`${e}\xA0`:"")+P.raw(e,o,t,r)}P.raw=(e,o,t,r=t)=>{e=Math.abs(e);let i=e%10,f=e%100;return i===1&&f!==11?o:i>=2&&i<=4&&!(f>=12&&f<=15)?t:r};var h=new WeakMap,y=class extends Promise{constructor(t){let r,i;super((f,s)=>{r=f,i=s});n(this,"isPending",!0);n(this,"isFulfilled",!1);n(this,"isRejected",!1);n(this,"state","pending");n(this,"result");n(this,"resolve",t=>{if(this.isPending){this.isPending=!1,this.isFulfilled=!0,this.state="fulfilled",this.result=t;let r=h.get(this);r&&(r.resolve.call(this,t),h.delete(this))}});n(this,"reject",t=>{if(this.isPending){this.isPending=!1,this.isRejected=!0,this.state="rejected",this.result=t;let r=h.get(this);r&&(r.reject.call(this,t),h.delete(this))}});h.set(this,{resolve:r,reject:i}),t?.(this.resolve,this.reject)}};import{CookieSetter as L}from"insite-cookie/client";import{Subscription as U}from"insite-subscriptions-client";import{UsersSubscriptionGroup as C}from"insite-users-client";import{IncomingTransport as G,OutgoingTransport as F}from"insite-ws-transfers/browser";import{WS as _}from"insite-ws/client";function q(e,o){return this.ws.sendRequest("login",e,o)}function N(){return this.ws.sendRequest("logout")}var g,v=class v extends B{constructor(t){super();n(this,"ws");n(this,"incomingTransport");n(this,"outgoingTransport");n(this,"cookie");n(this,"usersSubscriptionGroup");n(this,"user");n(this,"users");n(this,"orgs");n(this,"roles");n(this,"isLoggedIn",!1);n(this,"login");n(this,"logout");n(this,"isReady",!1);$(this,g,new y);t&&this.init(t)}async init(t){if(!this.isReady){let{ws:r={},cookie:i,users:f}=t??{},{subscriptions:s,incomingTransport:l,outgoingTransport:m,...O}=r;this.ws=new _(O),s!==null&&U.bindTo(this.ws),l&&(this.incomingTransport=new G(this.ws,typeof l=="object"?l:{})),m&&(this.outgoingTransport=new F(this.ws)),i!==null&&(this.cookie=new L(this.ws,i)),f!==null&&s!==null&&i!==null&&(this.user=null,this.login=q,this.logout=N,this.usersSubscriptionGroup=new C({target:this}),await new Promise(S=>{this.usersSubscriptionGroup.once("init",()=>{this.isLoggedIn=!!this.user,this.usersSubscriptionGroup.on("update.user",p=>{p.valueOf()?this.isLoggedIn||(this.isLoggedIn=!0,this.emit("login",!0)):this.isLoggedIn&&(this.isLoggedIn=!1,this.emit("logout",!1))}),S(),this.isLoggedIn&&this.emit("login",!0)})})),this.isReady=!0,this.emit("ready",!0),A(this,g).resolve(this)}}whenReady(){return A(this,g)}static init(t,r=!1){let i=new v(t);return r?i.whenReady():i}};g=new WeakMap;var j=v;export*from"insite-common/frontend";export*from"insite-cookie/client";export*from"insite-subscriptions-client";export*from"insite-users-client";export*from"insite-ws-transfers/browser";export*from"insite-ws/client";export{j 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
|
-
"sources": ["../src/InSite.ts", "../src/index.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\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\t#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?: 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?: 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) {\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", "export * from \"./InSite\";\nexport type { Options } from \"./types\";\nexport * from \"insite-common\";\nexport type { Options as CookieOptions } from \"insite-cookie/client\";\nexport * from \"insite-cookie/client\";\nexport * from \"insite-subscriptions-client\";\nexport * from \"insite-users-client\";\nexport type { Options as WSOptions } from \"insite-ws/client\";\nexport * from \"insite-ws/client\";\nexport * from \"insite-ws-transfers/browser\";\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["EventEmitter", "
|
|
3
|
+
"sources": ["../src/InSite.ts", "../../../../@nesvet/npm/n/src/noop.ts", "../../../../@nesvet/npm/n/src/debounce.ts", "../../../../@nesvet/npm/n/src/howmuch.ts", "../../../../@nesvet/npm/n/src/StatefulPromise.ts", "../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["import EventEmitter from \"eventemitter3\";\nimport { StatefulPromise } from \"@nesvet/n\";\nimport type { AbilitiesSchema } from \"insite-common\";\nimport { CookieSetter } from \"insite-cookie/client\";\nimport { Subscription } from \"insite-subscriptions-client\";\nimport {\n\tUsersSubscriptionGroup,\n\ttype CurrentUser,\n\ttype Orgs,\n\ttype OrgsExtended,\n\ttype Roles,\n\ttype Users,\n\ttype UsersExtended\n} from \"insite-users-client\";\nimport { IncomingTransport, OutgoingTransport } from \"insite-ws-transfers/browser\";\nimport { WS } from \"insite-ws/client\";\nimport type { OmitRedundant, Options, WSWithActualProps } from \"./types\";\n\n\n/** @this InSite */\nfunction login<AS extends AbilitiesSchema, O extends Options<AS>>(this: InSite<AS, O>, email: string, password: string) {\n\treturn this.ws.sendRequest(\"login\", email, password);\n}\n\n/** @this InSite */\nfunction logout<AS extends AbilitiesSchema, O extends Options<AS>>(this: InSite<AS, O>) {\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\tif (options)\n\t\t\tthis.init(options);\n\t\t\n\t}\n\t\n\tws!: WSWithActualProps<O>;\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<AS, O>;\n\tlogout!: typeof logout<AS, O>;\n\t\n\tisReady = false;\n\t\n\tprotected async init(options?: O) {\n\t\t\n\t\tif (!this.isReady) {\n\t\t\tconst {\n\t\t\t\tws: wsWithOtherOptions = {},\n\t\t\t\tcookie: cookieOptions,\n\t\t\t\tusers\n\t\t\t} = options ?? {};\n\t\t\t\n\t\t\tconst {\n\t\t\t\tsubscriptions,\n\t\t\t\tincomingTransport,\n\t\t\t\toutgoingTransport,\n\t\t\t\t...wsOptions\n\t\t\t} = wsWithOtherOptions;\n\t\t\t\n\t\t\tthis.ws = new WS(wsOptions) as WSWithActualProps<O>;\n\t\t\t\n\t\t\tif (subscriptions !== null)\n\t\t\t\tSubscription.bindTo(this.ws);\n\t\t\t\n\t\t\tif (incomingTransport)\n\t\t\t\tthis.incomingTransport = new IncomingTransport(this.ws, typeof incomingTransport == \"object\" ? incomingTransport : {});\n\t\t\t\n\t\t\tif (outgoingTransport)\n\t\t\t\tthis.outgoingTransport = new OutgoingTransport(this.ws);\n\t\t\t\n\t\t\tif (cookieOptions !== null)\n\t\t\t\tthis.cookie = new CookieSetter(this.ws, cookieOptions);\n\t\t\t\n\t\t\tif (users !== null && subscriptions !== null && cookieOptions !== null) {\n\t\t\t\tthis.user = null;\n\t\t\t\tthis.login = login<AS, O>;\n\t\t\t\tthis.logout = logout<AS, O>;\n\t\t\t\t\n\t\t\t\tthis.usersSubscriptionGroup = new UsersSubscriptionGroup({ target: this });\n\t\t\t\t\n\t\t\t\tawait new Promise<void>(resolve => {\n\t\t\t\t\t\n\t\t\t\t\tthis.usersSubscriptionGroup.once(\"init\", () => {\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.isLoggedIn = !!this.user;\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.usersSubscriptionGroup.on(\"update.user\", (user: CurrentUser) => {\n\t\t\t\t\t\t\tif (user.valueOf()) {\n\t\t\t\t\t\t\t\tif (!this.isLoggedIn) {\n\t\t\t\t\t\t\t\t\tthis.isLoggedIn = true;\n\t\t\t\t\t\t\t\t\tthis.emit(\"login\", true);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (this.isLoggedIn) {\n\t\t\t\t\t\t\t\tthis.isLoggedIn = false;\n\t\t\t\t\t\t\t\tthis.emit(\"logout\", false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (this.isLoggedIn)\n\t\t\t\t\t\t\tthis.emit(\"login\", true);\n\t\t\t\t\t\t\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t});\n\t\t\t}\n\t\t\t\n\t\t\tthis.isReady = true;\n\t\t\tthis.emit(\"ready\", true);\n\t\t\t\n\t\t\tthis.#initPromise.resolve(this);\n\t\t}\n\t\t\n\t}\n\t\n\t#initPromise = new StatefulPromise<this>();\n\t\n\twhenReady() {\n\t\treturn this.#initPromise;\n\t}\n\t\n\t\n\tstatic init<IAS extends AbilitiesSchema, IO extends Options<IAS>, IS extends InSite<IAS, IO>>(options: IO, asPromise: true): Promise<OmitRedundant<IS, IO>>;\n\tstatic init<IAS extends AbilitiesSchema, IO extends Options<IAS>, IS extends InSite<IAS, IO>>(options: IO, asPromise?: false): OmitRedundant<IS, IO>;\n\tstatic init<IAS extends AbilitiesSchema, IO extends Options<IAS>, IS extends InSite<IAS, IO>>(options: IO, asPromise = false) {\n\t\tconst inSite = new InSite(options) as IS;\n\t\t\n\t\treturn asPromise ?\n\t\t\tinSite.whenReady() :\n\t\t\tinSite;\n\t}\n\t\n}\n", "export function noop() { /**/ }\n", "import { noop } from \"./noop.js\";\n\n\ntype Callback<Result> = (...args: unknown[]) => Result;\ntype FunctionOrBoolean = (() => unknown) | boolean;\ntype Options = { leading?: FunctionOrBoolean; maxWait?: number; trailing?: FunctionOrBoolean };\ntype NumberOrUndefined = number | undefined;\n\ntype DebouncedFunction<Result> = {\n\t(this: unknown, ..._args: unknown[]): Promise<Result>;\n};\n\nexport type Debounced<Result> = {\n\tcallback: Callback<Result>;\n\tpromise: {\n\t\tisResolved: boolean;\n\t} & Promise<unknown>;\n\tresolve: (value: Result) => void;\n\trun(): Promise<Result>;\n\tclear(shouldRun?: boolean): Promise<void>;\n} & DebouncedFunction<Result>;\n\n\nexport function debounce<Result>(callback: Callback<Result>, limit = 0, options: Options = {}) {\n\tlet { leading = false, trailing = true } = options;\n\tconst { maxWait = Infinity } = options;\n\t\n\tlet timeout: NumberOrUndefined;\n\tlet maxWaitTimeout: NumberOrUndefined;\n\tlet end: NumberOrUndefined;\n\tlet context: unknown;\n\tlet args: unknown[];\n\tlet initial: FunctionOrBoolean;\n\tlet final: FunctionOrBoolean;\n\tlet result: Result;\n\t\n\tconst expired = async () => {\n\t\t\n\t\tconst n = Date.now();\n\t\t\n\t\tif (n >= end!) {\n\t\t\ttimeout = undefined;\n\t\t\tend = undefined;\n\t\t\tclearTimeout(maxWaitTimeout);\n\t\t\tif (typeof final == \"function\")\n\t\t\t\tawait final();\n\t\t\tdebounced.resolve(result);\n\t\t\tdebounced.promise.isResolved = true;\n\t\t\tinitial = leading;\n\t\t} else {\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = setTimeout(expired, end! - n);\n\t\t}\n\t\t\n\t};\n\t\n\tconst maxWaitExpired = Number.isFinite(maxWait) ? () => {\n\t\t\n\t\tif (final === run)\n\t\t\tfinal = false;\n\t\trun();\n\t\tmaxWaitTimeout = setTimeout(maxWaitExpired as TimerHandler, maxWait);\n\t\t\n\t} : null;\n\t\n\tasync function run() {\n\t\treturn (result = await callback.apply(context, args));\n\t}\n\t\n\tif (leading && typeof leading == \"boolean\")\n\t\tleading = run;\n\tinitial = leading;\n\t\n\tif (trailing && typeof trailing == \"boolean\")\n\t\ttrailing = run;\n\tfinal = trailing;\n\t\n\tconst debounced: Debounced<Result> = Object.assign(function (..._args) {\n\t\targs = _args;\n\t\tcontext = this;// eslint-disable-line no-invalid-this\n\t\t\n\t\tend = Date.now() + limit;\n\t\tfinal = trailing;\n\t\t\n\t\tif (debounced.promise.isResolved)\n\t\t\tdebounced.promise = Object.assign(new Promise(resolve => {\n\t\t\t\tdebounced.resolve = resolve;\n\t\t\t\t\n\t\t\t\tif (typeof initial == \"function\") {\n\t\t\t\t\tinitial();\n\t\t\t\t\tinitial = false;\n\t\t\t\t\tif (final === run)\n\t\t\t\t\t\tfinal = false;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (!timeout) {\n\t\t\t\t\ttimeout = setTimeout(expired, limit);\n\t\t\t\t\tif (maxWaitExpired)\n\t\t\t\t\t\tmaxWaitTimeout = setTimeout(maxWaitExpired, maxWait);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}), {\n\t\t\t\tisResolved: false\n\t\t\t});\n\t\t\n\t\treturn debounced.promise;\n\t} as DebouncedFunction<Result>, {\n\t\tcallback,\n\t\tpromise: Object.assign(Promise.resolve(), {\n\t\t\tisResolved: true\n\t\t}),\n\t\tresolve: noop,\n\t\trun,\n\t\tclear: async (shouldRun?: boolean) => {\n\t\t\t\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = undefined;\n\t\t\t\n\t\t\tclearTimeout(maxWaitTimeout);\n\t\t\t\n\t\t\tdebounced.promise.isResolved = true;\n\t\t\tdebounced.resolve(shouldRun ? await run() : result);\n\t\t\t\n\t\t}\n\t});\n\t\n\treturn debounced;\n}\n\n\ndebounce.noop = Object.assign(() => { /**/ }, {\n\tcallback: noop,\n\tpromise: Object.assign(Promise.resolve(), {\n\t\tisResolved: true\n\t}),\n\tresolve: noop,\n\trun: noop,\n\tclear: noop\n}) as unknown as Debounced<void>;\n\n\nexport function throttle<Result>(callback: Callback<Result>, limit?: number, options?: Options) {\n\treturn debounce(callback, limit, {\n\t\tmaxWait: limit,\n\t\tleading: true,\n\t\ttrailing: true,\n\t\t...options\n\t});\n}\n", "export function howmuch(number: [] | number, one: string, two: string, five: boolean | string, shouldPrintNumber = true) {\n\tif (Array.isArray(number))\n\t\tnumber = number.length;\n\t\n\tif (typeof five != \"string\") {\n\t\tshouldPrintNumber = five ?? true;\n\t\tfive = two;\n\t}\n\t\n\t\n\treturn (shouldPrintNumber ? `${number}\u00A0` : \"\") + howmuch.raw(number, one, two, five);\n}\n\nhowmuch.raw = (number: number, one: string, two: string, five = two) => {\n\tnumber = Math.abs(number);\n\tconst u = number % 10;\n\tconst d = number % 100;\n\t\n\treturn (\n\t\t(u === 1 && d !== 11) ?\n\t\t\tone :\n\t\t\t((u >= 2 && u <= 4) && !(d >= 12 && d <= 15)) ?\n\t\t\t\ttwo :\n\t\t\t\tfive\n\t);\n};\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n\ntype Value<T> = PromiseLike<T> | T;\ntype Resolve<T> = (value: Value<T>) => void;\ntype Reject = (reason?: any) => void;\n\nconst nativesMap = new WeakMap<StatefulPromise<any>, { resolve: Resolve<any>; reject: Reject }>();\n\n\nexport class StatefulPromise<T> extends Promise<T> {\n\tconstructor(executor?: (resolve: Resolve<T>, reject: Reject) => void) {\n\t\t\n\t\tlet nativeResolve: Resolve<T>;\n\t\tlet nativeReject: Reject;\n\t\t\n\t\tsuper((resolve, reject) => {\n\t\t\tnativeResolve = resolve;\n\t\t\tnativeReject = reject;\n\t\t\t\n\t\t});\n\t\t\n\t\tnativesMap.set(this, { resolve: nativeResolve!, reject: nativeReject! });\n\t\t\n\t\texecutor?.(this.resolve, this.reject);\n\t\t\n\t}\n\t\n\tisPending = true;\n\tisFulfilled = false;\n\tisRejected = false;\n\t\n\tstate: \"fulfilled\" | \"pending\" | \"rejected\" = \"pending\";\n\t\n\tresult?: any;\n\t\n\tresolve = (value: Value<T>) => {\n\t\t\n\t\tif (this.isPending) {\n\t\t\tthis.isPending = false;\n\t\t\tthis.isFulfilled = true;\n\t\t\tthis.state = \"fulfilled\";\n\t\t\tthis.result = value;\n\t\t\t\n\t\t\tconst native = nativesMap.get(this);\n\t\t\t\n\t\t\tif (native) {\n\t\t\t\tnative.resolve.call(this, value);\n\t\t\t\tnativesMap.delete(this);\n\t\t\t}\n\t\t}\n\t\t\n\t};\n\t\n\treject = (reason?: any) => {\n\t\t\n\t\tif (this.isPending) {\n\t\t\tthis.isPending = false;\n\t\t\tthis.isRejected = true;\n\t\t\tthis.state = \"rejected\";\n\t\t\tthis.result = reason;\n\t\t\t\n\t\t\tconst native = nativesMap.get(this);\n\t\t\t\n\t\t\tif (native) {\n\t\t\t\tnative.reject.call(this, reason);\n\t\t\t\tnativesMap.delete(this);\n\t\t\t}\n\t\t}\n\t\t\n\t};\n\t\n}\n", "export * from \"./InSite\";\nexport type { Options } from \"./types\";\nexport * from \"insite-common/frontend\";\nexport type { Options as CookieOptions } from \"insite-cookie/client\";\nexport * from \"insite-cookie/client\";\nexport * from \"insite-subscriptions-client\";\nexport * from \"insite-users-client\";\nexport * from \"insite-ws-transfers/browser\";\nexport type { Options as WSOptions } from \"insite-ws/client\";\nexport * from \"insite-ws/client\";\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["EventEmitter", "noop", "debounce", "callback", "limit", "options", "leading", "trailing", "maxWait", "timeout", "maxWaitTimeout", "end", "context", "args", "initial", "final", "result", "expired", "n", "debounced", "maxWaitExpired", "run", "_args", "resolve", "noop", "shouldRun", "howmuch", "number", "one", "two", "five", "shouldPrintNumber", "u", "d", "nativesMap", "StatefulPromise", "executor", "nativeResolve", "nativeReject", "resolve", "reject", "__publicField", "value", "native", "reason", "CookieSetter", "Subscription", "UsersSubscriptionGroup", "IncomingTransport", "OutgoingTransport", "WS", "login", "email", "password", "logout", "_initPromise", "_InSite", "EventEmitter", "options", "__publicField", "__privateAdd", "StatefulPromise", "wsWithOtherOptions", "cookieOptions", "users", "subscriptions", "incomingTransport", "outgoingTransport", "wsOptions", "WS", "Subscription", "IncomingTransport", "OutgoingTransport", "CookieSetter", "UsersSubscriptionGroup", "resolve", "user", "__privateGet", "asPromise", "inSite", "InSite"]
|
|
7
7
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,46 +1,50 @@
|
|
|
1
|
-
import type { Options as CookieOptions } from "insite-cookie/client";
|
|
2
|
-
import type { Options as WSOptions } from "insite-ws/client";
|
|
3
1
|
import type { AnyProp, ExtendsOrOmit } from "@nesvet/n";
|
|
4
2
|
import type { AbilitiesSchema } from "insite-common";
|
|
3
|
+
import type { Options as CookieOptions } from "insite-cookie/client";
|
|
5
4
|
import type { IncomingTransportOptions } from "insite-ws-transfers";
|
|
5
|
+
import type { WithOnTransfer, WithTransfer } from "insite-ws-transfers/browser";
|
|
6
|
+
import type { Options as WSOptions, WS } from "insite-ws/client";
|
|
6
7
|
type WSSubscriptions = true;
|
|
7
8
|
type WSIncomingTransport = IncomingTransportOptions | true;
|
|
8
9
|
type WSOutgoingTransport = true;
|
|
9
|
-
type
|
|
10
|
-
subscriptions?:
|
|
11
|
-
incomingTransport?:
|
|
12
|
-
outgoingTransport?:
|
|
13
|
-
}
|
|
10
|
+
type WSO = WSOptions & {
|
|
11
|
+
subscriptions?: WSSubscriptions | null;
|
|
12
|
+
incomingTransport?: WSIncomingTransport | null;
|
|
13
|
+
outgoingTransport?: WSOutgoingTransport | null;
|
|
14
|
+
};
|
|
14
15
|
type Cookie = CookieOptions;
|
|
15
16
|
type Users<AS extends AbilitiesSchema> = {
|
|
16
17
|
abilities?: AS;
|
|
17
18
|
};
|
|
18
19
|
export type Options<AS extends AbilitiesSchema> = {
|
|
19
|
-
ws?:
|
|
20
|
+
ws?: WSO;
|
|
20
21
|
cookie?: Cookie | null;
|
|
21
|
-
users?: Users<AS
|
|
22
|
+
users?: Users<AS> | null;
|
|
22
23
|
};
|
|
23
|
-
type OptionsWithWSSubscriptions = {
|
|
24
|
-
ws?: {
|
|
24
|
+
type OptionsWithWSSubscriptions = AnyProp & {
|
|
25
|
+
ws?: AnyProp & {
|
|
25
26
|
subscriptions?: WSSubscriptions;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
type OptionsWithWSIncomingTransport = {
|
|
29
|
-
ws: {
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
type OptionsWithWSIncomingTransport = AnyProp & {
|
|
30
|
+
ws: AnyProp & {
|
|
30
31
|
incomingTransport: WSIncomingTransport;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
type OptionsWithWSOutgoingTransport = {
|
|
34
|
-
ws: {
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
type OptionsWithWSOutgoingTransport = AnyProp & {
|
|
35
|
+
ws: AnyProp & {
|
|
35
36
|
outgoingTransport: WSOutgoingTransport;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
type OptionsWithCookie = {
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
type OptionsWithCookie = AnyProp & {
|
|
39
40
|
cookie?: Cookie;
|
|
40
|
-
}
|
|
41
|
-
type OptionsWithUsers = {
|
|
41
|
+
};
|
|
42
|
+
type OptionsWithUsers = OptionsWithCookie & OptionsWithWSSubscriptions & {
|
|
42
43
|
users?: Users<any>;
|
|
43
|
-
}
|
|
44
|
-
export type
|
|
44
|
+
};
|
|
45
|
+
export type OmitRedundant<I, O> = ExtendsOrOmit<O, OptionsWithWSIncomingTransport, "incomingTransport", ExtendsOrOmit<O, OptionsWithWSOutgoingTransport, "outgoingTransport", ExtendsOrOmit<O, OptionsWithCookie, "cookie", ExtendsOrOmit<O, OptionsWithUsers, "isLoggedIn" | "login" | "logout" | "orgs" | "roles" | "user" | "users" | "usersSubscriptionGroup", I>>>>;
|
|
46
|
+
type OptionalTransfer<O, W extends WS> = O extends OptionsWithWSOutgoingTransport ? WithTransfer<W> : W;
|
|
47
|
+
type OptionalOnTransfer<O, W extends WS> = O extends OptionsWithWSIncomingTransport ? WithOnTransfer<W> : W;
|
|
48
|
+
export type WSWithActualProps<O> = OptionalTransfer<O, OptionalOnTransfer<O, WS>>;
|
|
45
49
|
export {};
|
|
46
50
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "insite-client",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Client-side inSite app",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.js",
|
|
8
|
-
"packageManager": "bun@1.
|
|
8
|
+
"packageManager": "bun@1.2.2",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
11
11
|
"build": "bun .conveyer.js",
|
|
@@ -23,18 +23,18 @@
|
|
|
23
23
|
"author": "Eugene Nesvetaev <dev@nesvet.dev> (https://nesvet.dev/)",
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@nesvet/n": "^1.1.
|
|
26
|
+
"@nesvet/n": "^1.1.22",
|
|
27
27
|
"eventemitter3": "^5.0.1",
|
|
28
|
-
"insite-common": "^2.
|
|
29
|
-
"insite-cookie": "^2.0
|
|
30
|
-
"insite-subscriptions-client": "^2.0
|
|
31
|
-
"insite-users-client": "^2.0
|
|
32
|
-
"insite-ws": "^2.0
|
|
33
|
-
"insite-ws-transfers": "^2.0
|
|
28
|
+
"insite-common": "^2.1.0",
|
|
29
|
+
"insite-cookie": "^2.1.0",
|
|
30
|
+
"insite-subscriptions-client": "^2.1.0",
|
|
31
|
+
"insite-users-client": "^2.1.0",
|
|
32
|
+
"insite-ws": "^2.1.0",
|
|
33
|
+
"insite-ws-transfers": "^2.1.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@nesvet/conveyer": "^2.2
|
|
37
|
-
"@nesvet/eslint-config": "^2.0.
|
|
38
|
-
"typescript": "^5.7.
|
|
36
|
+
"@nesvet/conveyer": "^2.4.2",
|
|
37
|
+
"@nesvet/eslint-config": "^2.0.47",
|
|
38
|
+
"typescript": "^5.7.3"
|
|
39
39
|
}
|
|
40
40
|
}
|