remult 3.3.18 → 3.3.19-next.1

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 (38) hide show
  1. package/esm/index.js +7 -6
  2. package/esm/remult-d1.js +1 -0
  3. package/esm/remult-knex/index.js +112 -2
  4. package/esm/remult-mongo.js +17 -8
  5. package/esm/remult-sqlite-core.js +1 -0
  6. package/esm/src/data-interfaces.js +4 -4
  7. package/esm/src/data-providers/array-entity-data-provider.js +14 -2
  8. package/esm/src/data-providers/indexed-db-data-provider.js +644 -0
  9. package/esm/src/data-providers/json-data-provider.js +2 -2
  10. package/esm/src/data-providers/rest-data-provider.js +11 -12
  11. package/esm/src/data-providers/sql-database.js +110 -43
  12. package/esm/src/remult3/RepositoryImplementation.js +90 -60
  13. package/index.d.ts +31 -17
  14. package/index.js +5 -2
  15. package/package.json +1 -1
  16. package/remult-d1.d.ts +1 -0
  17. package/remult-d1.js +1 -0
  18. package/remult-knex/index.d.ts +2 -2
  19. package/remult-knex/index.js +329 -44
  20. package/remult-mongo.js +80 -36
  21. package/remult-sqlite-core.d.ts +1 -0
  22. package/remult-sqlite-core.js +1 -0
  23. package/src/column-interfaces.d.ts +4 -0
  24. package/src/data-interfaces.d.ts +2 -3
  25. package/src/data-interfaces.js +4 -4
  26. package/src/data-providers/array-entity-data-provider.d.ts +2 -2
  27. package/src/data-providers/array-entity-data-provider.js +92 -14
  28. package/src/data-providers/indexed-db-data-provider.d.ts +37 -0
  29. package/src/data-providers/indexed-db-data-provider.js +1048 -0
  30. package/src/data-providers/json-data-provider.js +2 -2
  31. package/src/data-providers/rest-data-provider.d.ts +2 -3
  32. package/src/data-providers/rest-data-provider.js +18 -17
  33. package/src/data-providers/sql-database.js +254 -105
  34. package/src/remult3/RepositoryImplementation.d.ts +1 -1
  35. package/src/remult3/RepositoryImplementation.js +384 -270
  36. package/src/remult3/remult3.d.ts +2 -2
  37. package/src/sql-command.d.ts +2 -0
  38. package/src/standard-schema/index.d.ts +1 -1
@@ -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]: T[K];
262
+ [K in keyof Omit<T, keyof EntityBase> as T[K] extends Function ? never : K extends string ? K : never]: 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: Extract<keyof MembersOnly<entityType>, string>[]): Promise<ErrorInfo<entityType> | undefined>;
550
+ validate(item: Partial<entityType>, ...fields: (keyof MembersOnly<entityType>)[]): 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 })
@@ -10,6 +10,8 @@ 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;
13
15
  end(): Promise<void>;
14
16
  afterMutation?: VoidFunction;
15
17
  }
@@ -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 Extract<keyof MembersOnly<entityType>, string>[] = []>(repo: Repository<entityType>, ...fields: fieldsType): RemultEntitySchema<entityType, fieldsType>;
21
+ export declare function standardSchema<entityType, fieldsType extends (keyof MembersOnly<entityType>)[] = []>(repo: Repository<entityType>, ...fields: fieldsType): RemultEntitySchema<entityType, fieldsType>;
22
22
  export {};