insite-server 2.3.5 → 2.4.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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 Eugene Nesvetaev
3
+ Copyright (c) 2026 Eugene Nesvetaev
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,13 +1,123 @@
1
- # inSite server
1
+ # insite-server
2
+
3
+ Orchestrator for the inSite server. Wires MongoDB, HTTP, WebSocket, users, subscriptions, cookies, and config into a single initializable instance.
4
+
5
+ Part of [inSite](../../README.md) — composes [insite-db](../db/README.md), [insite-http](../http/README.md), [insite-ws](../ws/README.md), [insite-users-server](../users-server/README.md), [insite-users-server-ws](../users-server-ws/README.md), [insite-subscriptions-server](../subscriptions-server/README.md), [insite-ws-transfers](../ws-transfers/README.md), [insite-config](../config/README.md), [insite-cookie](../cookie/README.md), [insite-common](../common/README.md).
2
6
 
3
7
  ## Installation
4
8
 
5
9
  ```sh
6
- $ npm install insite-server
10
+ npm install insite-server
7
11
  ```
8
12
 
9
- Or
13
+ Or:
10
14
 
11
15
  ```sh
12
- $ bun add insite-server
16
+ bun add insite-server
17
+ ```
18
+
19
+ ## Quick Start
20
+
21
+ ```ts
22
+ import { InSite } from "insite-server";
23
+
24
+ const inSite = await InSite.init({
25
+ db: { url: "mongodb://127.0.0.1:27017", name: "mydb" },
26
+ port: 3000,
27
+ wss: {},
28
+ users: { abilities: [] },
29
+ http: true,
30
+ cookie: {}
31
+ });
13
32
  ```
