@xata.io/client 0.0.0-alpha.vf963379 → 0.0.0-alpha.vf9cb959

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
@@ -2873,7 +2873,7 @@ declare type ValueAtColumn<O, P extends SelectableColumn<O>> = P extends '*' ? V
2873
2873
  declare type MAX_RECURSION = 5;
2874
2874
  declare type NestedColumns<O, RecursivePath extends any[]> = RecursivePath['length'] extends MAX_RECURSION ? never : If<IsObject<O>, Values<{
2875
2875
  [K in DataProps<O>]: If<IsArray<RemoveNullable<O[K]>>, K, // If the property is an array, we stop recursion. We don't support object arrays yet
2876
- If<IsObject<RemoveNullable<O[K]>>, RemoveNullable<O[K]> extends XataRecord ? SelectableColumn<RemoveNullable<O[K]>, [...RecursivePath, O[K]]> extends string ? K | `${K}.${SelectableColumn<RemoveNullable<O[K]>, [...RecursivePath, O[K]]>}` : never : `${K}.${StringKeys<RemoveNullable<O[K]>> | '*'}`, // This allows usage of objects that are not links
2876
+ If<IsObject<RemoveNullable<O[K]>>, RemoveNullable<O[K]> extends XataRecord ? SelectableColumn<RemoveNullable<O[K]>, [...RecursivePath, O[K]]> extends infer Column ? Column extends string ? K | `${K}.${Column}` : never : never : `${K}.${StringKeys<RemoveNullable<O[K]>> | '*'}`, // This allows usage of objects that are not links
2877
2877
  K>>;
2878
2878
  }>, never>;
2879
2879
  declare type DataProps<O> = Exclude<StringKeys<O>, StringKeys<XataRecord>>;
