Comments (4)
@FelipeLahti we have released support for non-string attributes with JavaScript SDK 3.0.0. Check out documentation here: https://docs.developers.optimizely.com/full-stack/docs/define-audiences-and-attributes#section-pass-in-attributes
from javascript-sdk.
@FelipeLahti thanks for submitting your feedback. The SDK currently only supports string types when matching audience conditions. We are actively working on expanding this to support other types such as booleans. Please stay tuned!
from javascript-sdk.
Thanks @mikeng13
As an workaround, I encapsulated the call to isFeatureFlag
and I'm converting each field to string so another developers on my team doesn't have to go through the same issue I had.
Something like:
// https://github.com/optimizely/javascript-sdk/issues/132
function getUserId(userId) {
return userId === undefined ? 'userId' : userId;
}
// https://github.com/optimizely/javascript-sdk/issues/146
function getUserAttributes(userAttributes) {
if (userAttributes) {
const userAtributtesStringify = {};
Object.keys(userAttributes).forEach((key) => {
if (userAttributes[key] !== undefined) {
userAtributtesStringify[key] = userAttributes[key].toString();
}
});
return userAtributtesStringify;
}
return userAttributes;
}
function isFeatureEnabled(flagKey, userId, audiences) {
return optimizely.isFeatureEnabled(flagKey, getUserId(userId), getUserAttributes(audiences));
}
from javascript-sdk.
We have released a 3.0.0-alpha that has support for non string attributes. You will however, have to take to your csm about enabling audience targeting with non string attributes in the UI.
from javascript-sdk.
Related Issues (20)
- Typescript - Breaking changes in 4.9.2 HOT 6
- Reporting a vulnerability HOT 1
- Consider enforcing import order via Prettier HOT 1
- node_request_handler.ts does not support HTTP HOT 1
- Improve OptimizelyConfig instantiation performance HOT 12
- Optimizely SDK keeps making datafile requests in NextJS Server Side
- [BUG] Test bug report HOT 1
- [BUG] Several typescript errors in 5.0.0-beta3 HOT 3
- issue: Incorrect client engine detected HOT 4
- [BUG] website points to a 404 for the changelog HOT 2
- [ENHANCEMENT] update the typing for getFeatureVariable to reflect what the docs say will be returned HOT 7
- [ENHANCEMENT] update readme to explain what parts are "legacy" HOT 2
- [ENHANCEMENT] Provide TypeScript types for feature experimentation API responses HOT 3
- [BUG] Upgrade to 4.10.0 causes createInstance to return null on cloudflare workers HOT 3
- sending SDK to createInstance() in Server-side context causes memory leaks HOT 2
- Memory leak in v5? (works in v4.10) HOT 12
- [OptimizelyProvider UserAttributes Type Definition mismatch] The type definition for the user attributes does not match the documentation and is limiting types allowed HOT 2
- [BUG] Using client.createUserContext leads to setTimeout is not defined error on Akamai EdgeWorker
- [BUG] Akamai EW doesnt have TextEncoder and crypto as Globals HOT 1
- [BUG] queueMicrotask is not supported on rather recent TVs breaking clients HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from javascript-sdk.