@ogcio/building-blocks-sdk 0.0.11 → 0.0.13

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.
Files changed (41) hide show
  1. package/dist/client/auth/index.d.ts.map +1 -1
  2. package/dist/client/auth/index.js +3 -1
  3. package/dist/client/auth/index.js.map +1 -1
  4. package/dist/client/clients/featureFlags/const.d.ts +3 -0
  5. package/dist/client/clients/featureFlags/const.d.ts.map +1 -0
  6. package/dist/client/clients/featureFlags/const.js +3 -0
  7. package/dist/client/clients/featureFlags/const.js.map +1 -0
  8. package/dist/client/clients/featureFlags/index.d.ts +34 -0
  9. package/dist/client/clients/featureFlags/index.d.ts.map +1 -0
  10. package/dist/client/clients/featureFlags/index.js +55 -0
  11. package/dist/client/clients/featureFlags/index.js.map +1 -0
  12. package/dist/client/clients/featureFlags/index.test.d.ts +2 -0
  13. package/dist/client/clients/featureFlags/index.test.d.ts.map +1 -0
  14. package/dist/client/clients/featureFlags/index.test.js +47 -0
  15. package/dist/client/clients/featureFlags/index.test.js.map +1 -0
  16. package/dist/client/clients/featureFlags/schema.d.ts +33769 -0
  17. package/dist/client/clients/featureFlags/schema.d.ts.map +1 -0
  18. package/dist/client/clients/featureFlags/schema.js +2 -0
  19. package/dist/client/clients/featureFlags/schema.js.map +1 -0
  20. package/dist/client/clients/featureFlags/utils.d.ts +4 -0
  21. package/dist/client/clients/featureFlags/utils.d.ts.map +1 -0
  22. package/dist/client/clients/featureFlags/utils.js +28 -0
  23. package/dist/client/clients/featureFlags/utils.js.map +1 -0
  24. package/dist/client/clients/featureFlags/utils.test.d.ts +2 -0
  25. package/dist/client/clients/featureFlags/utils.test.d.ts.map +1 -0
  26. package/dist/client/clients/featureFlags/utils.test.js +37 -0
  27. package/dist/client/clients/featureFlags/utils.test.js.map +1 -0
  28. package/dist/clients-configurations/clients-configuration.json +8 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +5 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/types/index.d.ts +4 -1
  33. package/dist/types/index.d.ts.map +1 -1
  34. package/dist/types/index.js +1 -0
  35. package/dist/types/index.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/client/auth/index.ts +3 -1
  38. package/src/client/clients/featureFlags/index.test.ts +0 -7
  39. package/src/client/clients/featureFlags/index.ts +28 -30
  40. package/src/client/clients/featureFlags/utils.test.ts +0 -51
  41. package/src/client/clients/featureFlags/utils.ts +0 -42
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,gBAAgB,EAEhB,aAAa,EAEd,MAAM,sBAAsB,CAAC;AAmF9B,eAAO,MAAM,aAAa,mBACR,gBAAgB,KAC/B,aAqCF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/auth/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGV,gBAAgB,EAEhB,aAAa,EAEd,MAAM,sBAAsB,CAAC;AAmF9B,eAAO,MAAM,aAAa,mBACR,gBAAgB,KAC/B,aAqCF,CAAC"}
@@ -1,4 +1,6 @@
1
- import configFile from "../../clients-configurations/clients-configuration.json";
1
+ import configFile from "../../clients-configurations/clients-configuration.json" with {
2
+ type: "json"
3
+ };
2
4
  const fetchToken = async (params) => {
3
5
  const body = {
4
6
  ...params.specificBodyFields,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/auth/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/auth/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const DEFAULT_PROJECT_ID = "default";
2
+ export { DEFAULT_PROJECT_ID };
3
+ //# sourceMappingURL=const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/const.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,kBAAkB,YAAY,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ const DEFAULT_PROJECT_ID = "default";
2
+ export { DEFAULT_PROJECT_ID };
3
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/const.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type createClient from "openapi-fetch";
2
+ import { type Context } from "unleash-client";
3
+ import type { BaseApiClientParams } from "../../../types/index.js";
4
+ import BaseClient from "../../base-client.js";
5
+ import type { components, paths } from "./schema.js";
6
+ declare class FeatureFlags extends BaseClient<paths> {
7
+ client: ReturnType<typeof createClient<paths>>;
8
+ protected serviceName: "featureFlags";
9
+ private unleashClient;
10
+ isConnected: boolean;
11
+ constructor({ baseUrl, getTokenFn }: BaseApiClientParams);
12
+ isFlagEnabled(name: string, context?: Context): Promise<boolean>;
13
+ getFeatureFlags(projectId?: string): Promise<{
14
+ data: components["schemas"]["projectFeatureSchema"][];
15
+ metadata: any;
16
+ error: {
17
+ id?: string;
18
+ name?: string;
19
+ message?: string;
20
+ } | {
21
+ id?: string;
22
+ name?: string;
23
+ message?: string;
24
+ } | {
25
+ id?: string;
26
+ name?: string;
27
+ message?: string;
28
+ };
29
+ }>;
30
+ private waitForConnection;
31
+ }
32
+ export default FeatureFlags;
33
+ export type { Context as FeatureFlagsEvaluationContext };
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,55 @@
1
+ import { InMemStorageProvider, initialize, } from "unleash-client";
2
+ import { FEATURE_FLAGS } from "../../../types/index.js";
3
+ import BaseClient from "../../base-client.js";
4
+ import { DEFAULT_PROJECT_ID } from "./const.js";
5
+ import { waitForConnection } from "./utils.js";
6
+ class FeatureFlags extends BaseClient {
7
+ serviceName = FEATURE_FLAGS;
8
+ unleashClient = null;
9
+ isConnected = false;
10
+ constructor({ baseUrl, getTokenFn }) {
11
+ super({ baseUrl, getTokenFn });
12
+ 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
+ });
26
+ }
27
+ async isFlagEnabled(name, context) {
28
+ await this.waitForConnection();
29
+ return this.unleashClient?.isEnabled(name, context, () => false) ?? false;
30
+ }
31
+ async getFeatureFlags(projectId = DEFAULT_PROJECT_ID) {
32
+ return await this.client
33
+ .GET("/api/admin/projects/{projectId}/features", {
34
+ params: {
35
+ path: {
36
+ projectId,
37
+ },
38
+ },
39
+ })
40
+ .then((response) => {
41
+ // @ts-expect-error: TODO: fix me
42
+ const { data, metadata, error } = this.formatResponse(response);
43
+ return {
44
+ data: data?.features,
45
+ metadata,
46
+ error,
47
+ };
48
+ }, (reason) => this.formatError(reason));
49
+ }
50
+ async waitForConnection(everyMs = 10) {
51
+ return waitForConnection(this, everyMs);
52
+ }
53
+ }
54
+ export default FeatureFlags;
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/client/clients/featureFlags/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ import t from "tap";
2
+ import * as td from "testdouble";
3
+ import FeatureFlags from "./index.js";
4
+ let isEnabled = true;
5
+ await td.replaceEsm("unleash-client", {
6
+ initialize: td.func(),
7
+ InMemStorageProvider: td.func(),
8
+ });
9
+ let fetchResponse = {};
10
+ global.fetch = async () => ({
11
+ ok: true,
12
+ status: 200,
13
+ json: async () => fetchResponse,
14
+ headers: new Headers(),
15
+ });
16
+ t.test("FeatureFlags", async (t) => {
17
+ const baseUrl = "http://fakehost";
18
+ const getTokenFn = () => "test-token";
19
+ let featureFlags;
20
+ t.beforeEach(async () => {
21
+ featureFlags = new FeatureFlags({ baseUrl, getTokenFn });
22
+ });
23
+ t.test("should initialize unleash client with correct parameters", async (t) => {
24
+ t.ok(featureFlags.isConnected);
25
+ });
26
+ t.test("should return false if flag is not enabled", async (t) => {
27
+ isEnabled = false;
28
+ const result = await featureFlags.isFlagEnabled("test-flag");
29
+ t.equal(result, isEnabled);
30
+ });
31
+ t.test("should return true if flag is enabled", async (t) => {
32
+ isEnabled = true;
33
+ const result = await featureFlags.isFlagEnabled("test-flag");
34
+ t.equal(result, isEnabled);
35
+ });
36
+ t.test("should call GET method on client when getFeatureFlags is called", async () => {
37
+ fetchResponse = { data: { features: [] }, metadata: {} };
38
+ const result = await featureFlags.getFeatureFlags();
39
+ t.ok(result);
40
+ t.same(result, {
41
+ data: [],
42
+ metadata: {},
43
+ error: null,
44
+ });
45
+ });
46
+ });
47
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +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"}