@microsoft/applicationinsights-common 3.3.5-nightly3.2501-07 → 3.3.5-nightly3.2502-02
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/browser/es5/applicationinsights-common.cjs.js +247 -136
- package/browser/es5/applicationinsights-common.cjs.js.map +1 -1
- package/browser/es5/applicationinsights-common.cjs.min.js +2 -2
- package/browser/es5/applicationinsights-common.cjs.min.js.map +1 -1
- package/browser/es5/applicationinsights-common.gbl.js +249 -138
- package/browser/es5/applicationinsights-common.gbl.js.map +1 -1
- package/browser/es5/applicationinsights-common.gbl.min.js +2 -2
- package/browser/es5/applicationinsights-common.gbl.min.js.map +1 -1
- package/browser/es5/applicationinsights-common.integrity.json +25 -25
- package/browser/es5/applicationinsights-common.js +249 -138
- package/browser/es5/applicationinsights-common.js.map +1 -1
- package/browser/es5/applicationinsights-common.min.js +2 -2
- package/browser/es5/applicationinsights-common.min.js.map +1 -1
- package/dist/es5/applicationinsights-common.js +247 -136
- package/dist/es5/applicationinsights-common.js.map +1 -1
- package/dist/es5/applicationinsights-common.min.js +2 -2
- package/dist/es5/applicationinsights-common.min.js.map +1 -1
- package/dist-es5/ConnectionStringParser.js +1 -1
- package/dist-es5/Constants.js +1 -1
- package/dist-es5/DomHelperFuncs.js +1 -1
- package/dist-es5/Enums.js +1 -1
- package/dist-es5/HelperFuncs.js +1 -1
- package/dist-es5/Interfaces/ConnectionString.js +1 -1
- package/dist-es5/Interfaces/Context/IApplication.js +1 -1
- package/dist-es5/Interfaces/Context/IDevice.js +1 -1
- package/dist-es5/Interfaces/Context/IInternal.js +1 -1
- package/dist-es5/Interfaces/Context/ILocation.js +1 -1
- package/dist-es5/Interfaces/Context/IOperatingSystem.js +1 -1
- package/dist-es5/Interfaces/Context/ISample.js +1 -1
- package/dist-es5/Interfaces/Context/ISession.js +1 -1
- package/dist-es5/Interfaces/Context/ISessionManager.js +1 -1
- package/dist-es5/Interfaces/Context/ITelemetryTrace.js +1 -1
- package/dist-es5/Interfaces/Context/IUser.js +1 -1
- package/dist-es5/Interfaces/Context/IWeb.js +1 -1
- package/dist-es5/Interfaces/Contracts/AvailabilityData.js +1 -1
- package/dist-es5/Interfaces/Contracts/ContextTagKeys.js +1 -1
- package/dist-es5/Interfaces/Contracts/DataPointType.js +1 -1
- package/dist-es5/Interfaces/Contracts/DependencyKind.js +1 -1
- package/dist-es5/Interfaces/Contracts/DependencySourceType.js +1 -1
- package/dist-es5/Interfaces/Contracts/IBase.js +1 -1
- package/dist-es5/Interfaces/Contracts/IData.js +1 -1
- package/dist-es5/Interfaces/Contracts/IDataPoint.js +1 -1
- package/dist-es5/Interfaces/Contracts/IDomain.js +1 -1
- package/dist-es5/Interfaces/Contracts/IEnvelope.js +1 -1
- package/dist-es5/Interfaces/Contracts/IEventData.js +1 -1
- package/dist-es5/Interfaces/Contracts/IExceptionData.js +1 -1
- package/dist-es5/Interfaces/Contracts/IExceptionDetails.js +1 -1
- package/dist-es5/Interfaces/Contracts/IMessageData.js +1 -1
- package/dist-es5/Interfaces/Contracts/IMetricData.js +1 -1
- package/dist-es5/Interfaces/Contracts/IPageViewData.js +1 -1
- package/dist-es5/Interfaces/Contracts/IPageViewPerfData.js +1 -1
- package/dist-es5/Interfaces/Contracts/IRemoteDependencyData.js +1 -1
- package/dist-es5/Interfaces/Contracts/IStackFrame.js +1 -1
- package/dist-es5/Interfaces/Contracts/RequestData.js +1 -1
- package/dist-es5/Interfaces/Contracts/SeverityLevel.js +1 -1
- package/dist-es5/Interfaces/IAppInsights.js +1 -1
- package/dist-es5/Interfaces/IConfig.js +1 -1
- package/dist-es5/Interfaces/ICorrelationConfig.js +1 -1
- package/dist-es5/Interfaces/IDependencyTelemetry.js +1 -1
- package/dist-es5/Interfaces/IEventTelemetry.js +1 -1
- package/dist-es5/Interfaces/IExceptionTelemetry.js +1 -1
- package/dist-es5/Interfaces/IMetricTelemetry.js +1 -1
- package/dist-es5/Interfaces/IPageViewPerformanceTelemetry.js +1 -1
- package/dist-es5/Interfaces/IPageViewTelemetry.js +1 -1
- package/dist-es5/Interfaces/IPartC.js +1 -1
- package/dist-es5/Interfaces/IPropertiesPlugin.js +1 -1
- package/dist-es5/Interfaces/IRequestContext.js +1 -1
- package/dist-es5/Interfaces/IStorageBuffer.js +1 -1
- package/dist-es5/Interfaces/ITelemetryContext.js +1 -1
- package/dist-es5/Interfaces/IThrottleMgr.js +1 -1
- package/dist-es5/Interfaces/ITraceTelemetry.js +1 -1
- package/dist-es5/Interfaces/PartAExtensions.js +1 -1
- package/dist-es5/Interfaces/Telemetry/IEnvelope.js +1 -1
- package/dist-es5/Interfaces/Telemetry/ISerializable.js +1 -1
- package/dist-es5/Offline.js +1 -1
- package/dist-es5/RequestResponseHeaders.js +1 -1
- package/dist-es5/StorageHelperFuncs.js +1 -1
- package/dist-es5/Telemetry/Common/Data.js +1 -1
- package/dist-es5/Telemetry/Common/DataPoint.js +1 -1
- package/dist-es5/Telemetry/Common/DataSanitizer.js +1 -1
- package/dist-es5/Telemetry/Common/Envelope.js +3 -3
- package/dist-es5/Telemetry/Common/Envelope.js.map +1 -1
- package/dist-es5/Telemetry/Event.js +1 -1
- package/dist-es5/Telemetry/Exception.js +371 -137
- package/dist-es5/Telemetry/Exception.js.map +1 -1
- package/dist-es5/Telemetry/Metric.js +1 -1
- package/dist-es5/Telemetry/PageView.js +1 -1
- package/dist-es5/Telemetry/PageViewPerformance.js +1 -1
- package/dist-es5/Telemetry/RemoteDependencyData.js +1 -1
- package/dist-es5/Telemetry/Trace.js +1 -1
- package/dist-es5/TelemetryItemCreator.js +1 -1
- package/dist-es5/ThrottleMgr.js +1 -1
- package/dist-es5/UrlHelperFuncs.js +4 -4
- package/dist-es5/UrlHelperFuncs.js.map +1 -1
- package/dist-es5/Util.js +1 -1
- package/dist-es5/__DynamicConstants.js +13 -12
- package/dist-es5/__DynamicConstants.js.map +1 -1
- package/dist-es5/applicationinsights-common.js +1 -1
- package/package.json +3 -3
- package/types/applicationinsights-common.d.ts +1 -1
- package/types/applicationinsights-common.namespaced.d.ts +6 -6
|
@@ -1,65 +1,65 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "applicationinsights-common",
|
|
3
|
-
"version": "3.3.5-nightly3.
|
|
3
|
+
"version": "3.3.5-nightly3.2502-02",
|
|
4
4
|
"ext": {
|
|
5
5
|
"@cjs.js": {
|
|
6
6
|
"file": "applicationinsights-common.cjs.js",
|
|
7
7
|
"type": "text/javascript; charset=utf-8",
|
|
8
|
-
"integrity": "sha256-
|
|
8
|
+
"integrity": "sha256-4Ai9HzVOC17BHPp1HbuZ6zrusjzuu45IJuRTypcu4AA= sha384-guEJIADKLD5HYvLJguvv3ZuzxxfANNlkeS/zxlgfc1QmrGxuZe8l+jtcHTHJD0wU sha512-ICm0TJiANcNoXJiIDg1ln7rMauJTjo5BVTct3VIo+QEU1NOcXvYvUHybcNoxWKbnc5nND7J5ZmuF23pPmXHpDg==",
|
|
9
9
|
"hashes": {
|
|
10
|
-
"sha256": "
|
|
11
|
-
"sha384": "
|
|
12
|
-
"sha512": "
|
|
10
|
+
"sha256": "4Ai9HzVOC17BHPp1HbuZ6zrusjzuu45IJuRTypcu4AA=",
|
|
11
|
+
"sha384": "guEJIADKLD5HYvLJguvv3ZuzxxfANNlkeS/zxlgfc1QmrGxuZe8l+jtcHTHJD0wU",
|
|
12
|
+
"sha512": "ICm0TJiANcNoXJiIDg1ln7rMauJTjo5BVTct3VIo+QEU1NOcXvYvUHybcNoxWKbnc5nND7J5ZmuF23pPmXHpDg=="
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"@cjs.min.js": {
|
|
16
16
|
"file": "applicationinsights-common.cjs.min.js",
|
|
17
17
|
"type": "text/javascript; charset=utf-8",
|
|
18
|
-
"integrity": "sha256-
|
|
18
|
+
"integrity": "sha256-fEfaGXKVJQ8+aEcrjng5y5b2Ajfv6P+azUwYu4+zpZo= sha384-6aZJWiCdW1TTgeruEnCdM0AerYO6AjUgYDUFlfb+dGpQ1+3zAPcbKXEEfVZjBhNq sha512-aKP/4eVuvDWQPo+R0l2uDhRP0KUoa31/YetRgKp2gomX+5BPvOJRHTzI6WiT5PeVM0Am4mFOeQKheIMXSz5QCg==",
|
|
19
19
|
"hashes": {
|
|
20
|
-
"sha256": "
|
|
21
|
-
"sha384": "
|
|
22
|
-
"sha512": "
|
|
20
|
+
"sha256": "fEfaGXKVJQ8+aEcrjng5y5b2Ajfv6P+azUwYu4+zpZo=",
|
|
21
|
+
"sha384": "6aZJWiCdW1TTgeruEnCdM0AerYO6AjUgYDUFlfb+dGpQ1+3zAPcbKXEEfVZjBhNq",
|
|
22
|
+
"sha512": "aKP/4eVuvDWQPo+R0l2uDhRP0KUoa31/YetRgKp2gomX+5BPvOJRHTzI6WiT5PeVM0Am4mFOeQKheIMXSz5QCg=="
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"@gbl.js": {
|
|
26
26
|
"file": "applicationinsights-common.gbl.js",
|
|
27
27
|
"type": "text/javascript; charset=utf-8",
|
|
28
|
-
"integrity": "sha256-
|
|
28
|
+
"integrity": "sha256-ncMqDuZ4IkVlWumj+RvsZBFKPM1BSIQ9KKO5iIGAvK8= sha384-uRIHbZbSocRcgsCdUBFl17f1x3bdwqgT7pbjfmvSg6I4pLTZ3LYdPShlY5jS1E1t sha512-B+GDZzN2XfXUq5f7urHGp0kAe25EtNsIz9dTJctaO8BdNJS+ZdSExqGt5GeUzVGSYM33+8yopk3wxibTYLtTRw==",
|
|
29
29
|
"hashes": {
|
|
30
|
-
"sha256": "
|
|
31
|
-
"sha384": "
|
|
32
|
-
"sha512": "
|
|
30
|
+
"sha256": "ncMqDuZ4IkVlWumj+RvsZBFKPM1BSIQ9KKO5iIGAvK8=",
|
|
31
|
+
"sha384": "uRIHbZbSocRcgsCdUBFl17f1x3bdwqgT7pbjfmvSg6I4pLTZ3LYdPShlY5jS1E1t",
|
|
32
|
+
"sha512": "B+GDZzN2XfXUq5f7urHGp0kAe25EtNsIz9dTJctaO8BdNJS+ZdSExqGt5GeUzVGSYM33+8yopk3wxibTYLtTRw=="
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"@gbl.min.js": {
|
|
36
36
|
"file": "applicationinsights-common.gbl.min.js",
|
|
37
37
|
"type": "text/javascript; charset=utf-8",
|
|
38
|
-
"integrity": "sha256-
|
|
38
|
+
"integrity": "sha256-9JORM3b6s+O/HCaRWNQueMhsIE21+k7+9AyTxLP5j2o= sha384-Fur99x47o1Y00E76L61riVO2rz4TCCG7HeAfn0swrV2NZ77VqQePeHIrKeZQLCln sha512-2kU6MFcQNa3d17k0JGOY9AuYsceCwapI0E5oAX7R5RADjN0hUFHR+0HcmaOeeKDYltCdxTjUgcXImi+A1fvFvg==",
|
|
39
39
|
"hashes": {
|
|
40
|
-
"sha256": "
|
|
41
|
-
"sha384": "
|
|
42
|
-
"sha512": "
|
|
40
|
+
"sha256": "9JORM3b6s+O/HCaRWNQueMhsIE21+k7+9AyTxLP5j2o=",
|
|
41
|
+
"sha384": "Fur99x47o1Y00E76L61riVO2rz4TCCG7HeAfn0swrV2NZ77VqQePeHIrKeZQLCln",
|
|
42
|
+
"sha512": "2kU6MFcQNa3d17k0JGOY9AuYsceCwapI0E5oAX7R5RADjN0hUFHR+0HcmaOeeKDYltCdxTjUgcXImi+A1fvFvg=="
|
|
43
43
|
}
|
|
44
44
|
},
|
|
45
45
|
"@js": {
|
|
46
46
|
"file": "applicationinsights-common.js",
|
|
47
47
|
"type": "text/javascript; charset=utf-8",
|
|
48
|
-
"integrity": "sha256-
|
|
48
|
+
"integrity": "sha256-3W6KWzBTeB9WQjpvL64GXdcOx1TElcmrbmc68evVUxs= sha384-nxxFJvylHJceaRDsL3xRoyW5dwqt2FIzv6FEMB7+WUTlOs2mS/fga4nuWl0zcsfh sha512-Nm6RKGxcdBGc2xRgoeuYsKrOmT688Gco6ZEURI+kyZppW3ih3C8Arrvr7H6CFlTpzhusJEhSX8QSpG/NFcMfAw==",
|
|
49
49
|
"hashes": {
|
|
50
|
-
"sha256": "
|
|
51
|
-
"sha384": "
|
|
52
|
-
"sha512": "
|
|
50
|
+
"sha256": "3W6KWzBTeB9WQjpvL64GXdcOx1TElcmrbmc68evVUxs=",
|
|
51
|
+
"sha384": "nxxFJvylHJceaRDsL3xRoyW5dwqt2FIzv6FEMB7+WUTlOs2mS/fga4nuWl0zcsfh",
|
|
52
|
+
"sha512": "Nm6RKGxcdBGc2xRgoeuYsKrOmT688Gco6ZEURI+kyZppW3ih3C8Arrvr7H6CFlTpzhusJEhSX8QSpG/NFcMfAw=="
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
"@min.js": {
|
|
56
56
|
"file": "applicationinsights-common.min.js",
|
|
57
57
|
"type": "text/javascript; charset=utf-8",
|
|
58
|
-
"integrity": "sha256
|
|
58
|
+
"integrity": "sha256-+VkEG+8/mnPZ9RQFyYUE3Ac82KlF25IPKJ5rYn1QHwA= sha384-OT/XXeEbQNaVgGDnLsoLl7+Tg3OFywX/rEPWMD5szZqEJlb3BnsvWH8NOwM25JJx sha512-w5wDzF4JCXdr6pGkOnUJDqTb9uk2ToLPGGc4/k7kjwgZ2P70D4N8kFM6nMqa2dAgH030G+9Isg9MRYZyyMqouA==",
|
|
59
59
|
"hashes": {
|
|
60
|
-
"sha256": "
|
|
61
|
-
"sha384": "
|
|
62
|
-
"sha512": "
|
|
60
|
+
"sha256": "+VkEG+8/mnPZ9RQFyYUE3Ac82KlF25IPKJ5rYn1QHwA=",
|
|
61
|
+
"sha384": "OT/XXeEbQNaVgGDnLsoLl7+Tg3OFywX/rEPWMD5szZqEJlb3BnsvWH8NOwM25JJx",
|
|
62
|
+
"sha512": "w5wDzF4JCXdr6pGkOnUJDqTb9uk2ToLPGGc4/k7kjwgZ2P70D4N8kFM6nMqa2dAgH030G+9Isg9MRYZyyMqouA=="
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Application Insights JavaScript SDK - Common, 3.3.5-nightly3.
|
|
2
|
+
* Application Insights JavaScript SDK - Common, 3.3.5-nightly3.2502-02
|
|
3
3
|
* Copyright (c) Microsoft and contributors. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
typeof exports === "object" && typeof module !== undef ? factory(exports) :
|
|
8
8
|
typeof define === "function" && define.amd ? define(["exports"], factory) :
|
|
9
9
|
(function(global){
|
|
10
|
-
var nsKey, key, nm, theExports = {}, modName = "
|
|
11
|
-
var mods={}, modDetail=mods[modName]={}, ver="3.3.5-nightly3.
|
|
10
|
+
var nsKey, key, nm, theExports = {}, modName = "es5_applicationinsights_common_3_3_5_nightly3_2502_02", msMod="__ms$mod__";
|
|
11
|
+
var mods={}, modDetail=mods[modName]={}, ver="3.3.5-nightly3.2502-02";
|
|
12
12
|
var baseNs=global, nsKey="Microsoft", baseNs=baseNs[nsKey]=(baseNs[nsKey]||{});
|
|
13
13
|
// Versioned namespace "Microsoft.ApplicationInsights3"
|
|
14
14
|
var exportNs=baseNs, nsKey="ApplicationInsights3", exportNs=exportNs[nsKey]=(exportNs[nsKey]||{});
|
|
@@ -1210,7 +1210,7 @@ function newId(maxLength) {
|
|
|
1210
1210
|
return result;
|
|
1211
1211
|
}
|
|
1212
1212
|
|
|
1213
|
-
var version = '3.3.5-nightly3.
|
|
1213
|
+
var version = '3.3.5-nightly3.2502-02';
|
|
1214
1214
|
var instanceName = "." + newId(6);
|
|
1215
1215
|
var _dataUid = 0;
|
|
1216
1216
|
function _canAcceptData(target) {
|
|
@@ -2450,6 +2450,7 @@ var _DYN_DATE = "date";
|
|
|
2450
2450
|
var _DYN_GET_UTCDATE = "getUTCDate";
|
|
2451
2451
|
var _DYN_STRINGIFY = "stringify";
|
|
2452
2452
|
var _DYN_PATHNAME = "pathname";
|
|
2453
|
+
var _DYN_MATCH = "match";
|
|
2453
2454
|
var _DYN_CORRELATION_HEADER_E0 = "correlationHeaderExcludePatterns";
|
|
2454
2455
|
var _DYN_EXTENSION_CONFIG = "extensionConfig";
|
|
2455
2456
|
var _DYN_EXCEPTIONS = "exceptions";
|
|
@@ -2461,13 +2462,13 @@ var _DYN_TYPE_NAME = "typeName";
|
|
|
2461
2462
|
var _DYN_SEVERITY_LEVEL = "severityLevel";
|
|
2462
2463
|
var _DYN_PROBLEM_GROUP = "problemGroup";
|
|
2463
2464
|
var _DYN_IS_MANUAL = "isManual";
|
|
2464
|
-
var
|
|
2465
|
+
var _DYN_HAS_FULL_STACK = "hasFullStack";
|
|
2465
2466
|
var _DYN_ASSEMBLY = "assembly";
|
|
2466
2467
|
var _DYN_FILE_NAME = "fileName";
|
|
2467
|
-
var _DYN_HAS_FULL_STACK = "hasFullStack";
|
|
2468
|
-
var _DYN_LEVEL = "level";
|
|
2469
|
-
var _DYN_METHOD = "method";
|
|
2470
2468
|
var _DYN_LINE = "line";
|
|
2469
|
+
var _DYN_METHOD = "method";
|
|
2470
|
+
var _DYN_LEVEL = "level";
|
|
2471
|
+
var _DYN_AI_DATA_CONTRACT = "aiDataContract";
|
|
2471
2472
|
var _DYN_DURATION = "duration";
|
|
2472
2473
|
var _DYN_RECEIVED_RESPONSE = "receivedResponse";
|
|
2473
2474
|
|
|
@@ -2629,7 +2630,7 @@ function urlGetCompleteUrl(method, absoluteUrl) {
|
|
|
2629
2630
|
function urlParseHost(url, inclPort) {
|
|
2630
2631
|
var fullHost = urlParseFullHost(url, inclPort) || "";
|
|
2631
2632
|
if (fullHost) {
|
|
2632
|
-
var match = fullHost
|
|
2633
|
+
var match = fullHost[_DYN_MATCH ](/(www\d{0,5}\.)?([^\/:]{1,256})(:\d{1,20})?/i);
|
|
2633
2634
|
if (match != null && match[_DYN_LENGTH ] > 3 && isString(match[2]) && match[2][_DYN_LENGTH ] > 0) {
|
|
2634
2635
|
return match[2] + (match[3] || "");
|
|
2635
2636
|
}
|
|
@@ -2639,7 +2640,7 @@ function urlParseHost(url, inclPort) {
|
|
|
2639
2640
|
function urlParseFullHost(url, inclPort) {
|
|
2640
2641
|
var result = null;
|
|
2641
2642
|
if (url) {
|
|
2642
|
-
var match = url
|
|
2643
|
+
var match = url[_DYN_MATCH ](/(\w{1,150}):\/\/([^\/:]{1,256})(:\d{1,20})?/i);
|
|
2643
2644
|
if (match != null && match[_DYN_LENGTH ] > 2 && isString(match[2]) && match[2][_DYN_LENGTH ] > 0) {
|
|
2644
2645
|
result = match[2] || "";
|
|
2645
2646
|
if (inclPort && match[_DYN_LENGTH ] > 2) {
|
|
@@ -3346,7 +3347,7 @@ var Envelope = /** @class */ (function () {
|
|
|
3346
3347
|
_self[_DYN_NAME ] = dataSanitizeString(logger, name) || strNotSpecified;
|
|
3347
3348
|
_self.data = data;
|
|
3348
3349
|
_self.time = toISOString(new Date());
|
|
3349
|
-
_self
|
|
3350
|
+
_self[_DYN_AI_DATA_CONTRACT ] = {
|
|
3350
3351
|
time: 1 ,
|
|
3351
3352
|
iKey: 1 ,
|
|
3352
3353
|
name: 1 ,
|
|
@@ -3379,6 +3380,14 @@ var Event$1 = /** @class */ (function () {
|
|
|
3379
3380
|
return Event;
|
|
3380
3381
|
}());
|
|
3381
3382
|
|
|
3383
|
+
var STACKFRAME_BASE_SIZE = 58;
|
|
3384
|
+
var IS_FRAME = /^\s{0,50}(from\s|at\s|Line\s{1,5}\d{1,10}\s{1,5}of|\w{1,50}@\w{1,80}|[^\(\s\n]+:[0-9\?]+(?::[0-9\?]+)?)/;
|
|
3385
|
+
var FULL_STACK_FRAME_1 = /^(?:\s{0,50}at)?\s{0,50}([^\@\()\s]+)?\s{0,50}(?:\s|\@|\()\s{0,5}([^\(\s\n\]]+):([0-9\?]+):([0-9\?]+)\)?$/;
|
|
3386
|
+
var FULL_STACK_FRAME_2 = /^(?:\s{0,50}at)?\s{0,50}([^\@\()\s]+)?\s{0,50}(?:\s|\@|\()\s{0,5}([^\(\s\n\]]+):([0-9\?]+)\)?$/;
|
|
3387
|
+
var FULL_STACK_FRAME_3 = /^(?:\s{0,50}at)?\s{0,50}([^\@\()\s]+)?\s{0,50}(?:\s|\@|\()\s{0,5}([^\(\s\n\)\]]+)\)?$/;
|
|
3388
|
+
var EXTRACT_FILENAME = /(?:^|\(|\s{0,10}[\w\)]+\@)?([^\(\n\s\]\)]+)(?:\:([0-9]+)(?:\:([0-9]+))?)?\)?(?:,|$)/;
|
|
3389
|
+
var PARSE_FILENAME_LINE_COL = /([^\(\s\n]+):([0-9]+):([0-9]+)$/;
|
|
3390
|
+
var PARSE_FILENAME_LINE_ONLY = /([^\(\s\n]+):([0-9]+)$/;
|
|
3382
3391
|
var NoMethod = "<no_method>";
|
|
3383
3392
|
var strError = "error";
|
|
3384
3393
|
var strStack = "stack";
|
|
@@ -3386,6 +3395,18 @@ var strStackDetails = "stackDetails";
|
|
|
3386
3395
|
var strErrorSrc = "errorSrc";
|
|
3387
3396
|
var strMessage = "message";
|
|
3388
3397
|
var strDescription = "description";
|
|
3398
|
+
var _parseSequence = [
|
|
3399
|
+
{ re: FULL_STACK_FRAME_1, len: 5, m: 1, fn: 2, ln: 3, col: 4 },
|
|
3400
|
+
{ chk: _ignoreNative, pre: _scrubAnonymous, re: FULL_STACK_FRAME_2, len: 4, m: 1, fn: 2, ln: 3 },
|
|
3401
|
+
{ re: FULL_STACK_FRAME_3, len: 3, m: 1, fn: 2, hdl: _handleFilename },
|
|
3402
|
+
{ re: EXTRACT_FILENAME, len: 2, fn: 1, hdl: _handleFilename }
|
|
3403
|
+
];
|
|
3404
|
+
function _scrubAnonymous(frame) {
|
|
3405
|
+
return frame.replace(/(\(anonymous\))/, "<anonymous>");
|
|
3406
|
+
}
|
|
3407
|
+
function _ignoreNative(frame) {
|
|
3408
|
+
return strIndexOf(frame, "[native") < 0;
|
|
3409
|
+
}
|
|
3389
3410
|
function _stringify(value, convertToString) {
|
|
3390
3411
|
var result = value;
|
|
3391
3412
|
if (result && !isString(result)) {
|
|
@@ -3533,9 +3554,7 @@ function _formatStackTrace(stackDetails) {
|
|
|
3533
3554
|
var stack = "";
|
|
3534
3555
|
if (stackDetails) {
|
|
3535
3556
|
if (stackDetails.obj) {
|
|
3536
|
-
|
|
3537
|
-
stack += entry + "\n";
|
|
3538
|
-
});
|
|
3557
|
+
stack = stackDetails.obj.join("\n");
|
|
3539
3558
|
}
|
|
3540
3559
|
else {
|
|
3541
3560
|
stack = stackDetails.src || "";
|
|
@@ -3549,13 +3568,18 @@ function _parseStack(stack) {
|
|
|
3549
3568
|
if (frames && frames[_DYN_LENGTH ] > 0) {
|
|
3550
3569
|
parsedStack = [];
|
|
3551
3570
|
var level_1 = 0;
|
|
3571
|
+
var foundStackStart_1 = false;
|
|
3552
3572
|
var totalSizeInBytes_1 = 0;
|
|
3553
3573
|
arrForEach(frames, function (frame) {
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3574
|
+
if (foundStackStart_1 || _isStackFrame(frame)) {
|
|
3575
|
+
var theFrame = asString(frame);
|
|
3576
|
+
foundStackStart_1 = true;
|
|
3577
|
+
var parsedFrame = _extractStackFrame(theFrame, level_1);
|
|
3578
|
+
if (parsedFrame) {
|
|
3579
|
+
totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES ];
|
|
3580
|
+
parsedStack[_DYN_PUSH ](parsedFrame);
|
|
3581
|
+
level_1++;
|
|
3582
|
+
}
|
|
3559
3583
|
}
|
|
3560
3584
|
});
|
|
3561
3585
|
var exceptionParsedStackThreshold = 32 * 1024;
|
|
@@ -3641,7 +3665,7 @@ var Exception = /** @class */ (function () {
|
|
|
3641
3665
|
if (id) {
|
|
3642
3666
|
properties.id = id;
|
|
3643
3667
|
}
|
|
3644
|
-
_self[_DYN_EXCEPTIONS ] = [
|
|
3668
|
+
_self[_DYN_EXCEPTIONS ] = [_createExceptionDetails(logger, exception, properties)];
|
|
3645
3669
|
_self[_DYN_PROPERTIES ] = dataSanitizeProperties(logger, properties);
|
|
3646
3670
|
_self[_DYN_MEASUREMENTS ] = dataSanitizeMeasurements(logger, measurements);
|
|
3647
3671
|
if (severityLevel) {
|
|
@@ -3687,7 +3711,7 @@ var Exception = /** @class */ (function () {
|
|
|
3687
3711
|
};
|
|
3688
3712
|
Exception.CreateFromInterface = function (logger, exception, properties, measurements) {
|
|
3689
3713
|
var exceptions = exception[_DYN_EXCEPTIONS ]
|
|
3690
|
-
&& arrMap(exception[_DYN_EXCEPTIONS ], function (ex) { return
|
|
3714
|
+
&& arrMap(exception[_DYN_EXCEPTIONS ], function (ex) { return _createExDetailsFromInterface(logger, ex); });
|
|
3691
3715
|
var exceptionData = new Exception(logger, __assignFn(__assignFn({}, exception), { exceptions: exceptions }), properties, measurements);
|
|
3692
3716
|
return exceptionData;
|
|
3693
3717
|
};
|
|
@@ -3727,131 +3751,218 @@ var Exception = /** @class */ (function () {
|
|
|
3727
3751
|
Exception.formatError = _formatErrorCode;
|
|
3728
3752
|
return Exception;
|
|
3729
3753
|
}());
|
|
3730
|
-
var
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
_self[
|
|
3749
|
-
_self[
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3754
|
+
var exDetailsAiDataContract = objFreeze({
|
|
3755
|
+
id: 0 ,
|
|
3756
|
+
outerId: 0 ,
|
|
3757
|
+
typeName: 1 ,
|
|
3758
|
+
message: 1 ,
|
|
3759
|
+
hasFullStack: 0 ,
|
|
3760
|
+
stack: 0 ,
|
|
3761
|
+
parsedStack: 2
|
|
3762
|
+
});
|
|
3763
|
+
function _toInterface() {
|
|
3764
|
+
var _a;
|
|
3765
|
+
var _self = this;
|
|
3766
|
+
var parsedStack = isArray(_self[_DYN_PARSED_STACK ])
|
|
3767
|
+
&& arrMap(_self[_DYN_PARSED_STACK ], function (frame) { return _parsedFrameToInterface(frame); });
|
|
3768
|
+
var exceptionDetailsInterface = (_a = {
|
|
3769
|
+
id: _self.id,
|
|
3770
|
+
outerId: _self.outerId,
|
|
3771
|
+
typeName: _self[_DYN_TYPE_NAME ],
|
|
3772
|
+
message: _self[_DYN_MESSAGE ],
|
|
3773
|
+
hasFullStack: _self[_DYN_HAS_FULL_STACK ],
|
|
3774
|
+
stack: _self[strStack]
|
|
3775
|
+
},
|
|
3776
|
+
_a[_DYN_PARSED_STACK ] = parsedStack || undefined,
|
|
3777
|
+
_a);
|
|
3778
|
+
return exceptionDetailsInterface;
|
|
3779
|
+
}
|
|
3780
|
+
function _createExceptionDetails(logger, exception, properties) {
|
|
3781
|
+
var _a;
|
|
3782
|
+
var id;
|
|
3783
|
+
var outerId;
|
|
3784
|
+
var typeName;
|
|
3785
|
+
var message;
|
|
3786
|
+
var hasFullStack;
|
|
3787
|
+
var theStack;
|
|
3788
|
+
var parsedStack;
|
|
3789
|
+
if (!_isExceptionDetailsInternal(exception)) {
|
|
3790
|
+
var error = exception;
|
|
3791
|
+
var evt = error && error.evt;
|
|
3792
|
+
if (!isError(error)) {
|
|
3793
|
+
error = error[strError] || evt || error;
|
|
3794
|
+
}
|
|
3795
|
+
typeName = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;
|
|
3796
|
+
message = dataSanitizeMessage(logger, _formatMessage(exception || error, typeName)) || strNotSpecified;
|
|
3797
|
+
var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);
|
|
3798
|
+
parsedStack = _parseStack(stack);
|
|
3799
|
+
if (isArray(parsedStack)) {
|
|
3800
|
+
arrMap(parsedStack, function (frame) {
|
|
3801
|
+
frame[_DYN_ASSEMBLY ] = dataSanitizeString(logger, frame[_DYN_ASSEMBLY ]);
|
|
3802
|
+
frame[_DYN_FILE_NAME ] = dataSanitizeString(logger, frame[_DYN_FILE_NAME ]);
|
|
3803
|
+
});
|
|
3804
|
+
}
|
|
3805
|
+
theStack = dataSanitizeException(logger, _formatStackTrace(stack));
|
|
3806
|
+
hasFullStack = isArray(parsedStack) && parsedStack[_DYN_LENGTH ] > 0;
|
|
3807
|
+
if (properties) {
|
|
3808
|
+
properties[_DYN_TYPE_NAME ] = properties[_DYN_TYPE_NAME ] || typeName;
|
|
3809
|
+
}
|
|
3810
|
+
}
|
|
3811
|
+
else {
|
|
3812
|
+
typeName = exception[_DYN_TYPE_NAME ];
|
|
3813
|
+
message = exception[_DYN_MESSAGE ];
|
|
3814
|
+
theStack = exception[strStack];
|
|
3815
|
+
parsedStack = exception[_DYN_PARSED_STACK ] || [];
|
|
3816
|
+
hasFullStack = exception[_DYN_HAS_FULL_STACK ];
|
|
3817
|
+
}
|
|
3818
|
+
return _a = {},
|
|
3819
|
+
_a[_DYN_AI_DATA_CONTRACT ] = exDetailsAiDataContract,
|
|
3820
|
+
_a.id = id,
|
|
3821
|
+
_a.outerId = outerId,
|
|
3822
|
+
_a[_DYN_TYPE_NAME ] = typeName,
|
|
3823
|
+
_a[_DYN_MESSAGE ] = message,
|
|
3824
|
+
_a[_DYN_HAS_FULL_STACK ] = hasFullStack,
|
|
3825
|
+
_a.stack = theStack,
|
|
3826
|
+
_a[_DYN_PARSED_STACK ] = parsedStack,
|
|
3827
|
+
_a.toInterface = _toInterface,
|
|
3828
|
+
_a;
|
|
3829
|
+
}
|
|
3830
|
+
function _createExDetailsFromInterface(logger, exception) {
|
|
3831
|
+
var parsedStack = (isArray(exception[_DYN_PARSED_STACK ])
|
|
3832
|
+
&& arrMap(exception[_DYN_PARSED_STACK ], function (frame) { return _stackFrameFromInterface(frame); }))
|
|
3833
|
+
|| exception[_DYN_PARSED_STACK ];
|
|
3834
|
+
var exceptionDetails = _createExceptionDetails(logger, __assignFn(__assignFn({}, exception), { parsedStack: parsedStack }));
|
|
3835
|
+
return exceptionDetails;
|
|
3836
|
+
}
|
|
3837
|
+
function _parseFilename(theFrame, fileName) {
|
|
3838
|
+
var lineCol = fileName[_DYN_MATCH ](PARSE_FILENAME_LINE_COL);
|
|
3839
|
+
if (lineCol && lineCol[_DYN_LENGTH ] >= 4) {
|
|
3840
|
+
theFrame[_DYN_FILE_NAME ] = lineCol[1];
|
|
3841
|
+
theFrame[_DYN_LINE ] = parseInt(lineCol[2]);
|
|
3842
|
+
}
|
|
3843
|
+
else {
|
|
3844
|
+
var lineNo = fileName[_DYN_MATCH ](PARSE_FILENAME_LINE_ONLY);
|
|
3845
|
+
if (lineNo && lineNo[_DYN_LENGTH ] >= 3) {
|
|
3846
|
+
theFrame[_DYN_FILE_NAME ] = lineNo[1];
|
|
3847
|
+
theFrame[_DYN_LINE ] = parseInt(lineNo[2]);
|
|
3763
3848
|
}
|
|
3764
3849
|
else {
|
|
3765
|
-
|
|
3766
|
-
_self[_DYN_MESSAGE ] = exception[_DYN_MESSAGE ];
|
|
3767
|
-
_self[strStack] = exception[strStack];
|
|
3768
|
-
_self[_DYN_PARSED_STACK ] = exception[_DYN_PARSED_STACK ] || [];
|
|
3769
|
-
_self[_DYN_HAS_FULL_STACK ] = exception[_DYN_HAS_FULL_STACK ];
|
|
3850
|
+
theFrame[_DYN_FILE_NAME ] = fileName;
|
|
3770
3851
|
}
|
|
3771
3852
|
}
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
|
|
3778
|
-
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
|
|
3853
|
+
}
|
|
3854
|
+
function _handleFilename(theFrame, sequence, matches) {
|
|
3855
|
+
var filename = theFrame[_DYN_FILE_NAME ];
|
|
3856
|
+
if (sequence.fn && matches && matches[_DYN_LENGTH ] > sequence.fn) {
|
|
3857
|
+
if (sequence.ln && matches[_DYN_LENGTH ] > sequence.ln) {
|
|
3858
|
+
filename = strTrim(matches[sequence.fn] || "");
|
|
3859
|
+
theFrame[_DYN_LINE ] = parseInt(strTrim(matches[sequence.ln] || "")) || 0;
|
|
3860
|
+
}
|
|
3861
|
+
else {
|
|
3862
|
+
filename = strTrim(matches[sequence.fn] || "");
|
|
3863
|
+
}
|
|
3864
|
+
}
|
|
3865
|
+
if (filename) {
|
|
3866
|
+
_parseFilename(theFrame, filename);
|
|
3867
|
+
}
|
|
3868
|
+
}
|
|
3869
|
+
function _isStackFrame(frame) {
|
|
3870
|
+
var result = false;
|
|
3871
|
+
if (frame && isString(frame)) {
|
|
3872
|
+
var trimmedFrame = strTrim(frame);
|
|
3873
|
+
if (trimmedFrame) {
|
|
3874
|
+
result = IS_FRAME.test(trimmedFrame);
|
|
3875
|
+
}
|
|
3876
|
+
}
|
|
3877
|
+
return result;
|
|
3878
|
+
}
|
|
3879
|
+
var stackFrameAiDataContract = objFreeze({
|
|
3880
|
+
level: 1 ,
|
|
3881
|
+
method: 1 ,
|
|
3882
|
+
assembly: 0 ,
|
|
3883
|
+
fileName: 0 ,
|
|
3884
|
+
line: 0
|
|
3885
|
+
});
|
|
3886
|
+
function _extractStackFrame(frame, level) {
|
|
3887
|
+
var _a;
|
|
3888
|
+
var theFrame;
|
|
3889
|
+
if (frame && isString(frame) && strTrim(frame)) {
|
|
3890
|
+
theFrame = (_a = {},
|
|
3891
|
+
_a[_DYN_AI_DATA_CONTRACT ] = stackFrameAiDataContract,
|
|
3892
|
+
_a[_DYN_LEVEL ] = level,
|
|
3893
|
+
_a[_DYN_ASSEMBLY ] = strTrim(frame),
|
|
3894
|
+
_a[_DYN_METHOD ] = NoMethod,
|
|
3895
|
+
_a.fileName = "",
|
|
3896
|
+
_a.line = 0,
|
|
3897
|
+
_a[_DYN_SIZE_IN_BYTES ] = 0,
|
|
3786
3898
|
_a);
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
|
|
3793
|
-
|
|
3794
|
-
|
|
3795
|
-
};
|
|
3796
|
-
return _ExceptionDetails;
|
|
3797
|
-
}());
|
|
3798
|
-
var _StackFrame = /** @class */ (function () {
|
|
3799
|
-
function _StackFrame(sourceFrame, level) {
|
|
3800
|
-
this.aiDataContract = {
|
|
3801
|
-
level: 1 ,
|
|
3802
|
-
method: 1 ,
|
|
3803
|
-
assembly: 0 ,
|
|
3804
|
-
fileName: 0 ,
|
|
3805
|
-
line: 0
|
|
3806
|
-
};
|
|
3807
|
-
var _self = this;
|
|
3808
|
-
_self[_DYN_SIZE_IN_BYTES ] = 0;
|
|
3809
|
-
if (typeof sourceFrame === "string") {
|
|
3810
|
-
var frame = sourceFrame;
|
|
3811
|
-
_self[_DYN_LEVEL ] = level;
|
|
3812
|
-
_self[_DYN_METHOD ] = NoMethod;
|
|
3813
|
-
_self[_DYN_ASSEMBLY ] = strTrim(frame);
|
|
3814
|
-
_self[_DYN_FILE_NAME ] = "";
|
|
3815
|
-
_self[_DYN_LINE ] = 0;
|
|
3816
|
-
var matches = frame.match(_StackFrame.regex);
|
|
3817
|
-
if (matches && matches[_DYN_LENGTH ] >= 5) {
|
|
3818
|
-
_self[_DYN_METHOD ] = strTrim(matches[2]) || _self[_DYN_METHOD ];
|
|
3819
|
-
_self[_DYN_FILE_NAME ] = strTrim(matches[4]);
|
|
3820
|
-
_self[_DYN_LINE ] = parseInt(matches[5]) || 0;
|
|
3899
|
+
var idx = 0;
|
|
3900
|
+
while (idx < _parseSequence[_DYN_LENGTH ]) {
|
|
3901
|
+
var sequence = _parseSequence[idx];
|
|
3902
|
+
if (sequence.chk && !sequence.chk(frame)) {
|
|
3903
|
+
break;
|
|
3904
|
+
}
|
|
3905
|
+
if (sequence.pre) {
|
|
3906
|
+
frame = sequence.pre(frame);
|
|
3821
3907
|
}
|
|
3908
|
+
var matches = frame[_DYN_MATCH ](sequence.re);
|
|
3909
|
+
if (matches && matches[_DYN_LENGTH ] >= sequence.len) {
|
|
3910
|
+
if (sequence.m) {
|
|
3911
|
+
theFrame[_DYN_METHOD ] = strTrim(matches[sequence.m] || NoMethod);
|
|
3912
|
+
}
|
|
3913
|
+
if (sequence.hdl) {
|
|
3914
|
+
sequence.hdl(theFrame, sequence, matches);
|
|
3915
|
+
}
|
|
3916
|
+
else if (sequence.fn) {
|
|
3917
|
+
if (sequence.ln) {
|
|
3918
|
+
theFrame[_DYN_FILE_NAME ] = strTrim(matches[sequence.fn] || "");
|
|
3919
|
+
theFrame[_DYN_LINE ] = parseInt(strTrim(matches[sequence.ln] || "")) || 0;
|
|
3920
|
+
}
|
|
3921
|
+
else {
|
|
3922
|
+
_parseFilename(theFrame, matches[sequence.fn] || "");
|
|
3923
|
+
}
|
|
3924
|
+
}
|
|
3925
|
+
break;
|
|
3926
|
+
}
|
|
3927
|
+
idx++;
|
|
3822
3928
|
}
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
|
|
3826
|
-
|
|
3827
|
-
|
|
3828
|
-
|
|
3829
|
-
|
|
3830
|
-
|
|
3831
|
-
|
|
3832
|
-
|
|
3833
|
-
|
|
3834
|
-
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
|
-
|
|
3929
|
+
}
|
|
3930
|
+
return _populateFrameSizeInBytes(theFrame);
|
|
3931
|
+
}
|
|
3932
|
+
function _stackFrameFromInterface(frame) {
|
|
3933
|
+
var _a;
|
|
3934
|
+
var parsedFrame = (_a = {},
|
|
3935
|
+
_a[_DYN_AI_DATA_CONTRACT ] = stackFrameAiDataContract,
|
|
3936
|
+
_a.level = frame[_DYN_LEVEL ],
|
|
3937
|
+
_a.method = frame[_DYN_METHOD ],
|
|
3938
|
+
_a.assembly = frame[_DYN_ASSEMBLY ],
|
|
3939
|
+
_a.fileName = frame[_DYN_FILE_NAME ],
|
|
3940
|
+
_a.line = frame[_DYN_LINE ],
|
|
3941
|
+
_a[_DYN_SIZE_IN_BYTES ] = 0,
|
|
3942
|
+
_a);
|
|
3943
|
+
return _populateFrameSizeInBytes(parsedFrame);
|
|
3944
|
+
}
|
|
3945
|
+
function _populateFrameSizeInBytes(frame) {
|
|
3946
|
+
var sizeInBytes = STACKFRAME_BASE_SIZE;
|
|
3947
|
+
if (frame) {
|
|
3948
|
+
sizeInBytes += frame.method[_DYN_LENGTH ];
|
|
3949
|
+
sizeInBytes += frame.assembly[_DYN_LENGTH ];
|
|
3950
|
+
sizeInBytes += frame.fileName[_DYN_LENGTH ];
|
|
3951
|
+
sizeInBytes += frame.level.toString()[_DYN_LENGTH ];
|
|
3952
|
+
sizeInBytes += frame.line.toString()[_DYN_LENGTH ];
|
|
3953
|
+
frame[_DYN_SIZE_IN_BYTES ] = sizeInBytes;
|
|
3954
|
+
}
|
|
3955
|
+
return frame;
|
|
3956
|
+
}
|
|
3957
|
+
function _parsedFrameToInterface(frame) {
|
|
3958
|
+
return {
|
|
3959
|
+
level: frame[_DYN_LEVEL ],
|
|
3960
|
+
method: frame[_DYN_METHOD ],
|
|
3961
|
+
assembly: frame[_DYN_ASSEMBLY ],
|
|
3962
|
+
fileName: frame[_DYN_FILE_NAME ],
|
|
3963
|
+
line: frame[_DYN_LINE ]
|
|
3850
3964
|
};
|
|
3851
|
-
|
|
3852
|
-
_StackFrame.baseSize = 58;
|
|
3853
|
-
return _StackFrame;
|
|
3854
|
-
}());
|
|
3965
|
+
}
|
|
3855
3966
|
|
|
3856
3967
|
var DataPoint = /** @class */ (function () {
|
|
3857
3968
|
function DataPoint() {
|