@statsig/serverless-client 3.28.1 → 3.29.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@statsig/serverless-client",
3
- "version": "3.28.1",
3
+ "version": "3.29.0",
4
4
  "license": "ISC",
5
5
  "homepage": "https://github.com/statsig-io/js-client-monorepo",
6
6
  "repository": {
@@ -9,8 +9,8 @@
9
9
  "directory": "packages/serverless"
10
10
  },
11
11
  "dependencies": {
12
- "@statsig/client-core": "3.28.1",
13
- "@statsig/js-on-device-eval-client": "3.28.1"
12
+ "@statsig/client-core": "3.29.0",
13
+ "@statsig/js-on-device-eval-client": "3.29.0"
14
14
  },
15
15
  "type": "commonjs",
16
16
  "main": "./src/index.js",
package/src/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export type { StatsigUser, FeatureGateEvaluationOptions, } from '@statsig/client-core';
2
2
  export type { StatsigOptions } from '@statsig/js-on-device-eval-client';
3
+ export { StatsigServerlessClient } from './StatsigServerlessClient';
package/src/index.js CHANGED
@@ -1,2 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StatsigServerlessClient = void 0;
4
+ var StatsigServerlessClient_1 = require("./StatsigServerlessClient");
5
+ Object.defineProperty(exports, "StatsigServerlessClient", { enumerable: true, get: function () { return StatsigServerlessClient_1.StatsigServerlessClient; } });
@@ -22,7 +22,7 @@ class StatsigCloudflareClient extends StatsigServerlessClient_1.StatsigServerles
22
22
  duration: performance.now() - startTime,
23
23
  source: 'Bootstrap',
24
24
  success: false,
25
- error: new Error('Invalid KV binding provided'),
25
+ error: { message: 'Invalid KV binding provided' },
26
26
  sourceUrl: null,
27
27
  };
28
28
  }
@@ -32,7 +32,7 @@ class StatsigCloudflareClient extends StatsigServerlessClient_1.StatsigServerles
32
32
  duration: performance.now() - startTime,
33
33
  source: 'Bootstrap',
34
34
  success: false,
35
- error: new Error('Invalid KV key provided'),
35
+ error: { message: 'Invalid KV key provided' },
36
36
  sourceUrl: null,
37
37
  };
38
38
  }
@@ -50,7 +50,9 @@ class StatsigCloudflareClient extends StatsigServerlessClient_1.StatsigServerles
50
50
  duration: performance.now() - startTime,
51
51
  source: 'Bootstrap',
52
52
  success: false,
53
- error: new Error(`Failed to fetch specs from Cloudflare KV for key "${kvKey}"`),
53
+ error: {
54
+ message: `Failed to fetch specs from Cloudflare KV for key "${kvKey}"`,
55
+ },
54
56
  sourceUrl: null,
55
57
  };
56
58
  }
@@ -61,7 +63,9 @@ class StatsigCloudflareClient extends StatsigServerlessClient_1.StatsigServerles
61
63
  duration: performance.now() - startTime,
62
64
  source: 'Bootstrap',
63
65
  success: false,
64
- error: new Error(`Failed to fetch specs from Cloudflare KV for key: "${kvKey}"`),
66
+ error: {
67
+ message: `Failed to fetch specs from Cloudflare KV for key "${kvKey}"`,
68
+ },
65
69
  sourceUrl: null,
66
70
  };
67
71
  }
@@ -77,23 +81,15 @@ function handleWithStatsig(handler, params) {
77
81
  const envKvBindingName = params.envKvBindingName;
78
82
  const kvKey = params.kvKey;
79
83
  if (!env[envStatsigKey]) {
80
- return new Response(JSON.stringify({
81
- error: `Missing ${envStatsigKey} environment variable`,
82
- }), {
83
- headers: { 'Content-Type': 'application/json' },
84
- });
84
+ client_core_1.Log.error(`Missing valid envStatsigKey environment variable`);
85
85
  }
86
86
  if (!env[envKvBindingName]) {
87
- return new Response(JSON.stringify({ error: `Missing ${envKvBindingName} Binding` }), {
88
- headers: { 'Content-Type': 'application/json' },
89
- });
87
+ client_core_1.Log.error(`Missing valid envStatsigKey environment variable`);
90
88
  }
91
89
  const client = new StatsigCloudflareClient(env[envStatsigKey], params.statsigOptions);
92
90
  yield client.initializeFromKV(env[envKvBindingName], env[kvKey]);
93
91
  const response = yield handler(request, env, ctx, client);
94
- if (response.status >= 200 && response.status < 300) {
95
- ctx.waitUntil(client.flush());
96
- }
92
+ ctx.waitUntil(client.flush());
97
93
  return response;
98
94
  });
99
95
  },