@ogcio/building-blocks-sdk 0.0.13 → 0.0.14

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.
@@ -1,15 +1,13 @@
1
1
  import type createClient from "openapi-fetch";
2
- import { type Context } from "unleash-client";
3
2
  import type { BaseApiClientParams } from "../../../types/index.js";
4
3
  import BaseClient from "../../base-client.js";
5
4
  import type { components, paths } from "./schema.js";
6
5
  declare class FeatureFlags extends BaseClient<paths> {
7
6
  client: ReturnType<typeof createClient<paths>>;
8
7
  protected serviceName: "featureFlags";
9
- private unleashClient;
10
- isConnected: boolean;
8
+ private unleashConnectionOptions;
11
9
  constructor({ baseUrl, getTokenFn }: BaseApiClientParams);
12
- isFlagEnabled(name: string, context?: Context): Promise<boolean>;
10
+ isFlagEnabled(name: string, context?: any): Promise<boolean>;
13
11
  getFeatureFlags(projectId?: string): Promise<{
14
12
  data: components["schemas"]["projectFeatureSchema"][];
15
13
  metadata: any;
@@ -27,8 +25,6 @@ declare class FeatureFlags extends BaseClient<paths> {
27
25
  message?: string;
28
26
  };
29
27
  }>;
30
- private waitForConnection;
31
28
  }
32
29
  export default FeatureFlags;
33
- export type { Context as FeatureFlagsEvaluationContext };
34
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,KAAK,OAAO,EAIb,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGrD,cAAM,YAAa,SAAQ,UAAU,CAAC,KAAK,CAAC;IAClC,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,SAAS,CAAC,WAAW,iBAAiB;IAEtC,OAAO,CAAC,aAAa,CAAwB;IACtC,WAAW,UAAS;gBAEf,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,mBAAmB;IAkBlD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAK7C,eAAe,CAAC,SAAS,SAAqB;cAclB,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,EAAE;;;;;;;;;;;;;;;;YASnE,iBAAiB;CAGhC;AAED,eAAe,YAAY,CAAC;AAC5B,YAAY,EAAE,OAAO,IAAI,6BAA6B,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAErD,cAAM,YAAa,SAAQ,UAAU,CAAC,KAAK,CAAC;IAClC,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,SAAS,CAAC,WAAW,iBAAiB;IAEtC,OAAO,CAAC,wBAAwB,CAG9B;gBAEU,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,mBAAmB;IAOlD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;IAwBzC,eAAe,CAAC,SAAS,SAAqB;cAclB,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,EAAE;;;;;;;;;;;;;;;;CAQlF;AAED,eAAe,YAAY,CAAC"}
@@ -1,32 +1,32 @@
1
- import { InMemStorageProvider, initialize, } from "unleash-client";
2
1
  import { FEATURE_FLAGS } from "../../../types/index.js";
3
2
  import BaseClient from "../../base-client.js";
4
3
  import { DEFAULT_PROJECT_ID } from "./const.js";
5
- import { waitForConnection } from "./utils.js";
6
4
  class FeatureFlags extends BaseClient {
7
5
  serviceName = FEATURE_FLAGS;
8
- unleashClient = null;
9
- isConnected = false;
6
+ unleashConnectionOptions;
10
7
  constructor({ baseUrl, getTokenFn }) {
11
8
  super({ baseUrl, getTokenFn });
12
9
  const token = getTokenFn ? getTokenFn(FEATURE_FLAGS) : "";
13
- this.unleashClient = initialize({
14
- appName: this.serviceName,
15
- url: `${baseUrl}/api`,
16
- refreshInterval: 1000,
17
- customHeaders: {
18
- Authorization: token,
19
- },
20
- storageProvider: new InMemStorageProvider(),
21
- });
22
- this.unleashClient.on("error", console.error);
23
- this.unleashClient.on("synchronized", () => {
24
- this.isConnected = true;
25
- });
10
+ this.unleashConnectionOptions = { url: baseUrl, token };
26
11
  }
12
+ // biome-ignore lint/suspicious/noExplicitAny: We cannot import the types from the unleash-client package
27
13
  async isFlagEnabled(name, context) {
28
- await this.waitForConnection();
29
- return this.unleashClient?.isEnabled(name, context, () => false) ?? false;
14
+ try {
15
+ const { InMemStorageProvider, startUnleash } = await import("unleash-client");
16
+ const client = await startUnleash({
17
+ appName: this.serviceName,
18
+ url: `${this.unleashConnectionOptions.url}/api`,
19
+ refreshInterval: 1000,
20
+ customHeaders: {
21
+ Authorization: this.unleashConnectionOptions.token,
22
+ },
23
+ storageProvider: new InMemStorageProvider(),
24
+ });
25
+ return client.isEnabled(name, context, () => false);
26
+ }
27
+ catch {
28
+ throw new Error("unleash-client is not installed or not configured correctly");
29
+ }
30
30
  }
31
31
  async getFeatureFlags(projectId = DEFAULT_PROJECT_ID) {
32
32
  return await this.client
@@ -47,9 +47,6 @@ class FeatureFlags extends BaseClient {
47
47
  };
48
48
  }, (reason) => this.formatError(reason));