@@ -2902,16 +2902,11 @@ interface BaseData {
2902
2902
  /**
2903
2903
  * Represents a persisted record from the database.
2904
2904
  */
2905
- interface XataRecord extends Identifiable {
2905
+ interface XataRecord<ExtraMetadata extends Record<string, unknown> = Record<string, unknown>> extends Identifiable {
2906
2906
  /**
2907
- * Metadata of this record.
2907
+ * Get metadata of this record.
2908
2908
  */
2909
- xata: {
2910
- /**
2911
- * Number that is increased every time the record is updated.
2912
- */
2913
- version: number;
2914
- };
2909
+ getMetadata(): XataRecordMetadata & ExtraMetadata;
2915
2910
  /**
2916
2911
  * Retrieves a refreshed copy of the current record from the database.
2917
2912
  */
@@ -2919,7 +2914,7 @@ interface XataRecord extends Identifiable {
2919
2914
  /**
2920
2915
  * Performs a partial update of the current record. On success a new object is
2921
2916
  * returned and the current object is not mutated.
2922
- * @param data The columns and their values that have to be updated.
2917
+ * @param partialUpdate The columns and their values that have to be updated.
2923
2918
  * @returns A new record containing the latest values for all the columns of the current record.
2924
2919
  */
2925
2920
  update(partialUpdate: Partial<EditableData<Omit<this, keyof XataRecord>>>): Promise<Readonly<SelectedPick<this, ['*']>>>;
@@ -2938,11 +2933,18 @@ declare type Link<Record extends XataRecord> = Omit<XataRecord, 'read' | 'update
2938
2933
  /**
2939
2934
  * Performs a partial update of the current record. On success a new object is
2940
2935
  * returned and the current object is not mutated.
2941
- * @param data The columns and their values that have to be updated.
2936
+ * @param partialUpdate The columns and their values that have to be updated.
2942
2937
  * @returns A new record containing the latest values for all the columns of the current record.
2943
2938
  */
2944
2939
  update(partialUpdate: Partial<EditableData<Omit<Record, keyof XataRecord>>>): Promise<Readonly<SelectedPick<Record, ['*']>>>;
2945
2940
  };
2941
+ declare type XataRecordMetadata = {
2942
+ /**
2943
+ * Number that is increased every time the record is updated.
2944
+ */
2945
+ version: number;
2946
+ warnings?: string[];
2947
+ };
2946
2948
  declare function isIdentifiable(x: any): x is Identifiable & Record<string, unknown>;
2947
2949
  declare function isXataRecord(x: any): x is XataRecord & Record<string, unknown>;
2948
2950
  declare type EditableData<O extends BaseData> = {
@@ -3081,7 +3083,7 @@ declare type QueryOptions<T extends XataRecord> = BaseOptions<T> & (CursorQueryO
3081
3083
  declare class Query<Record extends XataRecord, Result extends XataRecord = Record> implements Paginable<Record, Result> {
3082
3084
  #private;
3083
3085
  readonly meta: PaginationQueryMeta;
3084
- readonly records: Result[];
3086
+ readonly records: RecordArray<Result>;
3085
3087
  constructor(repository: Repository<Record> | null, table: string, data: Partial<QueryOptions<Record>>, rawParent?: Partial<QueryOptions<Record>>);
3086
3088
  getQueryOptions(): QueryOptions<Record>;
3087
3089
  key(): string;
@@ -3204,19 +3206,19 @@ declare class Query<Record extends XataRecord, Result extends XataRecord = Recor
3204
3206
  * Performs the query in the database and returns a set of results.
3205
3207
  * @returns An array of records from the database.
3206
3208
  */
3207
- getMany(): Promise<Result[]>;
3209
+ getMany(): Promise<RecordArray<Result>>;
3208
3210
  /**
3209
3211
  * Performs the query in the database and returns a set of results.
3210
3212
  * @param options Additional options to be used when performing the query.
3211
3213
  * @returns An array of records from the database.
3212
3214
  */
3213
- getMany(options: OmitBy<QueryOptions<Record>, 'columns'>): Promise<Result[]>;
3215
+ getMany(options: OmitBy<QueryOptions<Record>, 'columns'>): Promise<RecordArray<Result>>;
3214
3216
  /**
3215
3217
  * Performs the query in the database and returns a set of results.
3216
3218
  * @param options Additional options to be used when performing the query.
3217
3219
  * @returns An array of records from the database.
3218
3220
  */
3219
- getMany<Options extends RequiredBy<QueryOptions<Record>, 'columns'>>(options: Options): Promise<SelectedPick<Record, typeof options['columns']>[]>;
3221
+ getMany<Options extends RequiredBy<QueryOptions<Record>, 'columns'>>(options: Options): Promise<RecordArray<SelectedPick<Record, typeof options['columns']>>>;
3220
3222
  /**
3221
3223
  * Performs the query in the database and returns all the results.
3222
3224
  * Warning: If there are a large number of results, this method can have performance implications.
@@ -3302,7 +3304,7 @@ declare type PaginationQueryMeta = {
3302
3304
  };
3303
3305
  interface Paginable<Record extends XataRecord, Result extends XataRecord = Record> {
3304
3306
  meta: PaginationQueryMeta;
3305
- records: Result[];
3307
+ records: RecordArray<Result>;
3306
3308
  nextPage(size?: number, offset?: number): Promise<Page<Record, Result>>;
3307
3309
  previousPage(size?: number, offset?: number): Promise<Page<Record, Result>>;
3308
3310
  firstPage(size?: number, offset?: number): Promise<Page<Record, Result>>;
@@ -3322,7 +3324,7 @@ declare class Page<Record extends XataRecord, Result extends XataRecord = Record
3322
3324
  /**
3323
3325
  * The set of results for this page.
3324
3326
  */
3325
- readonly records: Result[];
3327
+ readonly records: RecordArray<Result>;
3326
3328
  constructor(query: Query<Record, Result>, meta: PaginationQueryMeta, records?: Result[]);
3327
3329
  /**
3328
3330
  * Retrieves the next page of results.
@@ -3371,10 +3373,42 @@ declare type OffsetNavigationOptions = {
3371
3373
  offset?: number;
3372
3374
  };
3373
3375
  declare const PAGINATION_MAX_SIZE = 200;
3374
- declare const PAGINATION_DEFAULT_SIZE = 200;
3376
+ declare const PAGINATION_DEFAULT_SIZE = 20;
3375
3377
  declare const PAGINATION_MAX_OFFSET = 800;
3376
3378
  declare const PAGINATION_DEFAULT_OFFSET = 0;
3377
3379
  declare function isCursorPaginationOptions(options: Record<string, unknown> | undefined | null): options is CursorNavigationOptions;
3380
+ declare class RecordArray<Result extends XataRecord> extends Array<Result> {
3381
+ #private;
3382
+ constructor(page: Paginable<any, Result>, overrideRecords?: Result[]);
3383
+ /**
3384
+ * Retrieve next page of records
3385
+ *
3386
+ * @returns A new array of objects
3387
+ */
3388
+ nextPage(size?: number, offset?: number): Promise<RecordArray<Result>>;
3389
+ /**
3390
+ * Retrieve previous page of records
3391
+ *
3392
+ * @returns A new array of objects
3393
+ */
3394
+ previousPage(size?: number, offset?: number): Promise<RecordArray<Result>>;
3395
+ /**
3396
+ * Retrieve first page of records
3397
+ *
3398
+ * @returns A new array of objects
3399
+ */
3400
+ firstPage(size?: number, offset?: number): Promise<RecordArray<Result>>;
3401
+ /**
3402
+ * Retrieve last page of records
3403
+ *
3404
+ * @returns A new array of objects
3405
+ */
3406
+ lastPage(size?: number, offset?: number): Promise<RecordArray<Result>>;
3407
+ /**
3408
+ * @returns Boolean indicating if there is a next page
3409
+ */
3410
+ hasNextPage(): boolean;
3411
+ }
3378
3412
 
3379
3413
  /**
3380
3414
  * Common interface for performing operations on a table.
@@ -3627,13 +3661,12 @@ declare class SearchPlugin<Schemas extends Record<string, BaseData>> extends Xat
3627
3661
  constructor(db: SchemaPluginResult<Schemas>);
3628
3662
  build({ getFetchProps }: XataPluginOptions): SearchPluginResult<Schemas>;
3629
3663
  }
3630
- declare type SearchXataRecord = XataRecord & {
3631
- xata: {
3632
- table?: string;
3633
- highlight?: {
3634
- [key: string]: string[] | {
3635
- [key: string]: any;
3636
- };
3664
+ declare type SearchXataRecord = XataRecord<SearchExtraProperties>;
3665
+ declare type SearchExtraProperties = {
3666
+ table: string;
3667
+ highlight?: {
3668
+ [key: string]: string[] | {
3669
+ [key: string]: any;
3637
3670
  };
3638
3671
  };
3639
3672
  };
@@ -3683,4 +3716,4 @@ declare class XataError extends Error {
3683
3716
  constructor(message: string, status: number);
3684
3717
  }
3685
3718
 
3686
- export { AcceptWorkspaceMemberInviteError, AcceptWorkspaceMemberInvitePathParams, AcceptWorkspaceMemberInviteVariables, AddGitBranchesEntryError, AddGitBranchesEntryPathParams, AddGitBranchesEntryRequestBody, AddGitBranchesEntryResponse, AddGitBranchesEntryVariables, AddTableColumnError, AddTableColumnPathParams, AddTableColumnVariables, BaseClient, BaseClientOptions, BaseData, BulkInsertTableRecordsError, BulkInsertTableRecordsPathParams, BulkInsertTableRecordsRequestBody, BulkInsertTableRecordsResponse, BulkInsertTableRecordsVariables, CacheImpl, CancelWorkspaceMemberInviteError, CancelWorkspaceMemberInvitePathParams, CancelWorkspaceMemberInviteVariables, ClientConstructor, CreateBranchError, CreateBranchPathParams, CreateBranchQueryParams, CreateBranchRequestBody, CreateBranchVariables, CreateDatabaseError, CreateDatabasePathParams, CreateDatabaseRequestBody, CreateDatabaseResponse, CreateDatabaseVariables, CreateTableError, CreateTablePathParams, CreateTableVariables, CreateUserAPIKeyError, CreateUserAPIKeyPathParams, CreateUserAPIKeyResponse, CreateUserAPIKeyVariables, CreateWorkspaceError, CreateWorkspaceVariables, CursorNavigationOptions, DeleteBranchError, DeleteBranchPathParams, DeleteBranchVariables, DeleteColumnError, DeleteColumnPathParams, DeleteColumnVariables, DeleteDatabaseError, DeleteDatabasePathParams, DeleteDatabaseVariables, DeleteRecordError, DeleteRecordPathParams, DeleteRecordVariables, DeleteTableError, DeleteTablePathParams, DeleteTableVariables, DeleteUserAPIKeyError, DeleteUserAPIKeyPathParams, DeleteUserAPIKeyVariables, DeleteUserError, DeleteUserVariables, DeleteWorkspaceError, DeleteWorkspacePathParams, DeleteWorkspaceVariables, EditableData, ExecuteBranchMigrationPlanError, ExecuteBranchMigrationPlanPathParams, ExecuteBranchMigrationPlanRequestBody, ExecuteBranchMigrationPlanVariables, FetchImpl, FetcherExtraProps, GetBranchDetailsError, GetBranchDetailsPathParams, GetBranchDetailsVariables, GetBranchListError, GetBranchListPathParams, GetBranchListVariables, GetBranchMetadataError, GetBranchMetadataPathParams, GetBranchMetadataVariables, GetBranchMigrationHistoryError, GetBranchMigrationHistoryPathParams, GetBranchMigrationHistoryRequestBody, GetBranchMigrationHistoryResponse, GetBranchMigrationHistoryVariables, GetBranchMigrationPlanError, GetBranchMigrationPlanPathParams, GetBranchMigrationPlanVariables, GetBranchStatsError, GetBranchStatsPathParams, GetBranchStatsResponse, GetBranchStatsVariables, GetColumnError, GetColumnPathParams, GetColumnVariables, GetDatabaseListError, GetDatabaseListPathParams, GetDatabaseListVariables, GetGitBranchesMappingError, GetGitBranchesMappingPathParams, GetGitBranchesMappingVariables, GetRecordError, GetRecordPathParams, GetRecordRequestBody, GetRecordVariables, GetTableColumnsError, GetTableColumnsPathParams, GetTableColumnsResponse, GetTableColumnsVariables, GetTableSchemaError, GetTableSchemaPathParams, GetTableSchemaResponse, GetTableSchemaVariables, GetUserAPIKeysError, GetUserAPIKeysResponse, GetUserAPIKeysVariables, GetUserError, GetUserVariables, GetWorkspaceError, GetWorkspaceMembersListError, GetWorkspaceMembersListPathParams, GetWorkspaceMembersListVariables, GetWorkspacePathParams, GetWorkspaceVariables, GetWorkspacesListError, GetWorkspacesListResponse, GetWorkspacesListVariables, Identifiable, InsertRecordError, InsertRecordPathParams, InsertRecordResponse, InsertRecordVariables, InsertRecordWithIDError, InsertRecordWithIDPathParams, InsertRecordWithIDQueryParams, InsertRecordWithIDVariables, InviteWorkspaceMemberError, InviteWorkspaceMemberPathParams, InviteWorkspaceMemberRequestBody, InviteWorkspaceMemberVariables, OffsetNavigationOptions, operationsByTag as Operations, PAGINATION_DEFAULT_OFFSET, PAGINATION_DEFAULT_SIZE, PAGINATION_MAX_OFFSET, PAGINATION_MAX_SIZE, Page, Paginable, PaginationQueryMeta, Query, QueryTableError, QueryTablePathParams, QueryTableRequestBody, QueryTableVariables, RemoveGitBranchesEntryError, RemoveGitBranchesEntryPathParams, RemoveGitBranchesEntryQueryParams, RemoveGitBranchesEntryVariables, RemoveWorkspaceMemberError, RemoveWorkspaceMemberPathParams, RemoveWorkspaceMemberVariables, Repository, ResendWorkspaceMemberInviteError, ResendWorkspaceMemberInvitePathParams, ResendWorkspaceMemberInviteVariables, ResolveBranchError, ResolveBranchPathParams, ResolveBranchQueryParams, ResolveBranchResponse, ResolveBranchVariables, responses as Responses, RestRepository, SchemaDefinition, SchemaPlugin, SchemaPluginResult, schemas as Schemas, SearchBranchError, SearchBranchPathParams, SearchBranchRequestBody, SearchBranchVariables, SearchOptions, SearchPlugin, SearchPluginResult, SearchTableError, SearchTablePathParams, SearchTableRequestBody, SearchTableVariables, SelectableColumn, SelectedPick, SetTableSchemaError, SetTableSchemaPathParams, SetTableSchemaRequestBody, SetTableSchemaVariables, SimpleCache, SimpleCacheOptions, UpdateBranchMetadataError, UpdateBranchMetadataPathParams, UpdateBranchMetadataVariables, UpdateColumnError, UpdateColumnPathParams, UpdateColumnRequestBody, UpdateColumnVariables, UpdateRecordWithIDError, UpdateRecordWithIDPathParams, UpdateRecordWithIDQueryParams, UpdateRecordWithIDVariables, UpdateTableError, UpdateTablePathParams, UpdateTableRequestBody, UpdateTableVariables, UpdateUserError, UpdateUserVariables, UpdateWorkspaceError, UpdateWorkspaceMemberRoleError, UpdateWorkspaceMemberRolePathParams, UpdateWorkspaceMemberRoleRequestBody, UpdateWorkspaceMemberRoleVariables, UpdateWorkspacePathParams, UpdateWorkspaceVariables, UpsertRecordWithIDError, UpsertRecordWithIDPathParams, UpsertRecordWithIDQueryParams, UpsertRecordWithIDVariables, ValueAtColumn, XataApiClient, XataApiClientOptions, XataApiPlugin, XataError, XataPlugin, XataPluginOptions, XataRecord, acceptWorkspaceMemberInvite, addGitBranchesEntry, addTableColumn, buildClient, bulkInsertTableRecords, cancelWorkspaceMemberInvite, contains, createBranch, createDatabase, createTable, createUserAPIKey, createWorkspace, deleteBranch, deleteColumn, deleteDatabase, deleteRecord, deleteTable, deleteUser, deleteUserAPIKey, deleteWorkspace, endsWith, executeBranchMigrationPlan, exists, ge, getAPIKey, getBranchDetails, getBranchList, getBranchMetadata, getBranchMigrationHistory, getBranchMigrationPlan, getBranchStats, getColumn, getCurrentBranchDetails, getCurrentBranchName, getDatabaseList, getDatabaseURL, getGitBranchesMapping, getRecord, getTableColumns, getTableSchema, getUser, getUserAPIKeys, getWorkspace, getWorkspaceMembersList, getWorkspacesList, gt, gte, includes, includesAll, includesAny, includesNone, insertRecord, insertRecordWithID, inviteWorkspaceMember, is, isCursorPaginationOptions, isIdentifiable, isNot, isXataRecord, le, lt, lte, notExists, operationsByTag, pattern, queryTable, removeGitBranchesEntry, removeWorkspaceMember, resendWorkspaceMemberInvite, resolveBranch, searchBranch, searchTable, setTableSchema, startsWith, updateBranchMetadata, updateColumn, updateRecordWithID, updateTable, updateUser, updateWorkspace, updateWorkspaceMemberRole, upsertRecordWithID };
3719
+ export { AcceptWorkspaceMemberInviteError, AcceptWorkspaceMemberInvitePathParams, AcceptWorkspaceMemberInviteVariables, AddGitBranchesEntryError, AddGitBranchesEntryPathParams, AddGitBranchesEntryRequestBody, AddGitBranchesEntryResponse, AddGitBranchesEntryVariables, AddTableColumnError, AddTableColumnPathParams, AddTableColumnVariables, BaseClient, BaseClientOptions, BaseData, BulkInsertTableRecordsError, BulkInsertTableRecordsPathParams, BulkInsertTableRecordsRequestBody, BulkInsertTableRecordsResponse, BulkInsertTableRecordsVariables, CacheImpl, CancelWorkspaceMemberInviteError, CancelWorkspaceMemberInvitePathParams, CancelWorkspaceMemberInviteVariables, ClientConstructor, CreateBranchError, CreateBranchPathParams, CreateBranchQueryParams, CreateBranchRequestBody, CreateBranchVariables, CreateDatabaseError, CreateDatabasePathParams, CreateDatabaseRequestBody, CreateDatabaseResponse, CreateDatabaseVariables, CreateTableError, CreateTablePathParams, CreateTableVariables, CreateUserAPIKeyError, CreateUserAPIKeyPathParams, CreateUserAPIKeyResponse, CreateUserAPIKeyVariables, CreateWorkspaceError, CreateWorkspaceVariables, CursorNavigationOptions, DeleteBranchError, DeleteBranchPathParams, DeleteBranchVariables, DeleteColumnError, DeleteColumnPathParams, DeleteColumnVariables, DeleteDatabaseError, DeleteDatabasePathParams, DeleteDatabaseVariables, DeleteRecordError, DeleteRecordPathParams, DeleteRecordVariables, DeleteTableError, DeleteTablePathParams, DeleteTableVariables, DeleteUserAPIKeyError, DeleteUserAPIKeyPathParams, DeleteUserAPIKeyVariables, DeleteUserError, DeleteUserVariables, DeleteWorkspaceError, DeleteWorkspacePathParams, DeleteWorkspaceVariables, EditableData, ExecuteBranchMigrationPlanError, ExecuteBranchMigrationPlanPathParams, ExecuteBranchMigrationPlanRequestBody, ExecuteBranchMigrationPlanVariables, FetchImpl, FetcherExtraProps, GetBranchDetailsError, GetBranchDetailsPathParams, GetBranchDetailsVariables, GetBranchListError, GetBranchListPathParams, GetBranchListVariables, GetBranchMetadataError, GetBranchMetadataPathParams, GetBranchMetadataVariables, GetBranchMigrationHistoryError, GetBranchMigrationHistoryPathParams, GetBranchMigrationHistoryRequestBody, GetBranchMigrationHistoryResponse, GetBranchMigrationHistoryVariables, GetBranchMigrationPlanError, GetBranchMigrationPlanPathParams, GetBranchMigrationPlanVariables, GetBranchStatsError, GetBranchStatsPathParams, GetBranchStatsResponse, GetBranchStatsVariables, GetColumnError, GetColumnPathParams, GetColumnVariables, GetDatabaseListError, GetDatabaseListPathParams, GetDatabaseListVariables, GetGitBranchesMappingError, GetGitBranchesMappingPathParams, GetGitBranchesMappingVariables, GetRecordError, GetRecordPathParams, GetRecordRequestBody, GetRecordVariables, GetTableColumnsError, GetTableColumnsPathParams, GetTableColumnsResponse, GetTableColumnsVariables, GetTableSchemaError, GetTableSchemaPathParams, GetTableSchemaResponse, GetTableSchemaVariables, GetUserAPIKeysError, GetUserAPIKeysResponse, GetUserAPIKeysVariables, GetUserError, GetUserVariables, GetWorkspaceError, GetWorkspaceMembersListError, GetWorkspaceMembersListPathParams, GetWorkspaceMembersListVariables, GetWorkspacePathParams, GetWorkspaceVariables, GetWorkspacesListError, GetWorkspacesListResponse, GetWorkspacesListVariables, Identifiable, InsertRecordError, InsertRecordPathParams, InsertRecordResponse, InsertRecordVariables, InsertRecordWithIDError, InsertRecordWithIDPathParams, InsertRecordWithIDQueryParams, InsertRecordWithIDVariables, InviteWorkspaceMemberError, InviteWorkspaceMemberPathParams, InviteWorkspaceMemberRequestBody, InviteWorkspaceMemberVariables, OffsetNavigationOptions, operationsByTag as Operations, PAGINATION_DEFAULT_OFFSET, PAGINATION_DEFAULT_SIZE, PAGINATION_MAX_OFFSET, PAGINATION_MAX_SIZE, Page, Paginable, PaginationQueryMeta, Query, QueryTableError, QueryTablePathParams, QueryTableRequestBody, QueryTableVariables, RecordArray, RemoveGitBranchesEntryError, RemoveGitBranchesEntryPathParams, RemoveGitBranchesEntryQueryParams, RemoveGitBranchesEntryVariables, RemoveWorkspaceMemberError, RemoveWorkspaceMemberPathParams, RemoveWorkspaceMemberVariables, Repository, ResendWorkspaceMemberInviteError, ResendWorkspaceMemberInvitePathParams, ResendWorkspaceMemberInviteVariables, ResolveBranchError, ResolveBranchPathParams, ResolveBranchQueryParams, ResolveBranchResponse, ResolveBranchVariables, responses as Responses, RestRepository, SchemaDefinition, SchemaPlugin, SchemaPluginResult, schemas as Schemas, SearchBranchError, SearchBranchPathParams, SearchBranchRequestBody, SearchBranchVariables, SearchOptions, SearchPlugin, SearchPluginResult, SearchTableError, SearchTablePathParams, SearchTableRequestBody, SearchTableVariables, SelectableColumn, SelectedPick, SetTableSchemaError, SetTableSchemaPathParams, SetTableSchemaRequestBody, SetTableSchemaVariables, SimpleCache, SimpleCacheOptions, UpdateBranchMetadataError, UpdateBranchMetadataPathParams, UpdateBranchMetadataVariables, UpdateColumnError, UpdateColumnPathParams, UpdateColumnRequestBody, UpdateColumnVariables, UpdateRecordWithIDError, UpdateRecordWithIDPathParams, UpdateRecordWithIDQueryParams, UpdateRecordWithIDVariables, UpdateTableError, UpdateTablePathParams, UpdateTableRequestBody, UpdateTableVariables, UpdateUserError, UpdateUserVariables, UpdateWorkspaceError, UpdateWorkspaceMemberRoleError, UpdateWorkspaceMemberRolePathParams, UpdateWorkspaceMemberRoleRequestBody, UpdateWorkspaceMemberRoleVariables, UpdateWorkspacePathParams, UpdateWorkspaceVariables, UpsertRecordWithIDError, UpsertRecordWithIDPathParams, UpsertRecordWithIDQueryParams, UpsertRecordWithIDVariables, ValueAtColumn, XataApiClient, XataApiClientOptions, XataApiPlugin, XataError, XataPlugin, XataPluginOptions, XataRecord, acceptWorkspaceMemberInvite, addGitBranchesEntry, addTableColumn, buildClient, bulkInsertTableRecords, cancelWorkspaceMemberInvite, contains, createBranch, createDatabase, createTable, createUserAPIKey, createWorkspace, deleteBranch, deleteColumn, deleteDatabase, deleteRecord, deleteTable, deleteUser, deleteUserAPIKey, deleteWorkspace, endsWith, executeBranchMigrationPlan, exists, ge, getAPIKey, getBranchDetails, getBranchList, getBranchMetadata, getBranchMigrationHistory, getBranchMigrationPlan, getBranchStats, getColumn, getCurrentBranchDetails, getCurrentBranchName, getDatabaseList, getDatabaseURL, getGitBranchesMapping, getRecord, getTableColumns, getTableSchema, getUser, getUserAPIKeys, getWorkspace, getWorkspaceMembersList, getWorkspacesList, gt, gte, includes, includesAll, includesAny, includesNone, insertRecord, insertRecordWithID, inviteWorkspaceMember, is, isCursorPaginationOptions, isIdentifiable, isNot, isXataRecord, le, lt, lte, notExists, operationsByTag, pattern, queryTable, removeGitBranchesEntry, removeWorkspaceMember, resendWorkspaceMemberInvite, resolveBranch, searchBranch, searchTable, setTableSchema, startsWith, updateBranchMetadata, updateColumn, updateRecordWithID, updateTable, updateUser, updateWorkspace, updateWorkspaceMemberRole, upsertRecordWithID };
package/dist/index.mjs CHANGED
@@ -942,13 +942,13 @@ var __privateSet$5 = (obj, member, value, setter) => {
942
942
  setter ? setter.call(obj, value) : member.set(obj, value);
943
943
  return value;
944
944
  };
945
- var _query;
945
+ var _query, _page;
946
946
  class Page {
947
947
  constructor(query, meta, records = []) {
948
948
  __privateAdd$6(this, _query, void 0);
949
949
  __privateSet$5(this, _query, query);
950
950
  this.meta = meta;
951
- this.records = records;
951
+ this.records = new RecordArray(this, records);
952
952
  }
953
953
  async nextPage(size, offset) {
954
954
  return __privateGet$6(this, _query).getPaginated({ pagination: { size, offset, after: this.meta.page.cursor } });
@@ -968,12 +968,40 @@ class Page {
968
968
  }
969
969
  _query = new WeakMap();
970
970
  const PAGINATION_MAX_SIZE = 200;
971
- const PAGINATION_DEFAULT_SIZE = 200;
971
+ const PAGINATION_DEFAULT_SIZE = 20;
972
972
  const PAGINATION_MAX_OFFSET = 800;
973
973
  const PAGINATION_DEFAULT_OFFSET = 0;
974
974
  function isCursorPaginationOptions(options) {
975
975
  return isDefined(options) && (isDefined(options.first) || isDefined(options.last) || isDefined(options.after) || isDefined(options.before));
976
976
  }
977
+ const _RecordArray = class extends Array {
978
+ constructor(page, overrideRecords) {
979
+ super(...overrideRecords ?? page.records);
980
+ __privateAdd$6(this, _page, void 0);
981
+ __privateSet$5(this, _page, page);
982
+ }
983
+ async nextPage(size, offset) {
984
+ const newPage = await __privateGet$6(this, _page).nextPage(size, offset);
985
+ return new _RecordArray(newPage);
986
+ }
987
+ async previousPage(size, offset) {
988
+ const newPage = await __privateGet$6(this, _page).previousPage(size, offset);
989
+ return new _RecordArray(newPage);
990
+ }
991
+ async firstPage(size, offset) {
992
+ const newPage = await __privateGet$6(this, _page).firstPage(size, offset);
993
+ return new _RecordArray(newPage);
994
+ }
995
+ async lastPage(size, offset) {
996
+ const newPage = await __privateGet$6(this, _page).lastPage(size, offset);
997
+ return new _RecordArray(newPage);
998
+ }
999
+ hasNextPage() {
1000
+ return __privateGet$6(this, _page).meta.page.more;
1001
+ }
1002
+ };
1003
+ let RecordArray = _RecordArray;
1004
+ _page = new WeakMap();
977
1005
 
978
1006
  var __accessCheck$5 = (obj, member, msg) => {
979
1007
  if (!member.has(obj))
@@ -1000,7 +1028,7 @@ const _Query = class {
1000
1028
  __privateAdd$5(this, _repository, void 0);
1001
1029
  __privateAdd$5(this, _data, { filter: {} });
1002
1030
  this.meta = { page: { cursor: "start", more: true } };
1003
- this.records = [];
1031
+ this.records = new RecordArray(this, []);
1004
1032
  __privateSet$4(this, _table$1, table);
1005
1033
  if (repository) {
1006
1034
  __privateSet$4(this, _repository, repository);
@@ -1089,8 +1117,11 @@ const _Query = class {
1089
1117
  }
1090
1118
  }
1091
1119
  async getMany(options = {}) {
1092
- const { records } = await this.getPaginated(options);
1093
- return records;
1120
+ const page = await this.getPaginated(options);
1121
+ if (page.hasNextPage() && options.pagination?.size === void 0) {
1122
+ console.trace("Calling getMany does not return all results. Paginate to get all results or call getAll.");
1123
+ }
1124
+ return page.records;
1094
1125
  }
1095
1126
  async getAll(options = {}) {
1096
1127
  const { batchSize = PAGINATION_MAX_SIZE, ...rest } = options;
@@ -1138,7 +1169,9 @@ function isIdentifiable(x) {
1138
1169
  return isObject(x) && isString(x?.id);
1139
1170
  }
1140
1171
  function isXataRecord(x) {
1141
- return isIdentifiable(x) && typeof x?.xata === "object" && typeof x?.xata?.version === "number";
1172
+ const record = x;
1173
+ const metadata = record?.getMetadata();
1174
+ return isIdentifiable(x) && isObject(metadata) && typeof metadata.version === "number";
1142
1175
  }
1143
1176
 
1144
1177
  function isSortFilterString(value) {
@@ -1528,7 +1561,8 @@ const transformObjectLinks = (object) => {
1528
1561
  };
1529
1562
  const initObject = (db, schema, table, object) => {
1530
1563
  const result = {};
1531
- Object.assign(result, object);
1564
+ const { xata, ...rest } = object ?? {};
1565
+ Object.assign(result, rest);
1532
1566
  const { columns } = schema.tables.find(({ name }) => name === table) ?? {};
1533
1567
  if (!columns)
1534
1568
  console.error(`Table ${table} not found in schema`);
@@ -1564,7 +1598,10 @@ const initObject = (db, schema, table, object) => {
1564
1598
  result.delete = function() {
1565
1599
  return db[table].delete(result["id"]);
1566
1600
  };
1567
- for (const prop of ["read", "update", "delete"]) {
1601
+ result.getMetadata = function() {
1602
+ return xata;
1603
+ };
1604
+ for (const prop of ["read", "update", "delete", "getMetadata"]) {
1568
1605
  Object.defineProperty(result, prop, { enumerable: false });
1569
1606
  }
1570
1607
  Object.freeze(result);
@@ -1967,5 +2004,5 @@ class XataError extends Error {
1967
2004
  }
1968
2005
  }
1969
2006
 
1970
- export { BaseClient, operationsByTag as Operations, PAGINATION_DEFAULT_OFFSET, PAGINATION_DEFAULT_SIZE, PAGINATION_MAX_OFFSET, PAGINATION_MAX_SIZE, Page, Query, Repository, RestRepository, SchemaPlugin, SearchPlugin, SimpleCache, XataApiClient, XataApiPlugin, XataError, XataPlugin, acceptWorkspaceMemberInvite, addGitBranchesEntry, addTableColumn, buildClient, bulkInsertTableRecords, cancelWorkspaceMemberInvite, contains, createBranch, createDatabase, createTable, createUserAPIKey, createWorkspace, deleteBranch, deleteColumn, deleteDatabase, deleteRecord, deleteTable, deleteUser, deleteUserAPIKey, deleteWorkspace, endsWith, executeBranchMigrationPlan, exists, ge, getAPIKey, getBranchDetails, getBranchList, getBranchMetadata, getBranchMigrationHistory, getBranchMigrationPlan, getBranchStats, getColumn, getCurrentBranchDetails, getCurrentBranchName, getDatabaseList, getDatabaseURL, getGitBranchesMapping, getRecord, getTableColumns, getTableSchema, getUser, getUserAPIKeys, getWorkspace, getWorkspaceMembersList, getWorkspacesList, gt, gte, includes, includesAll, includesAny, includesNone, insertRecord, insertRecordWithID, inviteWorkspaceMember, is, isCursorPaginationOptions, isIdentifiable, isNot, isXataRecord, le, lt, lte, notExists, operationsByTag, pattern, queryTable, removeGitBranchesEntry, removeWorkspaceMember, resendWorkspaceMemberInvite, resolveBranch, searchBranch, searchTable, setTableSchema, startsWith, updateBranchMetadata, updateColumn, updateRecordWithID, updateTable, updateUser, updateWorkspace, updateWorkspaceMemberRole, upsertRecordWithID };
2007
+ export { BaseClient, operationsByTag as Operations, PAGINATION_DEFAULT_OFFSET, PAGINATION_DEFAULT_SIZE, PAGINATION_MAX_OFFSET, PAGINATION_MAX_SIZE, Page, Query, RecordArray, Repository, RestRepository, SchemaPlugin, SearchPlugin, SimpleCache, XataApiClient, XataApiPlugin, XataError, XataPlugin, acceptWorkspaceMemberInvite, addGitBranchesEntry, addTableColumn, buildClient, bulkInsertTableRecords, cancelWorkspaceMemberInvite, contains, createBranch, createDatabase, createTable, createUserAPIKey, createWorkspace, deleteBranch, deleteColumn, deleteDatabase, deleteRecord, deleteTable, deleteUser, deleteUserAPIKey, deleteWorkspace, endsWith, executeBranchMigrationPlan, exists, ge, getAPIKey, getBranchDetails, getBranchList, getBranchMetadata, getBranchMigrationHistory, getBranchMigrationPlan, getBranchStats, getColumn, getCurrentBranchDetails, getCurrentBranchName, getDatabaseList, getDatabaseURL, getGitBranchesMapping, getRecord, getTableColumns, getTableSchema, getUser, getUserAPIKeys, getWorkspace, getWorkspaceMembersList, getWorkspacesList, gt, gte, includes, includesAll, includesAny, includesNone, insertRecord, insertRecordWithID, inviteWorkspaceMember, is, isCursorPaginationOptions, isIdentifiable, isNot, isXataRecord, le, lt, lte, notExists, operationsByTag, pattern, queryTable, removeGitBranchesEntry, removeWorkspaceMember, resendWorkspaceMemberInvite, resolveBranch, searchBranch, searchTable, setTableSchema, startsWith, updateBranchMetadata, updateColumn, updateRecordWithID, updateTable, updateUser, updateWorkspace, updateWorkspaceMemberRole, upsertRecordWithID };
1971
2008
  //# sourceMappingURL=index.mjs.map