Skip to content

Commit 26c5981

Browse files
authored
Proposal for consistent code snippets on feature flags landing page. (#505)
1 parent 26e4631 commit 26c5981

File tree

1 file changed

+154
-0
lines changed

1 file changed

+154
-0
lines changed

misc/code_snippets.md

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
# Eppo SDK Code Snippets
2+
Code snippets for https://www.geteppo.com/feature-flagging.
3+
4+
## JavaScript
5+
```javascript
6+
import * as EppoSdk from "@eppo/js-client-sdk";
7+
8+
const variation = EppoSdk.getInstance().getStringAssignment(
9+
"my-feature-flag",
10+
user.id,
11+
{ country: user.country },
12+
"flag-default-value"
13+
);
14+
```
15+
16+
## Node.js
17+
```typescript
18+
import * as EppoSdk from "@eppo/node-server-sdk";
19+
20+
const variation = EppoSdk.getInstance().getStringAssignment(
21+
"my-feature-flag",
22+
user.id,
23+
{ country: user.country },
24+
"flag-default-value"
25+
);
26+
```
27+
28+
## Python
29+
```python
30+
import eppo_client
31+
32+
variation = eppo_client.get_instance().get_string_assignment(
33+
'my-feature-flag',
34+
user.id,
35+
{ 'country': user.country },
36+
'flag-default-value'
37+
)
38+
```
39+
40+
## .NET
41+
```csharp
42+
using Eppo.Sdk;
43+
44+
var variation = EppoClient.GetInstance().GetStringAssignment(
45+
"my-feature-flag",
46+
user.Id,
47+
new Dictionary<string, string> { { "country", user.Country } },
48+
"flag-default-value"
49+
);
50+
```
51+
52+
## Go
53+
```go
54+
import "github.com/Eppo-exp/golang-sdk/v6/eppoclient"
55+
56+
var eppoClient = &eppoclient.EppoClient{}
57+
58+
variation, err := eppoClient.GetStringAssignment(
59+
"my-feature-flag",
60+
user.Id,
61+
map[string]string{"country": user.Country},
62+
"flag-default-value"
63+
)
64+
```
65+
66+
## PHP
67+
```php
68+
use Eppo\Client\EppoClient;
69+
70+
$variation = EppoClient::getInstance()->getStringAssignment(
71+
'my-feature-flag',
72+
$user->id,
73+
['country' => $user->country],
74+
'flag-default-value'
75+
);
76+
```
77+
78+
## Rust
79+
```rust
80+
use eppo::ClientConfig;
81+
82+
let mut client = ClientConfig::from_api_key("api-key").to_client();
83+
84+
let variation = client.get_string_assignment(
85+
"my-feature-flag",
86+
&user.id,
87+
&[("country", &user.country)].into_iter().collect(),
88+
"flag-default-value",
89+
)
90+
.unwrap_or("flag-default-value".to_string());
91+
```
92+
93+
## Ruby
94+
```ruby
95+
require 'eppo_client'
96+
97+
variation = EppoClient::Client.instance.get_string_assignment(
98+
'my-feature-flag',
99+
user.id,
100+
{ 'country' => user.country },
101+
'flag-default-value'
102+
)
103+
```
104+
105+
## React Native
106+
```javascript
107+
import * as EppoSdk from "@eppo/react-native-sdk";
108+
109+
const variation = EppoSDK.getInstance().getStringAssignment(
110+
'my-feature-flag',
111+
user.id,
112+
{ country: user.country },
113+
'flag-default-value'
114+
);
115+
```
116+
117+
## iOS (Swift)
118+
```swift
119+
import EppoSDK
120+
121+
let variation = EppoClient.shared().getStringAssignment(
122+
experimentKey: "my-feature-flag",
123+
subjectId: user.id,
124+
subjectAttributes: ["country": user.country],
125+
defaultValue: "flag-default-value"
126+
)
127+
```
128+
129+
## JVM (Java)
130+
```java
131+
import com.eppo.sdk.EppoClient;
132+
import cloud.eppo.api.EppoValue;
133+
134+
String variation = EppoClient.getInstance().getStringAssignment(
135+
"my-feature-flag",
136+
user.getId(),
137+
Map.of("country", EppoValue.valueOf(user.getCountry())),
138+
"flag-default-value"
139+
);
140+
```
141+
142+
## Android (Kotlin)
143+
```kotlin
144+
import cloud.eppo.android.EppoClient
145+
import cloud.eppo.api.Attributes;
146+
import cloud.eppo.api.EppoValue;
147+
148+
val variation = EppoClient.getInstance().getStringAssignment(
149+
experimentKey = "my-feature-flag",
150+
subjectId = user.id,
151+
subjectAttributes = Attributes(mapOf("country" to EppoValue.valueOf(user.country))),
152+
defaultValue = "flag-default-value"
153+
)
154+
```

0 commit comments

Comments
 (0)