49
49
  }
50
- async waitForConnection(everyMs = 10) {
51
- return waitForConnection(this, everyMs);
52
- }
53
50
  }
54
51
  export default FeatureFlags;
55
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,oBAAoB,EAEpB,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,YAAa,SAAQ,UAAiB;IAEhC,WAAW,GAAG,aAAa,CAAC;IAE9B,aAAa,GAAmB,IAAI,CAAC;IACtC,WAAW,GAAG,KAAK,CAAC;IAE3B,YAAY,EAAE,OAAO,EAAE,UAAU,EAAuB;QACtD,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAE,UAAU,CAAC,aAAa,CAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,GAAG,EAAE,GAAG,OAAO,MAAM;YACrB,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE;gBACb,aAAa,EAAE,KAAK;aACrB;YACD,eAAe,EAAE,IAAI,oBAAoB,EAAE;SAC5C,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;YACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,OAAiB;QACjD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAS,GAAG,kBAAkB;QAClD,OAAO,MAAM,IAAI,CAAC,MAAM;aACrB,GAAG,CAAC,0CAA0C,EAAE;YAC/C,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,SAAS;iBACV;aACF;SACF,CAAC;aACD,IAAI,CACH,CAAC,QAAQ,EAAE,EAAE;YACX,iCAAiC;YACjC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAChE,OAAO;gBACL,IAAI,EAAE,IAAI,EAAE,QAA2D;gBACvE,QAAQ;gBACR,KAAK;aACN,CAAC;QACJ,CAAC,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CACrC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAO,GAAG,EAAE;QAC1C,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,YAAa,SAAQ,UAAiB;IAEhC,WAAW,GAAG,aAAa,CAAC;IAE9B,wBAAwB,CAG9B;IAEF,YAAY,EAAE,OAAO,EAAE,UAAU,EAAuB;QACtD,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAE,UAAU,CAAC,aAAa,CAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,wBAAwB,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC1D,CAAC;IAED,yGAAyG;IACzG,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,OAAa;QAC7C,IAAI,CAAC;YACH,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CACzD,gBAAgB,CACjB,CAAC;YAGF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,GAAG,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,MAAM;gBAC/C,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE;oBACb,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK;iBACnD;gBACD,eAAe,EAAE,IAAI,oBAAoB,EAAE;aAC5C,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,OAAyB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAS,GAAG,kBAAkB;QAClD,OAAO,MAAM,IAAI,CAAC,MAAM;aACrB,GAAG,CAAC,0CAA0C,EAAE;YAC/C,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,SAAS;iBACV;aACF;SACF,CAAC;aACD,IAAI,CACH,CAAC,QAAQ,EAAE,EAAE;YACX,iCAAiC;YACjC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAChE,OAAO;gBACL,IAAI,EAAE,IAAI,EAAE,QAA2D;gBACvE,QAAQ;gBACR,KAAK;aACN,CAAC;QACJ,CAAC,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CACrC,CAAC;IACN,CAAC;CACF;AAED,eAAe,YAAY,CAAC"}
@@ -20,9 +20,6 @@ t.test("FeatureFlags", async (t) => {
20
20
  t.beforeEach(async () => {
21
21
  featureFlags = new FeatureFlags({ baseUrl, getTokenFn });
22
22
  });
23
- t.test("should initialize unleash client with correct parameters", async (t) => {
24
- t.ok(featureFlags.isConnected);
25
- });
26
23
  t.test("should return false if flag is not enabled", async (t) => {
27
24
  isEnabled = false;
28
25
  const result = await featureFlags.isFlagEnabled("test-flag");
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,YAAY,MAAM,YAAY,CAAC;AAEtC,IAAI,SAAS,GAAG,IAAI,CAAC;AAErB,MAAM,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE;IACpC,UAAU,EAAE,EAAE,CAAC,IAAI,EAAE;IACrB,oBAAoB,EAAE,EAAE,CAAC,IAAI,EAAE;CAChC,CAAC,CAAC;AAEH,IAAI,aAAa,GAAG,EAAE,CAAC;AAEvB,MAAM,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CACxB,CAAC;IACC,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa;IAC/B,OAAO,EAAE,IAAI,OAAO,EAAE;CACvB,CAAa,CAAC;AAEjB,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjC,MAAM,OAAO,GAAG,iBAAiB,CAAC;IAClC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;IACtC,IAAI,YAA0B,CAAC;IAE/B,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;QACtB,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CACJ,0DAA0D,EAC1D,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC,CACF,CAAC;IAEF,CAAC,CAAC,IAAI,CAAC,4CAA4C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC/D,SAAS,GAAG,KAAK,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1D,SAAS,GAAG,IAAI,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CACJ,iEAAiE,EACjE,KAAK,IAAI,EAAE;QACT,aAAa,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAC;QACpD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACb,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,YAAY,MAAM,YAAY,CAAC;AAEtC,IAAI,SAAS,GAAG,IAAI,CAAC;AAErB,MAAM,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE;IACpC,UAAU,EAAE,EAAE,CAAC,IAAI,EAAE;IACrB,oBAAoB,EAAE,EAAE,CAAC,IAAI,EAAE;CAChC,CAAC,CAAC;AAEH,IAAI,aAAa,GAAG,EAAE,CAAC;AAEvB,MAAM,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CACxB,CAAC;IACC,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa;IAC/B,OAAO,EAAE,IAAI,OAAO,EAAE;CACvB,CAAa,CAAC;AAEjB,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjC,MAAM,OAAO,GAAG,iBAAiB,CAAC;IAClC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;IACtC,IAAI,YAA0B,CAAC;IAE/B,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;QACtB,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,4CAA4C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC/D,SAAS,GAAG,KAAK,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1D,SAAS,GAAG,IAAI,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CACJ,iEAAiE,EACjE,KAAK,IAAI,EAAE;QACT,aAAa,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAC;QACpD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACb,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ogcio/building-blocks-sdk",
3
- "version": "0.0.13",
3
+ "version": "0.0.14",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -1,4 +0,0 @@
1
- import type FeatureFlags from "./index.js";
2
- declare const waitForConnection: (featureFlags: FeatureFlags, everyMs?: number, timeoutMs?: number) => Promise<void>;
3
- export { waitForConnection };
4
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,YAAY,CAAC;AAE3C,QAAA,MAAM,iBAAiB,iBACP,YAAY,2CAGzB,OAAO,CAAC,IAAI,CAgCd,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,28 +0,0 @@
1
- import { FEATURE_FLAGS } from "../../../types/index.js";
2
- const waitForConnection = (featureFlags, everyMs = 10, timeoutMs = 5000) => {
3
- const fn = (interval, timeout, resolve, startTime) => {
4
- if (featureFlags.isConnected) {
5
- const elapsedTime = Date.now() - startTime;
6
- console.log(`[${FEATURE_FLAGS}] Connected in ${elapsedTime}ms`);
7
- clearInterval(interval);
8
- clearTimeout(timeout);
9
- resolve();
10
- }
11
- };
12
- return new Promise((resolve, reject) => {
13
- const startTime = Date.now();
14
- console.log(`[${FEATURE_FLAGS}] Connecting...`);
15
- const interval = setInterval(() => {
16
- fn(interval, timeout, resolve, startTime);
17
- }, everyMs);
18
- const timeout = setTimeout(() => {
19
- clearInterval(interval);
20
- const message = `[${FEATURE_FLAGS}] Connection timed out after ${timeoutMs}ms`;
21
- console.error(message);
22
- reject(new Error(message));
23
- }, timeoutMs);
24
- fn(interval, timeout, resolve, startTime);
25
- });
26
- };
27
- export { waitForConnection };
28
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,MAAM,iBAAiB,GAAG,CACxB,YAA0B,EAC1B,OAAO,GAAG,EAAE,EACZ,SAAS,GAAG,IAAI,EACD,EAAE;IACjB,MAAM,EAAE,GAAG,CACT,QAAwB,EACxB,OAAuB,EACvB,OAAmB,EACnB,SAAiB,EACjB,EAAE;QACF,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,aAAa,kBAAkB,WAAW,IAAI,CAAC,CAAC;YAChE,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,aAAa,iBAAiB,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,aAAa,gCAAgC,SAAS,IAAI,CAAC;YAC/E,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=utils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/utils.test.ts"],"names":[],"mappings":""}
@@ -1,37 +0,0 @@
1
- import t from "tap";
2
- import { FEATURE_FLAGS } from "../../../types/index.js";
3
- import { waitForConnection } from "./utils.js";
4
- t.test("waitForConnection", async (t) => {
5
- t.test("should resolve when featureFlags is connected", async (t) => {
6
- const mockFeatureFlags = {
7
- isConnected: false,
8
- };
9
- // Simulate connection after 50ms
10
- setTimeout(() => {
11
- mockFeatureFlags.isConnected = true;
12
- }, 50);
13
- const consoles = t.capture(console, "log");
14
- const startTime = Date.now();
15
- await waitForConnection(mockFeatureFlags, 10);
16
- const elapsedTime = Date.now() - startTime;
17
- t.ok(elapsedTime >= 50);
18
- t.match(consoles(), [
19
- { args: [`[${FEATURE_FLAGS}] Connecting...`] },
20
- { args: [/Connected in \d+ms/] },
21
- ]);
22
- t.end();
23
- });
24
- t.test("should throw an error if connection times out", async (t) => {
25
- const mockFeatureFlags = {
26
- isConnected: false,
27
- };
28
- const consoleLogSpy = t.capture(console, "log");
29
- const startTime = Date.now();
30
- await t.rejects(waitForConnection(mockFeatureFlags, 10, 30), `[${FEATURE_FLAGS}] Connection timed out after 30ms`);
31
- const elapsedTime = Date.now() - startTime;
32
- t.ok(elapsedTime >= 30);
33
- t.match(consoleLogSpy(), [{ args: [`[${FEATURE_FLAGS}] Connecting...`] }]);
34
- t.end();
35
- });
36
- });
37
- //# sourceMappingURL=utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACtC,CAAC,CAAC,IAAI,CAAC,+CAA+C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClE,MAAM,gBAAgB,GAAG;YACvB,WAAW,EAAE,KAAK;SACH,CAAC;QAElB,iCAAiC;QACjC,UAAU,CAAC,GAAG,EAAE;YACd,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;QACtC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAE3C,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE;YAClB,EAAE,IAAI,EAAE,CAAC,IAAI,aAAa,iBAAiB,CAAC,EAAE;YAC9C,EAAE,IAAI,EAAE,CAAC,oBAAoB,CAAC,EAAE;SACjC,CAAC,CAAC;QAEH,CAAC,CAAC,GAAG,EAAE,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,CAAC,CAAC,IAAI,CAAC,+CAA+C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClE,MAAM,gBAAgB,GAAG;YACvB,WAAW,EAAE,KAAK;SACH,CAAC;QAElB,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,CAAC,CAAC,OAAO,CACb,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,EAC3C,IAAI,aAAa,mCAAmC,CACrD,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAE3C,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,aAAa,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3E,CAAC,CAAC,GAAG,EAAE,CAAC;IACV,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}