insite-server 2.0.35 → 2.1.1
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 +8 -8
- package/dist/InSite.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +3 -3
- package/dist/types.d.ts +7 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +14 -14
package/dist/InSite.d.ts
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { StatefulPromise } from "@nesvet/n";
|
|
2
2
|
import { type AbilitiesSchema } from "insite-common/backend";
|
|
3
3
|
import { CookieSetter } from "insite-cookie/server";
|
|
4
|
-
import { type
|
|
5
|
-
import {
|
|
4
|
+
import { type Collections, type DB, type MongoClient } from "insite-db";
|
|
5
|
+
import { HTTPServer } from "insite-http";
|
|
6
6
|
import { SubscriptionHandler } from "insite-subscriptions-server/ws";
|
|
7
7
|
import { Users } from "insite-users-server";
|
|
8
8
|
import { UsersServer, type WSSCWithUser } from "insite-users-server-ws";
|
|
9
9
|
import { IncomingTransport, OutgoingTransport } from "insite-ws-transfers/node";
|
|
10
|
-
import type {
|
|
10
|
+
import type { OmitRedundant, Options, ServerConfig, WSServerWithActualProps } 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
|
-
db:
|
|
16
|
-
config:
|
|
17
|
-
collections:
|
|
18
|
-
wss:
|
|
15
|
+
db: DB;
|
|
16
|
+
config: ServerConfig<O>;
|
|
17
|
+
collections: Collections;
|
|
18
|
+
wss: WSServerWithActualProps<AS, O>;
|
|
19
19
|
incomingTransport: IncomingTransport<WSSCWithUser<AS>>;
|
|
20
20
|
outgoingTransport: OutgoingTransport<WSSCWithUser<AS>>;
|
|
21
21
|
subscriptionHandler: SubscriptionHandler<AS>;
|
|
22
22
|
usersServer: UsersServer<AS>;
|
|
23
23
|
users: Users<AS>;
|
|
24
24
|
cookie: CookieSetter<AS>;
|
|
25
|
-
http:
|
|
25
|
+
http: HTTPServer;
|
|
26
26
|
protected init(options: O): Promise<void>;
|
|
27
27
|
whenReady(): StatefulPromise<this>;
|
|
28
28
|
static init<IAS extends AbilitiesSchema, IO extends Options<IAS>, IS extends InSite<IAS, IO>>(options: IO, asPromise?: true): Promise<OmitRedundant<IS, IO>>;
|
package/dist/InSite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InSite.d.ts","sourceRoot":"","sources":["../src/InSite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,
|
|
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,EAAoB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAEN,KAAK,WAAW,EAChB,KAAK,EAAE,EACP,KAAK,WAAW,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAEN,UAAU,EAGV,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,aAAa,EACb,OAAO,EACP,YAAY,EACZ,uBAAuB,EACvB,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,EAAE,CAAC;IACR,MAAM,EAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,WAAW,EAAG,WAAW,CAAC;IAC1B,GAAG,EAAG,uBAAuB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,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,UAAU,CAAC;cAIF,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.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function O(){}function
|
|
1
|
+
function O(){}function P(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(I=>{p.resolve=I,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}P.noop=Object.assign(()=>{},{callback:O,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:O,run:O,clear:O});function y(i,t,e,o,n=!0){return Array.isArray(i)&&(i=i.length),typeof o!="string"&&(n=o??!0,o=e),(n?`${i}\xA0`:"")+y.raw(i,t,e,o)}y.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 W}from"insite-common/backend";import{init as M}from"insite-config";import{CookieMiddleware as $,CookieSetter as j}from"insite-cookie/server";import{connect as k}from"insite-db";import{HTTPServer as b,StaticMiddleware as C,TemplateMiddleware 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{WSServer as A}from"insite-ws/server";var T=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 k(e)),this.collections&&o&&(this.config=await M(this.collections,o));let g=c&&(s||l)?await W({...s&&A.makeProps({...s,ssl:n}),...l&&b.makeProps({...typeof l=="object"?l:{},ssl:n})},c):void 0;if(s){let{subscriptions:f,incomingTransport:r,outgoingTransport:m,...h}=s;this.wss=new A({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 b({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 j({...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 jo}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{T as InSite,jo 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
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", "
|
|
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 { 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\tWSServerWithActualProps\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!: 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!: UsersServer<AS>;\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} = 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\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 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\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", "CookieMiddleware", "CookieSetter", "connect", "HTTPServer", "StaticMiddleware", "TemplateMiddleware", "SubscriptionHandler", "Users", "UsersServer", "IncomingTransport", "OutgoingTransport", "WSServer", "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
|
@@ -3,12 +3,12 @@ import type { AbilitiesSchema } from "insite-common";
|
|
|
3
3
|
import type { Config, Schema as ConfigSchema } from "insite-config";
|
|
4
4
|
import type { CookieMiddlewareOptions, Options as CookieSetterOptions } from "insite-cookie/server";
|
|
5
5
|
import type { Options as DBOptions } from "insite-db";
|
|
6
|
-
import type {
|
|
6
|
+
import type { GenericMiddleware, Options as HTTPServerOptions, StaticMiddlewareOptions, TemplateMiddlewareOptions } from "insite-http";
|
|
7
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
10
|
import type { IncomingTransportOptions, WithOnTransfer, WithTransfer } from "insite-ws-transfers";
|
|
11
|
-
import type {
|
|
11
|
+
import type { Options as WSServerOptions, WSServer, WSServerClient } from "insite-ws/server";
|
|
12
12
|
type DB = DBOptions;
|
|
13
13
|
type WSSSubscriptions = true;
|
|
14
14
|
type WSSIncomingTransport = IncomingTransportOptions | true;
|
|
@@ -28,7 +28,7 @@ type Cookie<AS extends AbilitiesSchema> = Omit<CookieSetterOptions<AS>, "usersSe
|
|
|
28
28
|
type HTTP = (HTTPServerOptions & {
|
|
29
29
|
static?: StaticMiddlewareOptions | null;
|
|
30
30
|
template?: TemplateMiddlewareOptions | null;
|
|
31
|
-
middlewares?: (
|
|
31
|
+
middlewares?: (GenericMiddleware | false | null | undefined)[];
|
|
32
32
|
}) | true;
|
|
33
33
|
export type Options<AS extends AbilitiesSchema> = {
|
|
34
34
|
db?: DB;
|
|
@@ -82,10 +82,10 @@ type OptionsWithCookie = OptionsWithHTTP & OptionsWithUsersServer & {
|
|
|
82
82
|
cookie?: Cookie<any>;
|
|
83
83
|
};
|
|
84
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
|
|
85
|
+
export type ServerConfig<O extends Options<any>> = Config<O["config"] extends ConfigSchema ? O["config"] : never>;
|
|
86
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
|
|
88
|
-
type OptionalOnTransfer<O, WSSC extends
|
|
89
|
-
export type
|
|
87
|
+
type OptionalTransfer<O, WSSC extends WSServerClient, W> = O extends OptionsWithWSSOutgoingTransport ? WithTransfer<W, WSSC> : W;
|
|
88
|
+
type OptionalOnTransfer<O, WSSC extends WSServerClient, W> = O extends OptionsWithWSSIncomingTransport ? WithOnTransfer<W, WSSC> : W;
|
|
89
|
+
export type WSServerWithActualProps<AS extends AbilitiesSchema, O, WSSC extends WSServerClient = WSSCWithUser<AS>> = OptionalPublish<O, AS, OptionalTransfer<O, WSSC, OptionalOnTransfer<O, WSSC, WSServer<WSSC>>>>;
|
|
90
90
|
export {};
|
|
91
91
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EACX,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "insite-server",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "inSite server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -22,23 +22,23 @@
|
|
|
22
22
|
"author": "Eugene Nesvetaev <dev@nesvet.dev> (https://nesvet.dev/)",
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@nesvet/n": "^1.1.
|
|
26
|
-
"insite-
|
|
27
|
-
"insite-
|
|
28
|
-
"insite-
|
|
29
|
-
"insite-
|
|
30
|
-
"insite-
|
|
31
|
-
"insite-
|
|
32
|
-
"insite-users-server": "^2.
|
|
33
|
-
"insite-
|
|
34
|
-
"insite-ws": "^2.
|
|
35
|
-
"insite-ws-transfers": "^2.0.17"
|
|
25
|
+
"@nesvet/n": "^1.1.22",
|
|
26
|
+
"insite-config": "^2.1.1",
|
|
27
|
+
"insite-cookie": "^2.1.1",
|
|
28
|
+
"insite-db": "^2.1.1",
|
|
29
|
+
"insite-http": "^2.1.1",
|
|
30
|
+
"insite-subscriptions-server": "^2.1.1",
|
|
31
|
+
"insite-users-server": "^2.1.1",
|
|
32
|
+
"insite-users-server-ws": "^2.1.1",
|
|
33
|
+
"insite-ws": "^2.1.1",
|
|
34
|
+
"insite-ws-transfers": "^2.1.1"
|
|
36
35
|
},
|
|
37
36
|
"devDependencies": {
|
|
38
|
-
"@nesvet/conveyer": "^2.2
|
|
39
|
-
"@nesvet/eslint-config": "^2.0.
|
|
37
|
+
"@nesvet/conveyer": "^2.4.2",
|
|
38
|
+
"@nesvet/eslint-config": "^2.0.47",
|
|
40
39
|
"@types/node": "^22.13.1",
|
|
41
40
|
"@types/ws": "^8.5.14",
|
|
41
|
+
"insite-common": "^2.1.1",
|
|
42
42
|
"typescript": "^5.7.3"
|
|
43
43
|
}
|
|
44
44
|
}
|