@xata.io/client 0.24.2 → 0.24.3

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/dist/index.d.ts CHANGED
@@ -1823,6 +1823,14 @@ type RecordMeta = {
1823
1823
  * The record's version. Can be used for optimistic concurrency control.
1824
1824
  */
1825
1825
  version: number;
1826
+ /**
1827
+ * The time when the record was created.
1828
+ */
1829
+ createdAt?: string;
1830
+ /**
1831
+ * The time when the record was last updated.
1832
+ */
1833
+ updatedAt?: string;
1826
1834
  /**
1827
1835
  * The record's table name. APIs that return records from multiple tables will set this field accordingly.
1828
1836
  */
@@ -1862,6 +1870,10 @@ type FileResponse = {
1862
1870
  version: number;
1863
1871
  attributes?: Record<string, any>;
1864
1872
  };
1873
+ type ProjectionConfig = {
1874
+ name?: string;
1875
+ };
1876
+ type QueryColumnsProjection = (string | ProjectionConfig)[];
1865
1877
  /**
1866
1878
  * The target expression is used to filter the search results by the target columns.
1867
1879
  */
@@ -2318,6 +2330,8 @@ type RecordUpdateResponse = XataRecord$1 | {
2318
2330
  id: string;
2319
2331
  xata: {
2320
2332
  version: number;
2333
+ createdAt: string;
2334
+ updatedAt: string;
2321
2335
  };
2322
2336
  };
2323
2337
  type PutFileResponse = FileResponse;
@@ -4358,7 +4372,7 @@ type QueryTableRequestBody = {
4358
4372
  filter?: FilterExpression;
4359
4373
  sort?: SortExpression;
4360
4374
  page?: PageConfig;
4361
- columns?: ColumnsProjection;
4375
+ columns?: QueryColumnsProjection;
4362
4376
  /**
4363
4377
  * The consistency level for this request.
4364
4378
  *
@@ -5899,6 +5913,8 @@ type schemas_NumericHistogramAgg = NumericHistogramAgg;
5899
5913
  type schemas_ObjectValue = ObjectValue;
5900
5914
  type schemas_PageConfig = PageConfig;
5901
5915
  type schemas_PrefixExpression = PrefixExpression;
5916
+ type schemas_ProjectionConfig = ProjectionConfig;
5917
+ type schemas_QueryColumnsProjection = QueryColumnsProjection;
5902
5918
  type schemas_RecordID = RecordID;
5903
5919
  type schemas_RecordMeta = RecordMeta;
5904
5920
  type schemas_RecordsMetadata = RecordsMetadata;
@@ -6023,6 +6039,8 @@ declare namespace schemas {
6023
6039
  schemas_ObjectValue as ObjectValue,
6024
6040
  schemas_PageConfig as PageConfig,
6025
6041
  schemas_PrefixExpression as PrefixExpression,
6042
+ schemas_ProjectionConfig as ProjectionConfig,
6043
+ schemas_QueryColumnsProjection as QueryColumnsProjection,
6026
6044
  schemas_RecordID as RecordID,
6027
6045
  schemas_RecordMeta as RecordMeta,
6028
6046
  schemas_RecordsMetadata as RecordsMetadata,
@@ -6839,6 +6857,7 @@ type NestedValueAtColumn<O, Key extends SelectableColumn<O>> = Key extends `${in
6839
6857
  } : unknown;
6840
6858
  type ForwardNullable<T, R> = T extends NonNullable<T> ? R : R | null;
6841
6859
 
6860
+ type Identifier = string;
6842
6861
  /**
6843
6862
  * Represents an identifiable record from the database.
6844
6863
  */
@@ -6846,7 +6865,7 @@ interface Identifiable {
6846
6865
  /**
6847
6866
  * Unique id of this record.
6848
6867
  */
6849
- id: string;
6868
+ id: Identifier;
6850
6869
  }
6851
6870
  interface BaseData {
6852
6871
  [key: string]: any;
@@ -6961,10 +6980,10 @@ type NumericOperator = ExclusiveOr<{
6961
6980
  $divide?: number;
6962
6981
  }>>>;
6963
6982
  type EditableDataFields<T> = T extends XataRecord ? {
6964
- id: string;
6965
- } | string : NonNullable<T> extends XataRecord ? {
6966
- id: string;
6967
- } | string | null | undefined : T extends Date ? string | Date : NonNullable<T> extends Date ? string | Date | null | undefined : T extends number ? number | NumericOperator : T;
6983
+ id: Identifier;
6984
+ } | Identifier : NonNullable<T> extends XataRecord ? {
6985
+ id: Identifier;
6986
+ } | Identifier | null | undefined : T extends Date ? string | Date : NonNullable<T> extends Date ? string | Date | null | undefined : T extends number ? number | NumericOperator : T;
6968
6987
  type EditableData<O extends XataRecord> = Identifiable & Partial<Omit<{
6969
6988
  [K in keyof O]: EditableDataFields<O[K]>;
6970
6989
  }, keyof XataRecord>>;
@@ -7894,7 +7913,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
7894
7913
  * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
7895
7914
  * @returns The full persisted record.
7896
7915
  */
7897
- abstract create<K extends SelectableColumn<Record>>(id: string, object: Omit<EditableData<Record>, 'id'>, columns: K[], options?: {
7916
+ abstract create<K extends SelectableColumn<Record>>(id: Identifier, object: Omit<EditableData<Record>, 'id'>, columns: K[], options?: {
7898
7917
  ifVersion?: number;
7899
7918
  }): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
7900
7919
  /**
@@ -7903,7 +7922,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
7903
7922
  * @param object Object containing the column names with their values to be stored in the table.
7904
7923
  * @returns The full persisted record.
7905
7924
  */
7906
- abstract create(id: string, object: Omit<EditableData<Record>, 'id'>, options?: {
7925
+ abstract create(id: Identifier, object: Omit<EditableData<Record>, 'id'>, options?: {
7907
7926
  ifVersion?: number;
7908
7927
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
7909
7928
  /**
@@ -7925,26 +7944,26 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
7925
7944
  * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
7926
7945
  * @returns The persisted record for the given id or null if the record could not be found.
7927
7946
  */
7928
- abstract read<K extends SelectableColumn<Record>>(id: string, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns> | null>>;
7947
+ abstract read<K extends SelectableColumn<Record>>(id: Identifier, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns> | null>>;
7929
7948
  /**
7930
7949
  * Queries a single record from the table given its unique id.
7931
7950
  * @param id The unique id.
7932
7951
  * @returns The persisted record for the given id or null if the record could not be found.
7933
7952
  */
7934
- abstract read(id: string): Promise<Readonly<SelectedPick<Record, ['*']> | null>>;
7953
+ abstract read(id: Identifier): Promise<Readonly<SelectedPick<Record, ['*']> | null>>;
7935
7954
  /**
7936
7955
  * Queries multiple records from the table given their unique id.
7937
7956
  * @param ids The unique ids array.
7938
7957
  * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
7939
7958
  * @returns The persisted records for the given ids in order (if a record could not be found null is returned).
7940
7959
  */
7941
- abstract read<K extends SelectableColumn<Record>>(ids: string[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
7960
+ abstract read<K extends SelectableColumn<Record>>(ids: Identifier[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
7942
7961
  /**
7943
7962
  * Queries multiple records from the table given their unique id.
7944
7963
  * @param ids The unique ids array.
7945
7964
  * @returns The persisted records for the given ids in order (if a record could not be found null is returned).
7946
7965
  */
7947
- abstract read(ids: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>> | null>>;
7966
+ abstract read(ids: Identifier[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>> | null>>;
7948
7967
  /**
7949
7968
  * Queries a single record from the table by the id in the object.
7950
7969
  * @param object Object containing the id of the record.
@@ -7978,14 +7997,14 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
7978
7997
  * @returns The persisted record for the given id.
7979
7998
  * @throws If the record could not be found.
7980
7999
  */
7981
- abstract readOrThrow<K extends SelectableColumn<Record>>(id: string, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8000
+ abstract readOrThrow<K extends SelectableColumn<Record>>(id: Identifier, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
7982
8001
  /**
7983
8002
  * Queries a single record from the table given its unique id.
7984
8003
  * @param id The unique id.
7985
8004
  * @returns The persisted record for the given id.
7986
8005
  * @throws If the record could not be found.
7987
8006
  */
7988
- abstract readOrThrow(id: string): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8007
+ abstract readOrThrow(id: Identifier): Promise<Readonly<SelectedPick<Record, ['*']>>>;
7989
8008
  /**
7990
8009
  * Queries multiple records from the table given their unique id.
7991
8010
  * @param ids The unique ids array.
@@ -7993,14 +8012,14 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
7993
8012
  * @returns The persisted records for the given ids in order.
7994
8013
  * @throws If one or more records could not be found.
7995
8014
  */
7996
- abstract readOrThrow<K extends SelectableColumn<Record>>(ids: string[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>>>>;
8015
+ abstract readOrThrow<K extends SelectableColumn<Record>>(ids: Identifier[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>>>>;
7997
8016
  /**
7998
8017
  * Queries multiple records from the table given their unique id.
7999
8018
  * @param ids The unique ids array.
8000
8019
  * @returns The persisted records for the given ids in order.
8001
8020
  * @throws If one or more records could not be found.
8002
8021
  */
8003
- abstract readOrThrow(ids: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
8022
+ abstract readOrThrow(ids: Identifier[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
8004
8023
  /**
8005
8024
  * Queries a single record from the table by the id in the object.
8006
8025
  * @param object Object containing the id of the record.
@@ -8055,7 +8074,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8055
8074
  * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
8056
8075
  * @returns The full persisted record, null if the record could not be found.
8057
8076
  */
8058
- abstract update<K extends SelectableColumn<Record>>(id: string, object: Partial<EditableData<Record>>, columns: K[], options?: {
8077
+ abstract update<K extends SelectableColumn<Record>>(id: Identifier, object: Partial<EditableData<Record>>, columns: K[], options?: {
8059
8078
  ifVersion?: number;
8060
8079
  }): Promise<Readonly<SelectedPick<Record, typeof columns>> | null>;
8061
8080
  /**
@@ -8064,7 +8083,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8064
8083
  * @param object The column names and their values that have to be updated.
8065
8084
  * @returns The full persisted record, null if the record could not be found.
8066
8085
  */
8067
- abstract update(id: string, object: Partial<EditableData<Record>>, options?: {
8086
+ abstract update(id: Identifier, object: Partial<EditableData<Record>>, options?: {
8068
8087
  ifVersion?: number;
8069
8088
  }): Promise<Readonly<SelectedPick<Record, ['*']>> | null>;
8070
8089
  /**
@@ -8107,7 +8126,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8107
8126
  * @returns The full persisted record.
8108
8127
  * @throws If the record could not be found.
8109
8128
  */
8110
- abstract updateOrThrow<K extends SelectableColumn<Record>>(id: string, object: Partial<EditableData<Record>>, columns: K[], options?: {
8129
+ abstract updateOrThrow<K extends SelectableColumn<Record>>(id: Identifier, object: Partial<EditableData<Record>>, columns: K[], options?: {
8111
8130
  ifVersion?: number;
8112
8131
  }): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8113
8132
  /**
@@ -8117,7 +8136,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8117
8136
  * @returns The full persisted record.
8118
8137
  * @throws If the record could not be found.
8119
8138
  */
8120
- abstract updateOrThrow(id: string, object: Partial<EditableData<Record>>, options?: {
8139
+ abstract updateOrThrow(id: Identifier, object: Partial<EditableData<Record>>, options?: {
8121
8140
  ifVersion?: number;
8122
8141
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8123
8142
  /**
@@ -8142,7 +8161,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8142
8161
  * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
8143
8162
  * @returns The full persisted record.
8144
8163
  */
8145
- abstract createOrUpdate<K extends SelectableColumn<Record>>(object: EditableData<Record> & Identifiable, columns: K[], options?: {
8164
+ abstract createOrUpdate<K extends SelectableColumn<Record>>(object: Omit<EditableData<Record>, 'id'> & Partial<Identifiable>, columns: K[], options?: {
8146
8165
  ifVersion?: number;
8147
8166
  }): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8148
8167
  /**
@@ -8151,7 +8170,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8151
8170
  * @param object Object containing the column names with their values to be persisted in the table.
8152
8171
  * @returns The full persisted record.
8153
8172
  */
8154
- abstract createOrUpdate(object: EditableData<Record> & Identifiable, options?: {
8173
+ abstract createOrUpdate(object: Omit<EditableData<Record>, 'id'> & Partial<Identifiable>, options?: {
8155
8174
  ifVersion?: number;
8156
8175
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8157
8176
  /**
@@ -8162,7 +8181,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8162
8181
  * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
8163
8182
  * @returns The full persisted record.
8164
8183
  */
8165
- abstract createOrUpdate<K extends SelectableColumn<Record>>(id: string, object: Omit<EditableData<Record>, 'id'>, columns: K[], options?: {
8184
+ abstract createOrUpdate<K extends SelectableColumn<Record>>(id: Identifier | undefined, object: Omit<EditableData<Record>, 'id'>, columns: K[], options?: {
8166
8185
  ifVersion?: number;
8167
8186
  }): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8168
8187
  /**
@@ -8172,7 +8191,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8172
8191
  * @param object The column names and the values to be persisted.
8173
8192
  * @returns The full persisted record.
8174
8193
  */
8175
- abstract createOrUpdate(id: string, object: Omit<EditableData<Record>, 'id'>, options?: {
8194
+ abstract createOrUpdate(id: Identifier | undefined, object: Omit<EditableData<Record>, 'id'>, options?: {
8176
8195
  ifVersion?: number;
8177
8196
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8178
8197
  /**
@@ -8182,14 +8201,14 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8182
8201
  * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
8183
8202
  * @returns Array of the persisted records.
8184
8203
  */
8185
- abstract createOrUpdate<K extends SelectableColumn<Record>>(objects: Array<EditableData<Record> & Identifiable>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
8204
+ abstract createOrUpdate<K extends SelectableColumn<Record>>(objects: Array<Omit<EditableData<Record>, 'id'> & Partial<Identifiable>>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
8186
8205
  /**
8187
8206
  * Creates or updates a single record. If a record exists with the given id,
8188
8207
  * it will be partially updated, otherwise a new record will be created.
8189
8208
  * @param objects Array of objects with the column names and the values to be stored in the table.
8190
8209
  * @returns Array of the persisted records.
8191
8210
  */
8192
- abstract createOrUpdate(objects: Array<EditableData<Record> & Identifiable>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
8211
+ abstract createOrUpdate(objects: Array<Omit<EditableData<Record>, 'id'> & Partial<Identifiable>>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
8193
8212
  /**
8194
8213
  * Creates or replaces a single record. If a record exists with the given id,
8195
8214
  * it will be replaced, otherwise a new record will be created.
@@ -8197,7 +8216,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8197
8216
  * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
8198
8217
  * @returns The full persisted record.
8199
8218
  */
8200
- abstract createOrReplace<K extends SelectableColumn<Record>>(object: EditableData<Record> & Identifiable, columns: K[], options?: {
8219
+ abstract createOrReplace<K extends SelectableColumn<Record>>(object: Omit<EditableData<Record>, 'id'> & Partial<Identifiable>, columns: K[], options?: {
8201
8220
  ifVersion?: number;
8202
8221
  }): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8203
8222
  /**
@@ -8206,7 +8225,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8206
8225
  * @param object Object containing the column names with their values to be persisted in the table.
8207
8226
  * @returns The full persisted record.
8208
8227
  */
8209
- abstract createOrReplace(object: EditableData<Record> & Identifiable, options?: {
8228
+ abstract createOrReplace(object: Omit<EditableData<Record>, 'id'> & Partial<Identifiable>, options?: {
8210
8229
  ifVersion?: number;
8211
8230
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8212
8231
  /**
@@ -8217,7 +8236,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8217
8236
  * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
8218
8237
  * @returns The full persisted record.
8219
8238
  */
8220
- abstract createOrReplace<K extends SelectableColumn<Record>>(id: string, object: Omit<EditableData<Record>, 'id'>, columns: K[], options?: {
8239
+ abstract createOrReplace<K extends SelectableColumn<Record>>(id: Identifier | undefined, object: Omit<EditableData<Record>, 'id'>, columns: K[], options?: {
8221
8240
  ifVersion?: number;
8222
8241
  }): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8223
8242
  /**
@@ -8227,7 +8246,7 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8227
8246
  * @param object The column names and the values to be persisted.
8228
8247
  * @returns The full persisted record.
8229
8248
  */
8230
- abstract createOrReplace(id: string, object: Omit<EditableData<Record>, 'id'>, options?: {
8249
+ abstract createOrReplace(id: Identifier | undefined, object: Omit<EditableData<Record>, 'id'>, options?: {
8231
8250
  ifVersion?: number;
8232
8251
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8233
8252
  /**
@@ -8237,14 +8256,14 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8237
8256
  * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
8238
8257
  * @returns Array of the persisted records.
8239
8258
  */
8240
- abstract createOrReplace<K extends SelectableColumn<Record>>(objects: Array<EditableData<Record> & Identifiable>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
8259
+ abstract createOrReplace<K extends SelectableColumn<Record>>(objects: Array<Omit<EditableData<Record>, 'id'> & Partial<Identifiable>>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
8241
8260
  /**
8242
8261
  * Creates or replaces a single record. If a record exists with the given id,
8243
8262
  * it will be replaced, otherwise a new record will be created.
8244
8263
  * @param objects Array of objects with the column names and the values to be stored in the table.
8245
8264
  * @returns Array of the persisted records.
8246
8265
  */
8247
- abstract createOrReplace(objects: Array<EditableData<Record> & Identifiable>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
8266
+ abstract createOrReplace(objects: Array<Omit<EditableData<Record>, 'id'> & Partial<Identifiable>>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
8248
8267
  /**
8249
8268
  * Deletes a record given its unique id.
8250
8269
  * @param object An object with a unique id.
@@ -8264,13 +8283,13 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8264
8283
  * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
8265
8284
  * @returns The deleted record, null if the record could not be found.
8266
8285
  */
8267
- abstract delete<K extends SelectableColumn<Record>>(id: string, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>> | null>;
8286
+ abstract delete<K extends SelectableColumn<Record>>(id: Identifier, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>> | null>;
8268
8287
  /**
8269
8288
  * Deletes a record given a unique id.
8270
8289
  * @param id The unique id.
8271
8290
  * @returns The deleted record, null if the record could not be found.
8272
8291
  */
8273
- abstract delete(id: string): Promise<Readonly<SelectedPick<Record, ['*']>> | null>;
8292
+ abstract delete(id: Identifier): Promise<Readonly<SelectedPick<Record, ['*']>> | null>;
8274
8293
  /**
8275
8294
  * Deletes multiple records given an array of objects with ids.
8276
8295
  * @param objects An array of objects with unique ids.
@@ -8290,13 +8309,13 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8290
8309
  * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
8291
8310
  * @returns Array of the deleted records in order (if a record could not be found null is returned).
8292
8311
  */
8293
- abstract delete<K extends SelectableColumn<Record>>(objects: string[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
8312
+ abstract delete<K extends SelectableColumn<Record>>(objects: Identifier[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
8294
8313
  /**
8295
8314
  * Deletes multiple records given an array of unique ids.
8296
8315
  * @param objects An array of ids.
8297
8316
  * @returns Array of the deleted records in order (if a record could not be found null is returned).
8298
8317
  */
8299
- abstract delete(objects: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>> | null>>;
8318
+ abstract delete(objects: Identifier[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>> | null>>;
8300
8319
  /**
8301
8320
  * Deletes a record given its unique id.
8302
8321
  * @param object An object with a unique id.
@@ -8319,14 +8338,14 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8319
8338
  * @returns The deleted record, null if the record could not be found.
8320
8339
  * @throws If the record could not be found.
8321
8340
  */
8322
- abstract deleteOrThrow<K extends SelectableColumn<Record>>(id: string, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8341
+ abstract deleteOrThrow<K extends SelectableColumn<Record>>(id: Identifier, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8323
8342
  /**
8324
8343
  * Deletes a record given a unique id.
8325
8344
  * @param id The unique id.
8326
8345
  * @returns The deleted record, null if the record could not be found.
8327
8346
  * @throws If the record could not be found.
8328
8347
  */
8329
- abstract deleteOrThrow(id: string): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8348
+ abstract deleteOrThrow(id: Identifier): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8330
8349
  /**
8331
8350
  * Deletes multiple records given an array of objects with ids.
8332
8351
  * @param objects An array of objects with unique ids.
@@ -8349,14 +8368,14 @@ declare abstract class Repository<Record extends XataRecord> extends Query<Recor
8349
8368
  * @returns Array of the deleted records in order (if a record could not be found null is returned).
8350
8369
  * @throws If one or more records could not be found.
8351
8370
  */
8352
- abstract deleteOrThrow<K extends SelectableColumn<Record>>(objects: string[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>>>>;
8371
+ abstract deleteOrThrow<K extends SelectableColumn<Record>>(objects: Identifier[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>>>>;
8353
8372
  /**
8354
8373
  * Deletes multiple records given an array of unique ids.
8355
8374
  * @param objects An array of ids.
8356
8375
  * @returns Array of the deleted records in order.
8357
8376
  * @throws If one or more records could not be found.
8358
8377
  */
8359
- abstract deleteOrThrow(objects: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
8378
+ abstract deleteOrThrow(objects: Identifier[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
8360
8379
  /**
8361
8380
  * Search for records in the table.
8362
8381
  * @param query The query to search for.
@@ -8429,26 +8448,26 @@ declare class RestRepository<Record extends XataRecord> extends Query<Record, Se
8429
8448
  create(object: EditableData<Record> & Partial<Identifiable>, options?: {
8430
8449
  ifVersion?: number;
8431
8450
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8432
- create<K extends SelectableColumn<Record>>(id: string, object: EditableData<Record>, columns: K[], options?: {
8451
+ create<K extends SelectableColumn<Record>>(id: Identifier, object: EditableData<Record>, columns: K[], options?: {
8433
8452
  ifVersion?: number;
8434
8453
  }): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8435
- create(id: string, object: EditableData<Record>, options?: {
8454
+ create(id: Identifier, object: EditableData<Record>, options?: {
8436
8455
  ifVersion?: number;
8437
8456
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8438
8457
  create<K extends SelectableColumn<Record>>(objects: Array<EditableData<Record> & Partial<Identifiable>>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
8439
8458
  create(objects: Array<EditableData<Record> & Partial<Identifiable>>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
8440
- read<K extends SelectableColumn<Record>>(id: string, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns> | null>>;
8459
+ read<K extends SelectableColumn<Record>>(id: Identifier, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns> | null>>;
8441
8460
  read(id: string): Promise<Readonly<SelectedPick<Record, ['*']> | null>>;
8442
- read<K extends SelectableColumn<Record>>(ids: string[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
8443
- read(ids: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>> | null>>;
8461
+ read<K extends SelectableColumn<Record>>(ids: Identifier[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
8462
+ read(ids: Identifier[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>> | null>>;
8444
8463
  read<K extends SelectableColumn<Record>>(object: Identifiable, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns> | null>>;
8445
8464
  read(object: Identifiable): Promise<Readonly<SelectedPick<Record, ['*']> | null>>;
8446
8465
  read<K extends SelectableColumn<Record>>(objects: Identifiable[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
8447
8466
  read(objects: Identifiable[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>> | null>>;
8448
- readOrThrow<K extends SelectableColumn<Record>>(id: string, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8449
- readOrThrow(id: string): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8450
- readOrThrow<K extends SelectableColumn<Record>>(ids: string[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>>>>;
8451
- readOrThrow(ids: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
8467
+ readOrThrow<K extends SelectableColumn<Record>>(id: Identifier, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8468
+ readOrThrow(id: Identifier): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8469
+ readOrThrow<K extends SelectableColumn<Record>>(ids: Identifier[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>>>>;
8470
+ readOrThrow(ids: Identifier[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
8452
8471
  readOrThrow<K extends SelectableColumn<Record>>(object: Identifiable, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8453
8472
  readOrThrow(object: Identifiable): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8454
8473
  readOrThrow<K extends SelectableColumn<Record>>(objects: Identifiable[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>>>>;
@@ -8459,10 +8478,10 @@ declare class RestRepository<Record extends XataRecord> extends Query<Record, Se
8459
8478
  update(object: Partial<EditableData<Record>> & Identifiable, options?: {
8460
8479
  ifVersion?: number;
8461
8480
  }): Promise<Readonly<SelectedPick<Record, ['*']>> | null>;
8462
- update<K extends SelectableColumn<Record>>(id: string, object: Partial<EditableData<Record>>, columns: K[], options?: {
8481
+ update<K extends SelectableColumn<Record>>(id: Identifier, object: Partial<EditableData<Record>>, columns: K[], options?: {
8463
8482
  ifVersion?: number;
8464
8483
  }): Promise<Readonly<SelectedPick<Record, typeof columns>> | null>;
8465
- update(id: string, object: Partial<EditableData<Record>>, options?: {
8484
+ update(id: Identifier, object: Partial<EditableData<Record>>, options?: {
8466
8485
  ifVersion?: number;
8467
8486
  }): Promise<Readonly<SelectedPick<Record, ['*']>> | null>;
8468
8487
  update<K extends SelectableColumn<Record>>(objects: Array<Partial<EditableData<Record>> & Identifiable>, columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
@@ -8473,58 +8492,58 @@ declare class RestRepository<Record extends XataRecord> extends Query<Record, Se
8473
8492
  updateOrThrow(object: Partial<EditableData<Record>> & Identifiable, options?: {
8474
8493
  ifVersion?: number;
8475
8494
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8476
- updateOrThrow<K extends SelectableColumn<Record>>(id: string, object: Partial<EditableData<Record>>, columns: K[], options?: {
8495
+ updateOrThrow<K extends SelectableColumn<Record>>(id: Identifier, object: Partial<EditableData<Record>>, columns: K[], options?: {
8477
8496
  ifVersion?: number;
8478
8497
  }): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8479
- updateOrThrow(id: string, object: Partial<EditableData<Record>>, options?: {
8498
+ updateOrThrow(id: Identifier, object: Partial<EditableData<Record>>, options?: {
8480
8499
  ifVersion?: number;
8481
8500
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8482
8501
  updateOrThrow<K extends SelectableColumn<Record>>(objects: Array<Partial<EditableData<Record>> & Identifiable>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
8483
8502
  updateOrThrow(objects: Array<Partial<EditableData<Record>> & Identifiable>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
8484
- createOrUpdate<K extends SelectableColumn<Record>>(object: EditableData<Record> & Identifiable, columns: K[], options?: {
8503
+ createOrUpdate<K extends SelectableColumn<Record>>(object: EditableData<Record> & Partial<Identifiable>, columns: K[], options?: {
8485
8504
  ifVersion?: number;
8486
8505
  }): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8487
- createOrUpdate(object: EditableData<Record> & Identifiable, options?: {
8506
+ createOrUpdate(object: EditableData<Record> & Partial<Identifiable>, options?: {
8488
8507
  ifVersion?: number;
8489
8508
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8490
- createOrUpdate<K extends SelectableColumn<Record>>(id: string, object: Omit<EditableData<Record>, 'id'>, columns: K[], options?: {
8509
+ createOrUpdate<K extends SelectableColumn<Record>>(id: Identifier, object: Omit<EditableData<Record>, 'id'>, columns: K[], options?: {
8491
8510
  ifVersion?: number;
8492
8511
  }): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8493
- createOrUpdate(id: string, object: Omit<EditableData<Record>, 'id'>, options?: {
8512
+ createOrUpdate(id: Identifier, object: Omit<EditableData<Record>, 'id'>, options?: {
8494
8513
  ifVersion?: number;
8495
8514
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8496
- createOrUpdate<K extends SelectableColumn<Record>>(objects: Array<EditableData<Record> & Identifiable>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
8497
- createOrUpdate(objects: Array<EditableData<Record> & Identifiable>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
8498
- createOrReplace<K extends SelectableColumn<Record>>(object: EditableData<Record> & Identifiable, columns: K[], options?: {
8515
+ createOrUpdate<K extends SelectableColumn<Record>>(objects: Array<EditableData<Record> & Partial<Identifiable>>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
8516
+ createOrUpdate(objects: Array<EditableData<Record> & Partial<Identifiable>>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
8517
+ createOrReplace<K extends SelectableColumn<Record>>(object: EditableData<Record> & Partial<Identifiable>, columns: K[], options?: {
8499
8518
  ifVersion?: number;
8500
8519
  }): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8501
- createOrReplace(object: EditableData<Record> & Identifiable, options?: {
8520
+ createOrReplace(object: EditableData<Record> & Partial<Identifiable>, options?: {
8502
8521
  ifVersion?: number;
8503
8522
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8504
- createOrReplace<K extends SelectableColumn<Record>>(id: string, object: Omit<EditableData<Record>, 'id'>, columns: K[], options?: {
8523
+ createOrReplace<K extends SelectableColumn<Record>>(id: Identifier | undefined, object: Omit<EditableData<Record>, 'id'>, columns: K[], options?: {
8505
8524
  ifVersion?: number;
8506
8525
  }): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8507
- createOrReplace(id: string, object: Omit<EditableData<Record>, 'id'>, options?: {
8526
+ createOrReplace(id: Identifier | undefined, object: Omit<EditableData<Record>, 'id'>, options?: {
8508
8527
  ifVersion?: number;
8509
8528
  }): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8510
- createOrReplace<K extends SelectableColumn<Record>>(objects: Array<EditableData<Record> & Identifiable>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
8511
- createOrReplace(objects: Array<EditableData<Record> & Identifiable>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
8529
+ createOrReplace<K extends SelectableColumn<Record>>(objects: Array<EditableData<Record> & Partial<Identifiable>>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
8530
+ createOrReplace(objects: Array<EditableData<Record> & Partial<Identifiable>>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
8512
8531
  delete<K extends SelectableColumn<Record>>(object: Identifiable, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>> | null>;
8513
8532
  delete(object: Identifiable): Promise<Readonly<SelectedPick<Record, ['*']>> | null>;
8514
- delete<K extends SelectableColumn<Record>>(id: string, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>> | null>;
8515
- delete(id: string): Promise<Readonly<SelectedPick<Record, ['*']>> | null>;
8533
+ delete<K extends SelectableColumn<Record>>(id: Identifier, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>> | null>;
8534
+ delete(id: Identifier): Promise<Readonly<SelectedPick<Record, ['*']>> | null>;
8516
8535
  delete<K extends SelectableColumn<Record>>(objects: Array<Partial<EditableData<Record>> & Identifiable>, columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
8517
8536
  delete(objects: Array<Partial<EditableData<Record>> & Identifiable>): Promise<Array<Readonly<SelectedPick<Record, ['*']>> | null>>;
8518
- delete<K extends SelectableColumn<Record>>(objects: string[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
8519
- delete(objects: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>> | null>>;
8537
+ delete<K extends SelectableColumn<Record>>(objects: Identifier[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
8538
+ delete(objects: Identifier[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>> | null>>;
8520
8539
  deleteOrThrow<K extends SelectableColumn<Record>>(object: Identifiable, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8521
8540
  deleteOrThrow(object: Identifiable): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8522
- deleteOrThrow<K extends SelectableColumn<Record>>(id: string, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8523
- deleteOrThrow(id: string): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8541
+ deleteOrThrow<K extends SelectableColumn<Record>>(id: Identifier, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
8542
+ deleteOrThrow(id: Identifier): Promise<Readonly<SelectedPick<Record, ['*']>>>;
8524
8543
  deleteOrThrow<K extends SelectableColumn<Record>>(objects: Array<Partial<EditableData<Record>> & Identifiable>, columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>>>>;
8525
8544
  deleteOrThrow(objects: Array<Partial<EditableData<Record>> & Identifiable>): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
8526
- deleteOrThrow<K extends SelectableColumn<Record>>(objects: string[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>>>>;
8527
- deleteOrThrow(objects: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
8545
+ deleteOrThrow<K extends SelectableColumn<Record>>(objects: Identifier[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>>>>;
8546
+ deleteOrThrow(objects: Identifier[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
8528
8547
  search(query: string, options?: {
8529
8548
  fuzziness?: FuzzinessExpression;
8530
8549
  prefix?: PrefixExpression;
package/dist/index.mjs CHANGED
@@ -490,7 +490,7 @@ function defaultOnOpen(response) {
490
490
  }
491
491
  }
492
492
 
493
- const VERSION = "0.24.2";
493
+ const VERSION = "0.24.3";
494
494
 
495
495
  class ErrorWithCause extends Error {
496
496
  constructor(message, options) {
@@ -3183,12 +3183,22 @@ class RestRepository extends Query {
3183
3183
  return result;
3184
3184
  }
3185
3185
  if (isString(a) && isObject(b)) {
3186
+ if (a === "")
3187
+ throw new Error("The id can't be empty");
3186
3188
  const columns = isStringArray(c) ? c : void 0;
3187
- return __privateMethod$2(this, _upsertRecordWithID, upsertRecordWithID_fn).call(this, a, b, columns, { ifVersion });
3189
+ return await __privateMethod$2(this, _upsertRecordWithID, upsertRecordWithID_fn).call(this, a, b, columns, { ifVersion });
3188
3190
  }
3189
3191
  if (isObject(a) && isString(a.id)) {
3192
+ if (a.id === "")
3193
+ throw new Error("The id can't be empty");
3190
3194
  const columns = isStringArray(c) ? c : void 0;
3191
- return __privateMethod$2(this, _upsertRecordWithID, upsertRecordWithID_fn).call(this, a.id, { ...a, id: void 0 }, columns, { ifVersion });
3195
+ return await __privateMethod$2(this, _upsertRecordWithID, upsertRecordWithID_fn).call(this, a.id, { ...a, id: void 0 }, columns, { ifVersion });
3196
+ }
3197
+ if (!isDefined(a) && isObject(b)) {
3198
+ return await this.create(b, c);
3199
+ }
3200
+ if (isObject(a) && !isDefined(a.id)) {
3201
+ return await this.create(a, b);
3192
3202
  }
3193
3203
  throw new Error("Invalid arguments for createOrUpdate method");
3194
3204
  });
@@ -3205,12 +3215,22 @@ class RestRepository extends Query {
3205
3215
  return result;
3206
3216
  }
3207
3217
  if (isString(a) && isObject(b)) {
3218
+ if (a === "")
3219
+ throw new Error("The id can't be empty");
3208
3220
  const columns = isStringArray(c) ? c : void 0;
3209
- return __privateMethod$2(this, _insertRecordWithId, insertRecordWithId_fn).call(this, a, b, columns, { createOnly: false, ifVersion });
3221
+ return await __privateMethod$2(this, _insertRecordWithId, insertRecordWithId_fn).call(this, a, b, columns, { createOnly: false, ifVersion });
3210
3222
  }
3211
3223
  if (isObject(a) && isString(a.id)) {
3224
+ if (a.id === "")
3225
+ throw new Error("The id can't be empty");
3212
3226
  const columns = isStringArray(c) ? c : void 0;
3213
- return __privateMethod$2(this, _insertRecordWithId, insertRecordWithId_fn).call(this, a.id, { ...a, id: void 0 }, columns, { createOnly: false, ifVersion });
3227
+ return await __privateMethod$2(this, _insertRecordWithId, insertRecordWithId_fn).call(this, a.id, { ...a, id: void 0 }, columns, { createOnly: false, ifVersion });
3228
+ }
3229
+ if (!isDefined(a) && isObject(b)) {
3230
+ return await this.create(b, c);
3231
+ }
3232
+ if (isObject(a) && !isDefined(a.id)) {
3233
+ return await this.create(a, b);
3214
3234
  }
3215
3235
  throw new Error("Invalid arguments for createOrReplace method");
3216
3236
  });
@@ -3430,6 +3450,8 @@ insertRecordWithoutId_fn = async function(object, columns = ["*"]) {
3430
3450
  };
3431
3451
  _insertRecordWithId = new WeakSet();
3432
3452
  insertRecordWithId_fn = async function(recordId, object, columns = ["*"], { createOnly, ifVersion }) {
3453
+ if (!recordId)
3454
+ return null;
3433
3455
  const record = transformObjectLinks(object);
3434
3456
  const response = await insertRecordWithID({
3435
3457
  pathParams: {
@@ -3477,6 +3499,8 @@ insertRecords_fn = async function(objects, { createOnly, ifVersion }) {
3477
3499
  };
3478
3500
  _updateRecordWithID = new WeakSet();
3479
3501
  updateRecordWithID_fn = async function(recordId, object, columns = ["*"], { ifVersion }) {
3502
+ if (!recordId)
3503
+ return null;
3480
3504
  const { id: _id, ...record } = transformObjectLinks(object);
3481
3505
  try {
3482
3506
  const response = await updateRecordWithID({
@@ -3531,6 +3555,8 @@ updateRecords_fn = async function(objects, { ifVersion, upsert }) {
3531
3555
  };
3532
3556
  _upsertRecordWithID = new WeakSet();
3533
3557
  upsertRecordWithID_fn = async function(recordId, object, columns = ["*"], { ifVersion }) {
3558
+ if (!recordId)
3559
+ return null;
3534
3560
  const response = await upsertRecordWithID({
3535
3561
  pathParams: {
3536
3562
  workspace: "{workspaceId}",
@@ -3548,6 +3574,8 @@ upsertRecordWithID_fn = async function(recordId, object, columns = ["*"], { ifVe
3548
3574
  };
3549
3575
  _deleteRecord = new WeakSet();
3550
3576
  deleteRecord_fn = async function(recordId, columns = ["*"]) {
3577
+ if (!recordId)
3578
+ return null;
3551
3579
  try {
3552
3580
  const response = await deleteRecord({
3553
3581
  pathParams: {
@@ -3572,7 +3600,7 @@ deleteRecord_fn = async function(recordId, columns = ["*"]) {
3572
3600
  _deleteRecords = new WeakSet();
3573
3601
  deleteRecords_fn = async function(recordIds) {
3574
3602
  const chunkedOperations = chunk(
3575
- recordIds.map((id) => ({ delete: { table: __privateGet$4(this, _table), id } })),
3603
+ compact(recordIds).map((id) => ({ delete: { table: __privateGet$4(this, _table), id } })),
3576
3604
  BULK_OPERATION_MAX_SIZE
3577
3605
  );
3578
3606
  for (const operations of chunkedOperations) {