-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathindex.js
101 lines (92 loc) · 1.88 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
'use strict';
const ots2 = require('./lib/ots2');
const parser = require('./lib/filter_parser');
const runner = require('./lib/filter_runner');
const Client = require('./lib/client');
const {
PUT, DELETE, DELETE_ALL,
InfMin, InfMax,
serialize
} = require('./lib/plainbuffer');
/**
* 根据选项创建实例的客户端
*
* Example:
* ```
* var ots = require('ots2');
* var client = ots.createClient({
* accessKeyID: '<YOUR ACCESSKEYID>',
* accessKeySecret: '<YOUR ACCESSKEYSECRET>',
* instance: '<YOUR INSTANCE>',
* region: '<YOUR REGION>'
* });
* // or with endpoint
* var client = ots.createClient({
* accessKeyID: '<YOUR ACCESSKEYID>',
* accessKeySecret: '<YOUR ACCESSKEYSECRET>',
* endpoint: '<YOUR ENDPOINT>'
* });
* ```
* @param {Object} opts 选项
*/
exports.createClient = function (opts) {
return new Client(opts);
};
/**
* 相关Enum类型
*
* Example:
* ```
* enum PrimaryKeyType {
* INTEGER = 1;
* STRING = 2;
* BINARY = 3;
* }
*
* enum PrimaryKeyOption {
* AUTO_INCREMENT = 1;
* }
*
* enum RowExistenceExpectation {
* IGNORE = 0;
* EXPECT_EXIST = 1;
* EXPECT_NOT_EXIST = 2;
* }
*
* enum ReturnType {
* RT_NONE = 0;
* RT_PK = 1;
* }
*
* enum OperationType {
* PUT = 1;
* UPDATE = 2;
* DELETE = 3;
* }
* ```
*/
// 拷贝所有的Enum
for (var key in ots2) {
if (typeof ots2[key] !== 'function') {
exports[key] = ots2[key];
}
}
exports.InfMin = InfMin;
exports.InfMax = InfMax;
exports.$put = function (value) {
return {
type: PUT,
value: value
};
};
exports.$delete = function (timestamp) {
return {type: DELETE, timestamp: timestamp};
};
exports.$deleteAll = function () {
return {type: DELETE_ALL};
};
exports.makeFilter = function (input, locals) {
var ast = parser.parse(input);
return runner.parseFilter(ast, locals);
};
exports.serialize = serialize;