Skip to content

Commit 10dcce9

Browse files
committed
Restore ldClient dec and clean up camelization
1 parent e2243b2 commit 10dcce9

File tree

2 files changed

+20
-16
lines changed

2 files changed

+20
-16
lines changed

src/context.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ interface LDContext {
3030
/**
3131
* @ignore
3232
*/
33-
const context = createContext<LDContext>({ flags: {}, flagKeyMap: {} });
33+
const context = createContext<LDContext>({ flags: {}, flagKeyMap: {}, ldClient: undefined });
3434
const {
3535
/**
3636
* @ignore

src/getFlagsProxy.ts

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,9 @@ export default function getFlagsProxy(
99
targetFlags?: LDFlagSet,
1010
): { flags: LDFlagSet; flagKeyMap: LDFlagKeyMap } {
1111
const filteredFlags = filterFlags(rawFlags, targetFlags);
12-
const flags: LDFlagSet = {};
13-
const flagKeyMap: LDFlagKeyMap = {};
14-
if (!reactOptions.useCamelCaseFlagKeys) {
15-
Object.assign(flags, filteredFlags);
16-
} else {
17-
for (const rawFlag in filteredFlags) {
18-
// Exclude system keys
19-
if (rawFlag.indexOf('$') === 0) {
20-
continue;
21-
}
22-
const camelKey = camelCase(rawFlag);
23-
flags[camelKey] = filteredFlags[rawFlag];
24-
flagKeyMap[camelKey] = rawFlag;
25-
}
26-
}
12+
const [flags, flagKeyMap = {}] = reactOptions.useCamelCaseFlagKeys
13+
? getCamelizedKeysAndFlagMap(filteredFlags)
14+
: [filteredFlags];
2715

2816
return {
2917
flags: reactOptions.sendEventsOnFlagRead ? toFlagsProxy(ldClient, flags, flagKeyMap) : flags,
@@ -45,6 +33,22 @@ function filterFlags(flags: LDFlagSet, targetFlags?: LDFlagSet): LDFlagSet {
4533
}, {});
4634
}
4735

36+
function getCamelizedKeysAndFlagMap(rawFlags: LDFlagSet) {
37+
const flags: LDFlagSet = {};
38+
const flagKeyMap: LDFlagKeyMap = {};
39+
for (const rawFlag in rawFlags) {
40+
// Exclude system keys
41+
if (rawFlag.indexOf('$') === 0) {
42+
continue;
43+
}
44+
const camelKey = camelCase(rawFlag);
45+
flags[camelKey] = rawFlags[rawFlag];
46+
flagKeyMap[camelKey] = rawFlag;
47+
}
48+
49+
return [flags, flagKeyMap];
50+
}
51+
4852
function hasFlag(flags: LDFlagSet, flagKey: string) {
4953
return Object.prototype.hasOwnProperty.call(flags, flagKey);
5054
}

0 commit comments

Comments
 (0)