@omniretail/omniflags-core 1.0.6 → 1.0.7

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/evaluator.js CHANGED
@@ -35,7 +35,7 @@ export function evaluate(flag, _flagKey, expectedType, callerDefault, context, e
35
35
  // 6c. All clauses matched
36
36
  // rollout takes precedence over serve
37
37
  if (rule.rollout && rule.rollout.length > 0) {
38
- return resolveRuleRollout(flag, rule, context, envKey);
38
+ return resolveRuleRollout(flag, rule, context, envKey, callerDefault);
39
39
  }
40
40
  if (rule.serve && rule.serve in flag.variations) {
41
41
  return {
@@ -129,11 +129,11 @@ function resolveTargetingKey(context) {
129
129
  context.omnipayId;
130
130
  return id != null ? String(id) : null;
131
131
  }
132
- function resolveRuleRollout(flag, rule, context, envKey) {
132
+ function resolveRuleRollout(flag, rule, context, envKey, callerDefault) {
133
133
  const targetingKey = resolveTargetingKey(context);
134
134
  if (!targetingKey) {
135
135
  return {
136
- value: parseJsonSafe(flag.defaultValue, null),
136
+ value: parseJsonSafe(flag.defaultValue, callerDefault),
137
137
  variant: null,
138
138
  reason: "ERROR",
139
139
  ruleId: rule.ruleId,
@@ -144,7 +144,7 @@ function resolveRuleRollout(flag, rule, context, envKey) {
144
144
  const bucket = computeBucket(flag.key, envKey, targetingKey, flag.salt ?? "v1");
145
145
  const variant = resolveRolloutVariant(bucket, rule.rollout);
146
146
  return {
147
- value: parseJsonSafe(flag.variations[variant], null),
147
+ value: parseJsonSafe(flag.variations[variant], callerDefault),
148
148
  variant,
149
149
  reason: "SPLIT",
150
150
  ruleId: rule.ruleId,
@@ -165,6 +165,10 @@ function resolveRuleRollout(flag, rule, context, envKey) {
165
165
  }
166
166
  }
167
167
  function resolveFlagRollout(flag, context, envKey, callerDefault) {
168
+ // 100% rollout — no bucketing needed, everyone gets the on-value
169
+ if ((flag.rolloutPercentage ?? 0) >= 100) {
170
+ return rolloutOnResult(flag, callerDefault);
171
+ }
168
172
  const targetingKey = resolveTargetingKey(context);
169
173
  if (!targetingKey) {
170
174
  return errorResult(callerDefault, "MISSING_TARGETING_KEY");
@@ -173,17 +177,7 @@ function resolveFlagRollout(flag, context, envKey, callerDefault) {
173
177
  const bucket = computeBucket(flag.key, envKey, targetingKey, flag.salt ?? "v1");
174
178
  const threshold = flag.rolloutPercentage * 1000;
175
179
  if (bucket <= threshold) {
176
- // Return first non-default variant
177
- const variant = findFirstNonDefaultVariant(flag);
178
- if (variant) {
179
- return {
180
- value: parseJsonSafe(flag.variations[variant], callerDefault),
181
- variant,
182
- reason: "ROLLOUT",
183
- ruleId: null,
184
- errorCode: null,
185
- };
186
- }
180
+ return rolloutOnResult(flag, callerDefault);
187
181
  }
188
182
  }
189
183
  catch (e) {
@@ -201,6 +195,23 @@ function resolveFlagRollout(flag, context, envKey, callerDefault) {
201
195
  errorCode: null,
202
196
  };
203
197
  }
198
+ function rolloutOnResult(flag, callerDefault) {
199
+ const variant = findFirstNonDefaultVariant(flag);
200
+ if (variant) {
201
+ return {
202
+ value: parseJsonSafe(flag.variations[variant], callerDefault),
203
+ variant,
204
+ reason: "ROLLOUT",
205
+ ruleId: null,
206
+ errorCode: null,
207
+ };
208
+ }
209
+ // No explicit variants — infer the "on" value from the flag type
210
+ const onValue = flag.type === "boolean"
211
+ ? parseJsonSafe(flag.defaultValue, false) === false ? true : false
212
+ : callerDefault;
213
+ return { value: onValue, variant: null, reason: "ROLLOUT", ruleId: null, errorCode: null };
214
+ }
204
215
  // ── Schedule ─────────────────────────────────────────────────────────────
205
216
  function isScheduleActive(rule) {
206
217
  if (!rule.schedule)
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare class HttpProvider implements FlagProvider {
6
6
  private _handlers;
7
7
  private currentCdnIndex;
8
8
  get status(): ProviderStatus;
9
- initialize(sdkKey: string): Promise<FlagSnapshot>;
9
+ initialize(sdkKey: string): Promise<FlagSnapshot | null>;
10
10
  refresh(sdkKey: string): Promise<FlagSnapshot | null>;
11
11
  shutdown(): Promise<void>;
12
12
  onEvent(handler: (event: ProviderEvent, detail?: unknown) => void): void;
package/dist/types.d.ts CHANGED
@@ -106,8 +106,8 @@ export interface CacheAdapter {
106
106
  export type ProviderStatus = "not_ready" | "ready" | "error" | "stale";
107
107
  export interface FlagProvider {
108
108
  readonly status: ProviderStatus;
109
- /** Initialize and return the first snapshot. sdkKey is the only credential needed. */
110
- initialize(sdkKey: string): Promise<FlagSnapshot>;
109
+ /** Initialize and return the first snapshot. sdkKey is the only credential needed. Returns null on 304 (no change). */
110
+ initialize(sdkKey: string): Promise<FlagSnapshot | null>;
111
111
  refresh?(sdkKey: string): Promise<FlagSnapshot | null>;
112
112
  shutdown?(): Promise<void>;
113
113
  onEvent?(handler: (event: ProviderEvent, detail?: unknown) => void): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omniretail/omniflags-core",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "OmniFlags feature flag SDK — core evaluator, cache, and transport",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",