Reputation: 6816
I am trying to write an SES TypeScript client, using AWS definitions file downloaded from https://github.com/borisyankov/DefinitelyTyped/blob/master/aws-sdk/aws-sdk.d.ts
Here is what I've tried:
/// <reference path="../typings/aws-sdk.d.ts" />
var AWS = require('aws-sdk');
var ses:SES = new AWS.SES();
Here is the error that I get:
/usr/local/bin/tsc --sourcemap SesTest.ts
SesTest.ts(3,9): error TS2304: Cannot find name 'SES'.
Process finished with exit code 2
I cannot find any documentation on how to make this work. Please help!
Upvotes: 33
Views: 53057
Reputation: 1476
I think a more appropriate way to do this is
import { <ServiceName> } from 'aws-sdk';
for instance
import { DynamoDB } from 'aws-sdk';
followed by
this.client = new DynamoDB();
in the class.
I say it is more appropriate because it uses TypeScript's import syntax.
Also, there's a clear explanation - by AWS - on how to use TS with AWS SDK here.
Upvotes: 66
Reputation: 275819
Change to :
import AWS = require('aws-sdk');
var ses:AWS.SES = new AWS.SES();
Note: if import
is unclear you probably want to read up on modules : https://basarat.gitbooks.io/typescript/content/docs/project/modules.html
TIP: always a good idea to see the test file for intended usage : https://github.com/borisyankov/DefinitelyTyped/blob/master/aws-sdk/aws-sdk-tests.ts
Upvotes: 16