prostgles-types 4.0.252 → 4.0.254

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSyncChannelName = void 0;
3
+ exports.ReplicationProtocol = exports.getSyncChannelName = void 0;
4
4
  const index_1 = require("./index");
5
5
  const getSyncChannelName = ({ tableName, filter = {}, select = "*", }) => [
6
6
  index_1.CHANNEL_PREFIX,
@@ -10,7 +10,199 @@ const getSyncChannelName = ({ tableName, filter = {}, select = "*", }) => [
10
10
  typeof select === "string" ? select : (0, index_1.stableStringify)(select),
11
11
  ].join(".");
12
12
  exports.getSyncChannelName = getSyncChannelName;
13
- /*
14
- On server
15
- */
13
+ var ReplicationProtocol;
14
+ (function (ReplicationProtocol) {
15
+ ReplicationProtocol.CreateSchema = {
16
+ name: "Create",
17
+ source: "client",
18
+ request: {
19
+ type: {
20
+ tableName: "string",
21
+ command: { enum: ["sync"] },
22
+ /** Filter */
23
+ param1: {
24
+ record: { values: "unknown" },
25
+ },
26
+ /** Select */
27
+ param2: { type: { select: "unknown" } },
28
+ },
29
+ },
30
+ response: {
31
+ type: {
32
+ id_fields: "string[]",
33
+ synced_field: "string",
34
+ channelName: "string",
35
+ data: "any[]",
36
+ isSynced: "boolean",
37
+ },
38
+ },
39
+ };
40
+ const ClientSyncInfoSchema = {
41
+ state: { enum: ["syncing"] },
42
+ c_fr: { optional: true, record: { values: "unknown" } },
43
+ c_lr: { optional: true, record: { values: "unknown" } },
44
+ c_count: "number",
45
+ };
46
+ const ClientExpressDataSchema = {
47
+ state: { enum: ["syncing-data"] },
48
+ c_fr: { record: { values: "unknown" } },
49
+ c_lr: { record: { values: "unknown" } },
50
+ c_count: "number",
51
+ data: {
52
+ arrayOf: {
53
+ record: { values: "unknown" },
54
+ },
55
+ },
56
+ };
57
+ ReplicationProtocol.ServerSyncRequest = {
58
+ name: "ServerSyncRequest",
59
+ source: "server",
60
+ request: {
61
+ type: {
62
+ from_synced: { oneOf: ["string", { enum: [null] }] },
63
+ to_synced: { oneOf: ["string", { enum: [null] }] },
64
+ end_offset: { oneOf: ["number", { enum: [null] }] },
65
+ },
66
+ },
67
+ response: {
68
+ oneOfType: [
69
+ ClientSyncInfoSchema,
70
+ ClientExpressDataSchema,
71
+ {
72
+ state: { enum: ["error"] },
73
+ err: "unknown",
74
+ },
75
+ ],
76
+ },
77
+ };
78
+ ReplicationProtocol.ClientSyncRequest = {
79
+ name: "ClientSyncRequest",
80
+ source: "client",
81
+ request: {
82
+ oneOfType: [ClientSyncInfoSchema, ClientExpressDataSchema],
83
+ },
84
+ response: ReplicationProtocol.ServerSyncRequest.response,
85
+ };
86
+ ReplicationProtocol.PullRequest = {
87
+ name: "PullRequest",
88
+ source: "server",
89
+ request: {
90
+ type: {
91
+ from_synced: { oneOf: ["string", { enum: [undefined] }] },
92
+ to_synced: { oneOf: ["string", { enum: [undefined] }] },
93
+ offset: { oneOf: ["number", { enum: [undefined] }] },
94
+ limit: { oneOf: ["number", { enum: [undefined] }] },
95
+ },
96
+ },
97
+ response: {
98
+ oneOfType: [
99
+ {
100
+ success: { enum: [true] },
101
+ data: { arrayOf: { record: { values: "unknown" } } },
102
+ },
103
+ {
104
+ success: { enum: [false] },
105
+ err: "unknown",
106
+ },
107
+ ],
108
+ },
109
+ };
110
+ ReplicationProtocol.UpdateRequest = {
111
+ name: "UpdateRequest",
112
+ source: "server",
113
+ request: {
114
+ oneOfType: [
115
+ {
116
+ state: { enum: ["error"] },
117
+ err: "unknown",
118
+ },
119
+ {
120
+ state: { enum: ["synced"] },
121
+ isSynced: "boolean",
122
+ },
123
+ {
124
+ state: { enum: ["syncing"] },
125
+ data: { arrayOf: { record: { values: "unknown" } } },
126
+ },
127
+ ],
128
+ },
129
+ response: {
130
+ oneOfType: [
131
+ {
132
+ success: { enum: [true] },
133
+ },
134
+ {
135
+ success: { enum: [false] },
136
+ err: "unknown",
137
+ },
138
+ ],
139
+ },
140
+ };
141
+ const Schemas = { ClientSyncRequest: ReplicationProtocol.ClientSyncRequest, ServerSyncRequest: ReplicationProtocol.ServerSyncRequest, PullRequest: ReplicationProtocol.PullRequest, UpdateRequest: ReplicationProtocol.UpdateRequest };
142
+ const SchemasList = Object.values(Schemas);
143
+ ReplicationProtocol.getHandlers = (channelName, socket, side, onResponse) => {
144
+ socket.removeAllListeners(channelName);
145
+ socket.on(channelName, async (requestRaw, cb) => {
146
+ const { type, request } = (0, index_1.isObject)(requestRaw) ? requestRaw : {};
147
+ if (typeof type !== "string" || !request) {
148
+ cb("Unexpected data");
149
+ return;
150
+ }
151
+ const schema = SchemasList.find((s) => s.name === type && s.source !== side);
152
+ if (!schema) {
153
+ cb("Invalid data.type");
154
+ return;
155
+ }
156
+ if (schema.source === side) {
157
+ cb("Invalid schema.source");
158
+ return;
159
+ }
160
+ /** Must validate incoming data */
161
+ if (side === "server") {
162
+ if (schema.source === "server") {
163
+ const validationResult = (0, index_1.getJSONBSchemaValidationError)(schema.request, request);
164
+ if (validationResult.error !== undefined) {
165
+ console.error("Invalid request from client", validationResult.error, request);
166
+ cb(validationResult.error);
167
+ return;
168
+ }
169
+ }
170
+ }
171
+ const schemaName = schema.name;
172
+ try {
173
+ const response = await onResponse[schemaName](request);
174
+ cb(undefined, response);
175
+ }
176
+ catch (err) {
177
+ cb((0, index_1.getSerialisableError)(err));
178
+ }
179
+ });
180
+ const outgoingSchemas = (0, index_1.fromEntries)((0, index_1.getEntries)(Schemas)
181
+ .map(([key, schema]) => {
182
+ if (schema.source !== side) {
183
+ return undefined;
184
+ }
185
+ return [
186
+ key,
187
+ (request) => {
188
+ return new Promise((resolve, reject) => {
189
+ socket.emit(channelName, { type: schema.name, request }, (response) => {
190
+ if (side === "server") {
191
+ const validationResult = (0, index_1.getJSONBSchemaValidationError)(schema.response, response);
192
+ if (validationResult.error !== undefined) {
193
+ console.error("Invalid response from client", validationResult.error, response);
194
+ reject(validationResult.error);
195
+ return;
196
+ }
197
+ }
198
+ resolve(response);
199
+ });
200
+ });
201
+ },
202
+ ];
203
+ })
204
+ .filter(index_1.isDefined));
205
+ return outgoingSchemas;
206
+ };
207
+ })(ReplicationProtocol || (exports.ReplicationProtocol = ReplicationProtocol = {}));
16
208
  //# sourceMappingURL=replication.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"replication.js","sourceRoot":"","sources":["../lib/replication.ts"],"names":[],"mappings":";;;AAAA,mCAA4E;AA2GrE,MAAM,kBAAkB,GAAG,CAAC,EACjC,SAAS,EACT,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,GAAG,GAKb,EAAE,EAAE,CACH;IACE,sBAAc;IACd,SAAS;IACT,MAAM;IACN,IAAA,uBAAe,EAAC,MAAM,CAAC;IACvB,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,uBAAe,EAAC,MAAM,CAAC;CAC9D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAfD,QAAA,kBAAkB,sBAejB;AA8Cd;;EAEE"}
1
+ {"version":3,"file":"replication.js","sourceRoot":"","sources":["../lib/replication.ts"],"names":[],"mappings":"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"}
package/dist/util.d.ts CHANGED
@@ -73,5 +73,7 @@ export declare const safeStringify: (obj: AnyObject) => string;
73
73
  export declare const getSerialisableError: (rawError: any, includeStack?: boolean) => AnyObject | any[] | string | undefined | null;
74
74
  export declare const getProperty: <T extends object, K extends string>(obj: T, key: K | string) => K extends keyof T ? T[K] : K extends string ? T[keyof T] | undefined : undefined;
75
75
  export declare const withTimeout: <T>(promise: Promise<T>, ms: number) => Promise<T>;
76
+ export declare const getEntries: <T extends AnyObject>(obj: T) => [keyof T, T[keyof T]][];
77
+ export declare const fromEntries: <K extends string | number | symbol, V>(entries: readonly (readonly [K, V])[]) => Record<K, V>;
76
78
  export {};
77
79
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../lib/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../lib/util.ts"],"names":[],"mappings":"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"}
package/dist/util.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withTimeout = exports.getProperty = exports.getSerialisableError = exports.safeStringify = exports.extractTypeUtil = exports.reverseParsedPath = exports.reverseJoinOn = exports.tryCatch = exports.getObjectEntries = exports.isNotEmpty = exports.pickKeys = void 0;
3
+ exports.fromEntries = exports.getEntries = exports.withTimeout = exports.getProperty = exports.getSerialisableError = exports.safeStringify = exports.extractTypeUtil = exports.reverseParsedPath = exports.reverseJoinOn = exports.tryCatch = exports.getObjectEntries = exports.isNotEmpty = exports.pickKeys = void 0;
4
4
  exports.asName = asName;
5
5
  exports.omitKeys = omitKeys;
6
6
  exports.filter = filter;
@@ -303,4 +303,10 @@ const withTimeout = (promise, ms) => {
303
303
  return Promise.race([promise, timeout]);
304
304
  };
305
305
  exports.withTimeout = withTimeout;
306
+ const getEntries = (obj) => Object.entries(obj);
307
+ exports.getEntries = getEntries;
308
+ const fromEntries = (entries) => {
309
+ return Object.fromEntries(entries);
310
+ };
311
+ exports.fromEntries = fromEntries;
306
312
  //# sourceMappingURL=util.js.map
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../lib/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../lib/util.ts"],"names":[],"mappings":";;;AAGA,wBAKC;AAwBD,4BAUC;AAED,wBAKC;AACD,oBAKC;AAED,0CA6DC;AASD,oCAsCC;AAED,kCAUC;AAED,0BAGC;AAOD,kBAaC;AAQD,4BAEC;AACD,8BAEC;AAED,0BAEC;AA1ND,+BAA4B;AAE5B,SAAgB,MAAM,CAAC,GAAW;IAChC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;QACvE,MAAM,8BAA8B,CAAC;IAEvC,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AACnD,CAAC;AAEM,MAAM,QAAQ,GAAG,CACtB,GAAM,EACN,OAAuC,EAAE,EACzC,aAAa,GAAG,IAAI,EACF,EAAE;IACpB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,EAAO,CAAC;IACjB,CAAC;IACD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,EAAO,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACjB,IAAI,aAAa,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AApBW,QAAA,QAAQ,YAoBnB;AAEF,SAAgB,QAAQ,CACtB,GAAM,EACN,OAAkB;IAElB,YAAY;IACZ,OAAO,IAAA,gBAAQ,EACb,GAAG;IACH,YAAY;IACZ,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,SAAgB,MAAM,CACpB,KAAU,EACV,SAAoB;IAEpB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AACD,SAAgB,IAAI,CAClB,KAAU,EACV,SAAoB;IAEpB,OAAO,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,eAAe,CAC7B,IAAe,EACf,OAAwD,EAAE;IAE1D,IAAI,CAAC,IAAI;QAAE,IAAI,GAAG,EAAE,CAAC;IACrB,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACrD,IAAI,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpE,IAAI,GAAG,GACL,IAAI,CAAC,GAAG;QACR,CAAC,UAAU,CAAC;YACV,OAAO,UAAU,IAAS;gBACxB,OAAO,UAAU,CAAM,EAAE,CAAM;oBAC7B,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACvB,CAAC,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEf,IAAI,IAAI,GAAU,EAAE,CAAC;IACrB,OAAO,CAAC,SAAS,SAAS,CAAC,IAAI;QAC7B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC7D,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,OAAO,IAAI,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACxE,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,GAAG,GAAG,GAAG,CAAC;YACV,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC;oBAAE,GAAG,IAAI,GAAG,CAAC;gBAClB,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;YACtC,CAAC;YACD,OAAO,GAAG,GAAG,GAAG,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QAEjC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,MAAM;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC/C,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,GAAG,GAAG,EAAE,CAAC;QACT,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;YACnB,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAEjC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,GAAG;gBAAE,GAAG,IAAI,GAAG,CAAC;YACpB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1B,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACzB,CAAC,CAAC,CAAC,IAAI,CAAE,CAAC;AACZ,CAAC;AASD,SAAgB,YAAY,CAAC,MAAc,EAAE,MAAc;IACzD,uCAAuC;IACvC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAExF,kCAAkC;IAClC,IAAI,MAAM,KAAK,MAAM;QACnB,OAAO;YACL,IAAI,EAAE,CAAC;YACP,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,IAAA,SAAG,EAAC,MAAM,CAAC;SACjB,CAAC;IAEJ,SAAS,WAAW,CAAC,SAAS,GAAG,CAAC;QAChC,IAAI,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9B,KAAK,GAAG,KAAK,CAAC;QAChB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAE9C,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,EAC5B,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAE7B,IAAI,EAAE,KAAK,EAAE;gBAAE,KAAK,GAAG,IAAI,CAAC;;gBACvB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,IAAI,GAAG,WAAW,EAAE,GAAG,CAAC,EAC1B,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EACxC,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO;QACL,IAAI;QACJ,EAAE;QACF,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QAC/B,GAAG,EAAE,IAAA,SAAG,EAAC,MAAM,CAAC;KACjB,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAC,QAAuB,EAAE,KAAgB;IACnE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAA0B,CAAC;IAC3E,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC/C,IAAI,IAAI,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9D,IAAI,OAAO,IAAI,IAAA,SAAG,EAAC,GAAG,CAAC,KAAK,OAAO;QACjC,MAAM,CACJ,kEAAkE,GAAG,QAAQ,GAAG,IAAI,GAAG,GAAG,CAC3F,CAAC;IACJ,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,OAAO,CAAC,GAAS;IAC/B,KAAK,IAAI,CAAC,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,MAAM,UAAU,GAAG,CACxB,GAA0B,EAChB,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAFhB,QAAA,UAAU,cAEM;AAE7B,wCAAwC;AACxC,SAAgB,GAAG,CAAC,GAAQ,EAAE,YAA+B;IAC3D,IAAI,CAAC,GAAG,YAAY,EAClB,CAAC,GAAG,GAAG,CAAC;IAEV,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACrB,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACxB,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAC9B,GAAM,EACmB,EAAE;IAC3B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAA4B,CAAC;AACxD,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEF,SAAgB,QAAQ,CAAC,GAAoB;IAC3C,OAAO,OAAO,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACxE,CAAC;AACD,SAAgB,SAAS,CAAI,CAA8B;IACzD,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC;AACvC,CAAC;AAED,SAAgB,OAAO,CAAgC,CAAI;IACzD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAoC,CAAC;AAC3D,CAAC;AAoBD;;;GAGG;AACI,MAAM,QAAQ,GAAG,KAAK,EAC3B,IAA0B,EAI1B,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,CAAC;QACzB,OAAO;YACL,GAAG,GAAG;YACN,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACjC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,KAAK;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SAC1B,CAAC;IACX,CAAC;AACH,CAAC,CAAC;AApBW,QAAA,QAAQ,YAoBnB;AAGK,MAAM,aAAa,GAAG,CAAC,EAAwB,EAAE,EAAE;IACxD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC3B,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CACrF,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB;AAEF;;;;;GAKG;AACI,MAAM,iBAAiB,GAAG,CAAC,UAA4B,EAAE,KAAa,EAAE,EAAE;IAC/E,MAAM,QAAQ,GAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChC,OAAO;YACL,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,EAAE,EAAE,IAAA,qBAAa,EAAC,QAAQ,CAAC,EAAE,CAAC;SAC/B,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,SAAS,CAAC;SACjB,OAAO,EAAE,CAAC;AACf,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B;AAIK,MAAM,eAAe,GAAG,CAC7B,GAAM,EACN,UAAa,EACM,EAAE;IACrB,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,GAAwB,CAAC;IAClC,CAAC;IACD,OAAO,SAA8B,CAAC;AACxC,CAAC,CAAC;AARW,QAAA,eAAe,mBAQ1B;AAEK,MAAM,aAAa,GAAG,CAAC,GAAc,EAAE,EAAE;IAC9C,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAU,EAAE,EAAE;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,aAAa,iBAWxB;AACK,MAAM,oBAAoB,GAAG,CAClC,QAAa,EACb,YAAY,GAAG,KAAK,EAC2B,EAAE;IACjD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IACE,OAAO,QAAQ,KAAK,QAAQ;QAC5B,OAAO,QAAQ,KAAK,SAAS;QAC7B,OAAO,QAAQ,KAAK,QAAQ;QAC5B,OAAO,QAAQ,KAAK,WAAW;QAC/B,OAAO,QAAQ,KAAK,QAAQ,EAC5B,CAAC;QACD,OAAO,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ,YAAY,YAAY,EAAE,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,YAAY,KAAK,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC1D,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACb,GAAG,GAAG;YACN,CAAC,GAAG,CAAC,EAAG,QAAsB,CAAC,GAAG,CAAC;SACpC,CAAC,EACF,EAAe,CAChB,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,qBAAa,EAAC,QAAQ,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4BAAoB,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA7CW,QAAA,oBAAoB,wBA6C/B;AAEK,MAAM,WAAW,GAAG,CACzB,GAAM,EACN,GAAe,EAGL,EAAE;IACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,SAAiD,CAAC;IAC9F,OAAO,GAAG,CAAC,GAAc,CAAyC,CAAC;AACrE,CAAC,CAAC;AARW,QAAA,WAAW,eAQtB;AAEK,MAAM,WAAW,GAAG,CAAI,OAAmB,EAAE,EAAU,EAAc,EAAE;IAC5E,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/C,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CACnE,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AALW,QAAA,WAAW,eAKtB;AAEK,MAAM,UAAU,GAAG,CAAsB,GAAM,EAAE,EAAE,CACxD,MAAM,CAAC,OAAO,CAAC,GAAG,CAA4B,CAAC;AADpC,QAAA,UAAU,cAC0B;AAE1C,MAAM,WAAW,GAAG,CACzB,OAAqC,EACvB,EAAE;IAChB,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAiB,CAAC;AACrD,CAAC,CAAC;AAJW,QAAA,WAAW,eAItB"}
@@ -1,5 +1,17 @@
1
- import { CHANNEL_PREFIX, stableStringify, type FieldFilter } from "./index";
2
1
  import { AnyObject, type EqualityFilter } from "./filters";
2
+ import {
3
+ CHANNEL_PREFIX,
4
+ fromEntries,
5
+ getEntries,
6
+ getJSONBSchemaValidationError,
7
+ getSerialisableError,
8
+ isDefined,
9
+ isObject,
10
+ stableStringify,
11
+ type FieldFilter,
12
+ type JSONB,
13
+ type MaybePromise,
14
+ } from "./index";
3
15
 
4
16
  /**
5
17
  * Response from server to set up a sync channel
@@ -75,7 +87,7 @@ export type SyncBatchParams = {
75
87
  offset?: number;
76
88
 
77
89
  /**
78
- * Maxmimum number of rows to take
90
+ * Maximum number of rows to take
79
91
  */
80
92
  limit?: number;
81
93
  };
