@google-cloud/datastore
Version:
Cloud Datastore Client Library for Node.js
68 lines (67 loc) • 2.77 kB
TypeScript
import { CallOptions, ServiceError } from 'google-gax';
import { Datastore } from './';
import { google } from '../protos/protos';
export interface GenericIndexCallback<T> {
(err?: ServiceError | null, index?: Index | null, apiResponse?: T | null): void;
}
export type GetIndexCallback = GenericIndexCallback<IIndex>;
export type GetIndexResponse = [Index, IIndex];
export type IndexGetMetadataCallback = (err?: ServiceError | null, metadata?: IIndex | null) => void;
export type IndexGetMetadataResponse = [IIndex];
export interface GetIndexesOptions {
filter?: string;
gaxOptions?: CallOptions;
pageSize?: number;
pageToken?: string;
autoPaginate?: boolean;
}
export type GetIndexesResponse = [
Index[],
GetIndexesOptions,
google.datastore.admin.v1.IListIndexesResponse
];
export type GetIndexesCallback = (err?: ServiceError | null, indexes?: Index[], nextQuery?: GetIndexesOptions, apiResponse?: google.datastore.admin.v1.IListIndexesResponse) => void;
export type IIndex = google.datastore.admin.v1.IIndex;
/**
* @class
* @param {Datastore} datastore The parent instance of this index.
* @param {string} id The index name or id.
*
* @example
* ```
* const {Datastore} = require('@google-cloud/datastore');
* const datastore = new Datastore();
* const index = datastore.index('my-index');
* ```
*/
export declare class Index {
datastore: Datastore;
id: string;
metadata?: IIndex;
constructor(datastore: Datastore, id: string);
/**
* Get an index if it exists.
*
* @param {object} [gaxOptions] Request configuration options, outlined here:
* https://googleapis.github.io/gax-nodejs/CallSettings.html.
* @param {function} callback The callback function.
* @param {?error} callback.err An error returned while making this request.
* @param {Index} callback.index The Index instance.
* @param {object} callback.apiResponse The full API response.
*/
get(gaxOptions?: CallOptions): Promise<GetIndexResponse>;
get(callback: GetIndexCallback): void;
get(gaxOptions: CallOptions, callback: GetIndexCallback): void;
/**
* Get the metadata of this index.
*
* @param {object} [gaxOptions] Request configuration options, outlined here:
* https://googleapis.github.io/gax-nodejs/CallSettings.html.
* @param {function} callback The callback function.
* @param {?error} callback.err An error returned while making this request.
* @param {object} callback.metadata The metadata.
*/
getMetadata(gaxOptions?: CallOptions): Promise<IndexGetMetadataResponse>;
getMetadata(callback: IndexGetMetadataCallback): void;
getMetadata(gaxOptions: CallOptions, callback: IndexGetMetadataCallback): void;
}