/
index.js
51 lines (41 loc) · 1.36 KB
/
index.js
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
// sheetdb = require(sheetdb-node);
// (ES6+) import sheetdb from 'sheetdb-node';
//
// sheetdb.create(newRow, sheet);
// sheetdb.read(limit, offset, search, sheet);
// sheetdb.update(columnName, value, newRow, updateWhole, sheet);
// sheetdb.delete(columnName, value, sheet);
var readFunc = require('./lib/read.js');
var createFunc = require('./lib/create.js');
var updateFunc = require('./lib/update.js');
var deleteFunc = require('./lib/delete.js');
var endpointFunc = require('./lib/endpoint.js');
var validAddress = require('./lib/validAddress.js');
var isURL = require('./lib/isURL.js');
var sheetdbNode = function(config) {
var configParam = config || {};
configParam.version = configParam.version || '1';
configParam.auth_login = configParam.auth_login || '';
configParam.auth_password = configParam.auth_password || '';
if(!configParam.address) {
throw Error('address param needed');
}
if(!validAddress(configParam.address)) {
throw Error('wrong address param.');
}
if(!isURL(configParam.address)) {
configParam.address = 'https://sheetdb.io/api/v' +
configParam.version + '/' +
configParam.address;
}
var address = configParam.address;
return {
config: configParam,
create: createFunc,
read: readFunc,
update: updateFunc,
delete: deleteFunc,
endpoint: endpointFunc,
}
}
module.exports = sheetdbNode;