Skip to content

Commit

Permalink
Merge pull request DefinitelyTyped#5 from ingenieux/return-requests
Browse files Browse the repository at this point in the history
Return AWS.Request values for all operations
  • Loading branch information
aldrinleal committed Nov 30, 2015
2 parents 0956cf9 + c2f3fac commit 21b73b8
Show file tree
Hide file tree
Showing 53 changed files with 1,899 additions and 1,549 deletions.
51 changes: 51 additions & 0 deletions app/src/aws-sdk-common.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,5 +107,56 @@ declare module "aws-sdk" {
waitFor(state:string, params:Object, callback:(error?:Error, data?:any) => void): void;
}

export class Request extends EventEmitter {
constructor(service:Service, operation:string, params:Object);

on(event: string, listener: Function):Request;
httpRequest: HttpRequest;
startTime: Date;
abort(): Request;
createReadStream(): ReadableStream;
eachItem(callback:Function): void;
eachPage(callback: (err:Error, data:any, done?:() => void) => boolean|void): void;
isPageable(): boolean;
send(callback?: (err:Error, data:any) => void): void;

}

export class HttpRequest {
body: string;
endpoint: Endpoint;
headers: {[index:string]: string};
method: string;
path: string;
pathName(): string;
search(): string;
}

/*
* Node-compatible interfaces
*/
class EventEmitter {
on(event: string, listener: Function):EventEmitter;
}

export interface ReadableStream extends EventEmitter {
readable: boolean;
read(size?: number): any;
setEncoding(encoding: string): void;
pause(): void;
resume(): void;
pipe<T extends WritableStream>(destination: T, options?: { end?: boolean; }): T;
unpipe<T extends WritableStream>(destination?: T): void;
unshift(chunk: string): void;
unshift(chunk: Buffer): void;
wrap(oldStream: ReadableStream): ReadableStream;
}

export interface WritableStream extends EventEmitter {
writable: boolean;
write: Function;
end: Function;
}

}

10 changes: 8 additions & 2 deletions app/src/module.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,16 @@