@@ -122,50 +134,251 @@ export const getSyncChannelName = ({
122
134
  typeof select === "string" ? select : stableStringify(select),
123
135
  ].join(".");
124
136
 
125
- export type ReplicationState = {
126
- channels: {
127
- CHANNEL_PREFIX: {
128
- "channelName.get": () => string;
129
- "client.emit": {
130
- data: {
131
- tableName: string;
132
- command: "sync";
133
- /** Filter */
134
- param1: EqualityFilter<AnyObject>;
135
- /** Select */
136
- param2: { select: FieldFilter };
137
- };
138
- "server.response": {
139
- data: SyncConfig & {
140
- data: AnyObject[];
141
- isSynced: boolean;
142
- };
143
-
144
- channels: {
145
- channelName: {
146
- /** Obtained from getSyncChannelName */
147
- "channelName.get": () => string;
148
- "client.emit": {
149
- data: {
150
- onSyncRequest: ClientSyncInfo | ClientExpressData;
151
- };
152
- };
153
- "server.emit": {
154
- data: {
155
- onPullRequest: SyncBatchParams;
156
- };
157
- "client.response": {
158
- data: ClientSyncPullResponse;
159
- };
160
- };
161
- };
162
- };
163
- };
164
- };
165
- };
166
- };
137
+ export type SocketCallback = (err?: unknown, res?: unknown) => void;
138
+
139
+ type RequestBase = {
140
+ name: string;
141
+ source: "client" | "server";
142
+ request: Omit<JSONB.FieldTypeObj, "optional">;
143
+ response: Omit<JSONB.FieldTypeObj, "optional">;
167
144
  };
145
+ export namespace ReplicationProtocol {
146
+ export const CreateSchema = {
147
+ name: "Create",
148
+ source: "client",
149
+ request: {
150
+ type: {
151
+ tableName: "string",
152
+ command: { enum: ["sync"] },
153
+ /** Filter */
154
+ param1: {
155
+ record: { values: "unknown" },
156
+ },
157
+ /** Select */
158
+ param2: { type: { select: "unknown" } },
159
+ },
160
+ },
161
+ response: {
162
+ type: {
163
+ id_fields: "string[]",
164
+ synced_field: "string",
165
+ channelName: "string",
166
+ data: "any[]",
167
+ isSynced: "boolean",
168
+ },
169
+ },
170
+ } as const satisfies RequestBase;
171
+
172
+ const ClientSyncInfoSchema = {
173
+ state: { enum: ["syncing"] },
174
+ c_fr: { optional: true, record: { values: "unknown" } },
175
+ c_lr: { optional: true, record: { values: "unknown" } },
176
+ c_count: "number",
177
+ } as const satisfies JSONB.ObjectType["type"];
178
+
179
+ const ClientExpressDataSchema = {
180
+ state: { enum: ["syncing-data"] },
181
+ c_fr: { record: { values: "unknown" } },
182
+ c_lr: { record: { values: "unknown" } },
183
+ c_count: "number",
184
+ data: {
185
+ arrayOf: {
186
+ record: { values: "unknown" },
187
+ },
188
+ },
189
+ } as const satisfies JSONB.ObjectType["type"];
190
+
191
+ export const ServerSyncRequest = {
192
+ name: "ServerSyncRequest",
193
+ source: "server",
194
+ request: {
195
+ type: {
196
+ from_synced: { oneOf: ["string", { enum: [null] }] },
197
+ to_synced: { oneOf: ["string", { enum: [null] }] },
198
+ end_offset: { oneOf: ["number", { enum: [null] }] },
199
+ },
200
+ },
201
+ response: {
202
+ oneOfType: [
203
+ ClientSyncInfoSchema,
204
+ ClientExpressDataSchema,
205
+ {
206
+ state: { enum: ["error"] },
207
+ err: "unknown",
208
+ },
209
+ ],
210
+ },
211
+ } as const satisfies RequestBase;
212
+
213
+ export const ClientSyncRequest = {
214
+ name: "ClientSyncRequest",
215
+ source: "client",
216
+ request: {
217
+ oneOfType: [ClientSyncInfoSchema, ClientExpressDataSchema],
218
+ },
219
+ response: ServerSyncRequest.response,
220
+ } as const satisfies RequestBase;
221
+
222
+ export const PullRequest = {
223
+ name: "PullRequest",
224
+ source: "server",
225
+ request: {
226
+ type: {
227
+ from_synced: { oneOf: ["string", { enum: [undefined] }] },
228
+ to_synced: { oneOf: ["string", { enum: [undefined] }] },
229
+ offset: { oneOf: ["number", { enum: [undefined] }] },
230
+ limit: { oneOf: ["number", { enum: [undefined] }] },
231
+ },
232
+ },
233
+ response: {
234
+ oneOfType: [
235
+ {
236
+ success: { enum: [true] },
237
+ data: { arrayOf: { record: { values: "unknown" } } },
238
+ },
239
+ {
240
+ success: { enum: [false] },
241
+ err: "unknown",
242
+ },
243
+ ],
244
+ },
245
+ } as const satisfies RequestBase;
168
246
 
169
- /*
170
- On server
171
- */
247
+ export const UpdateRequest = {
248
+ name: "UpdateRequest",
249
+ source: "server",
250
+ request: {
251
+ oneOfType: [
252
+ {
253
+ state: { enum: ["error"] },
254
+ err: "unknown",
255
+ },
256
+ {
257
+ state: { enum: ["synced"] },
258
+ isSynced: "boolean",
259
+ },
260
+ {
261
+ state: { enum: ["syncing"] },
262
+ data: { arrayOf: { record: { values: "unknown" } } },
263
+ },
264
+ ],
265
+ },
266
+ response: {
267
+ oneOfType: [
268
+ {
269
+ success: { enum: [true] },
270
+ },
271
+ {
272
+ success: { enum: [false] },
273
+ err: "unknown",
274
+ },
275
+ ],
276
+ },
277
+ } as const satisfies RequestBase;
278
+
279
+ const Schemas = { ClientSyncRequest, ServerSyncRequest, PullRequest, UpdateRequest } as const;
280
+ type SchemasType = typeof Schemas;
281
+ const SchemasList = Object.values(Schemas);
282
+
283
+ export const getHandlers = <Side extends RequestBase["source"]>(
284
+ channelName: string,
285
+ socket: {
286
+ on: (
287
+ channelName: string,
288
+ request: (data: unknown, cb: SocketCallback) => MaybePromise<void>,
289
+ ) => void;
290
+ emit: (
291
+ channelName: string,
292
+ request: unknown,
293
+ response: (response: unknown) => MaybePromise<void>,
294
+ ) => void;
295
+ removeAllListeners: (channelName: string) => void;
296
+ },
297
+ side: Side,
298
+ onResponse: {
299
+ [K in keyof SchemasType as SchemasType[K]["source"] extends Side ? never : K]: (
300
+ params: JSONB.GetType<SchemasType[K]["request"]>,
301
+ ) => Promise<JSONB.GetType<SchemasType[K]["response"]>>;
302
+ },
303
+ ): {
304
+ [K in keyof SchemasType as SchemasType[K]["source"] extends Side ? K : never]: (
305
+ params: JSONB.GetType<SchemasType[K]["request"]>,
306
+ ) => Promise<JSONB.GetType<SchemasType[K]["response"]>>;
307
+ } => {
308
+ socket.removeAllListeners(channelName);
309
+ socket.on(channelName, async (requestRaw, cb) => {
310
+ const { type, request } = isObject(requestRaw) ? requestRaw : {};
311
+ if (typeof type !== "string" || !request) {
312
+ cb("Unexpected data");
313
+ return;
314
+ }
315
+
316
+ const schema = SchemasList.find((s) => s.name === type && s.source !== side);
317
+ if (!schema) {
318
+ cb("Invalid data.type");
319
+ return;
320
+ }
321
+
322
+ if (schema.source === side) {
323
+ cb("Invalid schema.source");
324
+ return;
325
+ }
326
+
327
+ /** Must validate incoming data */
328
+ if (side === "server") {
329
+ if (schema.source === "server") {
330
+ const validationResult = getJSONBSchemaValidationError(schema.request, request);
331
+ if (validationResult.error !== undefined) {
332
+ console.error("Invalid request from client", validationResult.error, request);
333
+ cb(validationResult.error);
334
+ return;
335
+ }
336
+ }
337
+ }
338
+ const schemaName = schema.name as keyof typeof onResponse;
339
+ try {
340
+ const response = await onResponse[schemaName](request);
341
+ cb(undefined, response);
342
+ } catch (err) {
343
+ cb(getSerialisableError(err));
344
+ }
345
+ });
346
+
347
+ const outgoingSchemas = fromEntries(
348
+ getEntries(Schemas)
349
+ .map(([key, schema]) => {
350
+ if (schema.source !== side) {
351
+ return undefined;
352
+ }
353
+ return [
354
+ key,
355
+ (request: unknown) => {
356
+ return new Promise((resolve, reject) => {
357
+ socket.emit(channelName, { type: schema.name, request }, (response: unknown) => {
358
+ if (side === "server") {
359
+ const validationResult = getJSONBSchemaValidationError(
360
+ schema.response,
361
+ response,
362
+ );
363
+ if (validationResult.error !== undefined) {
364
+ console.error(
365
+ "Invalid response from client",
366
+ validationResult.error,
367
+ response,
368
+ );
369
+ reject(validationResult.error);
370
+ return;
371
+ }
372
+ }
373
+ resolve(response);
374
+ });
375
+ });
376
+ },
377
+ ] as const;
378
+ })
379
+ .filter(isDefined),
380
+ );
381
+
382
+ return outgoingSchemas as any;
383
+ };
384
+ }
package/lib/util.ts CHANGED
@@ -378,3 +378,12 @@ export const withTimeout = <T>(promise: Promise<T>, ms: number): Promise<T> => {
378
378
  );
379
379
  return Promise.race([promise, timeout]);
380
380
  };
381
+
382
+ export const getEntries = <T extends AnyObject>(obj: T) =>
383
+ Object.entries(obj) as [keyof T, T[keyof T]][];
384
+
385
+ export const fromEntries = <K extends string | number | symbol, V>(
386
+ entries: readonly (readonly [K, V])[],
387
+ ): Record<K, V> => {
388
+ return Object.fromEntries(entries) as Record<K, V>;
389
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-types",
3
- "version": "4.0.252",
3
+ "version": "4.0.254",
4
4
  "description": "",
5
5
  "main": "dist/index_umd.js",
6
6
  "types": "dist/index.d.ts",