33
+
34
+ `InSite.init(options)` returns `Promise<InSite>`. The constructor `new InSite(options?)` triggers `init` asynchronously when options are passed. Use `whenReady()` to await initialization completion.
35
+
36
+ ## API Reference
37
+
38
+ ### Exports
39
+
40
+ | Export | Type | Description |
41
+ |--------|------|-------------|
42
+ | `InSite` | class | Main orchestrator |
43
+ | `Options<AS>` | type | InSite options |
44
+ | `OmitRedundant<I, O>` | type | Omits from `I` properties not configured in `O` |
45
+ | `ServerConfig<O>` | type | Config type for given options |
46
+ | `WSServerWithActualProps<AS, O>` | type | WSServer type with publish/transfer props based on options |
47
+ | `UsersServerWithActualProps<AS, O>` | type | UsersServer type with publication props based on options |
48
+ | `AbilitiesSchema` | type | From [insite-common](../common/README.md) |
49
+ | `CookieMiddleware`, `CookieSetter`, `parseCookie` | class/function | From [insite-cookie](../cookie/README.md) |
50
+ | `CookieSetterOptions` | type | From [insite-cookie](../cookie/README.md) |
51
+ | `connect`, `connectToDB`, `Collections`, MongoDB types | — | From [insite-db](../db/README.md); `DBOptions` type |
52
+ | `HTTPServer`, `StaticMiddleware`, `TemplateMiddleware`, etc. | — | From [insite-http](../http/README.md); `HTTPServerOptions` type |
53
+ | `SubscriptionHandler`, `Publication`, `SubscriptionHandle`, etc. | — | From [insite-subscriptions-server](../subscriptions-server/README.md) |
54
+ | `Users`, `AbilityError`, `PermissionError`, etc. | — | From [insite-users-server](../users-server/README.md); `UsersOptions` type |
55
+ | `UsersServer`, `WSSCWithUser` | — | From [insite-users-server-ws](../users-server-ws/README.md); `UsersServerOptions` type |
56
+ | `IncomingTransport`, `OutgoingTransport`, `WithTransfer`, `WithOnTransfer` | — | From [insite-ws-transfers](../ws-transfers/README.md) |
57
+ | `WSServer`, `WSServerClient` | — | From [insite-ws](../ws/README.md); `WSServerOptions` type |
58
+
59
+ ### InSite
60
+
61
+ ```ts
62
+ class InSite<O extends Options<any>, AS extends AbilitiesSchema>
63
+ ```
64
+
65
+ **Constructor**
66
+
67
+ ```ts
68
+ new InSite<O, AS>(options?: O)
69
+ ```
70
+
71
+ Creates an instance. If `options` is provided, calls `init` asynchronously.
72
+
73
+ **Instance properties** (populated after `init` based on options)
74
+
75
+ | Property | Type | When present |
76
+ |----------|------|--------------|
77
+ | `mongoClient` | `MongoClient` | `db` option |
78
+ | `db` | `DB` | `db` option |
79
+ | `collections` | `Collections` | `db` option |
80
+ | `config` | `ServerConfig<O>` | `config` option |
81
+ | `wss` | `WSServerWithActualProps<AS, O>` | `wss` option |
82
+ | `incomingTransport` | `IncomingTransport<WSSCWithUser<AS>>` | `wss.incomingTransport` or `users` |
83
+ | `outgoingTransport` | `OutgoingTransport<WSSCWithUser<AS>>` | `wss.outgoingTransport` |
84
+ | `subscriptionHandler` | `SubscriptionHandler<AS>` | `wss.subscriptions` |
85
+ | `usersServer` | `UsersServerWithActualProps<AS, O>` | `users` with `server` and WS |
86
+ | `users` | `Users<AS>` | `users` option |
87
+ | `cookie` | `CookieSetter<AS>` | `cookie` and `usersServer` and `http` |
88
+ | `http` | `HTTPServer` | `http` option |
89
+
90
+ **Instance methods**
91
+
92
+ | Method | Returns | Description |
93
+ |--------|---------|--------------|
94
+ | `whenReady()` | `Promise<this>` | Resolves when `init` completes |
95
+
96
+ **Static methods**
97
+
98
+ | Method | Returns | Description |
99
+ |--------|---------|--------------|
100
+ | `InSite.init(options, asPromise?)` | `Promise<OmitRedundant<IS, IO>>` or `OmitRedundant<IS, IO>` | Factory. With `asPromise === false`, returns instance synchronously. |
101
+
102
+ ### Options
103
+
104
+ | Option | Type | Description |
105
+ |--------|------|-------------|
106
+ | `db` | `DBOptions` | MongoDB connection (`url`, `name`, `onConnect`) |
107
+ | `config` | `ConfigSchema \| null` | Schema for config collection |
108
+ | `ssl` | `{ cert: string; key: string }` | TLS certificates for HTTP and WS |
109
+ | `port` | `number \| string` | Port for HTTP and WS server |
110
+ | `wss` | `WSS<AS>` | WebSocket server options (subscriptions, transports) |
111
+ | `users` | `Users<AS>` | Users, roles, orgs, sessions |
112
+ | `cookie` | `Cookie<AS> \| null` | Cookie middleware and setter options |
113
+ | `http` | `HTTP` | HTTP server (static, template, middlewares) |
114
+ | `public` | `boolean` | Whether the server is public |
115
+
116
+ ## Related
117
+
118
+ - [insite-client](../client/README.md) — connects to this server
119
+ - [insite-db](../db/README.md), [insite-http](../http/README.md), [insite-ws](../ws/README.md), [insite-users-server](../users-server/README.md), [insite-users-server-ws](../users-server-ws/README.md), [insite-subscriptions-server](../subscriptions-server/README.md), [insite-ws-transfers](../ws-transfers/README.md), [insite-config](../config/README.md), [insite-cookie](../cookie/README.md), [insite-common](../common/README.md)
120
+
121
+ ## License
122
+
123
+ MIT
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from "./InSite";
2
2
  export type { OmitRedundant, Options } from "./types";
3
- export * from "insite-common/backend";
3
+ export type { AbilitiesSchema } from "insite-common";
4
+ export { createServer, getRemoteAddress, resolveSSL, showServerListeningMessage } from "insite-common/backend";
4
5
  export * from "insite-cookie/server";
5
6
  export type { Options as CookieSetterOptions } from "insite-cookie/server";
6
7
  export * from "insite-db";
@@ -13,6 +14,6 @@ export type { Options as UsersOptions } from "insite-users-server";
13
14
  export * from "insite-users-server-ws";
14
15
  export type { Options as UsersServerOptions } from "insite-users-server-ws";
15
16
  export * from "insite-ws-transfers";
16
- export * from "insite-ws/server";
17
+ export { WSServer, WSServerClient } from "insite-ws/server";
17
18
  export type { Options as WSServerOptions } from "insite-ws/server";