///<reference path="./aws-sdk-common.d.ts" />
declare module "aws-sdk" {
export class {{api.name}} {

export class {{api.name}} extends Service {
constructor(options?: any);
{{#each m.operations}}
{{{camelCase @key}}}({{#if this.input.shape}}params: {{../../api.name}}{{this.input.shape}}, {{/if}}callback: (err: {{#each this.errors}}{{../../api.name}}{{this.shape}}|{{/each}}any, data: {{#if this.output.shape}}{{../../api.name}}{{this.output.shape}}|{{/if}}any) => void): void;
{{{camelCase @key}}}(
{{~#if this.input.shape}}params: {{../../api.name}}{{this.input.shape}}, {{/if~}}
callback?: ( {{~null~}}
err: {{#each this.errors~}}{{../../api.name}}{{this.shape}}|{{/each}}any, {{null~}}
data: {{#if this.output.shape}}{{../../api.name}}{{this.output.shape}}|{{/if}}any) => void {{~null~}}
): Request;
{{/each}}
}

Expand Down
26 changes: 19 additions & 7 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,17 @@ var paths = {
src: ['test/**/*.ts'],
dest: 'app/build/test'
},
output: 'output/**/*'
templates: {
src: 'app/src/**/*.handlebars'
},
output: 'output/**/*',
srcAndTests:[]
};
paths.srcAndTests = [].concat(
paths.tscripts.src,
paths.tests.src,
paths.templates.src
);

gulp.task('default', ['watch']);

Expand All @@ -26,16 +35,19 @@ gulp.task('run', shell.task([
]));

gulp.task('buildrun', function (cb) {
runseq('build', 'run', cb);
runseq('build', 'run', 'compile:tests', cb);
});

// ** Watching ** //
gulp.task('watch', function () {
gulp.watch(paths.tscripts.src, ['compile:typescript']);
gulp.task('watch', ['build'], function () {
gulp.watch(paths.tscripts.src, ['build']);
});

gulp.task('watchrun', function () {
gulp.watch(paths.tscripts.src, runseq('compile:typescript', 'run'));
gulp.task('watchrun', ['buildrun'], function () {
gulp.watch(paths.srcAndTests, ['buildrun'])
.on('change', function(event) {
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});
});

// ** Compilation ** //
Expand Down Expand Up @@ -74,4 +86,4 @@ gulp.task('clean:generated', function() {

gulp.task('clean:build', function() {
return del(paths.tscripts.dest);
});
});
137 changes: 69 additions & 68 deletions output/aws-apigateway.d.ts

Large diffs are not rendered by default.

99 changes: 50 additions & 49 deletions output/aws-autoscaling.d.ts

Large diffs are not rendered by default.

39 changes: 20 additions & 19 deletions output/aws-cloudformation.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,27 @@

///<reference path="./aws-sdk-common.d.ts" />
declare module "aws-sdk" {
export class CloudFormation {

export class CloudFormation extends Service {
constructor(options?: any);
cancelUpdateStack(params: CloudFormationCancelUpdateStackInput, callback: (err: any, data: any) => void): void;
createStack(params: CloudFormationCreateStackInput, callback: (err: CloudFormationLimitExceededException|CloudFormationAlreadyExistsException|CloudFormationInsufficientCapabilitiesException|any, data: CloudFormationCreateStackOutput|any) => void): void;
deleteStack(params: CloudFormationDeleteStackInput, callback: (err: any, data: any) => void): void;
describeAccountLimits(params: CloudFormationDescribeAccountLimitsInput, callback: (err: any, data: CloudFormationDescribeAccountLimitsOutput|any) => void): void;
describeStackEvents(params: CloudFormationDescribeStackEventsInput, callback: (err: any, data: CloudFormationDescribeStackEventsOutput|any) => void): void;
describeStackResource(params: CloudFormationDescribeStackResourceInput, callback: (err: any, data: CloudFormationDescribeStackResourceOutput|any) => void): void;
describeStackResources(params: CloudFormationDescribeStackResourcesInput, callback: (err: any, data: CloudFormationDescribeStackResourcesOutput|any) => void): void;
describeStacks(params: CloudFormationDescribeStacksInput, callback: (err: any, data: CloudFormationDescribeStacksOutput|any) => void): void;
estimateTemplateCost(params: CloudFormationEstimateTemplateCostInput, callback: (err: any, data: CloudFormationEstimateTemplateCostOutput|any) => void): void;
getStackPolicy(params: CloudFormationGetStackPolicyInput, callback: (err: any, data: CloudFormationGetStackPolicyOutput|any) => void): void;
getTemplate(params: CloudFormationGetTemplateInput, callback: (err: any, data: CloudFormationGetTemplateOutput|any) => void): void;
getTemplateSummary(params: CloudFormationGetTemplateSummaryInput, callback: (err: any, data: CloudFormationGetTemplateSummaryOutput|any) => void): void;
listStackResources(params: CloudFormationListStackResourcesInput, callback: (err: any, data: CloudFormationListStackResourcesOutput|any) => void): void;
listStacks(params: CloudFormationListStacksInput, callback: (err: any, data: CloudFormationListStacksOutput|any) => void): void;
setStackPolicy(params: CloudFormationSetStackPolicyInput, callback: (err: any, data: any) => void): void;
signalResource(params: CloudFormationSignalResourceInput, callback: (err: any, data: any) => void): void;
updateStack(params: CloudFormationUpdateStackInput, callback: (err: CloudFormationInsufficientCapabilitiesException|any, data: CloudFormationUpdateStackOutput|any) => void): void;
validateTemplate(params: CloudFormationValidateTemplateInput, callback: (err: any, data: CloudFormationValidateTemplateOutput|any) => void): void;
cancelUpdateStack(params: CloudFormationCancelUpdateStackInput, callback?: (err: any, data: any) => void): Request;
createStack(params: CloudFormationCreateStackInput, callback?: (err: CloudFormationLimitExceededException|CloudFormationAlreadyExistsException|CloudFormationInsufficientCapabilitiesException|any, data: CloudFormationCreateStackOutput|any) => void): Request;
deleteStack(params: CloudFormationDeleteStackInput, callback?: (err: any, data: any) => void): Request;
describeAccountLimits(params: CloudFormationDescribeAccountLimitsInput, callback?: (err: any, data: CloudFormationDescribeAccountLimitsOutput|any) => void): Request;
describeStackEvents(params: CloudFormationDescribeStackEventsInput, callback?: (err: any, data: CloudFormationDescribeStackEventsOutput|any) => void): Request;
describeStackResource(params: CloudFormationDescribeStackResourceInput, callback?: (err: any, data: CloudFormationDescribeStackResourceOutput|any) => void): Request;
describeStackResources(params: CloudFormationDescribeStackResourcesInput, callback?: (err: any, data: CloudFormationDescribeStackResourcesOutput|any) => void): Request;
describeStacks(params: CloudFormationDescribeStacksInput, callback?: (err: any, data: CloudFormationDescribeStacksOutput|any) => void): Request;
estimateTemplateCost(params: CloudFormationEstimateTemplateCostInput, callback?: (err: any, data: CloudFormationEstimateTemplateCostOutput|any) => void): Request;
getStackPolicy(params: CloudFormationGetStackPolicyInput, callback?: (err: any, data: CloudFormationGetStackPolicyOutput|any) => void): Request;
getTemplate(params: CloudFormationGetTemplateInput, callback?: (err: any, data: CloudFormationGetTemplateOutput|any) => void): Request;
getTemplateSummary(params: CloudFormationGetTemplateSummaryInput, callback?: (err: any, data: CloudFormationGetTemplateSummaryOutput|any) => void): Request;
listStackResources(params: CloudFormationListStackResourcesInput, callback?: (err: any, data: CloudFormationListStackResourcesOutput|any) => void): Request;
listStacks(params: CloudFormationListStacksInput, callback?: (err: any, data: CloudFormationListStacksOutput|any) => void): Request;
setStackPolicy(params: CloudFormationSetStackPolicyInput, callback?: (err: any, data: any) => void): Request;
signalResource(params: CloudFormationSignalResourceInput, callback?: (err: any, data: any) => void): Request;
updateStack(params: CloudFormationUpdateStackInput, callback?: (err: CloudFormationInsufficientCapabilitiesException|any, data: CloudFormationUpdateStackOutput|any) => void): Request;
validateTemplate(params: CloudFormationValidateTemplateInput, callback?: (err: any, data: CloudFormationValidateTemplateOutput|any) => void): Request;
}

export interface CloudFormationAccountLimit {
Expand Down
Loading

0 comments on commit 21b73b8

Please sign in to comment.