-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcore.js
More file actions
53 lines (42 loc) · 2.35 KB
/
core.js
File metadata and controls
53 lines (42 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
var exports = module.exports = {};
var url = 'http://api.wordnik.com'
var api_key = "a2a73e7b926c924fad7001ca3111acd55af2ffabf50eb4ae5";
var port = 80;
var version = 4;
function getData(URL, callback) {
var request = require('request');
request(URL, (error, response, body) =>{
if (!error && response.statusCode === 200) {
var wordnikResponse = JSON.parse(body)
callback(null, wordnikResponse);
} else {
console.log("Got an error: ", error, ", status code: ", response.statusCode, " for the request", request);
callback(error, null);
}
})
}
exports.getWordDef = function (word, callback) {
var limit=10;
var includeRelated = false;
var wordDefURL = url + ':' + port + '/v' + version + '/word.json/' + word + '/definitions?limit=' + limit + '&includeRelated=' + includeRelated + '&sourceDictionaries=all&useCanonical=false&includeTags=false&api_key=' + api_key
getData(wordDefURL, function(err, response){callback(err, response);});
}
exports.getWordRelation = function (word, relationshipType, callback) {
var limitPerRelationshipType = 10;
var wordRelationURL = url + ':' + port + '/v' + version + '/word.json/' + word + '/relatedWords?useCanonical=false&relationshipTypes=' + relationshipType + '&limitPerRelationshipType=' + limitPerRelationshipType + '&api_key=' + api_key
getData(wordRelationURL, function(err, response){callback(err, response);});
}
exports.getWordExample = function (word, callback) {
var limit = 5;
var wordExampleURL = url + ':' + port + '/v' + version + '/word.json/' + word + '/examples?includeDuplicates=false&useCanonical=false&skip=0&limit=' + limit + '&api_key=' + api_key
getData(wordExampleURL, function(err, response){callback(err, response);});
}
exports.getWordofDay = function (callback) {
var currentdate = new Date().toISOString().split(/T/)[0];
var wordOfTheDayURL = url + ':' + port + '/v' + version + '/words.json/wordOfTheDay?date=' + currentdate + '&api_key=' + api_key
getData(wordOfTheDayURL, function(err, response){callback(err, response);});
}
exports.getRandomWord = function(callback) {
var wordRandomURL = url + ':' + port + '/v' + version + '/words.json/randomWord?hasDictionaryDef=false&minCorpusCount=0&maxCorpusCount=-1&minDictionaryCount=1&maxDictionaryCount=-1&minLength=5&maxLength=-1&api_key=' + api_key
getData(wordRandomURL, function(err, response){ callback(err, response);});
}