Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature values always have type string when using local evaluation mode #146

Open
AceFire6 opened this issue Mar 1, 2024 · 0 comments
Open

Comments

@AceFire6
Copy link

AceFire6 commented Mar 1, 2024

We've started seeing an issue where number values like this one are being returned as type string when enableLocalEvaluation is set to true.
Screenshot 2024-03-01 at 11 38 49

Using this test script I've validated that the local evaluation causes the change in behaviour (thanks Matt for the help 🙌 )

This has been tested on flagsmith-nodejs versions 2.5.1 and 3.2.0

import Flagsmith from 'flagsmith-nodejs';

async function main(): Promise<void> {
    const flagClient = new Flagsmith({
        environmentKey: 'ser.key',
        enableLocalEvaluation: true,
        enableAnalytics: false,
    });

    const environmentFlags = await flagClient.getEnvironmentFlags();
    const flag = environmentFlags.getFlag('daisy.settlements.timeout');
    console.log(`flagClient.apiUrl=${flagClient.apiUrl}`);
    console.log(`flagClient.enableLocalEvaluation=${flagClient.enableLocalEvaluation}`);
    console.log(JSON.stringify(flag));
    console.log(`typeof flag.value=${typeof flag.value}`);

    await flagClient.close();
}

void main();

enableLocalEvaluation=true

flagClient.apiUrl=https://edge.api.flagsmith.com/api/v1/
flagClient.enableLocalEvaluation=true
{"value":"60000","enabled":true,"isDefault":false,"featureId":62178,"featureName":"daisy.settlements.timeout"}
typeof flag.value=string

enableLocalEvaluation=false

flagClient.apiUrl=https://edge.api.flagsmith.com/api/v1/
flagClient.enableLocalEvaluation=false
{"value":60000,"enabled":true,"isDefault":false,"featureId":62178,"featureName":"daisy.settlements.timeout"}
typeof flag.value=number
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant