[@types/jsforce] fixes Connection.query signature to accept the options arg as ExecuteOptions type from Query.d.ts. Modifies the Connection.queryMore options type to be ExecuteOptions as well. Fixes the scanAll property on ExecuteOptions to be a boolean rather than number and add the headers property as optional. Adds a test to jsforce-tests.ts for the changes.

This commit is contained in:
Steve Hetzel
2018-05-23 09:49:17 -06:00
parent 287fd3f4a1
commit 70b686c494
3 changed files with 13 additions and 4 deletions

View File

@@ -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<Object>;
query<T>(soql: string, callback?: (err: Error, result: QueryResult<T>) => void): Query<QueryResult<T>>;
queryMore<T>(locator: string, options?: object, callback?: (err: Error, result: QueryResult<T>) => void): Promise<QueryResult<T>>;
query<T>(soql: string, options?: ExecuteOptions, callback?: (err: Error, result: QueryResult<T>) => void): Query<QueryResult<T>>;
queryMore<T>(locator: string, options?: ExecuteOptions, callback?: (err: Error, result: QueryResult<T>) => void): Promise<QueryResult<T>>;
create<T>(type: string, records: Record<T> | Array<Record<T>>, options?: Object,
callback?: (err: Error, result: RecordResult | RecordResult[]) => void): Promise<(RecordResult | RecordResult[])>;
insert<T>(type: string, records: Record<T> | Array<Record<T>>, options?: Object,

View File

@@ -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<DummyRecord>("Dummy").select(["lol"]);

View File

@@ -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<T> {