remult 3.3.19-next.2 → 3.4.0-next.2

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.
Files changed (58) hide show
  1. package/SseSubscriptionServer.d.ts +2 -0
  2. package/SseSubscriptionServer.js +4 -2
  3. package/esm/SseSubscriptionServer.js +3 -1
  4. package/esm/index.js +6 -7
  5. package/esm/live-query/data-provider-live-query-storage.js +3 -1
  6. package/esm/remult-d1.js +0 -1
  7. package/esm/remult-knex/index.js +2 -112
  8. package/esm/remult-mongo.js +8 -17
  9. package/esm/remult-sqlite-core.js +0 -1
  10. package/esm/server/remult-api-server.js +6 -1
  11. package/esm/src/data-api.js +1 -0
  12. package/esm/src/data-interfaces.js +4 -4
  13. package/esm/src/data-providers/array-entity-data-provider.js +2 -14
  14. package/esm/src/data-providers/json-data-provider.js +2 -2
  15. package/esm/src/data-providers/rest-data-provider.js +12 -11
  16. package/esm/src/data-providers/sql-database.js +43 -110
  17. package/esm/src/live-query/LiveQueryClient.js +163 -52
  18. package/esm/src/live-query/SseSubscriptionClient.js +101 -43
  19. package/esm/src/live-query/SubscriptionChannel.js +37 -3
  20. package/esm/src/live-query/SubscriptionServer.js +11 -3
  21. package/esm/src/remult3/RepositoryImplementation.js +60 -90
  22. package/esm/src/remult3/remult3.js +6 -0
  23. package/index.d.ts +17 -31
  24. package/index.js +2 -5
  25. package/live-query/data-provider-live-query-storage.d.ts +4 -1
  26. package/live-query/data-provider-live-query-storage.js +18 -15
  27. package/package.json +1 -1
  28. package/remult-d1.d.ts +0 -1
  29. package/remult-d1.js +0 -1
  30. package/remult-knex/index.js +44 -329
  31. package/remult-mongo.js +36 -80
  32. package/remult-sqlite-core.d.ts +0 -1
  33. package/remult-sqlite-core.js +0 -1
  34. package/server/remult-api-server.js +13 -9
  35. package/src/data-api.js +1 -0
  36. package/src/data-interfaces.d.ts +3 -2
  37. package/src/data-interfaces.js +4 -4
  38. package/src/data-providers/array-entity-data-provider.d.ts +2 -2
  39. package/src/data-providers/array-entity-data-provider.js +14 -92
  40. package/src/data-providers/json-data-provider.js +2 -2
  41. package/src/data-providers/rest-data-provider.d.ts +3 -2
  42. package/src/data-providers/rest-data-provider.js +17 -18
  43. package/src/data-providers/sql-database.js +105 -254
  44. package/src/live-query/LiveQueryClient.js +215 -97
  45. package/src/live-query/SseSubscriptionClient.js +143 -83
  46. package/src/live-query/SubscriptionChannel.d.ts +8 -0
  47. package/src/live-query/SubscriptionChannel.js +47 -9
  48. package/src/live-query/SubscriptionServer.d.ts +7 -2
  49. package/src/live-query/SubscriptionServer.js +20 -10
  50. package/src/remult3/RepositoryImplementation.d.ts +1 -1
  51. package/src/remult3/RepositoryImplementation.js +270 -384
  52. package/src/remult3/remult3.d.ts +8 -2
  53. package/src/remult3/remult3.js +6 -0
  54. package/src/sql-command.d.ts +0 -2
  55. package/src/standard-schema/index.d.ts +1 -1
  56. package/esm/src/data-providers/indexed-db-data-provider.js +0 -811
  57. package/src/data-providers/indexed-db-data-provider.d.ts +0 -39
  58. package/src/data-providers/indexed-db-data-provider.js +0 -1387
