insite-server
Version:
inSite server
31 lines • 1.63 kB
TypeScript
import { StatefulPromise } from "@nesvet/n";
import { type AbilitiesSchema } from "insite-common/backend";
import { CookieSetter } from "insite-cookie/server";
import { type Collections, type DB, type MongoClient } from "insite-db";
import { HTTPServer } from "insite-http";
import { SubscriptionHandler } from "insite-subscriptions-server/ws";
import { Users } from "insite-users-server";
import { type WSSCWithUser } from "insite-users-server-ws";
import { IncomingTransport, OutgoingTransport } from "insite-ws-transfers/node";
import type { OmitRedundant, Options, ServerConfig, UsersServerWithActualProps, WSServerWithActualProps } from "./types";
export declare class InSite<O extends Options<any>, AS extends AbilitiesSchema = O extends Options<infer A> ? A : never> {
#private;
constructor(options?: O);
mongoClient: MongoClient;
db: DB;
config: ServerConfig<O>;
collections: Collections;
wss: WSServerWithActualProps<AS, O>;
incomingTransport: IncomingTransport<WSSCWithUser<AS>>;
outgoingTransport: OutgoingTransport<WSSCWithUser<AS>>;
subscriptionHandler: SubscriptionHandler<AS>;
usersServer: UsersServerWithActualProps<AS, O>;
users: Users<AS>;
cookie: CookieSetter<AS>;
http: HTTPServer;
protected init(options: O): Promise<void>;
whenReady(): StatefulPromise<this>;
static init<IO extends Options<any>, IS extends InSite<IO>>(options: IO, asPromise?: true): Promise<OmitRedundant<IS, IO>>;
static init<IO extends Options<any>, IS extends InSite<IO>>(options: IO, asPromise: false): OmitRedundant<IS, IO>;
}
//# sourceMappingURL=InSite.d.ts.map