insite-server 2.0.9 → 2.0.11
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 +5 -4
- package/dist/InSite.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +2 -2
- package/dist/types.d.ts +62 -60
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -4
package/dist/InSite.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { CookieSetter } from "insite-cookie/server";
|
|
2
2
|
import { SubscriptionHandler } from "insite-subscriptions-server/ws";
|
|
3
3
|
import { IncomingTransport, OutgoingTransport } from "insite-ws-transfers/node";
|
|
4
|
+
import type { AbilitiesSchema } from "insite-common";
|
|
4
5
|
import { type InSiteCollections, type InSiteDB, type MongoClient } from "insite-db";
|
|
5
6
|
import { InSiteHTTPServer } from "insite-http";
|
|
6
|
-
import {
|
|
7
|
+
import { Users } from "insite-users-server";
|
|
7
8
|
import { UsersServer } from "insite-users-server-ws";
|
|
8
|
-
import type {
|
|
9
|
+
import type { InSiteWebSocketServerWithActualProps, InSiteWithActualProps, Options } from "./types";
|
|
9
10
|
export declare class InSite<AS extends AbilitiesSchema, O extends Options<AS>> {
|
|
10
11
|
constructor(options: O);
|
|
11
12
|
mongoClient: MongoClient;
|
|
12
13
|
db: InSiteDB;
|
|
13
14
|
collections: InSiteCollections;
|
|
14
|
-
wss:
|
|
15
|
+
wss: InSiteWebSocketServerWithActualProps<AS, O>;
|
|
15
16
|
incomingTransport: IncomingTransport;
|
|
16
17
|
outgoingTransport: OutgoingTransport;
|
|
17
18
|
subscriptionHandler: SubscriptionHandler<AS>;
|
|
@@ -22,6 +23,6 @@ export declare class InSite<AS extends AbilitiesSchema, O extends Options<AS>> {
|
|
|
22
23
|
private init?;
|
|
23
24
|
private initPromise;
|
|
24
25
|
whenReady(): Promise<this>;
|
|
25
|
-
static init<IO extends Options<any>>(options: IO): Promise<
|
|
26
|
+
static init<IO extends Options<any>>(options: IO): Promise<InSiteWithActualProps<InSite<IO extends Options<infer EIAS extends AbilitiesSchema> ? EIAS : never, IO>, IO>>;
|
|
26
27
|
}
|
|
27
28
|
//# sourceMappingURL=InSite.d.ts.map
|
package/dist/InSite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InSite.d.ts","sourceRoot":"","sources":["../src/InSite.ts"],"names":[],"mappings":"AAAA,OAAO,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,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,
|
|
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,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,EAAqB,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,oCAAoC,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGpG,qBAAa,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC,SAAS,OAAO,CAAC,EAAE,CAAC;gBACxD,OAAO,EAAE,CAAC;IAKtB,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;IACtC,iBAAiB,EAAG,iBAAiB,CAAC;IACtC,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,OAAO,CAAC,IAAI,CAAC,CA2FX;IAEF,OAAO,CAAC,WAAW,CAAC;IAEpB,SAAS;IAKT,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,GAGH,OAAO,CAAC,qBAAqB,CAAC,MAAM,0BAF5C,IAAI,0CAE8C,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;CAGhG"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CookieSetter as d,InSiteCookieMiddleware as m}from"insite-cookie/server";import{SubscriptionHandler as
|
|
1
|
+
import{CookieSetter as d,InSiteCookieMiddleware as m}from"insite-cookie/server";import{SubscriptionHandler as u}from"insite-subscriptions-server/ws";import{InSiteWebSocketServer as w}from"insite-ws/server";import{IncomingTransport as O,OutgoingTransport as f}from"insite-ws-transfers/node";import{connect as I}from"insite-db";import{InSiteHTTPServer as v,InSiteStaticMiddleware as g,InSiteTemplateMiddleware as b}from"insite-http";import{Users as A}from"insite-users-server";import{UsersServer as W}from"insite-users-server-ws";var a=class h{constructor(i){this.initPromise=this.init(i)}mongoClient;db;collections;wss;incomingTransport;outgoingTransport;subscriptionHandler;usersServer;users;cookie;http;init=async i=>{let{db:p,wss:S,users:r,cookie:s,http:o}=i;if(p&&({client:this.mongoClient,db:this.db,collections:this.collections}=await I(p)),S){let{subscriptions:t,incomingTransport:e,outgoingTransport:n,...c}=S;this.wss=new w(c),t!==null&&(this.subscriptionHandler=new u(this.wss,!!this.collections)),e!==null&&(e||this.collections&&r)&&(this.incomingTransport=new O(this.wss,!e||e===!0?{}:e)),n&&(this.outgoingTransport=new f(this.wss)),process.env.NODE_ENV==="development"&&this.wss.on("client-connect",l=>console.info(`\u{1F50C} WebSocket connected with ${l.session?.user.email}`)),this.wss.on("error",l=>console.error("\u{1F50C}\u2757\uFE0F WebSocket Server:",l)),this.wss.on("close",()=>console.error("\u{1F50C}\u2757\uFE0F WebSocket Server closed"))}if(r&&this.collections){let{server:t,...e}=r;this.wss&&this.subscriptionHandler?(this.usersServer=await W.init({...t,users:e,wss:this.wss,collections:this.collections,incomingTransport:this.incomingTransport}),this.users=this.usersServer.users):this.users=await A.init(this.collections,e)}if(o){let{static:t=void 0,template:e=void 0,middlewares:n=void 0,...c}=typeof o=="object"?o:{};this.http=new v(c,[t!==null&&new g(t??{}),s!==null&&new m(s?.middleware??{}),e!==null&&new b(e??{}),...n??[]].filter(Boolean))}if(s!==null&&this.usersServer&&this.http){let{middleware:t,...e}=s??{};this.cookie=new d({...e,usersServer:this.usersServer})}return delete this.init,this};initPromise;whenReady(){return this.initPromise}static init(i){return new h(i).whenReady()}};export{a as InSite};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/InSite.ts"],
|
|
4
|
-
"sourcesContent": ["import { 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 {\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 {
|
|
5
|
-
"mappings": "AAAA,OAAS,gBAAAA,EAAc,0BAAAC,MAA8B,uBACrD,OAAS,uBAAAC,MAA2B,iCACpC,OAAS,yBAAAC,MAA6B,mBACtC,OAAS,qBAAAC,EAAmB,qBAAAC,MAAyB,
|
|
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 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\nexport class InSite<AS extends AbilitiesSchema, O extends Options<AS>> {\n\tconstructor(options: O) {\n\t\tthis.initPromise = this.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;\n\toutgoingTransport!: OutgoingTransport;\n\tsubscriptionHandler!: SubscriptionHandler<AS>;\n\tusersServer!: UsersServer<AS>;\n\tusers!: Users<AS>;\n\tcookie!: CookieSetter<AS>;\n\thttp!: InSiteHTTPServer;\n\t\n\tprivate init? = 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\ttemplate: templateMiddlewareOptions = 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\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\tstaticMiddlewareOptions !== null && new InSiteStaticMiddleware(staticMiddlewareOptions ?? {}),\n\t\t\t\tcookieWithMiddlewareOptions !== null && new InSiteCookieMiddleware(cookieWithMiddlewareOptions?.middleware ?? {}),\n\t\t\t\ttemplateMiddlewareOptions !== null && new InSiteTemplateMiddleware(templateMiddlewareOptions ?? {}),\n\t\t\t\t...middlewares ?? []\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\treturn this;\n\t};\n\t\n\tprivate initPromise;\n\t\n\twhenReady() {\n\t\treturn this.initPromise;\n\t}\n\t\n\t\n\tstatic init<IO extends Options<any>>(options: IO) { // eslint-disable-line @typescript-eslint/no-explicit-any\n\t\ttype IAS = IO extends Options<infer EIAS> ? EIAS : never;\n\t\t\n\t\treturn (new InSite(options)).whenReady() as Promise<InSiteWithActualProps<InSite<IAS, IO>, IO>>;\n\t}\n\t\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["CookieSetter", "InSiteCookieMiddleware", "SubscriptionHandler", "InSiteWebSocketServer", "IncomingTransport", "OutgoingTransport", "connect", "InSiteHTTPServer", "InSiteStaticMiddleware", "InSiteTemplateMiddleware", "Users", "UsersServer", "InSite", "_InSite", "options", "dbOptions", "wssWithOtherOptions", "usersWithServerOptions", "cookieWithMiddlewareOptions", "httpWithMiddlewareOptions", "subscriptions", "incomingTransportOptions", "outgoingTransport", "wssOptions", "wssc", "error", "usersServerOptions", "usersOptions", "staticMiddlewareOptions", "templateMiddlewareOptions", "middlewares", "httpOptions", "_", "cookieOptions"]
|
|
7
7
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,75 +1,77 @@
|
|
|
1
1
|
import type { CookieMiddlewareOptions, Options as CookieSetterOptions } from "insite-cookie/server";
|
|
2
2
|
import type { WithPublish, WithPublishCollection } from "insite-subscriptions-server/ws";
|
|
3
3
|
import type { InSiteWebSocketServer, Options as WSServerOptions } from "insite-ws/server";
|
|
4
|
+
import type { AnyProp, ExtendsOrOmit } from "@nesvet/n";
|
|
5
|
+
import type { AbilitiesSchema } from "insite-common";
|
|
4
6
|
import type { Options as DBOptions } from "insite-db";
|
|
5
7
|
import type { Options as HTTPServerOptions, InSiteServerMiddleware, StaticMiddlewareOptions, TemplateMiddlewareOptions } from "insite-http";
|
|
6
|
-
import type {
|
|
8
|
+
import type { Options as UsersOptions } from "insite-users-server";
|
|
7
9
|
import type { Options as UsersServerOptions, WSSCWithUser } from "insite-users-server-ws";
|
|
8
10
|
import type { IncomingTransportOptions } from "insite-ws-transfers";
|
|
11
|
+
type DB = DBOptions;
|
|
12
|
+
type WSSSubscriptions = true;
|
|
13
|
+
type WSSIncomingTransport = IncomingTransportOptions | true;
|
|
14
|
+
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>>;
|
|
20
|
+
type UsersServer<AS extends AbilitiesSchema> = Omit<UsersServerOptions<AS>, "collections" | "incomingTransport" | "users" | "wss">;
|
|
21
|
+
type Users<AS extends AbilitiesSchema> = {
|
|
22
|
+
server?: UsersServer<AS>;
|
|
23
|
+
} & UsersOptions<AS>;
|
|
24
|
+
type Cookie<AS extends AbilitiesSchema> = {
|
|
25
|
+
middleware?: CookieMiddlewareOptions;
|
|
26
|
+
} & Omit<CookieSetterOptions<AS>, "usersServer">;
|
|
27
|
+
type HTTP = ({
|
|
28
|
+
static?: null | StaticMiddlewareOptions;
|
|
29
|
+
template?: null | TemplateMiddlewareOptions;
|
|
30
|
+
middlewares?: InSiteServerMiddleware[];
|
|
31
|
+
} & HTTPServerOptions) | true;
|
|
9
32
|
export type Options<AS extends AbilitiesSchema> = {
|
|
10
|
-
db?:
|
|
11
|
-
wss?:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
} & WSServerOptions<WSSCWithUser<AS>>;
|
|
16
|
-
users?: {
|
|
17
|
-
server?: Omit<UsersServerOptions<AS>, "collections" | "incomingTransport" | "users" | "wss">;
|
|
18
|
-
} & UsersOptions<AS>;
|
|
19
|
-
cookie?: ({
|
|
20
|
-
middleware?: CookieMiddlewareOptions;
|
|
21
|
-
} & Omit<CookieSetterOptions<AS>, "usersServer">) | null | undefined;
|
|
22
|
-
http?: ({
|
|
23
|
-
static?: null | StaticMiddlewareOptions;
|
|
24
|
-
template?: null | TemplateMiddlewareOptions;
|
|
25
|
-
middlewares?: InSiteServerMiddleware[];
|
|
26
|
-
} & HTTPServerOptions) | true;
|
|
33
|
+
db?: DB;
|
|
34
|
+
wss?: WSS<AS>;
|
|
35
|
+
users?: Users<AS>;
|
|
36
|
+
cookie?: Cookie<AS> | null;
|
|
37
|
+
http?: HTTP;
|
|
27
38
|
};
|
|
28
|
-
type OptionsWithDB
|
|
29
|
-
db:
|
|
30
|
-
};
|
|
31
|
-
type OptionsWithWSS
|
|
32
|
-
wss:
|
|
33
|
-
};
|
|
34
|
-
type OptionsWithWSSSubscriptionHandler
|
|
39
|
+
type OptionsWithDB = {
|
|
40
|
+
db: DB;
|
|
41
|
+
} & AnyProp;
|
|
42
|
+
type OptionsWithWSS = {
|
|
43
|
+
wss: WSS<any>;
|
|
44
|
+
} & AnyProp;
|
|
45
|
+
type OptionsWithWSSSubscriptionHandler = {
|
|
35
46
|
wss: {
|
|
36
|
-
subscriptions?:
|
|
37
|
-
} &
|
|
38
|
-
};
|
|
39
|
-
type OptionsWithWSSIncomingTransport
|
|
47
|
+
subscriptions?: WSSSubscriptions;
|
|
48
|
+
} & AnyProp;
|
|
49
|
+
} & AnyProp;
|
|
50
|
+
type OptionsWithWSSIncomingTransport = (({
|
|
40
51
|
wss: {
|
|
41
|
-
incomingTransport:
|
|
42
|
-
} &
|
|
43
|
-
} | ({
|
|
52
|
+
incomingTransport: WSSIncomingTransport;
|
|
53
|
+
} & AnyProp;
|
|
54
|
+
}) | ({
|
|
44
55
|
wss: {
|
|
45
|
-
incomingTransport?:
|
|
46
|
-
} &
|
|
47
|
-
} & OptionsWithUsers
|
|
48
|
-
type OptionsWithWSSOutgoingTransport
|
|
56
|
+
incomingTransport?: WSSIncomingTransport;
|
|
57
|
+
} & AnyProp;
|
|
58
|
+
} & OptionsWithUsers)) & AnyProp;
|
|
59
|
+
type OptionsWithWSSOutgoingTransport = {
|
|
49
60
|
wss: {
|
|
50
|
-
outgoingTransport:
|
|
51
|
-
} &
|
|
52
|
-
};
|
|
53
|
-
type OptionsWithUsers
|
|
54
|
-
users:
|
|
55
|
-
} & OptionsWithDB
|
|
56
|
-
type OptionsWithUsersServer
|
|
57
|
-
type OptionsWithHTTP
|
|
58
|
-
http:
|
|
59
|
-
};
|
|
60
|
-
type OptionsWithCookie
|
|
61
|
-
cookie?:
|
|
62
|
-
} & OptionsWithHTTP
|
|
63
|
-
type
|
|
64
|
-
type
|
|
65
|
-
type OptionalWSSSubscriptionHandler<I, O, AS extends AbilitiesSchema> = O extends OptionsWithWSSSubscriptionHandler<AS> ? I : Omit<I, "subscriptionHandler">;
|
|
66
|
-
type OptionalWSSIncomingTransport<I, O, AS extends AbilitiesSchema> = O extends OptionsWithWSSIncomingTransport<AS> ? I : Omit<I, "incomingTransport">;
|
|
67
|
-
type OptionalWSSOutgoingTransport<I, O, AS extends AbilitiesSchema> = O extends OptionsWithWSSOutgoingTransport<AS> ? I : Omit<I, "outgoingTransport">;
|
|
68
|
-
type OptionalUsers<I, O, AS extends AbilitiesSchema> = O extends OptionsWithUsers<AS> ? I : Omit<I, "users">;
|
|
69
|
-
type OptionalUsersServer<I, O, AS extends AbilitiesSchema> = O extends OptionsWithUsersServer<AS> ? I : Omit<I, "usersServer">;
|
|
70
|
-
type OptionalHTTP<I, O, AS extends AbilitiesSchema> = O extends OptionsWithHTTP<AS> ? I : Omit<I, "http">;
|
|
71
|
-
type OptionalCookie<I, O, AS extends AbilitiesSchema> = O extends OptionsWithCookie<AS> ? I : Omit<I, "cookie">;
|
|
72
|
-
export type Optional<I, O, AS extends AbilitiesSchema> = OptionalCookie<OptionalHTTP<OptionalUsers<OptionalUsersServer<OptionalWSSSubscriptionHandler<OptionalWSSIncomingTransport<OptionalWSSOutgoingTransport<OptionalWSS<OptionalDB<I, O, AS>, O, AS>, O, AS>, O, AS>, O, AS>, O, AS>, O, AS>, O, AS>, O, AS>;
|
|
73
|
-
export type WSS<AS extends AbilitiesSchema, O> = O extends OptionsWithWSSSubscriptionHandler<AS> ? O extends OptionsWithDB<AS> ? WithPublishCollection<InSiteWebSocketServer<WSSCWithUser<AS>>, AS> : WithPublish<InSiteWebSocketServer<WSSCWithUser<AS>>, AS> : InSiteWebSocketServer<WSSCWithUser<AS>>;
|
|
61
|
+
outgoingTransport: WSSOutgoingTransport;
|
|
62
|
+
} & AnyProp;
|
|
63
|
+
} & AnyProp;
|
|
64
|
+
type OptionsWithUsers = {
|
|
65
|
+
users: Users<any>;
|
|
66
|
+
} & AnyProp & OptionsWithDB;
|
|
67
|
+
type OptionsWithUsersServer = OptionsWithDB & OptionsWithUsers & OptionsWithWSSSubscriptionHandler;
|
|
68
|
+
type OptionsWithHTTP = {
|
|
69
|
+
http: HTTP;
|
|
70
|
+
} & AnyProp;
|
|
71
|
+
type OptionsWithCookie = {
|
|
72
|
+
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>>;
|
|
74
76
|
export {};
|
|
75
77
|
//# 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,uBAAuB,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,KAAK,EAAE,qBAAqB,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EACX,OAAO,IAAI,iBAAiB,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,
|
|
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.
|
|
3
|
+
"version": "2.0.11",
|
|
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.
|
|
8
|
+
"packageManager": "bun@1.1.26",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
11
11
|
"build": "bun .conveyer.js",
|
|
@@ -22,7 +22,9 @@
|
|
|
22
22
|
"author": "Eugene Nesvetaev <dev@nesvet.dev> (https://nesvet.dev/)",
|
|
23
23
|
"license": "MIT",
|
|
24
24
|
"dependencies": {
|
|
25
|
+
"@nesvet/n": "^1.1.7",
|
|
25
26
|
"insite-cookie": "^2",
|
|
27
|
+
"insite-common": "^2",
|
|
26
28
|
"insite-db": "^2",
|
|
27
29
|
"insite-http": "^2",
|
|
28
30
|
"insite-subscriptions-server": "^2",
|
|
@@ -33,8 +35,8 @@
|
|
|
33
35
|
},
|
|
34
36
|
"devDependencies": {
|
|
35
37
|
"@nesvet/conveyer": "^2.2.4",
|
|
36
|
-
"@nesvet/eslint-config": "^2.0.
|
|
37
|
-
"@types/node": "^22.
|
|
38
|
+
"@nesvet/eslint-config": "^2.0.25",
|
|
39
|
+
"@types/node": "^22.5.1",
|
|
38
40
|
"@types/ws": "^8.5.12",
|
|
39
41
|
"typescript": "^5.5.4"
|
|
40
42
|
}
|