@@ -259,7 +259,7 @@ export interface EntityMetadata<entityType = unknown> {
259
259
  readonly idMetadata: IdMetadata<entityType>;
260
260
  }
261
261
  export declare type MembersOnly<T> = {
262
- [K in keyof Omit<T, keyof EntityBase> as T[K] extends Function ? never : K extends string ? K : never]: T[K];
262
+ [K in keyof Omit<T, keyof EntityBase> as T[K] extends Function ? never : K]: T[K];
263
263
  };
264
264
  export declare type idType<entityType> = entityType extends {
265
265
  id?: infer U;
@@ -547,7 +547,7 @@ export interface Repository<entityType> {
547
547
  * // Can also be used to validate specific fields
548
548
  * const error = repo.validate(task,"title")
549
549
  */
550
- validate(item: Partial<entityType>, ...fields: (keyof MembersOnly<entityType>)[]): Promise<ErrorInfo<entityType> | undefined>;
550
+ validate(item: Partial<entityType>, ...fields: Extract<keyof MembersOnly<entityType>, string>[]): Promise<ErrorInfo<entityType> | undefined>;
551
551
  /** saves an item or item[] to the data source. It assumes that if an `id` value exists, it's an existing row - otherwise it's a new row
552
552
  * @example
553
553
  * await taskRepo.save({...task, completed:true })
@@ -1220,4 +1220,10 @@ export type ClassFieldDecorator<entityType, valueType> = ((target: any, context:
1220
1220
  };
1221
1221
  export declare const flags: {
1222
1222
  error500RetryCount: number;
1223
+ /** Client treats SSE as dead if no event for this long */
1224
+ sseStaleMs: number;
1225
+ /** HTTP keep-alive while SSE is healthy (touches lastUsed) */
1226
+ liveQueryKeepAliveMs: number;
1227
+ /** Version poll while SSE is stale */
1228
+ liveQueryPollWhenStaleMs: number;
1223
1229
  };
@@ -19,6 +19,12 @@ var wnn = [
19
19
  ];
20
20
  exports.flags = {
21
21
  error500RetryCount: 4,
22
+ /** Client treats SSE as dead if no event for this long */
23
+ sseStaleMs: 20000,
24
+ /** HTTP keep-alive while SSE is healthy (touches lastUsed) */
25
+ liveQueryKeepAliveMs: 30000,
26
+ /** Version poll while SSE is stale */
27
+ liveQueryPollWhenStaleMs: 1000,
22
28
  };
23
29
  /*p1 - issues in https://stackblitz.com/edit/demo-allow-delete-based-on-other-entity:
24
30
  - don't like the ensure schema
@@ -10,8 +10,6 @@ export interface SqlImplementation extends HasWrapIdentifier {
10
10
  doesNotSupportReturningSyntax?: boolean;
11
11
  doesNotSupportReturningSyntaxOnlyForUpdate?: boolean;
12
12
  orderByNullsFirst?: boolean;
13
- /** Bound-variable cap per statement. Default 2000 (SQL Server is 2100). */
14
- maxParametersInOneSqlStatement?: number;
15
13
  end(): Promise<void>;
16
14
  afterMutation?: VoidFunction;
17
15
  }
@@ -18,5 +18,5 @@ interface RemultEntitySchema<entityType, fields extends string[] = []> extends S
18
18
  * const schema = standardSchema(repo(User), 'name', 'age')
19
19
  * ```
20
20
  */
21
- export declare function standardSchema<entityType, fieldsType extends (keyof MembersOnly<entityType>)[] = []>(repo: Repository<entityType>, ...fields: fieldsType): RemultEntitySchema<entityType, fieldsType>;
21
+ export declare function standardSchema<entityType, fieldsType extends Extract<keyof MembersOnly<entityType>, string>[] = []>(repo: Repository<entityType>, ...fields: fieldsType): RemultEntitySchema<entityType, fieldsType>;
22
22
  export {};