@aws-sdk/client-pi 3.388.0 → 3.392.0
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/README.md +63 -7
- package/dist-cjs/PI.js +14 -0
- package/dist-cjs/commands/CreatePerformanceAnalysisReportCommand.js +46 -0
- package/dist-cjs/commands/DeletePerformanceAnalysisReportCommand.js +46 -0
- package/dist-cjs/commands/GetPerformanceAnalysisReportCommand.js +47 -0
- package/dist-cjs/commands/ListPerformanceAnalysisReportsCommand.js +46 -0
- package/dist-cjs/commands/ListTagsForResourceCommand.js +46 -0
- package/dist-cjs/commands/TagResourceCommand.js +46 -0
- package/dist-cjs/commands/UntagResourceCommand.js +46 -0
- package/dist-cjs/commands/index.js +7 -0
- package/dist-cjs/endpoint/ruleset.js +1 -1
- package/dist-cjs/models/models_0.js +49 -1
- package/dist-cjs/pagination/ListPerformanceAnalysisReportsPaginator.js +29 -0
- package/dist-cjs/pagination/index.js +1 -0
- package/dist-cjs/protocols/Aws_json1_1.js +417 -1
- package/dist-es/PI.js +14 -0
- package/dist-es/commands/CreatePerformanceAnalysisReportCommand.js +42 -0
- package/dist-es/commands/DeletePerformanceAnalysisReportCommand.js +42 -0
- package/dist-es/commands/GetPerformanceAnalysisReportCommand.js +43 -0
- package/dist-es/commands/ListPerformanceAnalysisReportsCommand.js +42 -0
- package/dist-es/commands/ListTagsForResourceCommand.js +42 -0
- package/dist-es/commands/TagResourceCommand.js +42 -0
- package/dist-es/commands/UntagResourceCommand.js +42 -0
- package/dist-es/commands/index.js +7 -0
- package/dist-es/endpoint/ruleset.js +1 -1
- package/dist-es/models/models_0.js +44 -0
- package/dist-es/pagination/ListPerformanceAnalysisReportsPaginator.js +25 -0
- package/dist-es/pagination/index.js +1 -0
- package/dist-es/protocols/Aws_json1_1.js +402 -0
- package/dist-types/PI.d.ts +49 -0
- package/dist-types/PIClient.d.ts +9 -2
- package/dist-types/commands/CreatePerformanceAnalysisReportCommand.d.ts +92 -0
- package/dist-types/commands/DeletePerformanceAnalysisReportCommand.d.ts +82 -0
- package/dist-types/commands/GetPerformanceAnalysisReportCommand.d.ts +180 -0
- package/dist-types/commands/ListPerformanceAnalysisReportsCommand.d.ts +101 -0
- package/dist-types/commands/ListTagsForResourceCommand.d.ts +88 -0
- package/dist-types/commands/TagResourceCommand.d.ts +87 -0
- package/dist-types/commands/UntagResourceCommand.d.ts +84 -0
- package/dist-types/commands/index.d.ts +7 -0
- package/dist-types/models/models_0.d.ts +633 -51
- package/dist-types/pagination/ListPerformanceAnalysisReportsPaginator.d.ts +7 -0
- package/dist-types/pagination/index.d.ts +1 -0
- package/dist-types/protocols/Aws_json1_1.d.ts +63 -0
- package/dist-types/ts3.4/PI.d.ts +119 -0
- package/dist-types/ts3.4/PIClient.d.ts +44 -2
- package/dist-types/ts3.4/commands/CreatePerformanceAnalysisReportCommand.d.ts +42 -0
- package/dist-types/ts3.4/commands/DeletePerformanceAnalysisReportCommand.d.ts +42 -0
- package/dist-types/ts3.4/commands/GetPerformanceAnalysisReportCommand.d.ts +42 -0
- package/dist-types/ts3.4/commands/ListPerformanceAnalysisReportsCommand.d.ts +42 -0
- package/dist-types/ts3.4/commands/ListTagsForResourceCommand.d.ts +39 -0
- package/dist-types/ts3.4/commands/TagResourceCommand.d.ts +35 -0
- package/dist-types/ts3.4/commands/UntagResourceCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/index.d.ts +7 -0
- package/dist-types/ts3.4/models/models_0.d.ts +171 -29
- package/dist-types/ts3.4/pagination/ListPerformanceAnalysisReportsPaginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/index.d.ts +1 -0
- package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +84 -0
- package/package.json +28 -28
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
|
|
2
|
+
import { getSerdePlugin } from "@smithy/middleware-serde";
|
|
3
|
+
import { Command as $Command } from "@smithy/smithy-client";
|
|
4
|
+
import { de_ListPerformanceAnalysisReportsCommand, se_ListPerformanceAnalysisReportsCommand, } from "../protocols/Aws_json1_1";
|
|
5
|
+
export { $Command };
|
|
6
|
+
export class ListPerformanceAnalysisReportsCommand extends $Command {
|
|
7
|
+
static getEndpointParameterInstructions() {
|
|
8
|
+
return {
|
|
9
|
+
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
|
|
10
|
+
Endpoint: { type: "builtInParams", name: "endpoint" },
|
|
11
|
+
Region: { type: "builtInParams", name: "region" },
|
|
12
|
+
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
constructor(input) {
|
|
16
|
+
super();
|
|
17
|
+
this.input = input;
|
|
18
|
+
}
|
|
19
|
+
resolveMiddleware(clientStack, configuration, options) {
|
|
20
|
+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
|
|
21
|
+
this.middlewareStack.use(getEndpointPlugin(configuration, ListPerformanceAnalysisReportsCommand.getEndpointParameterInstructions()));
|
|
22
|
+
const stack = clientStack.concat(this.middlewareStack);
|
|
23
|
+
const { logger } = configuration;
|
|
24
|
+
const clientName = "PIClient";
|
|
25
|
+
const commandName = "ListPerformanceAnalysisReportsCommand";
|
|
26
|
+
const handlerExecutionContext = {
|
|
27
|
+
logger,
|
|
28
|
+
clientName,
|
|
29
|
+
commandName,
|
|
30
|
+
inputFilterSensitiveLog: (_) => _,
|
|
31
|
+
outputFilterSensitiveLog: (_) => _,
|
|
32
|
+
};
|
|
33
|
+
const { requestHandler } = configuration;
|
|
34
|
+
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
|
|
35
|
+
}
|
|
36
|
+
serialize(input, context) {
|
|
37
|
+
return se_ListPerformanceAnalysisReportsCommand(input, context);
|
|
38
|
+
}
|
|
39
|
+
deserialize(output, context) {
|
|
40
|
+
return de_ListPerformanceAnalysisReportsCommand(output, context);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
|
|
2
|
+
import { getSerdePlugin } from "@smithy/middleware-serde";
|
|
3
|
+
import { Command as $Command } from "@smithy/smithy-client";
|
|
4
|
+
import { de_ListTagsForResourceCommand, se_ListTagsForResourceCommand } from "../protocols/Aws_json1_1";
|
|
5
|
+
export { $Command };
|
|
6
|
+
export class ListTagsForResourceCommand extends $Command {
|
|
7
|
+
static getEndpointParameterInstructions() {
|
|
8
|
+
return {
|
|
9
|
+
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
|
|
10
|
+
Endpoint: { type: "builtInParams", name: "endpoint" },
|
|
11
|
+
Region: { type: "builtInParams", name: "region" },
|
|
12
|
+
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
constructor(input) {
|
|
16
|
+
super();
|
|
17
|
+
this.input = input;
|
|
18
|
+
}
|
|
19
|
+
resolveMiddleware(clientStack, configuration, options) {
|
|
20
|
+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
|
|
21
|
+
this.middlewareStack.use(getEndpointPlugin(configuration, ListTagsForResourceCommand.getEndpointParameterInstructions()));
|
|
22
|
+
const stack = clientStack.concat(this.middlewareStack);
|
|
23
|
+
const { logger } = configuration;
|
|
24
|
+
const clientName = "PIClient";
|
|
25
|
+
const commandName = "ListTagsForResourceCommand";
|
|
26
|
+
const handlerExecutionContext = {
|
|
27
|
+
logger,
|
|
28
|
+
clientName,
|
|
29
|
+
commandName,
|
|
30
|
+
inputFilterSensitiveLog: (_) => _,
|
|
31
|
+
outputFilterSensitiveLog: (_) => _,
|
|
32
|
+
};
|
|
33
|
+
const { requestHandler } = configuration;
|
|
34
|
+
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
|
|
35
|
+
}
|
|
36
|
+
serialize(input, context) {
|
|
37
|
+
return se_ListTagsForResourceCommand(input, context);
|
|
38
|
+
}
|
|
39
|
+
deserialize(output, context) {
|
|
40
|
+
return de_ListTagsForResourceCommand(output, context);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
|
|
2
|
+
import { getSerdePlugin } from "@smithy/middleware-serde";
|
|
3
|
+
import { Command as $Command } from "@smithy/smithy-client";
|
|
4
|
+
import { de_TagResourceCommand, se_TagResourceCommand } from "../protocols/Aws_json1_1";
|
|
5
|
+
export { $Command };
|
|
6
|
+
export class TagResourceCommand extends $Command {
|
|
7
|
+
static getEndpointParameterInstructions() {
|
|
8
|
+
return {
|
|
9
|
+
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
|
|
10
|
+
Endpoint: { type: "builtInParams", name: "endpoint" },
|
|
11
|
+
Region: { type: "builtInParams", name: "region" },
|
|
12
|
+
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
constructor(input) {
|
|
16
|
+
super();
|
|
17
|
+
this.input = input;
|
|
18
|
+
}
|
|
19
|
+
resolveMiddleware(clientStack, configuration, options) {
|
|
20
|
+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
|
|
21
|
+
this.middlewareStack.use(getEndpointPlugin(configuration, TagResourceCommand.getEndpointParameterInstructions()));
|
|
22
|
+
const stack = clientStack.concat(this.middlewareStack);
|
|
23
|
+
const { logger } = configuration;
|
|
24
|
+
const clientName = "PIClient";
|
|
25
|
+
const commandName = "TagResourceCommand";
|
|
26
|
+
const handlerExecutionContext = {
|
|
27
|
+
logger,
|
|
28
|
+
clientName,
|
|
29
|
+
commandName,
|
|
30
|
+
inputFilterSensitiveLog: (_) => _,
|
|
31
|
+
outputFilterSensitiveLog: (_) => _,
|
|
32
|
+
};
|
|
33
|
+
const { requestHandler } = configuration;
|
|
34
|
+
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
|
|
35
|
+
}
|
|
36
|
+
serialize(input, context) {
|
|
37
|
+
return se_TagResourceCommand(input, context);
|
|
38
|
+
}
|
|
39
|
+
deserialize(output, context) {
|
|
40
|
+
return de_TagResourceCommand(output, context);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
|
|
2
|
+
import { getSerdePlugin } from "@smithy/middleware-serde";
|
|
3
|
+
import { Command as $Command } from "@smithy/smithy-client";
|
|
4
|
+
import { de_UntagResourceCommand, se_UntagResourceCommand } from "../protocols/Aws_json1_1";
|
|
5
|
+
export { $Command };
|
|
6
|
+
export class UntagResourceCommand extends $Command {
|
|
7
|
+
static getEndpointParameterInstructions() {
|
|
8
|
+
return {
|
|
9
|
+
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
|
|
10
|
+
Endpoint: { type: "builtInParams", name: "endpoint" },
|
|
11
|
+
Region: { type: "builtInParams", name: "region" },
|
|
12
|
+
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
constructor(input) {
|
|
16
|
+
super();
|
|
17
|
+
this.input = input;
|
|
18
|
+
}
|
|
19
|
+
resolveMiddleware(clientStack, configuration, options) {
|
|
20
|
+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
|
|
21
|
+
this.middlewareStack.use(getEndpointPlugin(configuration, UntagResourceCommand.getEndpointParameterInstructions()));
|
|
22
|
+
const stack = clientStack.concat(this.middlewareStack);
|
|
23
|
+
const { logger } = configuration;
|
|
24
|
+
const clientName = "PIClient";
|
|
25
|
+
const commandName = "UntagResourceCommand";
|
|
26
|
+
const handlerExecutionContext = {
|
|
27
|
+
logger,
|
|
28
|
+
clientName,
|
|
29
|
+
commandName,
|
|
30
|
+
inputFilterSensitiveLog: (_) => _,
|
|
31
|
+
outputFilterSensitiveLog: (_) => _,
|
|
32
|
+
};
|
|
33
|
+
const { requestHandler } = configuration;
|
|
34
|
+
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
|
|
35
|
+
}
|
|
36
|
+
serialize(input, context) {
|
|
37
|
+
return se_UntagResourceCommand(input, context);
|
|
38
|
+
}
|
|
39
|
+
deserialize(output, context) {
|
|
40
|
+
return de_UntagResourceCommand(output, context);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
export * from "./CreatePerformanceAnalysisReportCommand";
|
|
2
|
+
export * from "./DeletePerformanceAnalysisReportCommand";
|
|
1
3
|
export * from "./DescribeDimensionKeysCommand";
|
|
2
4
|
export * from "./GetDimensionKeyDetailsCommand";
|
|
5
|
+
export * from "./GetPerformanceAnalysisReportCommand";
|
|
3
6
|
export * from "./GetResourceMetadataCommand";
|
|
4
7
|
export * from "./GetResourceMetricsCommand";
|
|
5
8
|
export * from "./ListAvailableResourceDimensionsCommand";
|
|
6
9
|
export * from "./ListAvailableResourceMetricsCommand";
|
|
10
|
+
export * from "./ListPerformanceAnalysisReportsCommand";
|
|
11
|
+
export * from "./ListTagsForResourceCommand";
|
|
12
|
+
export * from "./TagResourceCommand";
|
|
13
|
+
export * from "./UntagResourceCommand";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
const q = "required", r = "fn", s = "argv", t = "ref";
|
|
2
2
|
const a = "isSet", b = "tree", c = "error", d = "endpoint", e = "PartitionResult", f = { [q]: false, "type": "String" }, g = { [q]: true, "default": false, "type": "Boolean" }, h = { [t]: "Endpoint" }, i = { [r]: "booleanEquals", [s]: [{ [t]: "UseFIPS" }, true] }, j = { [r]: "booleanEquals", [s]: [{ [t]: "UseDualStack" }, true] }, k = {}, l = { [r]: "booleanEquals", [s]: [true, { [r]: "getAttr", [s]: [{ [t]: e }, "supportsFIPS"] }] }, m = { [r]: "booleanEquals", [s]: [true, { [r]: "getAttr", [s]: [{ [t]: e }, "supportsDualStack"] }] }, n = [i], o = [j], p = [{ [t]: "Region" }];
|
|
3
|
-
const _data = { version: "1.0", parameters: { Region: f, UseDualStack: g, UseFIPS: g, Endpoint: f }, rules: [{ conditions: [{ [r]: a, [s]: [h] }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, {
|
|
3
|
+
const _data = { version: "1.0", parameters: { Region: f, UseDualStack: g, UseFIPS: g, Endpoint: f }, rules: [{ conditions: [{ [r]: a, [s]: [h] }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: h, properties: k, headers: k }, type: d }] }, { conditions: [{ [r]: a, [s]: p }], type: b, rules: [{ conditions: [{ [r]: "aws.partition", [s]: p, assign: e }], type: b, rules: [{ conditions: [i, j], type: b, rules: [{ conditions: [l, m], type: b, rules: [{ endpoint: { url: "https://pi-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: k, headers: k }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://pi-fips.{Region}.{PartitionResult#dnsSuffix}", properties: k, headers: k }, type: d }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [m], type: b, rules: [{ endpoint: { url: "https://pi.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: k, headers: k }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://pi.{Region}.{PartitionResult#dnsSuffix}", properties: k, headers: k }, type: d }] }] }, { error: "Invalid Configuration: Missing Region", type: c }] };
|
|
4
4
|
export const ruleSet = _data;
|
|
@@ -1,8 +1,26 @@
|
|
|
1
|
+
import { SENSITIVE_STRING } from "@smithy/smithy-client";
|
|
1
2
|
import { PIServiceException as __BaseException } from "./PIServiceException";
|
|
3
|
+
export const AcceptLanguage = {
|
|
4
|
+
EN_US: "EN_US",
|
|
5
|
+
};
|
|
6
|
+
export const ContextType = {
|
|
7
|
+
CAUSAL: "CAUSAL",
|
|
8
|
+
CONTEXTUAL: "CONTEXTUAL",
|
|
9
|
+
};
|
|
10
|
+
export const Severity = {
|
|
11
|
+
HIGH: "HIGH",
|
|
12
|
+
LOW: "LOW",
|
|
13
|
+
MEDIUM: "MEDIUM",
|
|
14
|
+
};
|
|
2
15
|
export const ServiceType = {
|
|
3
16
|
DOCDB: "DOCDB",
|
|
4
17
|
RDS: "RDS",
|
|
5
18
|
};
|
|
19
|
+
export const AnalysisStatus = {
|
|
20
|
+
FAILED: "FAILED",
|
|
21
|
+
RUNNING: "RUNNING",
|
|
22
|
+
SUCCEEDED: "SUCCEEDED",
|
|
23
|
+
};
|
|
6
24
|
export class InternalServiceError extends __BaseException {
|
|
7
25
|
constructor(opts) {
|
|
8
26
|
super({
|
|
@@ -55,7 +73,33 @@ export const FeatureStatus = {
|
|
|
55
73
|
UNKNOWN: "UNKNOWN",
|
|
56
74
|
UNSUPPORTED: "UNSUPPORTED",
|
|
57
75
|
};
|
|
76
|
+
export const TextFormat = {
|
|
77
|
+
MARKDOWN: "MARKDOWN",
|
|
78
|
+
PLAIN_TEXT: "PLAIN_TEXT",
|
|
79
|
+
};
|
|
58
80
|
export const PeriodAlignment = {
|
|
59
81
|
END_TIME: "END_TIME",
|
|
60
82
|
START_TIME: "START_TIME",
|
|
61
83
|
};
|
|
84
|
+
export const RecommendationFilterSensitiveLog = (obj) => ({
|
|
85
|
+
...obj,
|
|
86
|
+
...(obj.RecommendationDescription && { RecommendationDescription: SENSITIVE_STRING }),
|
|
87
|
+
});
|
|
88
|
+
export const InsightFilterSensitiveLog = (obj) => ({
|
|
89
|
+
...obj,
|
|
90
|
+
...(obj.SupportingInsights && {
|
|
91
|
+
SupportingInsights: obj.SupportingInsights.map((item) => InsightFilterSensitiveLog(item)),
|
|
92
|
+
}),
|
|
93
|
+
...(obj.Description && { Description: SENSITIVE_STRING }),
|
|
94
|
+
...(obj.Recommendations && {
|
|
95
|
+
Recommendations: obj.Recommendations.map((item) => RecommendationFilterSensitiveLog(item)),
|
|
96
|
+
}),
|
|
97
|
+
});
|
|
98
|
+
export const AnalysisReportFilterSensitiveLog = (obj) => ({
|
|
99
|
+
...obj,
|
|
100
|
+
...(obj.Insights && { Insights: obj.Insights.map((item) => InsightFilterSensitiveLog(item)) }),
|
|
101
|
+
});
|
|
102
|
+
export const GetPerformanceAnalysisReportResponseFilterSensitiveLog = (obj) => ({
|
|
103
|
+
...obj,
|
|
104
|
+
...(obj.AnalysisReport && { AnalysisReport: AnalysisReportFilterSensitiveLog(obj.AnalysisReport) }),
|
|
105
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ListPerformanceAnalysisReportsCommand, } from "../commands/ListPerformanceAnalysisReportsCommand";
|
|
2
|
+
import { PIClient } from "../PIClient";
|
|
3
|
+
const makePagedClientRequest = async (client, input, ...args) => {
|
|
4
|
+
return await client.send(new ListPerformanceAnalysisReportsCommand(input), ...args);
|
|
5
|
+
};
|
|
6
|
+
export async function* paginateListPerformanceAnalysisReports(config, input, ...additionalArguments) {
|
|
7
|
+
let token = config.startingToken || undefined;
|
|
8
|
+
let hasNext = true;
|
|
9
|
+
let page;
|
|
10
|
+
while (hasNext) {
|
|
11
|
+
input.NextToken = token;
|
|
12
|
+
input["MaxResults"] = config.pageSize;
|
|
13
|
+
if (config.client instanceof PIClient) {
|
|
14
|
+
page = await makePagedClientRequest(config.client, input, ...additionalArguments);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
throw new Error("Invalid client, expected PI | PIClient");
|
|
18
|
+
}
|
|
19
|
+
yield page;
|
|
20
|
+
const prevToken = token;
|
|
21
|
+
token = page.NextToken;
|
|
22
|
+
hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|