whatap 0.4.79 → 0.4.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/keep-context.json +3 -3
- package/README.md +51 -51
- package/bindings/darwin/x64/whatap.node +0 -0
- package/bindings/linux/ia32/whatap.node +0 -0
- package/bindings/linux/x64/whatap.node +0 -0
- package/help.txt +10 -10
- package/index.js +8 -8
- package/lib/conf/conf-sys-mon.js +100 -100
- package/lib/conf/config-default.js +238 -238
- package/lib/conf/configure.js +423 -423
- package/lib/conf/license.js +41 -41
- package/lib/control/cmd-config.js +23 -23
- package/lib/control/control-handler.js +344 -344
- package/lib/control/packagectr-helper.js +149 -149
- package/lib/core/agent.js +329 -328
- package/lib/core/interceptor.js +142 -142
- package/lib/core/request-agent.js +26 -26
- package/lib/counter/counter-manager.js +127 -127
- package/lib/counter/meter/meter-activex.js +66 -66
- package/lib/counter/meter/meter-httpc.js +57 -57
- package/lib/counter/meter/meter-resource.js +9 -9
- package/lib/counter/meter/meter-service.js +167 -167
- package/lib/counter/meter/meter-socket.io.js +50 -50
- package/lib/counter/meter/meter-sql.js +70 -70
- package/lib/counter/meter/meter-users.js +57 -57
- package/lib/counter/meter.js +183 -183
- package/lib/counter/task/activetransaction.js +93 -93
- package/lib/counter/task/agentinfo.js +105 -105
- package/lib/counter/task/counter-task.js +9 -9
- package/lib/counter/task/gcstat.js +34 -34
- package/lib/counter/task/heapmem.js +24 -24
- package/lib/counter/task/httpc.js +75 -75
- package/lib/counter/task/proc-cpu.js +28 -28
- package/lib/counter/task/realtimeuser.js +30 -30
- package/lib/counter/task/res/systemECSTask.js +54 -54
- package/lib/counter/task/res/systemKubeTask.js +52 -52
- package/lib/counter/task/res/util/awsEcsClientThread.js +166 -166
- package/lib/counter/task/res/util/linuxProcStatUtil.js +13 -13
- package/lib/counter/task/res-sys-cpu.js +61 -61
- package/lib/counter/task/service.js +201 -201
- package/lib/counter/task/socketio.js +29 -29
- package/lib/counter/task/sql.js +104 -104
- package/lib/counter/task/systemperf.js +42 -42
- package/lib/data/datapack-sender.js +256 -256
- package/lib/data/dataprofile-agent.js +136 -136
- package/lib/data/datatext-agent.js +135 -135
- package/lib/data/event-level.js +15 -15
- package/lib/data/test.js +48 -48
- package/lib/env/constants.js +20 -20
- package/lib/kube/kube-client.js +143 -143
- package/lib/lang/text-types.js +58 -58
- package/lib/logger.js +319 -319
- package/lib/net/netflag.js +54 -54
- package/lib/net/paramdef.js +40 -40
- package/lib/net/receiver.js +65 -65
- package/lib/net/security-master.js +182 -173
- package/lib/net/sender.js +140 -140
- package/lib/net/tcp-return.js +17 -17
- package/lib/net/tcp-session.js +285 -285
- package/lib/net/tcpreq-client-proxy.js +69 -69
- package/lib/net/tcprequest-mgr.js +57 -57
- package/lib/observers/cluster-observer.js +21 -21
- package/lib/observers/express-observer.js +214 -214
- package/lib/observers/file-observer.js +184 -184
- package/lib/observers/global-observer.js +30 -30
- package/lib/observers/http-observer.js +704 -704
- package/lib/observers/maria-observer.js +382 -382
- package/lib/observers/memcached-observer.js +55 -55
- package/lib/observers/mongo-observer.js +262 -265
- package/lib/observers/mongodb-observer.js +197 -197
- package/lib/observers/mongoose-observer.js +83 -83
- package/lib/observers/mssql-observer.js +205 -205
- package/lib/observers/mysql-observer.js +436 -394
- package/lib/observers/net-observer.js +72 -72
- package/lib/observers/pgsql-observer.js +295 -295
- package/lib/observers/process-observer.js +25 -25
- package/lib/observers/promise-observer.js +31 -31
- package/lib/observers/redis-observer.js +156 -109
- package/lib/observers/schedule-observer.js +66 -66
- package/lib/observers/socket.io-observer.js +54 -54
- package/lib/observers/stream-observer.js +19 -19
- package/lib/observers/thrift-observer.js +196 -196
- package/lib/pack/activestack-pack.js +54 -54
- package/lib/pack/counter-pack.js +649 -649
- package/lib/pack/errorsnap-pack.js +68 -68
- package/lib/pack/event-pack.js +53 -53
- package/lib/pack/hitmap-pack.js +62 -62
- package/lib/pack/hitmap-pack1.js +146 -146
- package/lib/pack/netstat.js +14 -14
- package/lib/pack/pack.js +49 -49
- package/lib/pack/packenum.js +60 -60
- package/lib/pack/param-pack.js +213 -213
- package/lib/pack/profile-pack.js +48 -48
- package/lib/pack/realtimeuser-pack.js +40 -40
- package/lib/pack/stat-general-pack.js +95 -95
- package/lib/pack/staterror-pack.js +119 -119
- package/lib/pack/stathttpc-pack.js +66 -66
- package/lib/pack/stathttpc-rec.js +78 -78
- package/lib/pack/statremote-pack.js +45 -45
- package/lib/pack/statservice-pack.js +62 -62
- package/lib/pack/statservice-pack1.js +87 -87
- package/lib/pack/statservice-rec.js +292 -292
- package/lib/pack/statservice-rec_dep.js +151 -151
- package/lib/pack/statsql-pack.js +69 -69
- package/lib/pack/statsql-rec.js +100 -100
- package/lib/pack/statuseragent-pack.js +43 -43
- package/lib/pack/tagcount-pack.js +398 -398
- package/lib/pack/tagctr.js +14 -14
- package/lib/pack/text-pack.js +49 -49
- package/lib/pack/time-count.js +25 -25
- package/lib/pack/websocket.js +14 -14
- package/lib/plugin/plugin-loadermanager.js +56 -56
- package/lib/plugin/plugin.js +75 -75
- package/lib/requestlog.js +326 -326
- package/lib/service/tx-record.js +288 -288
- package/lib/stat/stat-error.js +116 -116
- package/lib/stat/stat-httpc.js +97 -97
- package/lib/stat/stat-remoteip.js +46 -46
- package/lib/stat/stat-sql.js +112 -112
- package/lib/stat/stat-tranx.js +57 -57
- package/lib/stat/stat-tx-caller.js +159 -159
- package/lib/stat/stat-tx-domain.js +110 -110
- package/lib/stat/stat-tx-referer.js +111 -111
- package/lib/stat/stat-useragent.js +48 -48
- package/lib/stat/timingsender.js +72 -72
- package/lib/step/activestack-step.js +37 -37
- package/lib/step/dbc-step.js +35 -35
- package/lib/step/http-stepx.js +66 -66
- package/lib/step/message-step.js +39 -39
- package/lib/step/method-stepx.js +46 -46
- package/lib/step/resultset-step.js +39 -39
- package/lib/step/securemsg-step.js +43 -43
- package/lib/step/socket-step.js +46 -46
- package/lib/step/sql-stepx.js +67 -67
- package/lib/step/sqlxtype.js +15 -15
- package/lib/step/step.js +65 -65
- package/lib/step/stepenum.js +53 -53
- package/lib/trace/local-context.js +13 -13
- package/lib/trace/parsed-sql.js +13 -13
- package/lib/trace/profile-collector.js +70 -70
- package/lib/trace/serviceurl-pattern-detector.js +117 -117
- package/lib/trace/trace-context-manager.js +195 -195
- package/lib/trace/trace-context.js +134 -134
- package/lib/util/anylist.js +102 -102
- package/lib/util/array-util.js +100 -100
- package/lib/util/bitutil.js +27 -27
- package/lib/util/cardinality/hyperloglog.js +105 -105
- package/lib/util/cardinality/murmurhash.js +31 -31
- package/lib/util/cardinality/registerset.js +74 -74
- package/lib/util/config-util.js +17 -17
- package/lib/util/cypher.js +89 -89
- package/lib/util/datetimehelper.js +237 -229
- package/lib/util/dateutil.js +110 -106
- package/lib/util/errordata.js +20 -20
- package/lib/util/escape-literal-sql.js +342 -342
- package/lib/util/hashutil2.js +126 -126
- package/lib/util/hexa32.js +57 -57
- package/lib/util/index.js +78 -78
- package/lib/util/intint-map.js +47 -47
- package/lib/util/intkey-linkedmap.js +26 -26
- package/lib/util/intkey-map.js +25 -25
- package/lib/util/intset.js +82 -82
- package/lib/util/iputil.js +119 -119
- package/lib/util/iputil_x.js +526 -526
- package/lib/util/keygen.js +17 -17
- package/lib/util/kube-util.js +72 -72
- package/lib/util/longint-linkedmap.js +35 -35
- package/lib/util/longkey-linkedmap.js +25 -25
- package/lib/util/longlong-linkedmap.js +37 -37
- package/lib/util/nodeutil.js +67 -67
- package/lib/util/oidutil.js +96 -93
- package/lib/util/paramsecurity.js +78 -78
- package/lib/util/pathtree.js +172 -172
- package/lib/util/pre-process.js +13 -13
- package/lib/util/process-seq.js +165 -165
- package/lib/util/property-util.js +35 -35
- package/lib/util/request-queue.js +42 -42
- package/lib/util/requestdouble-queue.js +72 -72
- package/lib/util/resourceprofile.js +156 -156
- package/lib/util/seedrandom.js +242 -242
- package/lib/util/stop-watch.js +29 -29
- package/lib/util/string-util.js +9 -9
- package/lib/util/stringkey-linkedmap.js +28 -28
- package/lib/util/stringnum-linkedmap.js +31 -31
- package/lib/util/stringset.js +65 -65
- package/lib/util/system-util.js +9 -9
- package/lib/util/userid-util.js +57 -57
- package/lib/util/utils.js +67 -67
- package/lib/value/blob-value.js +61 -61
- package/lib/value/boolean-value.js +51 -51
- package/lib/value/decimal-value.js +71 -71
- package/lib/value/double-summary.js +105 -105
- package/lib/value/double-value.js +50 -50
- package/lib/value/float-array.js +59 -59
- package/lib/value/float-value.js +64 -64
- package/lib/value/int-array.js +59 -59
- package/lib/value/int-map-value.js +151 -151
- package/lib/value/int-value.js +64 -64
- package/lib/value/ip4-value.js +83 -83
- package/lib/value/list-value.js +136 -136
- package/lib/value/long-array.js +59 -59
- package/lib/value/long-summary.js +105 -105
- package/lib/value/map-value.js +175 -175
- package/lib/value/metric-value.js +157 -157
- package/lib/value/null-value.js +42 -42
- package/lib/value/number-value.js +34 -34
- package/lib/value/summary-value.js +29 -29
- package/lib/value/text-array.js +117 -117
- package/lib/value/text-value.js +59 -59
- package/lib/value/texthash-value.js +49 -49
- package/lib/value/value.js +14 -14
- package/lib/value/valueenum.js +99 -99
- package/logs/whatap-20230906.log +54 -0
- package/package.json +28 -28
- package/whatap.conf +1 -1
- package/logs/whatap-20230616.log +0 -13
package/lib/value/float-value.js
CHANGED
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2016 the WHATAP project authors. All rights reserved.
|
|
3
|
-
* Use of this source code is governed by a license that
|
|
4
|
-
* can be found in the LICENSE file.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var NumberValue = require('./number-value'),
|
|
9
|
-
ValueEnum = require('./valueenum'),
|
|
10
|
-
Long = require('long');
|
|
11
|
-
|
|
12
|
-
function FloatValue(value) {
|
|
13
|
-
NumberValue.call(this);
|
|
14
|
-
this.value = value || 0.0;
|
|
15
|
-
this.compareTo = function(object) {
|
|
16
|
-
if(object instanceof FloatValue) {
|
|
17
|
-
if(this.value != object.value) {
|
|
18
|
-
return this.value > object.value ? 1 : -1;
|
|
19
|
-
} else {
|
|
20
|
-
return 0;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return 1;
|
|
24
|
-
};
|
|
25
|
-
this.equals = function(object) {
|
|
26
|
-
if(object instanceof FloatValue) {
|
|
27
|
-
return this.value === object.value;
|
|
28
|
-
}
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
FloatValue.prototype = new NumberValue();
|
|
34
|
-
FloatValue.prototype.constructor = FloatValue;
|
|
35
|
-
FloatValue.prototype.getValueType = function() {
|
|
36
|
-
return ValueEnum.FLOAT;
|
|
37
|
-
};
|
|
38
|
-
FloatValue.prototype.write = function(dout) {
|
|
39
|
-
dout.writeFloat(this.value);
|
|
40
|
-
};
|
|
41
|
-
FloatValue.prototype.read = function(din) {
|
|
42
|
-
this.value = din.readFloat();
|
|
43
|
-
return this;
|
|
44
|
-
};
|
|
45
|
-
FloatValue.prototype.toObject = function() {
|
|
46
|
-
return this.value;
|
|
47
|
-
};
|
|
48
|
-
FloatValue.prototype.doubleValue = function() {
|
|
49
|
-
return this.value;
|
|
50
|
-
};
|
|
51
|
-
FloatValue.prototype.floatValue = function() {
|
|
52
|
-
return this.value;
|
|
53
|
-
};
|
|
54
|
-
FloatValue.prototype.intValue = function() {
|
|
55
|
-
return parseInt(this.value);
|
|
56
|
-
};
|
|
57
|
-
FloatValue.prototype.longValue = function() {
|
|
58
|
-
return Long.fromNumber(this.value);
|
|
59
|
-
};
|
|
60
|
-
FloatValue.prototype.numberValue = function() {
|
|
61
|
-
return this.value;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2016 the WHATAP project authors. All rights reserved.
|
|
3
|
+
* Use of this source code is governed by a license that
|
|
4
|
+
* can be found in the LICENSE file.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var NumberValue = require('./number-value'),
|
|
9
|
+
ValueEnum = require('./valueenum'),
|
|
10
|
+
Long = require('long');
|
|
11
|
+
|
|
12
|
+
function FloatValue(value) {
|
|
13
|
+
NumberValue.call(this);
|
|
14
|
+
this.value = value || 0.0;
|
|
15
|
+
this.compareTo = function(object) {
|
|
16
|
+
if(object instanceof FloatValue) {
|
|
17
|
+
if(this.value != object.value) {
|
|
18
|
+
return this.value > object.value ? 1 : -1;
|
|
19
|
+
} else {
|
|
20
|
+
return 0;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return 1;
|
|
24
|
+
};
|
|
25
|
+
this.equals = function(object) {
|
|
26
|
+
if(object instanceof FloatValue) {
|
|
27
|
+
return this.value === object.value;
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
FloatValue.prototype = new NumberValue();
|
|
34
|
+
FloatValue.prototype.constructor = FloatValue;
|
|
35
|
+
FloatValue.prototype.getValueType = function() {
|
|
36
|
+
return ValueEnum.FLOAT;
|
|
37
|
+
};
|
|
38
|
+
FloatValue.prototype.write = function(dout) {
|
|
39
|
+
dout.writeFloat(this.value);
|
|
40
|
+
};
|
|
41
|
+
FloatValue.prototype.read = function(din) {
|
|
42
|
+
this.value = din.readFloat();
|
|
43
|
+
return this;
|
|
44
|
+
};
|
|
45
|
+
FloatValue.prototype.toObject = function() {
|
|
46
|
+
return this.value;
|
|
47
|
+
};
|
|
48
|
+
FloatValue.prototype.doubleValue = function() {
|
|
49
|
+
return this.value;
|
|
50
|
+
};
|
|
51
|
+
FloatValue.prototype.floatValue = function() {
|
|
52
|
+
return this.value;
|
|
53
|
+
};
|
|
54
|
+
FloatValue.prototype.intValue = function() {
|
|
55
|
+
return parseInt(this.value);
|
|
56
|
+
};
|
|
57
|
+
FloatValue.prototype.longValue = function() {
|
|
58
|
+
return Long.fromNumber(this.value);
|
|
59
|
+
};
|
|
60
|
+
FloatValue.prototype.numberValue = function() {
|
|
61
|
+
return this.value;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
|
|
65
65
|
module.exports = FloatValue;
|
package/lib/value/int-array.js
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2016 the WHATAP project authors. All rights reserved.
|
|
3
|
-
* Use of this source code is governed by a license that
|
|
4
|
-
* can be found in the LICENSE file.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
var Value = require('./value'),
|
|
8
|
-
ValueEnum = require('./valueenum'),
|
|
9
|
-
ArrayUtil = require('../util/array-util');
|
|
10
|
-
|
|
11
|
-
function IntArray(value) {
|
|
12
|
-
Value.call(this);
|
|
13
|
-
this.value = value || [];
|
|
14
|
-
this._hash = 0;
|
|
15
|
-
|
|
16
|
-
this.compareTo = function(object) {
|
|
17
|
-
if(object instanceof IntArray) {
|
|
18
|
-
return ArrayUtil.compare(this.value, object.value);
|
|
19
|
-
}
|
|
20
|
-
return 1;
|
|
21
|
-
};
|
|
22
|
-
this.equals = function(object) {
|
|
23
|
-
if(object instanceof IntArray) {
|
|
24
|
-
return ArrayUtil.equals(this.value, object.value);
|
|
25
|
-
}
|
|
26
|
-
return false;
|
|
27
|
-
};
|
|
28
|
-
this.hashCode = function() {
|
|
29
|
-
if(this._hash === 0) {
|
|
30
|
-
if(this.value == null) {
|
|
31
|
-
return 0;
|
|
32
|
-
}
|
|
33
|
-
var result = 1,
|
|
34
|
-
len = this.value.length;
|
|
35
|
-
for(var i=0; i<len; i++) {
|
|
36
|
-
var element = this.value[i];
|
|
37
|
-
result = 31 * result + element;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return this._hash;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
IntArray.prototype = new Value();
|
|
45
|
-
IntArray.prototype.constructor = IntArray;
|
|
46
|
-
IntArray.prototype.write = function(dout) {
|
|
47
|
-
dout.writeIntArray(this.value);
|
|
48
|
-
};
|
|
49
|
-
IntArray.prototype.read = function(din) {
|
|
50
|
-
this.value = din.readIntArray();
|
|
51
|
-
return this;
|
|
52
|
-
};
|
|
53
|
-
IntArray.prototype.getValueType = function() {
|
|
54
|
-
return ValueEnum.ARRAY_INT;
|
|
55
|
-
};
|
|
56
|
-
IntArray.prototype.toObject = function() {
|
|
57
|
-
return this.value;
|
|
58
|
-
};
|
|
59
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2016 the WHATAP project authors. All rights reserved.
|
|
3
|
+
* Use of this source code is governed by a license that
|
|
4
|
+
* can be found in the LICENSE file.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
var Value = require('./value'),
|
|
8
|
+
ValueEnum = require('./valueenum'),
|
|
9
|
+
ArrayUtil = require('../util/array-util');
|
|
10
|
+
|
|
11
|
+
function IntArray(value) {
|
|
12
|
+
Value.call(this);
|
|
13
|
+
this.value = value || [];
|
|
14
|
+
this._hash = 0;
|
|
15
|
+
|
|
16
|
+
this.compareTo = function(object) {
|
|
17
|
+
if(object instanceof IntArray) {
|
|
18
|
+
return ArrayUtil.compare(this.value, object.value);
|
|
19
|
+
}
|
|
20
|
+
return 1;
|
|
21
|
+
};
|
|
22
|
+
this.equals = function(object) {
|
|
23
|
+
if(object instanceof IntArray) {
|
|
24
|
+
return ArrayUtil.equals(this.value, object.value);
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
};
|
|
28
|
+
this.hashCode = function() {
|
|
29
|
+
if(this._hash === 0) {
|
|
30
|
+
if(this.value == null) {
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
33
|
+
var result = 1,
|
|
34
|
+
len = this.value.length;
|
|
35
|
+
for(var i=0; i<len; i++) {
|
|
36
|
+
var element = this.value[i];
|
|
37
|
+
result = 31 * result + element;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return this._hash;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
IntArray.prototype = new Value();
|
|
45
|
+
IntArray.prototype.constructor = IntArray;
|
|
46
|
+
IntArray.prototype.write = function(dout) {
|
|
47
|
+
dout.writeIntArray(this.value);
|
|
48
|
+
};
|
|
49
|
+
IntArray.prototype.read = function(din) {
|
|
50
|
+
this.value = din.readIntArray();
|
|
51
|
+
return this;
|
|
52
|
+
};
|
|
53
|
+
IntArray.prototype.getValueType = function() {
|
|
54
|
+
return ValueEnum.ARRAY_INT;
|
|
55
|
+
};
|
|
56
|
+
IntArray.prototype.toObject = function() {
|
|
57
|
+
return this.value;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
60
|
module.exports = IntArray;
|
|
@@ -1,152 +1,152 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2016 the WHATAP project authors. All rights reserved.
|
|
3
|
-
* Use of this source code is governed by a license that
|
|
4
|
-
* can be found in the LICENSE file.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
var Long = require('long'),
|
|
8
|
-
IntKeyLinkedMap = require('../util/intkey-linkedmap'),
|
|
9
|
-
ValueEnum = require('./valueenum'),
|
|
10
|
-
Value = require('./value'),
|
|
11
|
-
BooleanValue = require('./boolean-value'),
|
|
12
|
-
NumberValue = require('./number-value'),
|
|
13
|
-
TextValue = require('./text-value'),
|
|
14
|
-
DecimalValue = require('./decimal-value'),
|
|
15
|
-
ListValue = require('./list-value');
|
|
16
|
-
|
|
17
|
-
function IntMapValue() {
|
|
18
|
-
Value.call(this);
|
|
19
|
-
|
|
20
|
-
this.table = new IntKeyLinkedMap();
|
|
21
|
-
this.equals = function (obj) {
|
|
22
|
-
return (this === obj)
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
IntMapValue.prototype = new Value();
|
|
27
|
-
IntMapValue.prototype.constructor = IntMapValue;
|
|
28
|
-
IntMapValue.prototype.size = function () {
|
|
29
|
-
return this.table.size();
|
|
30
|
-
};
|
|
31
|
-
IntMapValue.prototype.isEmpty = function () {
|
|
32
|
-
return this.size() === 0;
|
|
33
|
-
};
|
|
34
|
-
IntMapValue.prototype.containsKey = function (key) {
|
|
35
|
-
return this.table.containsKey(key);
|
|
36
|
-
};
|
|
37
|
-
IntMapValue.prototype.keys = function () {
|
|
38
|
-
return this.table.keys();
|
|
39
|
-
};
|
|
40
|
-
IntMapValue.prototype.get = function (key) {
|
|
41
|
-
return this.table.get(key);
|
|
42
|
-
};
|
|
43
|
-
IntMapValue.prototype.getBoolean = function (key) {
|
|
44
|
-
var v = this.get(key);
|
|
45
|
-
if (v instanceof BooleanValue) {
|
|
46
|
-
return v.value;
|
|
47
|
-
}
|
|
48
|
-
return false;
|
|
49
|
-
};
|
|
50
|
-
IntMapValue.prototype.getInt = function (key) {
|
|
51
|
-
var v = this.get(key);
|
|
52
|
-
if (v instanceof NumberValue) {
|
|
53
|
-
return v.intValue();
|
|
54
|
-
}
|
|
55
|
-
return 0;
|
|
56
|
-
};
|
|
57
|
-
IntMapValue.prototype.getLong = function (key) {
|
|
58
|
-
var v = this.get(key);
|
|
59
|
-
if (v instanceof NumberValue) {
|
|
60
|
-
return v.longValue();
|
|
61
|
-
}
|
|
62
|
-
return Long.ZERO;
|
|
63
|
-
};
|
|
64
|
-
IntMapValue.prototype.getNumber = function (key) {
|
|
65
|
-
var v = this.get(key);
|
|
66
|
-
if (v instanceof NumberValue) {
|
|
67
|
-
return v.numberValue();
|
|
68
|
-
}
|
|
69
|
-
return 0;
|
|
70
|
-
};
|
|
71
|
-
IntMapValue.prototype.getFloat = function (key) {
|
|
72
|
-
var v = this.get(key);
|
|
73
|
-
if (v instanceof NumberValue) {
|
|
74
|
-
return v.floatValue();
|
|
75
|
-
}
|
|
76
|
-
return 0;
|
|
77
|
-
|
|
78
|
-
};
|
|
79
|
-
IntMapValue.prototype.getText = function (key) {
|
|
80
|
-
var v = this.get(key);
|
|
81
|
-
if (v instanceof TextValue) {
|
|
82
|
-
return v.value;
|
|
83
|
-
}
|
|
84
|
-
return null;
|
|
85
|
-
};
|
|
86
|
-
IntMapValue.prototype.putValue = function (key, value) {
|
|
87
|
-
this.table.put(key,value);
|
|
88
|
-
return this;
|
|
89
|
-
};
|
|
90
|
-
IntMapValue.prototype.putString = function (key, value) {
|
|
91
|
-
this.table.put(key, new TextValue(value + ""));
|
|
92
|
-
return this;
|
|
93
|
-
};
|
|
94
|
-
IntMapValue.prototype.putLong = function (key, value) {
|
|
95
|
-
this.table.put(key, new DecimalValue(value));
|
|
96
|
-
};
|
|
97
|
-
IntMapValue.prototype.remove = function (key) {
|
|
98
|
-
return this.table.remove(key);
|
|
99
|
-
};
|
|
100
|
-
IntMapValue.prototype.clear = function () {
|
|
101
|
-
this.table.clear();
|
|
102
|
-
};
|
|
103
|
-
IntMapValue.prototype.toString = function () {
|
|
104
|
-
return this.table.toString();
|
|
105
|
-
};
|
|
106
|
-
IntMapValue.prototype.getValueType = function () {
|
|
107
|
-
return ValueEnum.INT_MAP;
|
|
108
|
-
};
|
|
109
|
-
IntMapValue.prototype.write = function (dout) {
|
|
110
|
-
dout.writeDecimal(this.table.size());
|
|
111
|
-
var en = this.table.keys();
|
|
112
|
-
while(en.hasMoreElements()) {
|
|
113
|
-
var key = en.nextElement();
|
|
114
|
-
dout.writeInt32BE(key);
|
|
115
|
-
dout.writeValue(this.table.get(key));
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
IntMapValue.prototype.read = function (din) {
|
|
119
|
-
var count = din.readDecNumber();
|
|
120
|
-
for (var i = 0; i < count; i++) {
|
|
121
|
-
var key = din.readInt32BE();
|
|
122
|
-
var value = din.readValue();
|
|
123
|
-
this.putValue(key, value);
|
|
124
|
-
}
|
|
125
|
-
return this;
|
|
126
|
-
};
|
|
127
|
-
IntMapValue.prototype.newList = function (key) {
|
|
128
|
-
var list = new ListValue();
|
|
129
|
-
this.putValue(key, list);
|
|
130
|
-
return list;
|
|
131
|
-
};
|
|
132
|
-
IntMapValue.prototype.getList = function (key) {
|
|
133
|
-
return this.table.get(key);
|
|
134
|
-
};
|
|
135
|
-
IntMapValue.prototype.toObject = function () {
|
|
136
|
-
return this.table;
|
|
137
|
-
};
|
|
138
|
-
IntMapValue.prototype.putAllMap = function (m) {
|
|
139
|
-
var en = m.keys();
|
|
140
|
-
while (en.hasMoreElements()) {
|
|
141
|
-
var key = en.nextElement();
|
|
142
|
-
var value = m.get(key);
|
|
143
|
-
if (value instanceof Value) {
|
|
144
|
-
this.table.put(key, value);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
IntMapValue.prototype.putAllMapValue = function (m) {
|
|
149
|
-
this.putAllMap(m);
|
|
150
|
-
};
|
|
151
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2016 the WHATAP project authors. All rights reserved.
|
|
3
|
+
* Use of this source code is governed by a license that
|
|
4
|
+
* can be found in the LICENSE file.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
var Long = require('long'),
|
|
8
|
+
IntKeyLinkedMap = require('../util/intkey-linkedmap'),
|
|
9
|
+
ValueEnum = require('./valueenum'),
|
|
10
|
+
Value = require('./value'),
|
|
11
|
+
BooleanValue = require('./boolean-value'),
|
|
12
|
+
NumberValue = require('./number-value'),
|
|
13
|
+
TextValue = require('./text-value'),
|
|
14
|
+
DecimalValue = require('./decimal-value'),
|
|
15
|
+
ListValue = require('./list-value');
|
|
16
|
+
|
|
17
|
+
function IntMapValue() {
|
|
18
|
+
Value.call(this);
|
|
19
|
+
|
|
20
|
+
this.table = new IntKeyLinkedMap();
|
|
21
|
+
this.equals = function (obj) {
|
|
22
|
+
return (this === obj)
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
IntMapValue.prototype = new Value();
|
|
27
|
+
IntMapValue.prototype.constructor = IntMapValue;
|
|
28
|
+
IntMapValue.prototype.size = function () {
|
|
29
|
+
return this.table.size();
|
|
30
|
+
};
|
|
31
|
+
IntMapValue.prototype.isEmpty = function () {
|
|
32
|
+
return this.size() === 0;
|
|
33
|
+
};
|
|
34
|
+
IntMapValue.prototype.containsKey = function (key) {
|
|
35
|
+
return this.table.containsKey(key);
|
|
36
|
+
};
|
|
37
|
+
IntMapValue.prototype.keys = function () {
|
|
38
|
+
return this.table.keys();
|
|
39
|
+
};
|
|
40
|
+
IntMapValue.prototype.get = function (key) {
|
|
41
|
+
return this.table.get(key);
|
|
42
|
+
};
|
|
43
|
+
IntMapValue.prototype.getBoolean = function (key) {
|
|
44
|
+
var v = this.get(key);
|
|
45
|
+
if (v instanceof BooleanValue) {
|
|
46
|
+
return v.value;
|
|
47
|
+
}
|
|
48
|
+
return false;
|
|
49
|
+
};
|
|
50
|
+
IntMapValue.prototype.getInt = function (key) {
|
|
51
|
+
var v = this.get(key);
|
|
52
|
+
if (v instanceof NumberValue) {
|
|
53
|
+
return v.intValue();
|
|
54
|
+
}
|
|
55
|
+
return 0;
|
|
56
|
+
};
|
|
57
|
+
IntMapValue.prototype.getLong = function (key) {
|
|
58
|
+
var v = this.get(key);
|
|
59
|
+
if (v instanceof NumberValue) {
|
|
60
|
+
return v.longValue();
|
|
61
|
+
}
|
|
62
|
+
return Long.ZERO;
|
|
63
|
+
};
|
|
64
|
+
IntMapValue.prototype.getNumber = function (key) {
|
|
65
|
+
var v = this.get(key);
|
|
66
|
+
if (v instanceof NumberValue) {
|
|
67
|
+
return v.numberValue();
|
|
68
|
+
}
|
|
69
|
+
return 0;
|
|
70
|
+
};
|
|
71
|
+
IntMapValue.prototype.getFloat = function (key) {
|
|
72
|
+
var v = this.get(key);
|
|
73
|
+
if (v instanceof NumberValue) {
|
|
74
|
+
return v.floatValue();
|
|
75
|
+
}
|
|
76
|
+
return 0;
|
|
77
|
+
|
|
78
|
+
};
|
|
79
|
+
IntMapValue.prototype.getText = function (key) {
|
|
80
|
+
var v = this.get(key);
|
|
81
|
+
if (v instanceof TextValue) {
|
|
82
|
+
return v.value;
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
85
|
+
};
|
|
86
|
+
IntMapValue.prototype.putValue = function (key, value) {
|
|
87
|
+
this.table.put(key,value);
|
|
88
|
+
return this;
|
|
89
|
+
};
|
|
90
|
+
IntMapValue.prototype.putString = function (key, value) {
|
|
91
|
+
this.table.put(key, new TextValue(value + ""));
|
|
92
|
+
return this;
|
|
93
|
+
};
|
|
94
|
+
IntMapValue.prototype.putLong = function (key, value) {
|
|
95
|
+
this.table.put(key, new DecimalValue(value));
|
|
96
|
+
};
|
|
97
|
+
IntMapValue.prototype.remove = function (key) {
|
|
98
|
+
return this.table.remove(key);
|
|
99
|
+
};
|
|
100
|
+
IntMapValue.prototype.clear = function () {
|
|
101
|
+
this.table.clear();
|
|
102
|
+
};
|
|
103
|
+
IntMapValue.prototype.toString = function () {
|
|
104
|
+
return this.table.toString();
|
|
105
|
+
};
|
|
106
|
+
IntMapValue.prototype.getValueType = function () {
|
|
107
|
+
return ValueEnum.INT_MAP;
|
|
108
|
+
};
|
|
109
|
+
IntMapValue.prototype.write = function (dout) {
|
|
110
|
+
dout.writeDecimal(this.table.size());
|
|
111
|
+
var en = this.table.keys();
|
|
112
|
+
while(en.hasMoreElements()) {
|
|
113
|
+
var key = en.nextElement();
|
|
114
|
+
dout.writeInt32BE(key);
|
|
115
|
+
dout.writeValue(this.table.get(key));
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
IntMapValue.prototype.read = function (din) {
|
|
119
|
+
var count = din.readDecNumber();
|
|
120
|
+
for (var i = 0; i < count; i++) {
|
|
121
|
+
var key = din.readInt32BE();
|
|
122
|
+
var value = din.readValue();
|
|
123
|
+
this.putValue(key, value);
|
|
124
|
+
}
|
|
125
|
+
return this;
|
|
126
|
+
};
|
|
127
|
+
IntMapValue.prototype.newList = function (key) {
|
|
128
|
+
var list = new ListValue();
|
|
129
|
+
this.putValue(key, list);
|
|
130
|
+
return list;
|
|
131
|
+
};
|
|
132
|
+
IntMapValue.prototype.getList = function (key) {
|
|
133
|
+
return this.table.get(key);
|
|
134
|
+
};
|
|
135
|
+
IntMapValue.prototype.toObject = function () {
|
|
136
|
+
return this.table;
|
|
137
|
+
};
|
|
138
|
+
IntMapValue.prototype.putAllMap = function (m) {
|
|
139
|
+
var en = m.keys();
|
|
140
|
+
while (en.hasMoreElements()) {
|
|
141
|
+
var key = en.nextElement();
|
|
142
|
+
var value = m.get(key);
|
|
143
|
+
if (value instanceof Value) {
|
|
144
|
+
this.table.put(key, value);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
IntMapValue.prototype.putAllMapValue = function (m) {
|
|
149
|
+
this.putAllMap(m);
|
|
150
|
+
};
|
|
151
|
+
|
|
152
152
|
module.exports = IntMapValue;
|
package/lib/value/int-value.js
CHANGED
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2016 the WHATAP project authors. All rights reserved.
|
|
3
|
-
* Use of this source code is governed by a license that
|
|
4
|
-
* can be found in the LICENSE file.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var NumberValue = require('./number-value'),
|
|
9
|
-
ValueEnum = require('./valueenum'),
|
|
10
|
-
Long = require('long');
|
|
11
|
-
|
|
12
|
-
function IntValue(value) {
|
|
13
|
-
NumberValue.call(this);
|
|
14
|
-
this.value = value || 0;
|
|
15
|
-
this.compareTo = function(object) {
|
|
16
|
-
if(object instanceof IntValue) {
|
|
17
|
-
if(this.value != object.value) {
|
|
18
|
-
return this.value > object.value ? 1 : -1;
|
|
19
|
-
} else {
|
|
20
|
-
return 0;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return 1;
|
|
24
|
-
};
|
|
25
|
-
this.equals = function(object) {
|
|
26
|
-
if(object instanceof IntValue) {
|
|
27
|
-
return this.value === object.value;
|
|
28
|
-
}
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
IntValue.prototype = new NumberValue();
|
|
34
|
-
IntValue.prototype.constructor = IntValue;
|
|
35
|
-
IntValue.prototype.getValueType = function() {
|
|
36
|
-
return ValueEnum.DECIMAL_INT;
|
|
37
|
-
};
|
|
38
|
-
IntValue.prototype.write = function(dout) {
|
|
39
|
-
dout.writeInt32BE(this.value);
|
|
40
|
-
};
|
|
41
|
-
IntValue.prototype.read = function(din) {
|
|
42
|
-
this.value = din.readInt32BE();
|
|
43
|
-
return this;
|
|
44
|
-
};
|
|
45
|
-
IntValue.prototype.toObject = function() {
|
|
46
|
-
return this.value;
|
|
47
|
-
};
|
|
48
|
-
IntValue.prototype.doubleValue = function() {
|
|
49
|
-
return this.value;
|
|
50
|
-
};
|
|
51
|
-
IntValue.prototype.floatValue = function() {
|
|
52
|
-
return this.value;
|
|
53
|
-
};
|
|
54
|
-
IntValue.prototype.intValue = function() {
|
|
55
|
-
return this.value;
|
|
56
|
-
};
|
|
57
|
-
IntValue.prototype.longValue = function() {
|
|
58
|
-
return Long.fromNumber(this.value);
|
|
59
|
-
};
|
|
60
|
-
IntValue.prototype.numberValue = function() {
|
|
61
|
-
return this.value;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2016 the WHATAP project authors. All rights reserved.
|
|
3
|
+
* Use of this source code is governed by a license that
|
|
4
|
+
* can be found in the LICENSE file.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var NumberValue = require('./number-value'),
|
|
9
|
+
ValueEnum = require('./valueenum'),
|
|
10
|
+
Long = require('long');
|
|
11
|
+
|
|
12
|
+
function IntValue(value) {
|
|
13
|
+
NumberValue.call(this);
|
|
14
|
+
this.value = value || 0;
|
|
15
|
+
this.compareTo = function(object) {
|
|
16
|
+
if(object instanceof IntValue) {
|
|
17
|
+
if(this.value != object.value) {
|
|
18
|
+
return this.value > object.value ? 1 : -1;
|
|
19
|
+
} else {
|
|
20
|
+
return 0;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return 1;
|
|
24
|
+
};
|
|
25
|
+
this.equals = function(object) {
|
|
26
|
+
if(object instanceof IntValue) {
|
|
27
|
+
return this.value === object.value;
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
IntValue.prototype = new NumberValue();
|
|
34
|
+
IntValue.prototype.constructor = IntValue;
|
|
35
|
+
IntValue.prototype.getValueType = function() {
|
|
36
|
+
return ValueEnum.DECIMAL_INT;
|
|
37
|
+
};
|
|
38
|
+
IntValue.prototype.write = function(dout) {
|
|
39
|
+
dout.writeInt32BE(this.value);
|
|
40
|
+
};
|
|
41
|
+
IntValue.prototype.read = function(din) {
|
|
42
|
+
this.value = din.readInt32BE();
|
|
43
|
+
return this;
|
|
44
|
+
};
|
|
45
|
+
IntValue.prototype.toObject = function() {
|
|
46
|
+
return this.value;
|
|
47
|
+
};
|
|
48
|
+
IntValue.prototype.doubleValue = function() {
|
|
49
|
+
return this.value;
|
|
50
|
+
};
|
|
51
|
+
IntValue.prototype.floatValue = function() {
|
|
52
|
+
return this.value;
|
|
53
|
+
};
|
|
54
|
+
IntValue.prototype.intValue = function() {
|
|
55
|
+
return this.value;
|
|
56
|
+
};
|
|
57
|
+
IntValue.prototype.longValue = function() {
|
|
58
|
+
return Long.fromNumber(this.value);
|
|
59
|
+
};
|
|
60
|
+
IntValue.prototype.numberValue = function() {
|
|
61
|
+
return this.value;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
|
|
65
65
|
module.exports = IntValue;
|