@vuu-ui/vuu-data-remote 0.0.26
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 +201 -0
- package/README.md +19 -0
- package/cjs/authenticate.js +28 -0
- package/cjs/authenticate.js.map +1 -0
- package/cjs/connection-manager.js +228 -0
- package/cjs/connection-manager.js.map +1 -0
- package/cjs/constants.js +50 -0
- package/cjs/constants.js.map +1 -0
- package/cjs/data-source.js +58 -0
- package/cjs/data-source.js.map +1 -0
- package/cjs/index.js +32 -0
- package/cjs/index.js.map +1 -0
- package/cjs/inlined-worker.js +14 -0
- package/cjs/inlined-worker.js.map +1 -0
- package/cjs/message-utils.js +63 -0
- package/cjs/message-utils.js.map +1 -0
- package/cjs/server-proxy/messages.js +6 -0
- package/cjs/server-proxy/messages.js.map +1 -0
- package/cjs/vuu-data-source.js +574 -0
- package/cjs/vuu-data-source.js.map +1 -0
- package/esm/authenticate.js +26 -0
- package/esm/authenticate.js.map +1 -0
- package/esm/connection-manager.js +223 -0
- package/esm/connection-manager.js.map +1 -0
- package/esm/constants.js +47 -0
- package/esm/constants.js.map +1 -0
- package/esm/data-source.js +51 -0
- package/esm/data-source.js.map +1 -0
- package/esm/index.js +7 -0
- package/esm/index.js.map +1 -0
- package/esm/inlined-worker.js +12 -0
- package/esm/inlined-worker.js.map +1 -0
- package/esm/message-utils.js +56 -0
- package/esm/message-utils.js.map +1 -0
- package/esm/server-proxy/messages.js +4 -0
- package/esm/server-proxy/messages.js.map +1 -0
- package/esm/vuu-data-source.js +572 -0
- package/esm/vuu-data-source.js.map +1 -0
- package/package.json +33 -0
- package/types/authenticate.d.ts +1 -0
- package/types/connection-manager.d.ts +52 -0
- package/types/connectionTypes.d.ts +5 -0
- package/types/constants.d.ts +41 -0
- package/types/data-source.d.ts +8 -0
- package/types/index.d.ts +7 -0
- package/types/inlined-worker.d.ts +1 -0
- package/types/message-utils.d.ts +14 -0
- package/types/server-proxy/array-backed-moving-window.d.ts +28 -0
- package/types/server-proxy/messages.d.ts +38 -0
- package/types/server-proxy/rpc-services.d.ts +2 -0
- package/types/server-proxy/server-proxy.d.ts +62 -0
- package/types/server-proxy/viewport.d.ts +141 -0
- package/types/vuu-data-source.d.ts +63 -0
- package/types/websocket-connection.d.ts +24 -0
- package/types/worker.d.ts +1 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { DataSource, DataSourceCallbackMessage, DataSourceConfig, DataSourceConstructorProps, DataSourceEvents, DataSourceFilter, DataSourceRow, DataSourceStatus, OptimizeStrategy, RpcResponse, Selection, SubscribeCallback, SubscribeProps, TableSchema } from "@vuu-ui/vuu-data-types";
|
|
2
|
+
import { ClientToServerEditRpc, ClientToServerMenuRPC, ClientToServerViewportRpcCall, LinkDescriptorWithLabel, VuuAggregation, VuuDataRowDto, VuuGroupBy, VuuMenu, VuuRange, VuuRowDataItemType, VuuSort, VuuTable } from "@vuu-ui/vuu-protocol-types";
|
|
3
|
+
import { EventEmitter, DataSourceConfigChanges } from "@vuu-ui/vuu-utils";
|
|
4
|
+
import { MenuRpcResponse } from "@vuu-ui/vuu-data-types";
|
|
5
|
+
export declare class VuuDataSource extends EventEmitter<DataSourceEvents> implements DataSource {
|
|
6
|
+
#private;
|
|
7
|
+
private bufferSize;
|
|
8
|
+
private server;
|
|
9
|
+
private clientCallback;
|
|
10
|
+
private configChangePending;
|
|
11
|
+
private rangeRequest;
|
|
12
|
+
table: VuuTable;
|
|
13
|
+
viewport: string | undefined;
|
|
14
|
+
constructor({ bufferSize, aggregations, columns, filter, groupBy, sort, table, title, viewport, visualLink, }: DataSourceConstructorProps);
|
|
15
|
+
subscribe({ viewport, columns, aggregations, range, sort, groupBy, filter, }: SubscribeProps, callback: SubscribeCallback): Promise<void>;
|
|
16
|
+
handleMessageFromServer: (message: DataSourceCallbackMessage) => void;
|
|
17
|
+
unsubscribe(): void;
|
|
18
|
+
suspend(): this;
|
|
19
|
+
resume(): this;
|
|
20
|
+
disable(): this;
|
|
21
|
+
enable(callback?: SubscribeCallback): this;
|
|
22
|
+
select(selected: Selection): void;
|
|
23
|
+
openTreeNode(key: string): void;
|
|
24
|
+
closeTreeNode(key: string): void;
|
|
25
|
+
get tableSchema(): TableSchema | undefined;
|
|
26
|
+
set tableSchema(tableSchema: TableSchema | undefined);
|
|
27
|
+
get links(): LinkDescriptorWithLabel[] | undefined;
|
|
28
|
+
get menu(): VuuMenu | undefined;
|
|
29
|
+
get status(): DataSourceStatus;
|
|
30
|
+
get optimize(): OptimizeStrategy;
|
|
31
|
+
set optimize(optimize: OptimizeStrategy);
|
|
32
|
+
private revertDebounce;
|
|
33
|
+
get selectedRowsCount(): number;
|
|
34
|
+
get size(): number;
|
|
35
|
+
get range(): VuuRange;
|
|
36
|
+
set range(range: VuuRange);
|
|
37
|
+
private rawRangeRequest;
|
|
38
|
+
private debounceRangeRequest;
|
|
39
|
+
private throttleRangeRequest;
|
|
40
|
+
get config(): DataSourceConfig;
|
|
41
|
+
set config(config: DataSourceConfig);
|
|
42
|
+
applyConfig(config: DataSourceConfig): DataSourceConfigChanges | undefined;
|
|
43
|
+
get columns(): string[];
|
|
44
|
+
set columns(columns: string[]);
|
|
45
|
+
get aggregations(): VuuAggregation[];
|
|
46
|
+
set aggregations(aggregations: VuuAggregation[]);
|
|
47
|
+
get sort(): VuuSort;
|
|
48
|
+
set sort(sort: VuuSort);
|
|
49
|
+
get filter(): DataSourceFilter;
|
|
50
|
+
set filter(filter: DataSourceFilter);
|
|
51
|
+
get groupBy(): VuuGroupBy;
|
|
52
|
+
set groupBy(groupBy: VuuGroupBy);
|
|
53
|
+
get title(): string | undefined;
|
|
54
|
+
set title(title: string | undefined);
|
|
55
|
+
get visualLink(): LinkDescriptorWithLabel | undefined;
|
|
56
|
+
set visualLink(visualLink: LinkDescriptorWithLabel | undefined);
|
|
57
|
+
private setConfigPending;
|
|
58
|
+
rpcCall<T extends RpcResponse = RpcResponse>(rpcRequest: Omit<ClientToServerViewportRpcCall, "vpId">): Promise<T | undefined>;
|
|
59
|
+
menuRpcCall(rpcRequest: Omit<ClientToServerMenuRPC, "vpId"> | ClientToServerEditRpc): Promise<MenuRpcResponse | undefined>;
|
|
60
|
+
applyEdit(row: DataSourceRow, columnName: string, value: VuuRowDataItemType): Promise<string | true>;
|
|
61
|
+
insertRow(key: string, data: VuuDataRowDto): Promise<string | true>;
|
|
62
|
+
deleteRow(rowKey: string): Promise<string | true>;
|
|
63
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ServerToClientMessage, ClientToServerMessage } from "@vuu-ui/vuu-protocol-types";
|
|
2
|
+
import { Connection } from "./connectionTypes";
|
|
3
|
+
import { ConnectionQualityMetrics, ConnectionStatusMessage, WebSocketProtocol } from "@vuu-ui/vuu-data-types";
|
|
4
|
+
export type ConnectionMessage = ServerToClientMessage | ConnectionStatusMessage | ConnectionQualityMetrics;
|
|
5
|
+
export type ConnectionCallback = (msg: ConnectionMessage) => void;
|
|
6
|
+
declare const setWebsocket: unique symbol;
|
|
7
|
+
declare const connectionCallback: unique symbol;
|
|
8
|
+
export declare function connect(connectionString: string, protocol: WebSocketProtocol, callback: ConnectionCallback, retryLimitDisconnect?: number, retryLimitStartup?: number): Promise<Connection>;
|
|
9
|
+
export declare class WebsocketConnection implements Connection<ClientToServerMessage> {
|
|
10
|
+
[connectionCallback]: ConnectionCallback;
|
|
11
|
+
close: () => void;
|
|
12
|
+
requiresLogin: boolean;
|
|
13
|
+
send: (msg: ClientToServerMessage) => void;
|
|
14
|
+
status: "closed" | "ready" | "connection-open-awaiting-session" | "connected" | "reconnected";
|
|
15
|
+
protocol: WebSocketProtocol;
|
|
16
|
+
url: string;
|
|
17
|
+
messagesCount: number;
|
|
18
|
+
private connectionMetricsInterval;
|
|
19
|
+
constructor(ws: WebSocket, url: string, protocol: WebSocketProtocol, callback: ConnectionCallback);
|
|
20
|
+
reconnect(): void;
|
|
21
|
+
[setWebsocket](ws: WebSocket): void;
|
|
22
|
+
handleWebsocketMessage: (evt: MessageEvent) => void;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|