18
19
  //# 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,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"}
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,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACN,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,0BAA0B,EAC1B,MAAM,uBAAuB,CAAC;AAC/B,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,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- function h(){}var S=new WeakMap,x=class o extends Promise{constructor(t,e){let r,n;if(super((i,f)=>{r=i,n=f}),S.set(this,{resolve:r,reject:n}),e?.signal)if(e.signal.aborted)this.reject(new DOMException("Aborted","AbortError"));else{let i=()=>this.reject(new DOMException("Aborted","AbortError"));e.signal.addEventListener("abort",i),this.finally(()=>e.signal?.removeEventListener("abort",i))}if(typeof e?.timeout=="number"&&Number.isFinite(e.timeout)){let i=setTimeout(()=>this.reject(new DOMException("Timeout exceeded","TimeoutError")),e.timeout);this.finally(()=>clearTimeout(i))}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))}};static resolved(t){return new o(e=>e(t))}static rejected(t){return new o((e,r)=>r(t))}};function E(o,t=0,e={}){let{leading:r=!1,trailing:n=!0}=e,{maxWait:i=1/0}=e,f,l,a,u,O,m,c,s,w=async()=>{let d=Date.now();d>=a?(f=void 0,a=void 0,clearTimeout(l),l=void 0,typeof c=="function"&&await c(),p.resolve(s),m=r):(clearTimeout(f),f=setTimeout(w,a-d))},g=Number.isFinite(i)?()=>{c===y&&(c=!1),y(),l=setTimeout(g,i)}:null;async function y(){try{return s=await o.apply(u,O),s}catch(d){throw p.reject(d),d}}r&&typeof r=="boolean"&&(r=y),m=r,n&&typeof n=="boolean"&&(n=y),c=n;let p=Object.assign(function(...d){return O=d,u=this,a=Date.now()+t,c=n,p.promise.isPending||(p.promise=new x((k,$)=>{p.resolve=k,p.reject=$,typeof m=="function"&&(m(),m=!1,c===y&&(c=!1)),f||(f=setTimeout(w,t),g&&(l=setTimeout(g,i)))})),p.promise},{callback:o,promise:x.resolved(void 0),resolve:h,reject:h,run:y,clear:async d=>{clearTimeout(f),f=void 0,clearTimeout(l),l=void 0,p.resolve(d?await y():s)}});return p}E.noop=Object.assign(()=>{},{callback:h,promise:x.resolved(void 0),resolve:h,reject:h,run:h,clear:h});function v(o,t,e,r,n=!0){return Array.isArray(o)&&(o=o.length),typeof r!="string"&&(n=r??!0,r=e),(n?`${o}\xA0`:"")+v.raw(o,t,e,r)}v.raw=(o,t,e,r=e)=>{o=Math.abs(o);let n=o%10,i=o%100;return n===1&&i!==11?t:n>=2&&n<=4&&!(i>=12&&i<=15)?e:r};import{createServer as A}from"insite-common/backend";import{init as M}from"insite-config";import{CookieMiddleware as I,CookieSetter as P}from"insite-cookie/server";import{connect as W}from"insite-db";import{HTTPServer as b,StaticMiddleware as C,TemplateMiddleware as D}from"insite-http";import{SubscriptionHandler as B}from"insite-subscriptions-server/ws";import{Users as N}from"insite-users-server";import{UsersServer as R}from"insite-users-server-ws";import{IncomingTransport as U,OutgoingTransport as F}from"insite-ws-transfers/node";import{WSServer as T}from"insite-ws/server";var j=class o{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:r,ssl:n,port:i,wss:f,users:l,cookie:a,http:u,public:O}=t;e&&({client:this.mongoClient,db:this.db,collections:this.collections}=await W(e)),this.collections&&r&&(this.config=await M(this.collections,r));let m=i&&(f||u)?await A({...f&&T.makeProps({...f,ssl:n}),...u&&b.makeProps({...typeof u=="object"?u:{},ssl:n})},i):void 0;if(f){let{subscriptions:c,incomingTransport:s,outgoingTransport:w,...g}=f;this.wss=new T({server:m,...g}),c!==null&&(this.subscriptionHandler=new B(this.wss,!!this.collections)),s!==null&&(s||this.collections&&l)&&(this.incomingTransport=new U(this.wss,!s||s===!0?{}:s)),w&&(this.outgoingTransport=new F(this.wss))}if(l&&this.collections){let{server:c,...s}=l;this.wss&&this.subscriptionHandler?(this.usersServer=await R.init({public:O,...c,users:s,wss:this.wss,collections:this.collections,incomingTransport:this.incomingTransport}),this.users=this.usersServer.users):this.users=await N.init(this.collections,s)}if(u){let{static:c=void 0,middlewares:s=void 0,template:w=void 0,...g}=typeof u=="object"?u:{};this.http=new b({server:m,...g},[...s??[],a!==null&&new I(a?.middleware??{}),c!==null&&new C(c??{}),w!==null&&new D(w??{})].filter(Boolean))}if(a!==null&&this.usersServer&&this.http){let{middleware:c,...s}=a??{};this.cookie=new P({...s,usersServer:this.usersServer})}this.#t.resolve(this)}}#t=new x;whenReady(){return this.#t}static init(t,e=!0){let r=new o(t);return e?r.whenReady():r}};export*from"insite-common/backend";export*from"insite-cookie/server";export*from"insite-db";import{connect as Yr}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{j as InSite,Yr as connectToDB};
1
+ import{StatefulPromise as v}from"@nesvet/n";import{createServer as g}from"insite-common/backend";import{init as x}from"insite-config";import{CookieMiddleware as y,CookieSetter as A}from"insite-cookie/server";import{connect as W}from"insite-db";import{HTTPServer as d,StaticMiddleware as I,TemplateMiddleware as C}from"insite-http";import{SubscriptionHandler as T}from"insite-subscriptions-server/ws";import{Users as b}from"insite-users-server";import{UsersServer as P}from"insite-users-server-ws";import{IncomingTransport as U,OutgoingTransport as k}from"insite-ws-transfers/node";import{WSServer as f}from"insite-ws/server";var u=class O{constructor(i){i&&this.init(i)}mongoClient;db;config;collections;wss;incomingTransport;outgoingTransport;subscriptionHandler;usersServer;users;cookie;http;#e=!1;async init(i){if(!this.#e){this.#e=!0;let{db:n,config:r,ssl:S,port:m,wss:o,users:c,cookie:p,http:t,public:w}=i;n&&({client:this.mongoClient,db:this.db,collections:this.collections}=await W(n)),this.collections&&r&&(this.config=await x(this.collections,r));let h=m&&(o||t)?await g({...o&&f.makeProps({...o,ssl:S}),...t&&d.makeProps({...typeof t=="object"?t:{},ssl:S})},m):void 0;if(o){let{subscriptions:s,incomingTransport:e,outgoingTransport:a,...l}=o;this.wss=new f({server:h,...l}),s!==null&&(this.subscriptionHandler=new T(this.wss,!!this.collections)),e!==null&&(e||this.collections&&c)&&(this.incomingTransport=new U(this.wss,!e||e===!0?{}:e)),a&&(this.outgoingTransport=new k(this.wss))}if(c&&this.collections){let{server:s,...e}=c;this.wss&&this.subscriptionHandler?(this.usersServer=await P.init({public:w,...s,users:e,wss:this.wss,collections:this.collections,incomingTransport:this.incomingTransport}),this.users=this.usersServer.users):this.users=await b.init(this.collections,e)}if(t){let{static:s=void 0,middlewares:e=void 0,template:a=void 0,...l}=typeof t=="object"?t:{};this.http=new d({server:h,...l},[...e??[],p!==null&&new y(p?.middleware??{}),s!==null&&new I(s??{}),a!==null&&new C(a??{})].filter(Boolean))}if(p!==null&&this.usersServer&&this.http){let{middleware:s,...e}=p??{};this.cookie=new A({...e,usersServer:this.usersServer})}this.#t.resolve(this)}}#t=new v;whenReady(){return this.#t}static init(i,n=!0){let r=new O(i);return n?r.whenReady():r}};import{createServer as V,getRemoteAddress as X,resolveSSL as Y,showServerListeningMessage as Z}from"insite-common/backend";export*from"insite-cookie/server";export*from"insite-db";import{connect as te}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";import{WSServer as ae,WSServerClient as ce}from"insite-ws/server";export{u as InSite,ae as WSServer,ce as WSServerClient,te as connectToDB,V as createServer,X as getRemoteAddress,Y as resolveSSL,Z as showServerListeningMessage};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../@nesvet/npm/n/src/noop.ts", "../../../../@nesvet/npm/n/src/StatefulPromise.ts", "../../../../@nesvet/npm/n/src/debounce.ts", "../../../../@nesvet/npm/n/src/howmuch.ts", "../src/InSite.ts", "../src/index.ts"],
4
- "sourcesContent": ["export function noop() { /**/ }\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\ntype Options = {\n\tsignal?: AbortSignal;\n\ttimeout?: number;\n};\n\nconst nativesMap = new WeakMap<StatefulPromise<any>, { resolve: Resolve<any>; reject: Reject }>();\n\n\nexport class StatefulPromise<T> extends Promise<T> {\n\tconstructor(\n\t\texecutor?: (resolve: Resolve<T>, reject: Reject) => void,\n\t\toptions?: Options\n\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\tif (options?.signal)\n\t\t\tif (options.signal.aborted)\n\t\t\t\tthis.reject(new DOMException(\"Aborted\", \"AbortError\"));\n\t\t\telse {\n\t\t\t\tconst abortListener = () => this.reject(new DOMException(\"Aborted\", \"AbortError\"));\n\t\t\t\t\n\t\t\t\toptions.signal.addEventListener(\"abort\", abortListener);\n\t\t\t\t\n\t\t\t\tthis.finally(() => options.signal?.removeEventListener(\"abort\", abortListener));\n\t\t\t}\n\t\t\n\t\tif (typeof options?.timeout === \"number\" && Number.isFinite(options.timeout)) {\n\t\t\tconst timeout = setTimeout(() => this.reject(new DOMException(\"Timeout exceeded\", \"TimeoutError\")), options.timeout);\n\t\t\t\n\t\t\tthis.finally(() => clearTimeout(timeout));\n\t\t}\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?: T | unknown;\n\t\n\treadonly resolve = (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\treadonly reject = (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\t\n\tstatic resolved<U>(value: U): StatefulPromise<U> {\n\t\treturn new StatefulPromise<U>(resolve => resolve(value));\n\t}\n\t\n\tstatic rejected(reason: unknown): StatefulPromise<never> {\n\t\treturn new StatefulPromise((_, reject) => reject(reason));\n\t}\n\t\n}\n", "import { noop } from \"./noop.js\";\nimport { StatefulPromise } from \"./StatefulPromise.js\";\n\n\ntype Callback = (...args: any[]) => unknown;// eslint-disable-line @typescript-eslint/no-explicit-any\ntype FunctionOrBoolean = (() => unknown) | boolean;\ntype Options = { leading?: FunctionOrBoolean; maxWait?: number; trailing?: FunctionOrBoolean };\n\ntype DebouncedFunction<C extends Callback> = {\n\t(this: ThisParameterType<C>, ...args: Parameters<C>): Promise<Awaited<ReturnType<C>>>;\n};\n\nexport type Debounced<C extends Callback, R extends ReturnType<C>> = DebouncedFunction<C> & {\n\tcallback: C;\n\tpromise: StatefulPromise<R>;\n\tresolve: (value: R) => void;\n\treject: (reason?: unknown) => void;\n\trun(): Promise<R>;\n\tclear(shouldRun?: boolean): Promise<void>;\n};\n\n\nexport function debounce<C extends Callback, R extends ReturnType<C>>(callback: C, limit = 0, options: Options = {}) {\n\tlet { leading = false, trailing = true } = options;\n\tconst { maxWait = Infinity } = options;\n\t\n\tlet timeout: ReturnType<typeof setTimeout> | undefined;\n\tlet maxWaitTimeout: ReturnType<typeof setTimeout> | undefined;\n\tlet end: number | undefined;\n\tlet context: ThisParameterType<C>;\n\tlet args: unknown[];\n\tlet initial: FunctionOrBoolean;\n\tlet final: FunctionOrBoolean;\n\tlet result: R;\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\t\n\t\t\tclearTimeout(maxWaitTimeout);\n\t\t\tmaxWaitTimeout = undefined;\n\t\t\t\n\t\t\tif (typeof final == \"function\")\n\t\t\t\tawait final();\n\t\t\t\n\t\t\tdebounced.resolve(result);\n\t\t\t\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\t\n\t\trun();\n\t\t\n\t\tmaxWaitTimeout = setTimeout(maxWaitExpired as TimerHandler, maxWait);\n\t\t\n\t} : null;\n\t\n\tasync function run() {\n\t\ttry {\n\t\t\tresult = await callback.apply(context, args) as R;\n\t\t\t\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tdebounced.reject(error);\n\t\t\t\n\t\t\tthrow error;\n\t\t}\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<C, R> = 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.isPending)\n\t\t\tdebounced.promise = new StatefulPromise<R>((resolve, reject) => {\n\t\t\t\tdebounced.resolve = resolve;\n\t\t\t\tdebounced.reject = reject;\n\t\t\t\t\n\t\t\t\tif (typeof initial == \"function\") {\n\t\t\t\t\tinitial();\n\t\t\t\t\t\n\t\t\t\t\tinitial = false;\n\t\t\t\t\t\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\t\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\n\t\treturn debounced.promise;\n\t} as DebouncedFunction<C>, {\n\t\tcallback,\n\t\tpromise: StatefulPromise.resolved(undefined as unknown as R),\n\t\tresolve: noop,\n\t\treject: 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\tmaxWaitTimeout = undefined;\n\t\t\t\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: StatefulPromise.resolved(undefined), // eslint-disable-line unicorn/no-useless-undefined\n\tresolve: noop,\n\treject: noop,\n\trun: noop,\n\tclear: noop\n}) as Debounced<() => void, void>;\n\n\nexport function throttle(callback: Callback, 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", "import { StatefulPromise } from \"@nesvet/n\";\nimport { createServer, type AbilitiesSchema } from \"insite-common/backend\";\nimport { init as initConfig } from \"insite-config\";\nimport { CookieMiddleware, CookieSetter } from \"insite-cookie/server\";\nimport {\n\tconnect,\n\ttype Collections,\n\ttype DB,\n\ttype MongoClient\n} from \"insite-db\";\nimport {\n\tClassMiddleware,\n\tHTTPServer,\n\tStaticMiddleware,\n\tTemplateMiddleware\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 { WSServer } from \"insite-ws/server\";\nimport type {\n\tOmitRedundant,\n\tOptions,\n\tServerConfig,\n\tUsersServerWithActualProps,\n\tWSServerWithActualProps\n} from \"./types\";\n\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\nexport class InSite<\n\tO extends Options<any>,\n\tAS extends AbilitiesSchema = O extends Options<infer A> ? A : never\n> {\n\tconstructor(options?: O) {\n\t\tif (options)\n\t\t\tvoid this.init(options);\n\t\t\n\t}\n\t\n\tmongoClient!: MongoClient;\n\tdb!: DB;\n\tconfig!: ServerConfig<O>;\n\tcollections!: Collections;\n\twss!: WSServerWithActualProps<AS, O>;\n\tincomingTransport!: IncomingTransport<WSSCWithUser<AS>>;\n\toutgoingTransport!: OutgoingTransport<WSSCWithUser<AS>>;\n\tsubscriptionHandler!: SubscriptionHandler<AS>;\n\tusersServer!: UsersServerWithActualProps<AS, O>;\n\tusers!: Users<AS>;\n\tcookie!: CookieSetter<AS>;\n\thttp!: HTTPServer;\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\tpublic: isPublic\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 ServerConfig<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 && WSServer.makeProps({ ...wssWithOtherOptions, ssl }),\n\t\t\t\t\t\t...httpWithMiddlewareOptions && HTTPServer.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 WSServer<WSSCWithUser<AS>>({\n\t\t\t\t\tserver,\n\t\t\t\t\t...wssOptions\n\t\t\t\t}) as WSServerWithActualProps<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}\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\tpublic: isPublic,\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}) as NonNullable<UsersServerWithActualProps<AS, O>>;\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 HTTPServer({\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 CookieMiddleware(cookieWithMiddlewareOptions?.middleware ?? {}),\n\t\t\t\t\tstaticMiddlewareOptions !== null && new StaticMiddleware(staticMiddlewareOptions ?? {}),\n\t\t\t\t\ttemplateMiddlewareOptions !== null && new TemplateMiddleware(templateMiddlewareOptions ?? {})\n\t\t\t\t].filter(Boolean) as ClassMiddleware[]);\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 as UsersServer<AS>\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\tstatic init<IO extends Options<any>, IS extends InSite<IO>>(options: IO, asPromise?: true): Promise<OmitRedundant<IS, IO>>;\n\tstatic init<IO extends Options<any>, IS extends InSite<IO>>(options: IO, asPromise: false): OmitRedundant<IS, IO>;\n\tstatic init<IO extends Options<any>, IS extends InSite<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", "nativesMap", "StatefulPromise", "_StatefulPromise", "executor", "options", "nativeResolve", "nativeReject", "resolve", "reject", "abortListener", "timeout", "value", "native", "reason", "_", "debounce", "callback", "limit", "options", "leading", "trailing", "maxWait", "timeout", "maxWaitTimeout", "end", "context", "args", "initial", "final", "result", "expired", "n", "debounced", "maxWaitExpired", "run", "error", "_args", "StatefulPromise", "resolve", "reject", "noop", "shouldRun", "howmuch", "number", "one", "two", "five", "shouldPrintNumber", "u", "d", "createServer", "initConfig", "CookieMiddleware", "CookieSetter", "connect", "HTTPServer", "StaticMiddleware", "TemplateMiddleware", "SubscriptionHandler", "Users", "UsersServer", "IncomingTransport", "OutgoingTransport", "WSServer", "InSite", "_InSite", "options", "#isInited", "dbOptions", "configSchema", "ssl", "port", "wssWithOtherOptions", "usersWithServerOptions", "cookieWithMiddlewareOptions", "httpWithMiddlewareOptions", "isPublic", "server", "subscriptions", "incomingTransportOptions", "outgoingTransport", "wssOptions", "usersServerOptions", "usersOptions", "staticMiddlewareOptions", "middlewares", "templateMiddlewareOptions", "httpOptions", "_", "cookieOptions", "#initPromise", "StatefulPromise", "asPromise", "inSite", "connect"]
3
+ "sources": ["../src/InSite.ts", "../src/index.ts"],
4
+ "sourcesContent": ["import { StatefulPromise } from \"@nesvet/n\";\nimport { createServer, type AbilitiesSchema } from \"insite-common/backend\";\nimport { init as initConfig } from \"insite-config\";\nimport { CookieMiddleware, CookieSetter } from \"insite-cookie/server\";\nimport {\n\tconnect,\n\ttype Collections,\n\ttype DB,\n\ttype MongoClient\n} from \"insite-db\";\nimport {\n\tClassMiddleware,\n\tHTTPServer,\n\tStaticMiddleware,\n\tTemplateMiddleware\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 { WSServer } from \"insite-ws/server\";\nimport type {\n\tOmitRedundant,\n\tOptions,\n\tServerConfig,\n\tUsersServerWithActualProps,\n\tWSServerWithActualProps\n} from \"./types\";\n\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\nexport class InSite<\n\tO extends Options<any>,\n\tAS extends AbilitiesSchema = O extends Options<infer A> ? A : never\n> {\n\tconstructor(options?: O) {\n\t\tif (options)\n\t\t\tvoid this.init(options);\n\t\t\n\t}\n\t\n\tmongoClient!: MongoClient;\n\tdb!: DB;\n\tconfig!: ServerConfig<O>;\n\tcollections!: Collections;\n\twss!: WSServerWithActualProps<AS, O>;\n\tincomingTransport!: IncomingTransport<WSSCWithUser<AS>>;\n\toutgoingTransport!: OutgoingTransport<WSSCWithUser<AS>>;\n\tsubscriptionHandler!: SubscriptionHandler<AS>;\n\tusersServer!: UsersServerWithActualProps<AS, O>;\n\tusers!: Users<AS>;\n\tcookie!: CookieSetter<AS>;\n\thttp!: HTTPServer;\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\tpublic: isPublic\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 ServerConfig<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 && WSServer.makeProps({ ...wssWithOtherOptions, ssl }),\n\t\t\t\t\t\t...httpWithMiddlewareOptions && HTTPServer.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 WSServer<WSSCWithUser<AS>>({\n\t\t\t\t\tserver,\n\t\t\t\t\t...wssOptions\n\t\t\t\t}) as WSServerWithActualProps<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}\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\tpublic: isPublic,\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}) as NonNullable<UsersServerWithActualProps<AS, O>>;\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 HTTPServer({\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 CookieMiddleware(cookieWithMiddlewareOptions?.middleware ?? {}),\n\t\t\t\t\tstaticMiddlewareOptions !== null && new StaticMiddleware(staticMiddlewareOptions ?? {}),\n\t\t\t\t\ttemplateMiddlewareOptions !== null && new TemplateMiddleware(templateMiddlewareOptions ?? {})\n\t\t\t\t].filter(Boolean) as ClassMiddleware[]);\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 as UsersServer<AS>\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\tstatic init<IO extends Options<any>, IS extends InSite<IO>>(options: IO, asPromise?: true): Promise<OmitRedundant<IS, IO>>;\n\tstatic init<IO extends Options<any>, IS extends InSite<IO>>(options: IO, asPromise: false): OmitRedundant<IS, IO>;\n\tstatic init<IO extends Options<any>, IS extends InSite<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 type { AbilitiesSchema } from \"insite-common\";\nexport {\n\tcreateServer,\n\tgetRemoteAddress,\n\tresolveSSL,\n\tshowServerListeningMessage\n} 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 { WSServer, WSServerClient } from \"insite-ws/server\";\nexport type { Options as WSServerOptions } from \"insite-ws/server\";\n"],
5
+ "mappings": "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",
6
+ "names": ["StatefulPromise", "createServer", "initConfig", "CookieMiddleware", "CookieSetter", "connect", "HTTPServer", "StaticMiddleware", "TemplateMiddleware", "SubscriptionHandler", "Users", "UsersServer", "IncomingTransport", "OutgoingTransport", "WSServer", "InSite", "_InSite", "options", "#isInited", "dbOptions", "configSchema", "ssl", "port", "wssWithOtherOptions", "usersWithServerOptions", "cookieWithMiddlewareOptions", "httpWithMiddlewareOptions", "isPublic", "server", "subscriptions", "incomingTransportOptions", "outgoingTransport", "wssOptions", "usersServerOptions", "usersOptions", "staticMiddlewareOptions", "middlewares", "templateMiddlewareOptions", "httpOptions", "_", "cookieOptions", "#initPromise", "asPromise", "inSite", "createServer", "getRemoteAddress", "resolveSSL", "showServerListeningMessage", "connect", "WSServer", "WSServerClient"]
7
7
  }
