@barekey/sdk 0.2.1 → 0.3.1
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/dist/client.d.ts +9 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +159 -39
- package/dist/handle.d.ts +15 -1
- package/dist/handle.d.ts.map +1 -1
- package/dist/handle.js +59 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/evaluate.d.ts.map +1 -1
- package/dist/internal/evaluate.js +3 -0
- package/dist/internal/public-runtime.d.ts.map +1 -1
- package/dist/internal/public-runtime.js +9 -1
- package/dist/internal/singleton.d.ts +5 -0
- package/dist/internal/singleton.d.ts.map +1 -0
- package/dist/internal/singleton.js +135 -0
- package/dist/key-types.typecheck.d.ts.map +1 -1
- package/dist/key-types.typecheck.js +2 -0
- package/dist/public-client.d.ts +8 -3
- package/dist/public-client.d.ts.map +1 -1
- package/dist/public-client.js +106 -9
- package/dist/public-types.d.ts +3 -1
- package/dist/public-types.d.ts.map +1 -1
- package/dist/public.d.ts +3 -3
- package/dist/public.d.ts.map +1 -1
- package/dist/public.js +1 -1
- package/dist/server.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -1
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +231 -48
- package/src/handle.ts +90 -2
- package/src/index.ts +11 -1
- package/src/internal/evaluate.ts +3 -0
- package/src/internal/public-runtime.ts +10 -1
- package/src/internal/singleton.ts +183 -0
- package/src/key-types.typecheck.ts +14 -2
- package/src/public-client.ts +159 -16
- package/src/public-types.ts +10 -0
- package/src/public.ts +8 -1
- package/src/server.ts +8 -1
- package/src/types.ts +36 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { normalizeBaseUrl } from "./http.js";
|
|
2
|
+
const DEFAULT_BAREKEY_API_URL = "https://api.barekey.dev";
|
|
3
|
+
const referenceIds = new WeakMap();
|
|
4
|
+
let nextReferenceId = 1;
|
|
5
|
+
function readConfigString(value) {
|
|
6
|
+
if (typeof value !== "string") {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
return value.trim();
|
|
10
|
+
}
|
|
11
|
+
function getReferenceId(value) {
|
|
12
|
+
const existing = referenceIds.get(value);
|
|
13
|
+
if (existing !== undefined) {
|
|
14
|
+
return existing;
|
|
15
|
+
}
|
|
16
|
+
const nextId = nextReferenceId;
|
|
17
|
+
nextReferenceId += 1;
|
|
18
|
+
referenceIds.set(value, nextId);
|
|
19
|
+
return nextId;
|
|
20
|
+
}
|
|
21
|
+
function safeCurrentWorkingDirectory() {
|
|
22
|
+
if (typeof process === "undefined" || typeof process.cwd !== "function") {
|
|
23
|
+
return "";
|
|
24
|
+
}
|
|
25
|
+
return process.cwd();
|
|
26
|
+
}
|
|
27
|
+
function normalizeJsonScope(value) {
|
|
28
|
+
if (value === undefined) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
organization: readConfigString(value.organization ?? value.org),
|
|
33
|
+
project: readConfigString(value.project),
|
|
34
|
+
environment: readConfigString(value.environment ?? value.stage),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function normalizeScopeKey(options) {
|
|
38
|
+
const jsonScope = normalizeJsonScope("json" in options ? options.json : undefined);
|
|
39
|
+
if (jsonScope !== null) {
|
|
40
|
+
return jsonScope;
|
|
41
|
+
}
|
|
42
|
+
const organization = "organization" in options ? readConfigString(options.organization) : null;
|
|
43
|
+
const project = "project" in options ? readConfigString(options.project) : null;
|
|
44
|
+
const environment = "environment" in options ? readConfigString(options.environment) : null;
|
|
45
|
+
if (organization !== null || project !== null || environment !== null) {
|
|
46
|
+
return {
|
|
47
|
+
organization,
|
|
48
|
+
project,
|
|
49
|
+
environment,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
cwd: safeCurrentWorkingDirectory(),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function normalizeTtlKey(value) {
|
|
57
|
+
if (value === undefined) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
if (typeof value === "number") {
|
|
61
|
+
return {
|
|
62
|
+
kind: "milliseconds",
|
|
63
|
+
value,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
if (value instanceof Date) {
|
|
67
|
+
return {
|
|
68
|
+
kind: "date",
|
|
69
|
+
value: value.getTime(),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
if (typeof value === "object" && value !== null && "epochMilliseconds" in value) {
|
|
73
|
+
const epochMilliseconds = value.epochMilliseconds;
|
|
74
|
+
if (typeof epochMilliseconds === "number") {
|
|
75
|
+
return {
|
|
76
|
+
kind: "temporal",
|
|
77
|
+
value: epochMilliseconds,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
kind: "reference",
|
|
83
|
+
value: getReferenceId(value),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
function normalizeRequirementsKey(value) {
|
|
87
|
+
if (value === undefined) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
kind: "reference",
|
|
92
|
+
value: getReferenceId(value),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function stableStringify(value) {
|
|
96
|
+
if (value === null) {
|
|
97
|
+
return "null";
|
|
98
|
+
}
|
|
99
|
+
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
|
100
|
+
return JSON.stringify(value);
|
|
101
|
+
}
|
|
102
|
+
if (typeof value === "undefined") {
|
|
103
|
+
return '"__undefined__"';
|
|
104
|
+
}
|
|
105
|
+
if (Array.isArray(value)) {
|
|
106
|
+
return `[${value.map((entry) => stableStringify(entry)).join(",")}]`;
|
|
107
|
+
}
|
|
108
|
+
if (typeof value === "object") {
|
|
109
|
+
const entries = Object.entries(value).sort(([left], [right]) => left.localeCompare(right));
|
|
110
|
+
return `{${entries
|
|
111
|
+
.map(([key, entryValue]) => `${JSON.stringify(key)}:${stableStringify(entryValue)}`)
|
|
112
|
+
.join(",")}}`;
|
|
113
|
+
}
|
|
114
|
+
return JSON.stringify(String(value));
|
|
115
|
+
}
|
|
116
|
+
export function createBarekeyClientSingletonKey(options) {
|
|
117
|
+
return stableStringify({
|
|
118
|
+
kind: "server",
|
|
119
|
+
scope: normalizeScopeKey(options),
|
|
120
|
+
requirements: normalizeRequirementsKey(options.requirements),
|
|
121
|
+
typegen: options.typegen === false
|
|
122
|
+
? false
|
|
123
|
+
: {
|
|
124
|
+
ttl: normalizeTtlKey(options.typegen?.ttl),
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
export function createPublicBarekeyClientSingletonKey(options) {
|
|
129
|
+
return stableStringify({
|
|
130
|
+
kind: "public",
|
|
131
|
+
scope: normalizeScopeKey(options),
|
|
132
|
+
requirements: normalizeRequirementsKey(options.requirements),
|
|
133
|
+
baseUrl: normalizeBaseUrl(options.baseUrl?.trim() || DEFAULT_BAREKEY_API_URL),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-types.typecheck.d.ts","sourceRoot":"","sources":["../src/key-types.typecheck.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAa9C,OAAO,QAAQ,YAAY,CAAC;IAC1B,UAAU,uBAAuB;QAC/B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;KACtD;CACF;AAED,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAU,6BAA6B;QACrC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;KAC9D;CACF;
|
|
1
|
+
{"version":3,"file":"key-types.typecheck.d.ts","sourceRoot":"","sources":["../src/key-types.typecheck.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAa9C,OAAO,QAAQ,YAAY,CAAC;IAC1B,UAAU,uBAAuB;QAC/B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;KACtD;CACF;AAED,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAU,6BAA6B;QACrC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;KAC9D;CACF;AAqDD,OAAO,EAAE,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
const privateKnownHandle = client.get("PRIVATE_TOKEN");
|
|
2
2
|
const privateUnknownHandle = client.get("SOME_RUNTIME_KEY");
|
|
3
|
+
const privateTupleHandle = client.get(["PRIVATE_TOKEN", "SOME_RUNTIME_KEY"]);
|
|
3
4
|
const publicKnownHandle = publicClient.get("PUBLIC_THEME");
|
|
4
5
|
const publicUnknownHandle = publicClient.get("SOME_RUNTIME_KEY");
|
|
6
|
+
const publicTupleHandle = publicClient.get(["PUBLIC_THEME", "SOME_RUNTIME_KEY"]);
|
|
5
7
|
export {};
|
package/dist/public-client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BarekeyEnvHandle } from "./handle.js";
|
|
2
|
-
import type {
|
|
1
|
+
import { BarekeyEnvBatchHandle, BarekeyEnvHandle } from "./handle.js";
|
|
2
|
+
import type { BarekeyPublicValueForKey, BarekeyPublicValuesForKeys, BarekeyPublicKey, PublicBarekeyClientOptions } from "./public-types.js";
|
|
3
3
|
import type { BarekeyGetOptions, BarekeyJsonConfig } from "./types.js";
|
|
4
4
|
export declare class PublicBarekeyClient {
|
|
5
5
|
private readonly options;
|
|
@@ -21,15 +21,20 @@ export declare class PublicBarekeyClient {
|
|
|
21
21
|
requirements?: PublicBarekeyClientOptions["requirements"];
|
|
22
22
|
baseUrl?: string;
|
|
23
23
|
});
|
|
24
|
-
get<TKey extends BarekeyPublicKey>(name: TKey, options?: BarekeyGetOptions): BarekeyEnvHandle<TKey
|
|
24
|
+
get<TKey extends BarekeyPublicKey>(name: TKey, options?: BarekeyGetOptions): BarekeyEnvHandle<BarekeyPublicValueForKey<TKey>>;
|
|
25
|
+
get<const TKeys extends readonly BarekeyPublicKey[]>(names: TKeys, options?: BarekeyGetOptions): BarekeyEnvBatchHandle<BarekeyPublicValuesForKeys<TKeys>>;
|
|
25
26
|
private getRuntimeContext;
|
|
26
27
|
private buildDefinitionCacheKey;
|
|
27
28
|
private buildEvaluationCacheKey;
|
|
28
29
|
private fetchDefinitions;
|
|
29
30
|
private ensureRequirementsValidated;
|
|
31
|
+
private getStaticDefinitions;
|
|
30
32
|
private getStaticDefinition;
|
|
31
33
|
private resolveStaticValue;
|
|
34
|
+
private resolveStaticValues;
|
|
32
35
|
private resolveDynamicValue;
|
|
36
|
+
private resolveDynamicValues;
|
|
33
37
|
private resolveEvaluatedValue;
|
|
38
|
+
private resolveEvaluatedValues;
|
|
34
39
|
}
|
|
35
40
|
//# sourceMappingURL=public-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-client.d.ts","sourceRoot":"","sources":["../src/public-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"public-client.d.ts","sourceRoot":"","sources":["../src/public-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAetE,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAEV,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAoCpB,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgD;IAChF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4C;IAC5E,OAAO,CAAC,qBAAqB,CAAqD;IAClF,OAAO,CAAC,mBAAmB,CAA8B;;gBAG7C,OAAO,EAAE;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;gBACW,OAAO,EAAE;QACnB,IAAI,EAAE,iBAAiB,CAAC;QACxB,YAAY,CAAC,EAAE,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;IAaD,GAAG,CAAC,IAAI,SAAS,gBAAgB,EAC/B,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,iBAAiB,GAC1B,gBAAgB,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACnD,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,SAAS,gBAAgB,EAAE,EACjD,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,iBAAiB,GAC1B,qBAAqB,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAgB7C,iBAAiB;IAa/B,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,uBAAuB;YAejB,gBAAgB;YAyBhB,2BAA2B;YA4B3B,oBAAoB;YAkCpB,mBAAmB;YASnB,kBAAkB;YAQlB,mBAAmB;YAUnB,mBAAmB;YAkCnB,oBAAoB;YA2CpB,qBAAqB;YAWrB,sBAAsB;CAoBrC"}
|
package/dist/public-client.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { VariableNotFoundError } from "./errors.js";
|
|
2
|
-
import { BarekeyEnvHandle } from "./handle.js";
|
|
2
|
+
import { BarekeyEnvBatchHandle, BarekeyEnvHandle } from "./handle.js";
|
|
3
3
|
import { evaluateDefinition, parseDeclaredValue, validateDynamicOptions, } from "./internal/evaluate.js";
|
|
4
4
|
import { postJson } from "./internal/http.js";
|
|
5
5
|
import { MemoryCache } from "./internal/cache.js";
|
|
6
6
|
import { validateRequirements } from "./internal/requirements.js";
|
|
7
7
|
import { resolvePublicRuntimeContext, } from "./internal/public-runtime.js";
|
|
8
|
+
import { createPublicBarekeyClientSingletonKey } from "./internal/singleton.js";
|
|
8
9
|
import { resolveTtlMilliseconds } from "./internal/ttl.js";
|
|
10
|
+
const sharedClients = new Map();
|
|
9
11
|
function createDefaultFetch() {
|
|
10
12
|
if (typeof globalThis.fetch === "function") {
|
|
11
13
|
return globalThis.fetch.bind(globalThis);
|
|
@@ -14,6 +16,19 @@ function createDefaultFetch() {
|
|
|
14
16
|
throw new Error("fetch is not available in this runtime.");
|
|
15
17
|
});
|
|
16
18
|
}
|
|
19
|
+
function uniqueNames(names) {
|
|
20
|
+
return [...new Set(names)];
|
|
21
|
+
}
|
|
22
|
+
function mapValuesToRequestedOrder(names, values) {
|
|
23
|
+
const byName = new Map(values.map((value) => [value.name, value]));
|
|
24
|
+
return names.map((name) => {
|
|
25
|
+
const resolved = byName.get(name);
|
|
26
|
+
if (resolved === undefined) {
|
|
27
|
+
throw new VariableNotFoundError();
|
|
28
|
+
}
|
|
29
|
+
return resolved;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
17
32
|
export class PublicBarekeyClient {
|
|
18
33
|
options;
|
|
19
34
|
fetchFn;
|
|
@@ -22,11 +37,20 @@ export class PublicBarekeyClient {
|
|
|
22
37
|
runtimeContextPromise = null;
|
|
23
38
|
requirementsPromise = null;
|
|
24
39
|
constructor(options = {}) {
|
|
40
|
+
const singletonKey = createPublicBarekeyClientSingletonKey(options);
|
|
41
|
+
const existing = sharedClients.get(singletonKey);
|
|
42
|
+
if (existing !== undefined) {
|
|
43
|
+
return existing;
|
|
44
|
+
}
|
|
25
45
|
this.options = options;
|
|
26
46
|
this.fetchFn = createDefaultFetch();
|
|
47
|
+
sharedClients.set(singletonKey, this);
|
|
27
48
|
}
|
|
28
|
-
get(
|
|
29
|
-
|
|
49
|
+
get(nameOrNames, options) {
|
|
50
|
+
if (Array.isArray(nameOrNames)) {
|
|
51
|
+
return new BarekeyEnvBatchHandle(async () => await this.resolveEvaluatedValues(nameOrNames, options));
|
|
52
|
+
}
|
|
53
|
+
return new BarekeyEnvHandle(async () => await this.resolveEvaluatedValue(nameOrNames, options));
|
|
30
54
|
}
|
|
31
55
|
async getRuntimeContext() {
|
|
32
56
|
if (this.runtimeContextPromise === null) {
|
|
@@ -54,6 +78,9 @@ export class PublicBarekeyClient {
|
|
|
54
78
|
].join("|");
|
|
55
79
|
}
|
|
56
80
|
async fetchDefinitions(names) {
|
|
81
|
+
if (names !== undefined && names.length === 0) {
|
|
82
|
+
return [];
|
|
83
|
+
}
|
|
57
84
|
const context = await this.getRuntimeContext();
|
|
58
85
|
const response = await postJson({
|
|
59
86
|
fetchFn: this.fetchFn,
|
|
@@ -96,15 +123,35 @@ export class PublicBarekeyClient {
|
|
|
96
123
|
}
|
|
97
124
|
await this.requirementsPromise;
|
|
98
125
|
}
|
|
99
|
-
async
|
|
126
|
+
async getStaticDefinitions(names) {
|
|
100
127
|
await this.ensureRequirementsValidated();
|
|
101
128
|
const context = await this.getRuntimeContext();
|
|
102
|
-
const
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
129
|
+
const cachedDefinitions = new Map();
|
|
130
|
+
const missingNames = [];
|
|
131
|
+
for (const name of uniqueNames(names)) {
|
|
132
|
+
const cacheKey = this.buildDefinitionCacheKey(context, name);
|
|
133
|
+
const cached = this.definitionCache.get(cacheKey);
|
|
134
|
+
if (cached !== null) {
|
|
135
|
+
cachedDefinitions.set(name, cached);
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
missingNames.push(name);
|
|
106
139
|
}
|
|
107
|
-
|
|
140
|
+
if (missingNames.length > 0) {
|
|
141
|
+
for (const definition of await this.fetchDefinitions(missingNames)) {
|
|
142
|
+
cachedDefinitions.set(definition.name, definition);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return names.map((name) => {
|
|
146
|
+
const resolved = cachedDefinitions.get(name);
|
|
147
|
+
if (resolved === undefined) {
|
|
148
|
+
throw new VariableNotFoundError();
|
|
149
|
+
}
|
|
150
|
+
return resolved;
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
async getStaticDefinition(name) {
|
|
154
|
+
const definitions = await this.getStaticDefinitions([name]);
|
|
108
155
|
const resolved = definitions[0];
|
|
109
156
|
if (resolved === undefined) {
|
|
110
157
|
throw new VariableNotFoundError();
|
|
@@ -115,6 +162,10 @@ export class PublicBarekeyClient {
|
|
|
115
162
|
const definition = await this.getStaticDefinition(name);
|
|
116
163
|
return await evaluateDefinition(definition, options);
|
|
117
164
|
}
|
|
165
|
+
async resolveStaticValues(names, options) {
|
|
166
|
+
const definitions = await this.getStaticDefinitions(names);
|
|
167
|
+
return await Promise.all(definitions.map(async (definition) => await evaluateDefinition(definition, options)));
|
|
168
|
+
}
|
|
118
169
|
async resolveDynamicValue(name, options) {
|
|
119
170
|
await this.ensureRequirementsValidated();
|
|
120
171
|
const context = await this.getRuntimeContext();
|
|
@@ -140,6 +191,38 @@ export class PublicBarekeyClient {
|
|
|
140
191
|
}
|
|
141
192
|
return resolved;
|
|
142
193
|
}
|
|
194
|
+
async resolveDynamicValues(names, options) {
|
|
195
|
+
await this.ensureRequirementsValidated();
|
|
196
|
+
const context = await this.getRuntimeContext();
|
|
197
|
+
const dynamic = options?.dynamic;
|
|
198
|
+
const dynamicTtlMs = dynamic !== undefined && dynamic !== true
|
|
199
|
+
? resolveTtlMilliseconds(dynamic.ttl, "dynamic.ttl")
|
|
200
|
+
: null;
|
|
201
|
+
const resolvedValues = new Map();
|
|
202
|
+
const missingNames = [];
|
|
203
|
+
for (const name of uniqueNames(names)) {
|
|
204
|
+
const cacheKey = this.buildEvaluationCacheKey(context, name, options);
|
|
205
|
+
if (dynamic !== true) {
|
|
206
|
+
const cached = this.evaluationCache.getRecord(cacheKey);
|
|
207
|
+
if (cached !== null && dynamicTtlMs !== null && Date.now() - cached.storedAtMs <= dynamicTtlMs) {
|
|
208
|
+
resolvedValues.set(name, cached.value);
|
|
209
|
+
continue;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
missingNames.push(name);
|
|
213
|
+
}
|
|
214
|
+
if (missingNames.length > 0) {
|
|
215
|
+
const freshDefinitions = await this.getStaticDefinitions(missingNames);
|
|
216
|
+
const freshValues = await Promise.all(freshDefinitions.map(async (definition) => await evaluateDefinition(definition, options)));
|
|
217
|
+
for (const resolved of freshValues) {
|
|
218
|
+
resolvedValues.set(resolved.name, resolved);
|
|
219
|
+
if (dynamicTtlMs !== null) {
|
|
220
|
+
this.evaluationCache.set(this.buildEvaluationCacheKey(context, resolved.name, options), resolved);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
return mapValuesToRequestedOrder(names, [...resolvedValues.values()]);
|
|
225
|
+
}
|
|
143
226
|
async resolveEvaluatedValue(name, options) {
|
|
144
227
|
validateDynamicOptions(options);
|
|
145
228
|
if (options?.dynamic === undefined) {
|
|
@@ -147,4 +230,18 @@ export class PublicBarekeyClient {
|
|
|
147
230
|
}
|
|
148
231
|
return await this.resolveDynamicValue(name, options);
|
|
149
232
|
}
|
|
233
|
+
async resolveEvaluatedValues(names, options) {
|
|
234
|
+
if (names.length === 0) {
|
|
235
|
+
return [];
|
|
236
|
+
}
|
|
237
|
+
if (uniqueNames(names).length === 1) {
|
|
238
|
+
const resolved = await this.resolveEvaluatedValue(names[0] ?? "", options);
|
|
239
|
+
return names.map(() => resolved);
|
|
240
|
+
}
|
|
241
|
+
validateDynamicOptions(options);
|
|
242
|
+
if (options?.dynamic === undefined) {
|
|
243
|
+
return await this.resolveStaticValues(names, options);
|
|
244
|
+
}
|
|
245
|
+
return await this.resolveDynamicValues(names, options);
|
|
246
|
+
}
|
|
150
247
|
}
|
package/dist/public-types.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export type { AB, BarekeyCoerceTarget, BarekeyDeclaredType, BarekeyDecision, BarekeyErrorCode, BarekeyEvaluatedValue, BarekeyGetOptions, BarekeyJsonConfig, BarekeyResolvedKind, BarekeyRolloutFunction, BarekeyRolloutMatchedRule, BarekeyRolloutMilestone, BarekeyStandardSchemaPathSegment, BarekeyStandardSchemaResult, BarekeyStandardSchemaV1, BarekeyTemporalInstant, BarekeyTemporalInstantLike, BarekeyTtlInput, BarekeyTypegenResult, BarekeyVariableDefinition, EaseInOut, Env, Linear, Secret, Step, } from "./types.js";
|
|
2
|
-
import type { BarekeyJsonConfig, BarekeyLiteralString, BarekeyStandardSchemaV1 } from "./types.js";
|
|
2
|
+
import type { BarekeyJsonConfig, BarekeyLiteralString, BarekeyStandardSchemaV1, BarekeyValueForGeneratedMap, BarekeyValuesForGeneratedMap } from "./types.js";
|
|
3
3
|
export interface BarekeyPublicGeneratedTypeMap {
|
|
4
4
|
}
|
|
5
5
|
export type BarekeyPublicKnownKey = Extract<keyof BarekeyPublicGeneratedTypeMap, string>;
|
|
6
6
|
export type BarekeyPublicKey = BarekeyPublicKnownKey | BarekeyLiteralString;
|
|
7
|
+
export type BarekeyPublicValueForKey<TKey extends string> = BarekeyValueForGeneratedMap<BarekeyPublicGeneratedTypeMap, TKey>;
|
|
8
|
+
export type BarekeyPublicValuesForKeys<TKeys extends readonly string[]> = BarekeyValuesForGeneratedMap<BarekeyPublicGeneratedTypeMap, TKeys>;
|
|
7
9
|
type BarekeyPublicBaseClientOptions = {
|
|
8
10
|
requirements?: BarekeyStandardSchemaV1;
|
|
9
11
|
baseUrl?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-types.d.ts","sourceRoot":"","sources":["../src/public-types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,EAAE,EACF,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,gCAAgC,EAChC,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EACzB,SAAS,EACT,GAAG,EACH,MAAM,EACN,MAAM,EACN,IAAI,GACL,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"public-types.d.ts","sourceRoot":"","sources":["../src/public-types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,EAAE,EACF,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,gCAAgC,EAChC,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EACzB,SAAS,EACT,GAAG,EACH,MAAM,EACN,MAAM,EACN,IAAI,GACL,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,6BAA6B;CAAG;AAEjD,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,6BAA6B,EAAE,MAAM,CAAC,CAAC;AAEzF,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE5E,MAAM,MAAM,wBAAwB,CAAC,IAAI,SAAS,MAAM,IAAI,2BAA2B,CACrF,6BAA6B,EAC7B,IAAI,CACL,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,KAAK,SAAS,SAAS,MAAM,EAAE,IACpE,4BAA4B,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;AAErE,KAAK,8BAA8B,GAAG;IACpC,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC,CAAC,8BAA8B,GAAG;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC,GACF,CAAC,8BAA8B,GAAG;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CAAC,GACF,CAAC,8BAA8B,GAAG;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC,CAAC"}
|
package/dist/public.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { PublicBarekeyClient } from "./public-client.js";
|
|
2
|
-
export { BarekeyEnvHandle } from "./handle.js";
|
|
2
|
+
export { BarekeyEnvBatchHandle, BarekeyEnvHandle } from "./handle.js";
|
|
3
3
|
export { BarekeyError, BillingUnavailableError, CoerceFailedError, DeviceCodeExpiredError, DeviceCodeNotFoundError, EvaluationFailedError, FsNotAvailableError, InvalidConfigurationProvidedError, InvalidCredentialsProvidedError, InvalidDynamicOptionsError, InvalidJsonError, InvalidOrgScopeError, InvalidRefreshTokenError, InvalidRequestError, NetworkError, NoConfigurationProvidedError, NoCredentialsProvidedError, OrgScopeInvalidError, RequirementsValidationFailedError, SdkModuleNotFoundError, TemporalNotAvailableError, TypegenReadFailedError, TypegenUnsupportedSdkError, TypegenWriteFailedError, UnauthorizedError, UnknownError, UsageLimitExceededError, UserCodeInvalidError, VariableNotFoundError, createBarekeyErrorFromCode, docsUrlForErrorCode, formatBarekeyErrorMessage, isBarekeyErrorCode, normalizeErrorCode, } from "./errors.js";
|
|
4
|
-
export type { AB, BarekeyCoerceTarget, BarekeyDeclaredType, BarekeyDecision, BarekeyErrorCode, BarekeyEvaluatedValue, BarekeyGetOptions, BarekeyJsonConfig, BarekeyLiteralString, BarekeyResolvedKind, BarekeyRolloutFunction, BarekeyRolloutMatchedRule, BarekeyRolloutMilestone, BarekeyStandardSchemaV1, BarekeyTemporalInstant, BarekeyTemporalInstantLike, BarekeyTtlInput, BarekeyVariableDefinition, EaseInOut, Env, Linear, Secret, Step, } from "./types.js";
|
|
5
|
-
export type { BarekeyPublicGeneratedTypeMap, BarekeyPublicKey, BarekeyPublicKnownKey, PublicBarekeyClientOptions, } from "./public-types.js";
|
|
4
|
+
export type { AB, BarekeyCoerceTarget, BarekeyDeclaredType, BarekeyDecision, BarekeyErrorCode, BarekeyEvaluatedValue, BarekeyGetOptions, BarekeyJsonConfig, BarekeyLiteralString, BarekeyResolvedRecord, BarekeyResolvedRecords, BarekeyResolvedKind, BarekeyRolloutFunction, BarekeyRolloutMatchedRule, BarekeyRolloutMilestone, BarekeyStandardSchemaV1, BarekeyTemporalInstant, BarekeyTemporalInstantLike, BarekeyTtlInput, BarekeyValueForGeneratedMap, BarekeyValuesForGeneratedMap, BarekeyVariableDefinition, BarekeyVisibility, EaseInOut, Env, Linear, Secret, Step, } from "./types.js";
|
|
5
|
+
export type { BarekeyPublicGeneratedTypeMap, BarekeyPublicKey, BarekeyPublicKnownKey, BarekeyPublicValueForKey, BarekeyPublicValuesForKeys, PublicBarekeyClientOptions, } from "./public-types.js";
|
|
6
6
|
//# sourceMappingURL=public.d.ts.map
|
package/dist/public.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../src/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../src/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,iCAAiC,EACjC,+BAA+B,EAC/B,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,iCAAiC,EACjC,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,EAAE,EACF,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,2BAA2B,EAC3B,4BAA4B,EAC5B,yBAAyB,EACzB,iBAAiB,EACjB,SAAS,EACT,GAAG,EACH,MAAM,EACN,MAAM,EACN,IAAI,GACL,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,6BAA6B,EAC7B,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC"}
|
package/dist/public.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { PublicBarekeyClient } from "./public-client.js";
|
|
2
|
-
export { BarekeyEnvHandle } from "./handle.js";
|
|
2
|
+
export { BarekeyEnvBatchHandle, BarekeyEnvHandle } from "./handle.js";
|
|
3
3
|
export { BarekeyError, BillingUnavailableError, CoerceFailedError, DeviceCodeExpiredError, DeviceCodeNotFoundError, EvaluationFailedError, FsNotAvailableError, InvalidConfigurationProvidedError, InvalidCredentialsProvidedError, InvalidDynamicOptionsError, InvalidJsonError, InvalidOrgScopeError, InvalidRefreshTokenError, InvalidRequestError, NetworkError, NoConfigurationProvidedError, NoCredentialsProvidedError, OrgScopeInvalidError, RequirementsValidationFailedError, SdkModuleNotFoundError, TemporalNotAvailableError, TypegenReadFailedError, TypegenUnsupportedSdkError, TypegenWriteFailedError, UnauthorizedError, UnknownError, UsageLimitExceededError, UserCodeInvalidError, VariableNotFoundError, createBarekeyErrorFromCode, docsUrlForErrorCode, formatBarekeyErrorMessage, isBarekeyErrorCode, normalizeErrorCode, } from "./errors.js";
|
package/dist/server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { BarekeyClient } from "./client.js";
|
|
2
|
-
export { BarekeyEnvHandle } from "./handle.js";
|
|
2
|
+
export { BarekeyEnvBatchHandle, BarekeyEnvHandle } from "./handle.js";
|
|
3
3
|
export { BarekeyError, BillingUnavailableError, CoerceFailedError, DeviceCodeExpiredError, DeviceCodeNotFoundError, EvaluationFailedError, FsNotAvailableError, InvalidConfigurationProvidedError, InvalidCredentialsProvidedError, InvalidDynamicOptionsError, InvalidJsonError, InvalidOrgScopeError, InvalidRefreshTokenError, InvalidRequestError, NetworkError, NoConfigurationProvidedError, NoCredentialsProvidedError, OrgScopeInvalidError, RequirementsValidationFailedError, SdkModuleNotFoundError, TemporalNotAvailableError, TypegenReadFailedError, TypegenUnsupportedSdkError, TypegenWriteFailedError, UnauthorizedError, UnknownError, UsageLimitExceededError, UserCodeInvalidError, VariableNotFoundError, createBarekeyErrorFromCode, docsUrlForErrorCode, formatBarekeyErrorMessage, isBarekeyErrorCode, normalizeErrorCode, } from "./errors.js";
|
|
4
|
-
export type { AB, BarekeyClientOptions, BarekeyCoerceTarget, BarekeyDeclaredType, BarekeyErrorCode, BarekeyGeneratedTypeMap, BarekeyGetOptions, BarekeyJsonConfig, BarekeyKey, BarekeyLiteralString, BarekeyKnownKey, BarekeyResolvedKind, BarekeyRolloutMilestone, BarekeyStandardSchemaV1, BarekeyTemporalInstant, BarekeyTemporalInstantLike, BarekeyTtlInput, BarekeyTypegenResult, Env, Linear, Secret, } from "./types.js";
|
|
4
|
+
export type { AB, BarekeyClientOptions, BarekeyCoerceTarget, BarekeyDeclaredType, BarekeyErrorCode, BarekeyGeneratedTypeMap, BarekeyGeneratedValueForKey, BarekeyGeneratedValuesForKeys, BarekeyGetOptions, BarekeyJsonConfig, BarekeyKey, BarekeyLiteralString, BarekeyKnownKey, BarekeyResolvedRecord, BarekeyResolvedRecords, BarekeyResolvedKind, BarekeyRolloutMilestone, BarekeyStandardSchemaV1, BarekeyTemporalInstant, BarekeyTemporalInstantLike, BarekeyTtlInput, BarekeyTypegenResult, BarekeyValueForGeneratedMap, BarekeyValuesForGeneratedMap, BarekeyVisibility, Env, Linear, Secret, } from "./types.js";
|
|
5
5
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,iCAAiC,EACjC,+BAA+B,EAC/B,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,iCAAiC,EACjC,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,EAAE,EACF,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,2BAA2B,EAC3B,4BAA4B,EAC5B,iBAAiB,EACjB,GAAG,EACH,MAAM,EACN,MAAM,GACP,MAAM,YAAY,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { BarekeyClient } from "./client.js";
|
|
2
|
-
export { BarekeyEnvHandle } from "./handle.js";
|
|
2
|
+
export { BarekeyEnvBatchHandle, BarekeyEnvHandle } from "./handle.js";
|
|
3
3
|
export { BarekeyError, BillingUnavailableError, CoerceFailedError, DeviceCodeExpiredError, DeviceCodeNotFoundError, EvaluationFailedError, FsNotAvailableError, InvalidConfigurationProvidedError, InvalidCredentialsProvidedError, InvalidDynamicOptionsError, InvalidJsonError, InvalidOrgScopeError, InvalidRefreshTokenError, InvalidRequestError, NetworkError, NoConfigurationProvidedError, NoCredentialsProvidedError, OrgScopeInvalidError, RequirementsValidationFailedError, SdkModuleNotFoundError, TemporalNotAvailableError, TypegenReadFailedError, TypegenUnsupportedSdkError, TypegenWriteFailedError, UnauthorizedError, UnknownError, UsageLimitExceededError, UserCodeInvalidError, VariableNotFoundError, createBarekeyErrorFromCode, docsUrlForErrorCode, formatBarekeyErrorMessage, isBarekeyErrorCode, normalizeErrorCode, } from "./errors.js";
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type BarekeyResolvedKind = "secret" | "ab_roll" | "rollout";
|
|
2
|
+
export type BarekeyVisibility = "private" | "public";
|
|
2
3
|
export type BarekeyDeclaredType = "string" | "boolean" | "int64" | "float" | "date" | "json";
|
|
3
4
|
export type BarekeyTemporalInstant = {
|
|
4
5
|
readonly epochMilliseconds: number;
|
|
@@ -36,6 +37,12 @@ export interface BarekeyGeneratedTypeMap {
|
|
|
36
37
|
export type BarekeyKnownKey = Extract<keyof BarekeyGeneratedTypeMap, string>;
|
|
37
38
|
export type BarekeyLiteralString = string & {};
|
|
38
39
|
export type BarekeyKey = BarekeyKnownKey | BarekeyLiteralString;
|
|
40
|
+
export type BarekeyValueForGeneratedMap<TMap extends object, TKey extends string> = TKey extends Extract<keyof TMap, string> ? TMap[TKey] : unknown;
|
|
41
|
+
export type BarekeyValuesForGeneratedMap<TMap extends object, TKeys extends readonly string[]> = {
|
|
42
|
+
[TIndex in keyof TKeys]: TKeys[TIndex] extends string ? BarekeyValueForGeneratedMap<TMap, TKeys[TIndex]> : never;
|
|
43
|
+
};
|
|
44
|
+
export type BarekeyGeneratedValueForKey<TKey extends string> = BarekeyValueForGeneratedMap<BarekeyGeneratedTypeMap, TKey>;
|
|
45
|
+
export type BarekeyGeneratedValuesForKeys<TKeys extends readonly string[]> = BarekeyValuesForGeneratedMap<BarekeyGeneratedTypeMap, TKeys>;
|
|
39
46
|
export type BarekeyRolloutMilestone = {
|
|
40
47
|
at: string;
|
|
41
48
|
percentage: number;
|
|
@@ -53,19 +60,29 @@ export type BarekeyEvaluatedValue = {
|
|
|
53
60
|
name: string;
|
|
54
61
|
kind: BarekeyResolvedKind;
|
|
55
62
|
declaredType: BarekeyDeclaredType;
|
|
63
|
+
visibility: BarekeyVisibility;
|
|
56
64
|
value: string;
|
|
57
65
|
decision?: BarekeyDecision;
|
|
58
66
|
selectedArm?: "A" | "B";
|
|
59
67
|
};
|
|
68
|
+
export type BarekeyResolvedRecord<TValue = unknown> = Omit<BarekeyEvaluatedValue, "value"> & {
|
|
69
|
+
value: TValue;
|
|
70
|
+
rawValue: string;
|
|
71
|
+
};
|
|
72
|
+
export type BarekeyResolvedRecords<TValues extends ReadonlyArray<unknown>> = {
|
|
73
|
+
[TIndex in keyof TValues]: BarekeyResolvedRecord<TValues[TIndex]>;
|
|
74
|
+
};
|
|
60
75
|
export type BarekeyVariableDefinition = {
|
|
61
76
|
name: string;
|
|
62
77
|
kind: "secret";
|
|
63
78
|
declaredType: BarekeyDeclaredType;
|
|
79
|
+
visibility: BarekeyVisibility;
|
|
64
80
|
value: string;
|
|
65
81
|
} | {
|
|
66
82
|
name: string;
|
|
67
83
|
kind: "ab_roll";
|
|
68
84
|
declaredType: BarekeyDeclaredType;
|
|
85
|
+
visibility: BarekeyVisibility;
|
|
69
86
|
valueA: string;
|
|
70
87
|
valueB: string;
|
|
71
88
|
chance: number;
|
|
@@ -73,6 +90,7 @@ export type BarekeyVariableDefinition = {
|
|
|
73
90
|
name: string;
|
|
74
91
|
kind: "rollout";
|
|
75
92
|
declaredType: BarekeyDeclaredType;
|
|
93
|
+
visibility: BarekeyVisibility;
|
|
76
94
|
valueA: string;
|
|
77
95
|
valueB: string;
|
|
78
96
|
rolloutFunction: BarekeyRolloutFunction;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|