insite-server 2.0.33 → 2.0.35

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
@@ -1,18 +1,19 @@
1
- import { CookieSetter } from "insite-cookie/server";
2
- import { SubscriptionHandler } from "insite-subscriptions-server/ws";
3
- import { IncomingTransport, OutgoingTransport } from "insite-ws-transfers/node";
4
1
  import { StatefulPromise } from "@nesvet/n";
5
- import type { AbilitiesSchema } from "insite-common";
2
+ import { type AbilitiesSchema } from "insite-common/backend";
3
+ import { CookieSetter } from "insite-cookie/server";
6
4
  import { type InSiteCollections, type InSiteDB, type MongoClient } from "insite-db";
7
5
  import { InSiteHTTPServer } from "insite-http";
6
+ import { SubscriptionHandler } from "insite-subscriptions-server/ws";
8
7
  import { Users } from "insite-users-server";
9
8
  import { UsersServer, type WSSCWithUser } from "insite-users-server-ws";
10
- import type { InSiteWebSocketServerWithActualProps, InSiteWithActualProps, Options } from "./types";
9
+ import { IncomingTransport, OutgoingTransport } from "insite-ws-transfers/node";
10
+ import type { InSiteConfig, InSiteWebSocketServerWithActualProps, OmitRedundant, Options } from "./types";
11
11
  export declare class InSite<AS extends AbilitiesSchema, O extends Options<AS>> {
12
12
  #private;
13
13
  constructor(options?: O);
14
14
  mongoClient: MongoClient;
15
15
  db: InSiteDB;
16
+ config: InSiteConfig<O>;
16
17
  collections: InSiteCollections;
17
18
  wss: InSiteWebSocketServerWithActualProps<AS, O>;
18
19
  incomingTransport: IncomingTransport<WSSCWithUser<AS>>;
@@ -22,10 +23,9 @@ export declare class InSite<AS extends AbilitiesSchema, O extends Options<AS>> {
22
23
  users: Users<AS>;
23
24
  cookie: CookieSetter<AS>;
24
25
  http: InSiteHTTPServer;
25
- [key: number | string | symbol]: unknown;
26
- init?: ((options: O) => Promise<void>) | undefined;
26
+ protected init(options: O): Promise<void>;
27
27
  whenReady(): StatefulPromise<this>;
28
- 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>>;
29
- 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>;
28
+ static init<IAS extends AbilitiesSchema, IO extends Options<IAS>, IS extends InSite<IAS, IO>>(options: IO, asPromise?: true): Promise<OmitRedundant<IS, IO>>;
29
+ static init<IAS extends AbilitiesSchema, IO extends Options<IAS>, IS extends InSite<IAS, IO>>(options: IO, asPromise: false): OmitRedundant<IS, IO>;
30
30
  }
31
31
  //# sourceMappingURL=InSite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InSite.d.ts","sourceRoot":"","sources":["../src/InSite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAEN,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,gBAAgB,EAIhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,oCAAoC,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAMpG,qBAAa,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC,SAAS,OAAO,CAAC,EAAE,CAAC;;gBACxD,OAAO,CAAC,EAAE,CAAC;IAMvB,WAAW,EAAG,WAAW,CAAC;IAC1B,EAAE,EAAG,QAAQ,CAAC;IACd,WAAW,EAAG,iBAAiB,CAAC;IAChC,GAAG,EAAG,oCAAoC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,iBAAiB,EAAG,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,iBAAiB,EAAG,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,mBAAmB,EAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC9C,WAAW,EAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,KAAK,EAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,MAAM,EAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,EAAG,gBAAgB,CAAC;IAExB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAEzC,IAAI,CAAC,aAAmB,CAAC,gCA4FvB;IAIF,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,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/L,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"}
1
+ {"version":3,"file":"InSite.d.ts","sourceRoot":"","sources":["../src/InSite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,YAAY,EAA0B,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAEN,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,gBAAgB,EAIhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EACX,YAAY,EACZ,oCAAoC,EACpC,aAAa,EACb,OAAO,EACP,MAAM,SAAS,CAAC;AAGjB,qBAAa,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC,SAAS,OAAO,CAAC,EAAE,CAAC;;gBACxD,OAAO,CAAC,EAAE,CAAC;IAMvB,WAAW,EAAG,WAAW,CAAC;IAC1B,EAAE,EAAG,QAAQ,CAAC;IACd,MAAM,EAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,WAAW,EAAG,iBAAiB,CAAC;IAChC,GAAG,EAAG,oCAAoC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,iBAAiB,EAAG,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,iBAAiB,EAAG,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,mBAAmB,EAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC9C,WAAW,EAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,KAAK,EAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,MAAM,EAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,EAAG,gBAAgB,CAAC;cAIR,IAAI,CAAC,OAAO,EAAE,CAAC;IAsH/B,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,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5J,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,KAAK,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC;CASnJ"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from "./InSite";
2
- export type { Options } from "./types";
3
- export * from "insite-common";
2
+ export type { OmitRedundant, Options } from "./types";
3
+ export * from "insite-common/backend";
4
4
  export * from "insite-cookie/server";
5
5
  export type { Options as CookieSetterOptions } from "insite-cookie/server";
6
6
  export * from "insite-db";
@@ -12,7 +12,7 @@ export * from "insite-users-server";
12
12
  export type { Options as UsersOptions } from "insite-users-server";
13
13
  export * from "insite-users-server-ws";
14
14
  export type { Options as UsersServerOptions } from "insite-users-server-ws";
15
+ export * from "insite-ws-transfers";
15
16
  export * from "insite-ws/server";
16
17
  export type { Options as WSServerOptions } from "insite-ws/server";
17
- export * from "insite-ws-transfers";
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -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,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,KAAK,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9E,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnE,cAAc,wBAAwB,CAAC;AACvC,YAAY,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,cAAc,kBAAkB,CAAC;AACjC,YAAY,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnE,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACtD,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,KAAK,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9E,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnE,cAAc,wBAAwB,CAAC;AACvC,YAAY,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,YAAY,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{CookieSetter as T,InSiteCookieMiddleware as P}from"insite-cookie/server";import{SubscriptionHandler as W}from"insite-subscriptions-server/ws";import{InSiteWebSocketServer as $}from"insite-ws/server";import{IncomingTransport as M,OutgoingTransport as j}from"insite-ws-transfers/node";function d(){}function b(i,t=0,e={}){let{leading:o=!1,trailing:r=!0}=e,{maxWait:s=1/0}=e,l,c,n,a,x,f,u,g,v=async()=>{let h=Date.now();h>=n?(l=void 0,n=void 0,clearTimeout(c),typeof u=="function"&&await u(),p.resolve(g),p.promise.isResolved=!0,f=o):(clearTimeout(l),l=setTimeout(v,n-h))},w=Number.isFinite(s)?()=>{u===m&&(u=!1),m(),c=setTimeout(w,s)}:null;async function m(){return g=await i.apply(a,x)}o&&typeof o=="boolean"&&(o=m),f=o,r&&typeof r=="boolean"&&(r=m),u=r;let p=Object.assign(function(...h){return x=h,a=this,n=Date.now()+t,u=r,p.promise.isResolved&&(p.promise=Object.assign(new Promise(y=>{p.resolve=y,typeof f=="function"&&(f(),f=!1,u===m&&(u=!1)),l||(l=setTimeout(v,t),w&&(c=setTimeout(w,s)))}),{isResolved:!1})),p.promise},{callback:i,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:d,run:m,clear:async h=>{clearTimeout(l),l=void 0,clearTimeout(c),p.promise.isResolved=!0,p.resolve(h?await m():g)}});return p}b.noop=Object.assign(()=>{},{callback:d,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:d,run:d,clear:d});function I(i,t,e,o,r=!0){return Array.isArray(i)&&(i=i.length),typeof o!="string"&&(r=o??!0,o=e),(r?`${i}\xA0`:"")+I.raw(i,t,e,o)}I.raw=(i,t,e,o=e)=>{i=Math.abs(i);let r=i%10,s=i%100;return r===1&&s!==11?t:r>=2&&r<=4&&!(s>=12&&s<=15)?e:o};var S=new WeakMap,O=class extends Promise{constructor(t){let e,o;super((r,s)=>{e=r,o=s}),S.set(this,{resolve:e,reject:o}),t?.(this.resolve,this.reject)}isPending=!0;isFulfilled=!1;isRejected=!1;state="pending";result;resolve=t=>{if(this.isPending){this.isPending=!1,this.isFulfilled=!0,this.state="fulfilled",this.result=t;let e=S.get(this);e&&(e.resolve.call(this,t),S.delete(this))}};reject=t=>{if(this.isPending){this.isPending=!1,this.isRejected=!0,this.state="rejected",this.result=t;let e=S.get(this);e&&(e.reject.call(this,t),S.delete(this))}}};import{connect as k}from"insite-db";import{InSiteHTTPServer as C,InSiteStaticMiddleware as E,InSiteTemplateMiddleware as B}from"insite-http";import{Users as R}from"insite-users-server";import{UsersServer as U}from"insite-users-server-ws";var A=class i{constructor(t){t&&this.init(t)}mongoClient;db;collections;wss;incomingTransport;outgoingTransport;subscriptionHandler;usersServer;users;cookie;http;init=async t=>{let{db:e,wss:o,users:r,cookie:s,http:l}=t;if(e&&({client:this.mongoClient,db:this.db,collections:this.collections}=await k(e)),o){let{subscriptions:c,incomingTransport:n,outgoingTransport:a,...x}=o;this.wss=new $(x),c!==null&&(this.subscriptionHandler=new W(this.wss,!!this.collections)),n!==null&&(n||this.collections&&r)&&(this.incomingTransport=new M(this.wss,!n||n===!0?{}:n)),a&&(this.outgoingTransport=new j(this.wss)),process.env.NODE_ENV==="development"&&this.wss.on("client-connect",f=>console.info(`\u{1F50C} WebSocket connected with ${f.session?.user.email}`)),this.wss.on("error",f=>console.error("\u{1F50C}\u2757\uFE0F WebSocket Server:",f)),this.wss.on("close",()=>console.error("\u{1F50C}\u2757\uFE0F WebSocket Server closed"))}if(r&&this.collections){let{server:c,...n}=r;this.wss&&this.subscriptionHandler?(this.usersServer=await U.init({...c,users:n,wss:this.wss,collections:this.collections,incomingTransport:this.incomingTransport}),this.users=this.usersServer.users):this.users=await R.init(this.collections,n)}if(l){let{static:c=void 0,middlewares:n=void 0,template:a=void 0,...x}=typeof l=="object"?l:{};this.http=new C(x,[...n??[],s!==null&&new P(s?.middleware??{}),c!==null&&new E(c??{}),a!==null&&new B(a??{})].filter(Boolean))}if(s!==null&&this.usersServer&&this.http){let{middleware:c,...n}=s??{};this.cookie=new T({...n,usersServer:this.usersServer})}delete this.init,this.#e.resolve(this)};#e=new O;whenReady(){return this.#e}static init(t,e=!0){let o=new i(t);return e?o.whenReady():o}};export*from"insite-common";export*from"insite-cookie/server";export*from"insite-db";import{connect as ao}from"insite-db";export*from"insite-http";export*from"insite-subscriptions-server";export*from"insite-users-server";export*from"insite-users-server-ws";export*from"insite-ws/server";export*from"insite-ws-transfers";export{A as InSite,ao as connectToDB};
1
+ function O(){}function k(i,t=0,e={}){let{leading:o=!1,trailing:n=!0}=e,{maxWait:c=1/0}=e,s,a,u,l,g,f,r,m,h=async()=>{let S=Date.now();S>=u?(s=void 0,u=void 0,clearTimeout(a),typeof r=="function"&&await r(),p.resolve(m),p.promise.isResolved=!0,f=o):(clearTimeout(s),s=setTimeout(h,u-S))},x=Number.isFinite(c)?()=>{r===d&&(r=!1),d(),a=setTimeout(x,c)}:null;async function d(){return m=await i.apply(l,g)}o&&typeof o=="boolean"&&(o=d),f=o,n&&typeof n=="boolean"&&(n=d),r=n;let p=Object.assign(function(...S){return g=S,l=this,u=Date.now()+t,r=n,p.promise.isResolved&&(p.promise=Object.assign(new Promise(T=>{p.resolve=T,typeof f=="function"&&(f(),f=!1,r===d&&(r=!1)),s||(s=setTimeout(h,t),x&&(a=setTimeout(x,c)))}),{isResolved:!1})),p.promise},{callback:i,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:O,run:d,clear:async S=>{clearTimeout(s),s=void 0,clearTimeout(a),p.promise.isResolved=!0,p.resolve(S?await d():m)}});return p}k.noop=Object.assign(()=>{},{callback:O,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:O,run:O,clear:O});function I(i,t,e,o,n=!0){return Array.isArray(i)&&(i=i.length),typeof o!="string"&&(n=o??!0,o=e),(n?`${i}\xA0`:"")+I.raw(i,t,e,o)}I.raw=(i,t,e,o=e)=>{i=Math.abs(i);let n=i%10,c=i%100;return n===1&&c!==11?t:n>=2&&n<=4&&!(c>=12&&c<=15)?e:o};var w=new WeakMap,v=class extends Promise{constructor(t){let e,o;super((n,c)=>{e=n,o=c}),w.set(this,{resolve:e,reject:o}),t?.(this.resolve,this.reject)}isPending=!0;isFulfilled=!1;isRejected=!1;state="pending";result;resolve=t=>{if(this.isPending){this.isPending=!1,this.isFulfilled=!0,this.state="fulfilled",this.result=t;let e=w.get(this);e&&(e.resolve.call(this,t),w.delete(this))}};reject=t=>{if(this.isPending){this.isPending=!1,this.isRejected=!0,this.state="rejected",this.result=t;let e=w.get(this);e&&(e.reject.call(this,t),w.delete(this))}}};import{createServer as P}from"insite-common/backend";import{init as W}from"insite-config";import{CookieSetter as M,InSiteCookieMiddleware as $}from"insite-cookie/server";import{connect as j}from"insite-db";import{InSiteHTTPServer as y,InSiteStaticMiddleware as C,InSiteTemplateMiddleware as R}from"insite-http";import{SubscriptionHandler as B}from"insite-subscriptions-server/ws";import{Users as E}from"insite-users-server";import{UsersServer as U}from"insite-users-server-ws";import{IncomingTransport as D,OutgoingTransport as H}from"insite-ws-transfers/node";import{InSiteWebSocketServer as b}from"insite-ws/server";var A=class i{constructor(t){t&&this.init(t)}mongoClient;db;config;collections;wss;incomingTransport;outgoingTransport;subscriptionHandler;usersServer;users;cookie;http;#e=!1;async init(t){if(!this.#e){this.#e=!0;let{db:e,config:o,ssl:n,port:c,wss:s,users:a,cookie:u,http:l}=t;e&&({client:this.mongoClient,db:this.db,collections:this.collections}=await j(e)),this.collections&&o&&(this.config=await W(this.collections,o));let g=c&&(s||l)?await P({...s&&b.makeProps({...s,ssl:n}),...l&&y.makeProps({...typeof l=="object"?l:{},ssl:n})},c):void 0;if(s){let{subscriptions:f,incomingTransport:r,outgoingTransport:m,...h}=s;this.wss=new b({server:g,...h}),f!==null&&(this.subscriptionHandler=new B(this.wss,!!this.collections)),r!==null&&(r||this.collections&&a)&&(this.incomingTransport=new D(this.wss,!r||r===!0?{}:r)),m&&(this.outgoingTransport=new H(this.wss)),process.env.NODE_ENV==="development"&&this.wss.on("client-connect",x=>console.info(`\u{1F50C} WebSocket connected with ${x.session?.user.email}`)),this.wss.on("error",x=>console.error("\u{1F50C}\u2757\uFE0F WebSocket Server:",x)),this.wss.on("close",()=>console.error("\u{1F50C}\u2757\uFE0F WebSocket Server closed"))}if(a&&this.collections){let{server:f,...r}=a;this.wss&&this.subscriptionHandler?(this.usersServer=await U.init({...f,users:r,wss:this.wss,collections:this.collections,incomingTransport:this.incomingTransport}),this.users=this.usersServer.users):this.users=await E.init(this.collections,r)}if(l){let{static:f=void 0,middlewares:r=void 0,template:m=void 0,...h}=typeof l=="object"?l:{};this.http=new y({server:g,...h},[...r??[],u!==null&&new $(u?.middleware??{}),f!==null&&new C(f??{}),m!==null&&new R(m??{})].filter(Boolean))}if(u!==null&&this.usersServer&&this.http){let{middleware:f,...r}=u??{};this.cookie=new M({...r,usersServer:this.usersServer})}this.#t.resolve(this)}}#t=new v;whenReady(){return this.#t}static init(t,e=!0){let o=new i(t);return e?o.whenReady():o}};export*from"insite-common/backend";export*from"insite-cookie/server";export*from"insite-db";import{connect as $o}from"insite-db";export*from"insite-http";export*from"insite-subscriptions-server";export*from"insite-users-server";export*from"insite-users-server-ws";export*from"insite-ws-transfers";export*from"insite-ws/server";export{A as InSite,$o as connectToDB};
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", "../../../../@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 { CookieSetter, InSiteCookieMiddleware } from \"insite-cookie/server\";\nimport { SubscriptionHandler } from \"insite-subscriptions-server/ws\";\nimport { InSiteWebSocketServer } from \"insite-ws/server\";\nimport { IncomingTransport, OutgoingTransport } from \"insite-ws-transfers/node\";\nimport { StatefulPromise } from \"@nesvet/n\";\nimport type { AbilitiesSchema } from \"insite-common\";\nimport {\n\tconnect,\n\ttype InSiteCollections,\n\ttype InSiteDB,\n\ttype MongoClient\n} from \"insite-db\";\nimport {\n\tInSiteHTTPServer,\n\tInSiteServerMiddleware,\n\tInSiteStaticMiddleware,\n\tInSiteTemplateMiddleware\n} from \"insite-http\";\nimport { Users } from \"insite-users-server\";\nimport { UsersServer, type WSSCWithUser } from \"insite-users-server-ws\";\nimport type { InSiteWebSocketServerWithActualProps, InSiteWithActualProps, Options } from \"./types\";\n\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\nexport class InSite<AS extends AbilitiesSchema, O extends Options<AS>> {\n\tconstructor(options?: O) {\n\t\tif (options)\n\t\t\tthis.init!(options);\n\t\t\n\t}\n\t\n\tmongoClient!: MongoClient;\n\tdb!: InSiteDB;\n\tcollections!: InSiteCollections;\n\twss!: InSiteWebSocketServerWithActualProps<AS, O>;\n\tincomingTransport!: IncomingTransport<WSSCWithUser<AS>>;\n\toutgoingTransport!: OutgoingTransport<WSSCWithUser<AS>>;\n\tsubscriptionHandler!: SubscriptionHandler<AS>;\n\tusersServer!: UsersServer<AS>;\n\tusers!: Users<AS>;\n\tcookie!: CookieSetter<AS>;\n\thttp!: InSiteHTTPServer;\n\t\n\t[key: number | string | symbol]: unknown;\n\t\n\tinit? = async (options: O) => {\n\t\t\n\t\tconst {\n\t\t\tdb: dbOptions,\n\t\t\twss: wssWithOtherOptions,\n\t\t\tusers: usersWithServerOptions,\n\t\t\tcookie: cookieWithMiddlewareOptions,\n\t\t\thttp: httpWithMiddlewareOptions\n\t\t} = options;\n\t\t\n\t\tif (dbOptions)\n\t\t\t({\n\t\t\t\tclient: this.mongoClient,\n\t\t\t\tdb: this.db,\n\t\t\t\tcollections: this.collections\n\t\t\t} = await connect(dbOptions));\n\t\t\n\t\tif (wssWithOtherOptions) {\n\t\t\tconst {\n\t\t\t\tsubscriptions,\n\t\t\t\tincomingTransport: incomingTransportOptions,\n\t\t\t\toutgoingTransport,\n\t\t\t\t...wssOptions\n\t\t\t} = wssWithOtherOptions;\n\t\t\t\n\t\t\tthis.wss = new InSiteWebSocketServer<WSSCWithUser<AS>>(wssOptions) as InSiteWebSocketServerWithActualProps<AS, O>;\n\t\t\t\n\t\t\tif (subscriptions !== null)\n\t\t\t\tthis.subscriptionHandler = new SubscriptionHandler(this.wss, !!this.collections);\n\t\t\t\n\t\t\tif (incomingTransportOptions !== null && (incomingTransportOptions || (this.collections && usersWithServerOptions)))\n\t\t\t\tthis.incomingTransport = new IncomingTransport(this.wss, !incomingTransportOptions || incomingTransportOptions === true ? {} : incomingTransportOptions);\n\t\t\t\n\t\t\tif (outgoingTransport)\n\t\t\t\tthis.outgoingTransport = new OutgoingTransport(this.wss);\n\t\t\t\n\t\t\tif (process.env.NODE_ENV === \"development\")\n\t\t\t\tthis.wss.on(\"client-connect\", wssc => console.info(`\uD83D\uDD0C WebSocket connected with ${wssc.session?.user.email}`));\n\t\t\t\n\t\t\tthis.wss.on(\"error\", (error: Error) => console.error(\"\uD83D\uDD0C\u2757\uFE0F WebSocket Server:\", error));\n\t\t\tthis.wss.on(\"close\", () => console.error(\"\uD83D\uDD0C\u2757\uFE0F WebSocket Server closed\"));\n\t\t}\n\t\t\n\t\tif (usersWithServerOptions && this.collections) {\n\t\t\tconst { server: usersServerOptions, ...usersOptions } = usersWithServerOptions;\n\t\t\t\n\t\t\tif (this.wss && this.subscriptionHandler) {\n\t\t\t\tthis.usersServer = await UsersServer.init({\n\t\t\t\t\t...usersServerOptions,\n\t\t\t\t\tusers: usersOptions,\n\t\t\t\t\twss: this.wss,\n\t\t\t\t\tcollections: this.collections,\n\t\t\t\t\tincomingTransport: this.incomingTransport\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tthis.users = this.usersServer.users;\n\t\t\t} else\n\t\t\t\tthis.users = await Users.init(this.collections, usersOptions);\n\t\t}\n\t\t\n\t\tif (httpWithMiddlewareOptions) {\n\t\t\tconst {\n\t\t\t\tstatic: staticMiddlewareOptions = undefined, // eslint-disable-line unicorn/no-useless-undefined\n\t\t\t\tmiddlewares = undefined, // eslint-disable-line unicorn/no-useless-undefined\n\t\t\t\ttemplate: templateMiddlewareOptions = undefined, // eslint-disable-line unicorn/no-useless-undefined\n\t\t\t\t...httpOptions\n\t\t\t} = typeof httpWithMiddlewareOptions == \"object\" ? httpWithMiddlewareOptions : {};\n\t\t\t\n\t\t\tthis.http = new InSiteHTTPServer(httpOptions, [\n\t\t\t\t...middlewares ?? [],\n\t\t\t\tcookieWithMiddlewareOptions !== null && new InSiteCookieMiddleware(cookieWithMiddlewareOptions?.middleware ?? {}),\n\t\t\t\tstaticMiddlewareOptions !== null && new InSiteStaticMiddleware(staticMiddlewareOptions ?? {}),\n\t\t\t\ttemplateMiddlewareOptions !== null && new InSiteTemplateMiddleware(templateMiddlewareOptions ?? {})\n\t\t\t].filter(Boolean) as InSiteServerMiddleware[]);\n\t\t}\n\t\t\n\t\tif (cookieWithMiddlewareOptions !== null && this.usersServer && this.http) {\n\t\t\tconst {\n\t\t\t\tmiddleware: _,\n\t\t\t\t...cookieOptions\n\t\t\t} = cookieWithMiddlewareOptions ?? {};\n\t\t\t\n\t\t\tthis.cookie = new CookieSetter<AS>({\n\t\t\t\t...cookieOptions,\n\t\t\t\tusersServer: this.usersServer\n\t\t\t});\n\t\t}\n\t\t\n\t\tdelete this.init;\n\t\t\n\t\tthis.#initPromise.resolve(this);\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<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 = true) {\n\t\tconst inSite = new InSite<IAS, IO>(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 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\";\nexport * from \"insite-cookie/server\";\nexport type { Options as CookieSetterOptions } from \"insite-cookie/server\";\nexport * from \"insite-db\";\nexport { connect as connectToDB, type Options as DBOptions } from \"insite-db\";\nexport * from \"insite-http\";\nexport type { Options as HTTPServerOptions } from \"insite-http\";\nexport * from \"insite-subscriptions-server\";\nexport * from \"insite-users-server\";\nexport type { Options as UsersOptions } from \"insite-users-server\";\nexport * from \"insite-users-server-ws\";\nexport type { Options as UsersServerOptions } from \"insite-users-server-ws\";\nexport * from \"insite-ws/server\";\nexport type { Options as WSServerOptions } from \"insite-ws/server\";\nexport * from \"insite-ws-transfers\";\n"],
5
- "mappings": "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",
6
- "names": ["CookieSetter", "InSiteCookieMiddleware", "SubscriptionHandler", "InSiteWebSocketServer", "IncomingTransport", "OutgoingTransport", "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", "value", "native", "reason", "connect", "InSiteHTTPServer", "InSiteStaticMiddleware", "InSiteTemplateMiddleware", "Users", "UsersServer", "InSite", "_InSite", "options", "dbOptions", "wssWithOtherOptions", "usersWithServerOptions", "cookieWithMiddlewareOptions", "httpWithMiddlewareOptions", "subscriptions", "incomingTransportOptions", "outgoingTransport", "wssOptions", "InSiteWebSocketServer", "SubscriptionHandler", "IncomingTransport", "OutgoingTransport", "wssc", "error", "usersServerOptions", "usersOptions", "staticMiddlewareOptions", "middlewares", "templateMiddlewareOptions", "httpOptions", "InSiteCookieMiddleware", "_", "cookieOptions", "CookieSetter", "#initPromise", "StatefulPromise", "asPromise", "inSite", "connect"]
3
+ "sources": ["../../../../@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/InSite.ts", "../src/index.ts"],
4
+ "sourcesContent": ["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", "import { StatefulPromise } from \"@nesvet/n\";\nimport { createServer, type AbilitiesSchema } from \"insite-common/backend\";\nimport { init as initConfig } from \"insite-config\";\nimport { CookieSetter, InSiteCookieMiddleware } from \"insite-cookie/server\";\nimport {\n\tconnect,\n\ttype InSiteCollections,\n\ttype InSiteDB,\n\ttype MongoClient\n} from \"insite-db\";\nimport {\n\tInSiteHTTPServer,\n\tInSiteServerMiddleware,\n\tInSiteStaticMiddleware,\n\tInSiteTemplateMiddleware\n} from \"insite-http\";\nimport { SubscriptionHandler } from \"insite-subscriptions-server/ws\";\nimport { Users } from \"insite-users-server\";\nimport { UsersServer, type WSSCWithUser } from \"insite-users-server-ws\";\nimport { IncomingTransport, OutgoingTransport } from \"insite-ws-transfers/node\";\nimport { InSiteWebSocketServer } from \"insite-ws/server\";\nimport type {\n\tInSiteConfig,\n\tInSiteWebSocketServerWithActualProps,\n\tOmitRedundant,\n\tOptions\n} from \"./types\";\n\n\nexport class InSite<AS extends AbilitiesSchema, O extends Options<AS>> {\n\tconstructor(options?: O) {\n\t\tif (options)\n\t\t\tthis.init(options);\n\t\t\n\t}\n\t\n\tmongoClient!: MongoClient;\n\tdb!: InSiteDB;\n\tconfig!: InSiteConfig<O>;\n\tcollections!: InSiteCollections;\n\twss!: InSiteWebSocketServerWithActualProps<AS, O>;\n\tincomingTransport!: IncomingTransport<WSSCWithUser<AS>>;\n\toutgoingTransport!: OutgoingTransport<WSSCWithUser<AS>>;\n\tsubscriptionHandler!: SubscriptionHandler<AS>;\n\tusersServer!: UsersServer<AS>;\n\tusers!: Users<AS>;\n\tcookie!: CookieSetter<AS>;\n\thttp!: InSiteHTTPServer;\n\t\n\t#isInited = false;\n\t\n\tprotected async init(options: O) {\n\t\t\n\t\tif (!this.#isInited) {\n\t\t\tthis.#isInited = true;\n\t\t\t\n\t\t\tconst {\n\t\t\t\tdb: dbOptions,\n\t\t\t\tconfig: configSchema,\n\t\t\t\tssl,\n\t\t\t\tport,\n\t\t\t\twss: wssWithOtherOptions,\n\t\t\t\tusers: usersWithServerOptions,\n\t\t\t\tcookie: cookieWithMiddlewareOptions,\n\t\t\t\thttp: httpWithMiddlewareOptions\n\t\t\t} = options;\n\t\t\t\n\t\t\tif (dbOptions)\n\t\t\t\t({\n\t\t\t\t\tclient: this.mongoClient,\n\t\t\t\t\tdb: this.db,\n\t\t\t\t\tcollections: this.collections\n\t\t\t\t} = await connect(dbOptions));\n\t\t\t\n\t\t\tif (this.collections && configSchema)\n\t\t\t\tthis.config = await initConfig(this.collections, configSchema) as InSiteConfig<O>;\n\t\t\t\n\t\t\tconst server =\n\t\t\t\tport && (wssWithOtherOptions || httpWithMiddlewareOptions) ?\n\t\t\t\t\tawait createServer({\n\t\t\t\t\t\t...wssWithOtherOptions && InSiteWebSocketServer.makeProps({ ...wssWithOtherOptions, ssl }),\n\t\t\t\t\t\t...httpWithMiddlewareOptions && InSiteHTTPServer.makeProps({ ...typeof httpWithMiddlewareOptions == \"object\" ? httpWithMiddlewareOptions : {}, ssl })\n\t\t\t\t\t}, port) :\n\t\t\t\t\tundefined;\n\t\t\t\n\t\t\tif (wssWithOtherOptions) {\n\t\t\t\tconst {\n\t\t\t\t\tsubscriptions,\n\t\t\t\t\tincomingTransport: incomingTransportOptions,\n\t\t\t\t\toutgoingTransport,\n\t\t\t\t\t...wssOptions\n\t\t\t\t} = wssWithOtherOptions;\n\t\t\t\t\n\t\t\t\tthis.wss = new InSiteWebSocketServer<WSSCWithUser<AS>>({\n\t\t\t\t\tserver,\n\t\t\t\t\t...wssOptions\n\t\t\t\t}) as InSiteWebSocketServerWithActualProps<AS, O>;\n\t\t\t\t\n\t\t\t\tif (subscriptions !== null)\n\t\t\t\t\tthis.subscriptionHandler = new SubscriptionHandler(this.wss, !!this.collections);\n\t\t\t\t\n\t\t\t\tif (incomingTransportOptions !== null && (incomingTransportOptions || (this.collections && usersWithServerOptions)))\n\t\t\t\t\tthis.incomingTransport = new IncomingTransport(this.wss, !incomingTransportOptions || incomingTransportOptions === true ? {} : incomingTransportOptions);\n\t\t\t\t\n\t\t\t\tif (outgoingTransport)\n\t\t\t\t\tthis.outgoingTransport = new OutgoingTransport(this.wss);\n\t\t\t\t\n\t\t\t\tif (process.env.NODE_ENV === \"development\")\n\t\t\t\t\tthis.wss.on(\"client-connect\", wssc => console.info(`\uD83D\uDD0C WebSocket connected with ${wssc.session?.user.email}`));\n\t\t\t\t\n\t\t\t\tthis.wss.on(\"error\", (error: Error) => console.error(\"\uD83D\uDD0C\u2757\uFE0F WebSocket Server:\", error));\n\t\t\t\tthis.wss.on(\"close\", () => console.error(\"\uD83D\uDD0C\u2757\uFE0F WebSocket Server closed\"));\n\t\t\t}\n\t\t\t\n\t\t\tif (usersWithServerOptions && this.collections) {\n\t\t\t\tconst { server: usersServerOptions, ...usersOptions } = usersWithServerOptions;\n\t\t\t\t\n\t\t\t\tif (this.wss && this.subscriptionHandler) {\n\t\t\t\t\tthis.usersServer = await UsersServer.init({\n\t\t\t\t\t\t...usersServerOptions,\n\t\t\t\t\t\tusers: usersOptions,\n\t\t\t\t\t\twss: this.wss,\n\t\t\t\t\t\tcollections: this.collections,\n\t\t\t\t\t\tincomingTransport: this.incomingTransport\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\tthis.users = this.usersServer.users;\n\t\t\t\t} else\n\t\t\t\t\tthis.users = await Users.init(this.collections, usersOptions);\n\t\t\t}\n\t\t\t\n\t\t\tif (httpWithMiddlewareOptions) {\n\t\t\t\tconst {\n\t\t\t\t\tstatic: staticMiddlewareOptions = undefined, // eslint-disable-line unicorn/no-useless-undefined\n\t\t\t\t\tmiddlewares = undefined, // eslint-disable-line unicorn/no-useless-undefined\n\t\t\t\t\ttemplate: templateMiddlewareOptions = undefined, // eslint-disable-line unicorn/no-useless-undefined\n\t\t\t\t\t...httpOptions\n\t\t\t\t} = typeof httpWithMiddlewareOptions == \"object\" ? httpWithMiddlewareOptions : {};\n\t\t\t\t\n\t\t\t\tthis.http = new InSiteHTTPServer({\n\t\t\t\t\tserver,\n\t\t\t\t\t...httpOptions\n\t\t\t\t}, [\n\t\t\t\t\t...middlewares ?? [],\n\t\t\t\t\tcookieWithMiddlewareOptions !== null && new InSiteCookieMiddleware(cookieWithMiddlewareOptions?.middleware ?? {}),\n\t\t\t\t\tstaticMiddlewareOptions !== null && new InSiteStaticMiddleware(staticMiddlewareOptions ?? {}),\n\t\t\t\t\ttemplateMiddlewareOptions !== null && new InSiteTemplateMiddleware(templateMiddlewareOptions ?? {})\n\t\t\t\t].filter(Boolean) as InSiteServerMiddleware[]);\n\t\t\t}\n\t\t\t\n\t\t\tif (cookieWithMiddlewareOptions !== null && this.usersServer && this.http) {\n\t\t\t\tconst {\n\t\t\t\t\tmiddleware: _,\n\t\t\t\t\t...cookieOptions\n\t\t\t\t} = cookieWithMiddlewareOptions ?? {};\n\t\t\t\t\n\t\t\t\tthis.cookie = new CookieSetter<AS>({\n\t\t\t\t\t...cookieOptions,\n\t\t\t\t\tusersServer: this.usersServer\n\t\t\t\t});\n\t\t\t}\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 = true) {\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 * from \"./InSite\";\nexport type { OmitRedundant, Options } from \"./types\";\nexport * from \"insite-common/backend\";\nexport * from \"insite-cookie/server\";\nexport type { Options as CookieSetterOptions } from \"insite-cookie/server\";\nexport * from \"insite-db\";\nexport { connect as connectToDB, type Options as DBOptions } from \"insite-db\";\nexport * from \"insite-http\";\nexport type { Options as HTTPServerOptions } from \"insite-http\";\nexport * from \"insite-subscriptions-server\";\nexport * from \"insite-users-server\";\nexport type { Options as UsersOptions } from \"insite-users-server\";\nexport * from \"insite-users-server-ws\";\nexport type { Options as UsersServerOptions } from \"insite-users-server-ws\";\nexport * from \"insite-ws-transfers\";\nexport * from \"insite-ws/server\";\nexport type { Options as WSServerOptions } from \"insite-ws/server\";\n"],
5
+ "mappings": "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",
6
+ "names": ["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", "value", "native", "reason", "createServer", "initConfig", "CookieSetter", "InSiteCookieMiddleware", "connect", "InSiteHTTPServer", "InSiteStaticMiddleware", "InSiteTemplateMiddleware", "SubscriptionHandler", "Users", "UsersServer", "IncomingTransport", "OutgoingTransport", "InSiteWebSocketServer", "InSite", "_InSite", "options", "#isInited", "dbOptions", "configSchema", "ssl", "port", "wssWithOtherOptions", "usersWithServerOptions", "cookieWithMiddlewareOptions", "httpWithMiddlewareOptions", "server", "subscriptions", "incomingTransportOptions", "outgoingTransport", "wssOptions", "wssc", "error", "usersServerOptions", "usersOptions", "staticMiddlewareOptions", "middlewares", "templateMiddlewareOptions", "httpOptions", "_", "cookieOptions", "#initPromise", "StatefulPromise", "asPromise", "inSite", "connect"]
7
7
  }
package/dist/types.d.ts CHANGED
@@ -1,77 +1,91 @@
1
- import type { CookieMiddlewareOptions, Options as CookieSetterOptions } from "insite-cookie/server";
2
- import type { WithPublish, WithPublishCollection } from "insite-subscriptions-server/ws";
3
- import type { InSiteWebSocketServer, Options as WSServerOptions } from "insite-ws/server";
4
1
  import type { AnyProp, ExtendsOrOmit } from "@nesvet/n";
5
2
  import type { AbilitiesSchema } from "insite-common";
3
+ import type { Config, Schema as ConfigSchema } from "insite-config";
4
+ import type { CookieMiddlewareOptions, Options as CookieSetterOptions } from "insite-cookie/server";
6
5
  import type { Options as DBOptions } from "insite-db";
7
6
  import type { Middleware as HTTPServerMiddleware, Options as HTTPServerOptions, StaticMiddlewareOptions, TemplateMiddlewareOptions } from "insite-http";
7
+ import type { WithPublish, WithPublishCollection } from "insite-subscriptions-server/ws";
8
8
  import type { Options as UsersOptions } from "insite-users-server";
9
9
  import type { Options as UsersServerOptions, WSSCWithUser } from "insite-users-server-ws";
10
- import type { IncomingTransportOptions } from "insite-ws-transfers";
10
+ import type { IncomingTransportOptions, WithOnTransfer, WithTransfer } from "insite-ws-transfers";
11
+ import type { InSiteWebSocketServer, InSiteWebSocketServerClient, Options as WSServerOptions } from "insite-ws/server";
11
12
  type DB = DBOptions;
12
13
  type WSSSubscriptions = true;
13
14
  type WSSIncomingTransport = IncomingTransportOptions | true;
14
15
  type WSSOutgoingTransport = true;
15
- type WSS<AS extends AbilitiesSchema> = {
16
- subscriptions?: null | WSSSubscriptions;
17
- incomingTransport?: null | WSSIncomingTransport;
18
- outgoingTransport?: null | WSSOutgoingTransport;
19
- } & WSServerOptions<WSSCWithUser<AS>>;
16
+ type WSS<AS extends AbilitiesSchema> = WSServerOptions<WSSCWithUser<AS>> & {
17
+ subscriptions?: WSSSubscriptions | null;
18
+ incomingTransport?: WSSIncomingTransport | null;
19
+ outgoingTransport?: WSSOutgoingTransport | null;
20
+ };
20
21
  type UsersServer<AS extends AbilitiesSchema> = Omit<UsersServerOptions<AS>, "collections" | "incomingTransport" | "users" | "wss">;
21
- type Users<AS extends AbilitiesSchema> = {
22
+ type Users<AS extends AbilitiesSchema> = UsersOptions<AS> & {
22
23
  server?: UsersServer<AS>;
23
- } & UsersOptions<AS>;
24
- type Cookie<AS extends AbilitiesSchema> = {
24
+ };
25
+ type Cookie<AS extends AbilitiesSchema> = Omit<CookieSetterOptions<AS>, "usersServer"> & {
25
26
  middleware?: CookieMiddlewareOptions;
26
- } & Omit<CookieSetterOptions<AS>, "usersServer">;
27
- type HTTP = ({
28
- static?: null | StaticMiddlewareOptions;
29
- template?: null | TemplateMiddlewareOptions;
30
- middlewares?: HTTPServerMiddleware[];
31
- } & HTTPServerOptions) | true;
27
+ };
28
+ type HTTP = (HTTPServerOptions & {
29
+ static?: StaticMiddlewareOptions | null;
30
+ template?: TemplateMiddlewareOptions | null;
31
+ middlewares?: (HTTPServerMiddleware | false | null | undefined)[];
32
+ }) | true;
32
33
  export type Options<AS extends AbilitiesSchema> = {
33
34
  db?: DB;
35
+ config?: ConfigSchema | null;
36
+ ssl?: {
37
+ cert: string;
38
+ key: string;
39
+ };
40
+ port?: number | string;
34
41
  wss?: WSS<AS>;
35
42
  users?: Users<AS>;
36
43
  cookie?: Cookie<AS> | null;
37
44
  http?: HTTP;
38
45
  };
39
- type OptionsWithDB = {
46
+ type OptionsWithDB = AnyProp & {
40
47
  db: DB;
41
- } & AnyProp;
42
- type OptionsWithWSS = {
48
+ };
49
+ type OptionsWithConfig = OptionsWithDB & {
50
+ config: ConfigSchema;
51
+ };
52
+ type OptionsWithWSS = AnyProp & {
43
53
  wss: WSS<any>;
44
- } & AnyProp;
45
- type OptionsWithWSSSubscriptionHandler = {
46
- wss: {
54
+ };
55
+ type OptionsWithWSSSubscriptionHandler = AnyProp & {
56
+ wss: AnyProp & {
47
57
  subscriptions?: WSSSubscriptions;
48
- } & AnyProp;
49
- } & AnyProp;
50
- type OptionsWithWSSIncomingTransport = (({
51
- wss: {
52
- incomingTransport: WSSIncomingTransport;
53
- } & AnyProp;
54
- }) | ({
55
- wss: {
58
+ };
59
+ };
60
+ type OptionsWithWSSIncomingTransport = ((OptionsWithUsers & {
61
+ wss: AnyProp & {
56
62
  incomingTransport?: WSSIncomingTransport;
57
- } & AnyProp;
58
- } & OptionsWithUsers)) & AnyProp;
59
- type OptionsWithWSSOutgoingTransport = {
60
- wss: {
63
+ };
64
+ }) | ({
65
+ wss: AnyProp & {
66
+ incomingTransport: WSSIncomingTransport;
67
+ };
68
+ })) & AnyProp;
69
+ type OptionsWithWSSOutgoingTransport = AnyProp & {
70
+ wss: AnyProp & {
61
71
  outgoingTransport: WSSOutgoingTransport;
62
- } & AnyProp;
63
- } & AnyProp;
64
- type OptionsWithUsers = {
72
+ };
73
+ };
74
+ type OptionsWithUsers = AnyProp & OptionsWithDB & {
65
75
  users: Users<any>;
66
- } & AnyProp & OptionsWithDB;
76
+ };
67
77
  type OptionsWithUsersServer = OptionsWithDB & OptionsWithUsers & OptionsWithWSSSubscriptionHandler;
68
- type OptionsWithHTTP = {
78
+ type OptionsWithHTTP = AnyProp & {
69
79
  http: HTTP;
70
- } & AnyProp;
71
- type OptionsWithCookie = {
80
+ };
81
+ type OptionsWithCookie = OptionsWithHTTP & OptionsWithUsersServer & {
72
82
  cookie?: Cookie<any>;
73
- } & OptionsWithHTTP & OptionsWithUsersServer;
74
- export type InSiteWithActualProps<IS, O> = ExtendsOrOmit<O, OptionsWithDB, "collections" | "db" | "mongoClient", ExtendsOrOmit<O, OptionsWithWSS, "wss", ExtendsOrOmit<O, OptionsWithWSSSubscriptionHandler, "subscriptionHandler", ExtendsOrOmit<O, OptionsWithWSSIncomingTransport, "incomingTransport", ExtendsOrOmit<O, OptionsWithWSSOutgoingTransport, "outgoingTransport", ExtendsOrOmit<O, OptionsWithUsers, "users", ExtendsOrOmit<O, OptionsWithUsersServer, "usersServer", ExtendsOrOmit<O, OptionsWithHTTP, "http", ExtendsOrOmit<O, OptionsWithCookie, "cookie", IS>>>>>>>>>;
75
- export type InSiteWebSocketServerWithActualProps<AS extends AbilitiesSchema, O> = O extends OptionsWithWSSSubscriptionHandler ? O extends OptionsWithDB ? WithPublishCollection<InSiteWebSocketServer<WSSCWithUser<AS>>, AS> : WithPublish<InSiteWebSocketServer<WSSCWithUser<AS>>, AS> : InSiteWebSocketServer<WSSCWithUser<AS>>;
83
+ };
84
+ export type OmitRedundant<I, O> = ExtendsOrOmit<O, OptionsWithDB, "collections" | "db" | "mongoClient", ExtendsOrOmit<O, OptionsWithConfig, "config", ExtendsOrOmit<O, OptionsWithWSS, "wss", ExtendsOrOmit<O, OptionsWithWSSSubscriptionHandler, "subscriptionHandler", ExtendsOrOmit<O, OptionsWithWSSIncomingTransport, "incomingTransport", ExtendsOrOmit<O, OptionsWithWSSOutgoingTransport, "outgoingTransport", ExtendsOrOmit<O, OptionsWithUsers, "users", ExtendsOrOmit<O, OptionsWithUsersServer, "usersServer", ExtendsOrOmit<O, OptionsWithHTTP, "http", ExtendsOrOmit<O, OptionsWithCookie, "cookie", I>>>>>>>>>>;
85
+ export type InSiteConfig<O extends Options<any>> = Config<O["config"] extends ConfigSchema ? O["config"] : never>;
86
+ type OptionalPublish<O, AS extends AbilitiesSchema, W> = O extends OptionsWithWSSSubscriptionHandler ? O extends OptionsWithDB ? WithPublishCollection<W, AS> : WithPublish<W, AS> : W;
87
+ type OptionalTransfer<O, WSSC extends InSiteWebSocketServerClient, W> = O extends OptionsWithWSSOutgoingTransport ? WithTransfer<W, WSSC> : W;
88
+ type OptionalOnTransfer<O, WSSC extends InSiteWebSocketServerClient, W> = O extends OptionsWithWSSIncomingTransport ? WithOnTransfer<W, WSSC> : W;
89
+ export type InSiteWebSocketServerWithActualProps<AS extends AbilitiesSchema, O, WSSC extends InSiteWebSocketServerClient = WSSCWithUser<AS>> = OptionalPublish<O, AS, OptionalTransfer<O, WSSC, OptionalOnTransfer<O, WSSC, InSiteWebSocketServer<WSSC>>>>;
76
90
  export {};
77
91
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
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-server",
3
- "version": "2.0.33",
3
+ "version": "2.0.35",
4
4
  "description": "inSite server",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",
8
- "packageManager": "bun@1.1.36",
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,21 +23,22 @@
23
23
  "license": "MIT",
24
24
  "dependencies": {
25
25
  "@nesvet/n": "^1.1.7",
26
- "insite-common": "^2.0.0",
27
- "insite-cookie": "^2.0.29",
28
- "insite-db": "^2.0.3",
29
- "insite-http": "^2.0.6",
30
- "insite-subscriptions-server": "^2.0.20",
31
- "insite-users-server": "^2.0.100",
32
- "insite-users-server-ws": "^2.0.28",
33
- "insite-ws": "^2.0.18",
34
- "insite-ws-transfers": "^2.0.16"
26
+ "insite-common": "^2.1.0",
27
+ "insite-config": "^2.0.0",
28
+ "insite-cookie": "^2.0.30",
29
+ "insite-db": "^2.0.4",
30
+ "insite-http": "^2.0.7",
31
+ "insite-subscriptions-server": "^2.0.21",
32
+ "insite-users-server": "^2.0.101",
33
+ "insite-users-server-ws": "^2.0.29",
34
+ "insite-ws": "^2.0.20",
35
+ "insite-ws-transfers": "^2.0.17"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@nesvet/conveyer": "^2.2.5",
38
39
  "@nesvet/eslint-config": "^2.0.34",
39
- "@types/node": "^22.10.2",
40
- "@types/ws": "^8.5.13",
41
- "typescript": "^5.7.2"
40
+ "@types/node": "^22.13.1",
41
+ "@types/ws": "^8.5.14",
42
+ "typescript": "^5.7.3"
42
43
  }
43
44
  }