package/package.json CHANGED
@@ -1,44 +1,56 @@
1
1
  {
2
- "name": "insite-server",
3
- "version": "2.3.5",
4
- "description": "inSite server",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "module": "./dist/index.js",
8
- "packageManager": "bun@1.2.21",
9
- "scripts": {
10
- "test": "echo \"Error: no test specified\" && exit 1",
11
- "build": "bun .conveyer.js",
12
- "postbuild": "tsc -p ."
13
- },
14
- "repository": {
15
- "type": "git",
16
- "url": "git+https://github.com/nesvet/insite-server.git"
17
- },
18
- "keywords": [
19
- "insite",
20
- "server"
21
- ],
22
- "author": "Eugene Nesvetaev <dev@nesvet.dev> (https://nesvet.dev/)",
23
- "license": "MIT",
24
- "dependencies": {
25
- "@nesvet/n": "^1.2.1",
26
- "insite-common": "^2.3.5",
27
- "insite-config": "^2.3.5",
28
- "insite-cookie": "^2.3.5",
29
- "insite-db": "^2.3.5",
30
- "insite-http": "^2.3.5",
31
- "insite-subscriptions-server": "^2.3.5",
32
- "insite-users-server": "^2.3.5",
33
- "insite-users-server-ws": "^2.3.5",
34
- "insite-ws": "^2.3.5",
35
- "insite-ws-transfers": "^2.3.5"
36
- },
37
- "devDependencies": {
38
- "@nesvet/eslint-config": "^2.1.2",
39
- "@types/node": "^24.3.1",
40
- "@types/ws": "^8.18.1",
41
- "cnvr": "^2.7.2",
42
- "typescript": "^5.9.2"
43
- }
2
+ "name": "insite-server",
3
+ "version": "2.4.0",
4
+ "description": "Main inSite server entry point",
5
+ "keywords": [
6
+ "insite",
7
+ "server"
8
+ ],
9
+ "homepage": "https://github.com/nesvet/insite#readme",
10
+ "bugs": {
11
+ "url": "https://github.com/nesvet/insite/issues"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/nesvet/insite.git",
16
+ "directory": "packages/server"
17
+ },
18
+ "funding": {
19
+ "type": "patreon",
20
+ "url": "https://www.patreon.com/nesvet"
21
+ },
22
+ "license": "MIT",
23
+ "author": "Eugene Nesvetaev <dev@nesvet.dev> (https://nesvet.dev/)",
24
+ "type": "module",
25
+ "main": "./dist/index.js",
26
+ "module": "./dist/index.js",
27
+ "files": [
28
+ "dist",
29
+ "README.md",
30
+ "LICENSE"
31
+ ],
32
+ "scripts": {
33
+ "build": "bun .conveyer.js",
34
+ "postbuild": "tsc -p .",
35
+ "clean": "rm -rf dist",
36
+ "test": "echo \"Error: no test specified\" && exit 1",
37
+ "typecheck": "tsc --noEmit"
38
+ },
39
+ "dependencies": {
40
+ "@nesvet/n": "^1.2.1",
41
+ "insite-common": "^2.4.0",
42
+ "insite-config": "^2.4.0",
43
+ "insite-cookie": "^2.4.0",
44
+ "insite-db": "^2.4.0",
45
+ "insite-http": "^2.4.0",
46
+ "insite-subscriptions-server": "^2.4.0",
47
+ "insite-users-server": "^2.4.0",
48
+ "insite-users-server-ws": "^2.4.0",
49
+ "insite-ws": "^2.4.0",
50
+ "insite-ws-transfers": "^2.4.0"
51
+ },
52
+ "packageManager": "bun@1.3.9",
53
+ "engines": {
54
+ "node": ">=20.0.0"
55
+ }
44
56
  }