diff --git a/types/jsforce/connection.d.ts b/types/jsforce/connection.d.ts index 27d79fdd5b..32ed4de267 100644 --- a/types/jsforce/connection.d.ts +++ b/types/jsforce/connection.d.ts @@ -1,6 +1,6 @@ import { EventEmitter } from 'events'; import { DescribeSObjectResult, DescribeGlobalResult } from './describe-result'; -import { Query, QueryResult } from './query'; +import { Query, QueryResult, ExecuteOptions } from './query'; import { Record } from './record'; import { RecordResult } from './record-result'; import { SObject } from './salesforce-object'; @@ -93,8 +93,8 @@ export type ConnectionEvent = "refresh"; export abstract class BaseConnection extends EventEmitter { _baseUrl(): string; request(info: RequestInfo | string, options?: Object, callback?: (err: Error, Object: object) => void): Promise; - query(soql: string, callback?: (err: Error, result: QueryResult) => void): Query>; - queryMore(locator: string, options?: object, callback?: (err: Error, result: QueryResult) => void): Promise>; + query(soql: string, options?: ExecuteOptions, callback?: (err: Error, result: QueryResult) => void): Query>; + queryMore(locator: string, options?: ExecuteOptions, callback?: (err: Error, result: QueryResult) => void): Promise>; create(type: string, records: Record | Array>, options?: Object, callback?: (err: Error, result: RecordResult | RecordResult[]) => void): Promise<(RecordResult | RecordResult[])>; insert(type: string, records: Record | Array>, options?: Object, diff --git a/types/jsforce/jsforce-tests.ts b/types/jsforce/jsforce-tests.ts index 0aa98d62d1..c0be86e92c 100644 --- a/types/jsforce/jsforce-tests.ts +++ b/types/jsforce/jsforce-tests.ts @@ -30,6 +30,14 @@ const requestInfo: sf.RequestInfo = { }; salesforceConnection.request(requestInfo); +const queryOptions: sf.ExecuteOptions = { + autoFetch: true, + maxFetch: 5000, + headers: {}, + scanAll: true +}; +salesforceConnection.query('SELECT Id, Name FROM Account', queryOptions); + // note the following should never compile: // salesforceConnection.sobject("Dummy").select(["lol"]); diff --git a/types/jsforce/query.d.ts b/types/jsforce/query.d.ts index b33af41ede..964037123b 100644 --- a/types/jsforce/query.d.ts +++ b/types/jsforce/query.d.ts @@ -5,7 +5,8 @@ import { RecordResult } from './record-result'; export interface ExecuteOptions { autoFetch?: boolean; maxFetch?: number; - scanAll?: number; + headers?: object; + scanAll?: boolean; } export interface QueryResult {