mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-20 00:59:29 +08:00
Merge pull request #5790 from MattiLehtinen/master
Amazon-product-api typings
This commit is contained in:
84
amazon-product-api/amazon-product-api-tests.ts
Normal file
84
amazon-product-api/amazon-product-api-tests.ts
Normal file
@@ -0,0 +1,84 @@
|
||||
/// <reference path="./amazon-product-api.d.ts" />
|
||||
/// <reference path="../node/node.d.ts"/>
|
||||
|
||||
import amazon = require('amazon-product-api');
|
||||
|
||||
var client = amazon.createClient({
|
||||
awsId: process.env.AWS_ACCESS_KEY_ID,
|
||||
awsSecret: process.env.AWS_SECRET,
|
||||
awsTag: process.env.AWS_ASSOCIATE_TAG
|
||||
});
|
||||
|
||||
|
||||
// Item Search
|
||||
|
||||
var searchQuery = {
|
||||
director: 'Quentin Tarantino',
|
||||
actor: 'Samuel L. Jackson',
|
||||
searchIndex: 'DVD',
|
||||
audienceRating: 'R',
|
||||
responseGroup: 'ItemAttributes,Offers,Images'
|
||||
};
|
||||
|
||||
client.itemSearch(searchQuery).then((results) => {
|
||||
console.log(getResultCount(results) + " search results");
|
||||
}).catch(function(err){
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
client.itemSearch(searchQuery, (err, results) => {
|
||||
if(err) {
|
||||
console.log(err);
|
||||
return;
|
||||
}
|
||||
console.log(getResultCount(results) + " search results");
|
||||
});
|
||||
|
||||
|
||||
// Item Lookup
|
||||
|
||||
var lookupQuery = {
|
||||
itemId: 'B00008OE6I',
|
||||
idType: 'ASIN',
|
||||
responseGroup: 'OfferFull',
|
||||
Condition: 'All'
|
||||
};
|
||||
|
||||
client.itemLookup(lookupQuery).then((results) => {
|
||||
console.log(getResultCount(results) + " lookup results");
|
||||
}).catch(function(err){
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
client.itemLookup(lookupQuery, (err, results) => {
|
||||
if(err) {
|
||||
console.log(err);
|
||||
return;
|
||||
}
|
||||
console.log(getResultCount(results) + " lookup results");
|
||||
});
|
||||
|
||||
// Browse Node Lookup
|
||||
|
||||
var nodeLookupQuery = {
|
||||
browseNodeId: '2625373011'
|
||||
};
|
||||
|
||||
client.browseNodeLookup(nodeLookupQuery).then((results) => {
|
||||
console.log(getResultCount(results) + " node lookup results");
|
||||
}).catch(function(err){
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
client.browseNodeLookup(nodeLookupQuery, (err, results) => {
|
||||
if(err) {
|
||||
console.log(err);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(getResultCount(results) + " node lookup results");
|
||||
});
|
||||
|
||||
function getResultCount(results: Object[]) {
|
||||
return results != undefined ? results.length : 0;
|
||||
}
|
||||
27
amazon-product-api/amazon-product-api.d.ts
vendored
Normal file
27
amazon-product-api/amazon-product-api.d.ts
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
// Type definitions for amazon-product-api
|
||||
// Project: https://github.com/t3chnoboy/amazon-product-api
|
||||
// Definitions by: Matti Lehtinen <https://github.com/MattiLehtinen/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../es6-promise/es6-promise.d.ts"/>
|
||||
|
||||
declare module "amazon-product-api" {
|
||||
|
||||
interface ICredentials {
|
||||
awsId: string,
|
||||
awsSecret: string,
|
||||
awsTag: string
|
||||
}
|
||||
|
||||
interface IAmazonProductQueryCallback {
|
||||
(err: string, results: Object[]): void;
|
||||
}
|
||||
|
||||
interface IAmazonProductClient {
|
||||
itemSearch(query: any, callback?: IAmazonProductQueryCallback) : Promise<Object[]>;
|
||||
itemLookup(query: any, callback?: IAmazonProductQueryCallback) : Promise<Object[]>;
|
||||
browseNodeLookup(query: any, callback?: IAmazonProductQueryCallback) : Promise<Object[]>;
|
||||
}
|
||||
|
||||
export function createClient(credentials:ICredentials) : IAmazonProductClient;
|
||||
}
|
||||
Reference in New Issue
Block a user