Skip to content

Commit df12a42

Browse files
committed
chore(core): add setTokenFeature
1 parent 1708b4a commit df12a42

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
export * from "./emitWarningIfUnsupportedVersion";
22
export * from "./setCredentialFeature";
33
export * from "./setFeature";
4+
export * from "./setTokenFeature";
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { AttributedTokenIdentity } from "@aws-sdk/types";
2+
import { describe, expect, test as it } from "vitest";
3+
4+
import { setTokenFeature } from "./setTokenFeature";
5+
6+
describe(setTokenFeature.name, () => {
7+
it("should create the data path if it does't exist", () => {
8+
const token = { token: "" } as AttributedTokenIdentity;
9+
10+
expect(setTokenFeature(token, "BEARER_SERVICE_ENV_VARS", "3")).toEqual({
11+
token: "",
12+
$source: {
13+
BEARER_SERVICE_ENV_VARS: "3",
14+
},
15+
});
16+
});
17+
});
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import type { AttributedTokenIdentity, AwsSdkTokenFeatures } from "@aws-sdk/types";
2+
3+
/**
4+
* @internal
5+
*
6+
* @returns the token with source feature attribution.
7+
*/
8+
export function setTokenFeature<F extends keyof AwsSdkTokenFeatures>(
9+
token: AttributedTokenIdentity,
10+
feature: F,
11+
value: AwsSdkTokenFeatures[F]
12+
): AttributedTokenIdentity {
13+
if (!token.$source) {
14+
token.$source = {};
15+
}
16+
token.$source![feature] = value;
17+
return token;
18+
}

0 commit comments

Comments
 (0)