@effect-aws/secrets-manager 1.1.2 → 1.2.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/README.md CHANGED
@@ -20,38 +20,41 @@ npm install --save @effect-aws/secrets-manager @effect-aws/client-secrets-manage
20
20
  With default service layer:
21
21
 
22
22
  ```typescript
23
- import { Effect, Config, Console } from "effect";
24
- import { fromSecretsManager } from "@effect-aws/secrets-manager";
23
+ import { SecretsManager } from "@effect-aws/client-secrets-manager"
24
+ import { ConfigProvider } from "@effect-aws/secrets-manager"
25
+ import { Effect, Config, Console } from "effect"
25
26
 
26
27
  const program = Effect.gen(function* () {
27
- const secret: string = yield* Config.string("my_secret_name");
28
+ const secret: string = yield* Config.string("my_secret_name")
28
29
 
29
- yield* Console.log("Secret from Secrets Manager: ", secret);
30
- });
30
+ yield* Console.log("Secret from Secrets Manager: ", secret)
31
+ })
31
32
 
32
33
  program.pipe(
33
- Effect.provide(Layer.setConfigProvider(fromSecretsManager())),
34
- Effect.runPromise,
35
- );
34
+ ConfigProvider.withSecretsManagerConfigProvider(),
35
+ Effect.provide(SecretsManager.defaultLayer),
36
+ Effect.runPromise
37
+ )
36
38
  ```
37
39
 
38
40
  With custom service layer:
39
41
 
40
42
  ```typescript
41
- import { SecretsManager } from "@effect-aws/client-secrets-manager";
42
- import { fromSecretsManager } from "@effect-aws/secrets-manager";
43
- import { Config, Console, Effect, Layer } from "effect";
43
+ import { SecretsManager } from "@effect-aws/client-secrets-manager"
44
+ import { ConfigProvider } from "@effect-aws/secrets-manager"
45
+ import { Config, Console, Effect, Layer } from "effect"
44
46
 
45
47
  const program = Effect.gen(function* () {
46
- const secret: string = yield* Config.string("my_secret_name");
48
+ const secret: string = yield* Config.string("my_secret_name")
47
49
 
48
- yield* Console.log("Secret from Secrets Manager: ", secret);
49
- });
50
+ yield* Console.log("Secret from Secrets Manager: ", secret)
51
+ })
50
52
 
51
- const serviceLayer = SecretsManager.layer({ region: "eu-central-1" });
53
+ const serviceLayer = SecretsManager.layer({ region: "eu-central-1" })
52
54
 
53
55
  program.pipe(
54
- Effect.provide(Layer.setConfigProvider(fromSecretsManager({ serviceLayer }))),
56
+ Effect.provide(ConfigProvider.setSecretsManagerConfigProvider()),
57
+ Effect.provide(serviceLayer),
55
58
  Effect.runPromise
56
- );
59
+ )
57
60
  ```
@@ -2,16 +2,37 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import { SecretsManagerService } from "@effect-aws/client-secrets-manager";
5
- import type { Layer } from "effect";
6
- import { ConfigProvider } from "effect";
5
+ import { ConfigProvider, Effect, Layer } from "effect";
6
+ /**
7
+ * @since 1.2.0
8
+ * @category models
9
+ */
10
+ export interface FromSecretsManagerConfig {
11
+ readonly pathDelim: string;
12
+ }
7
13
  /**
8
14
  * A config provider that loads configuration from AWS Secrets Manager.
9
15
  *
10
16
  * @since 1.0.0
11
17
  * @category constructors
18
+ *
19
+ * @deprecated Use `ConfigProvider.withSecretsManagerConfigProvider` or `ConfigProvider.setSecretsManagerConfigProvider` instead.
12
20
  */
13
- export declare const fromSecretsManager: (config?: {
14
- pathDelim?: string;
15
- serviceLayer?: Layer.Layer<SecretsManagerService, never, never>;
21
+ export declare const fromSecretsManager: (config?: Partial<FromSecretsManagerConfig> & {
22
+ serviceLayer?: Layer.Layer<SecretsManagerService>;
16
23
  }) => ConfigProvider.ConfigProvider;
24
+ /**
25
+ * Sets the current `ConfigProvider` that loads configuration from AWS Secrets Manager.
26
+ *
27
+ * @since 1.2.0
28
+ * @category config
29
+ */
30
+ export declare const setSecretsManagerConfigProvider: (config?: Partial<FromSecretsManagerConfig>) => Layer.Layer<never, never, SecretsManagerService>;
31
+ /**
32
+ * Executes the specified workflow with the secrets manager configuration provider.
33
+ *
34
+ * @since 1.2.0
35
+ * @category config
36
+ */
37
+ export declare const withSecretsManagerConfigProvider: (config?: Partial<FromSecretsManagerConfig>) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, SecretsManagerService | Exclude<R, never>>;
17
38
  //# sourceMappingURL=ConfigProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigProvider.d.ts","sourceRoot":"","sources":["../../src/ConfigProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAIL,cAAc,EAMf,MAAM,QAAQ,CAAC;AAEhB;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YAAa;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,qBAAqB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;CACjE,KAAG,eAAe,cAyGlB,CAAC"}
1
+ {"version":3,"file":"ConfigProvider.d.ts","sourceRoot":"","sources":["../../src/ConfigProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,EAIL,cAAc,EAEd,MAAM,EAEN,KAAK,EAGN,MAAM,QAAQ,CAAC;AAEhB;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,YACpB,QAAQ,wBAAwB,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;CAAE,KACjG,eAAe,cAyGjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,YAAa,QAAQ,wBAAwB,CAAC,qDAU7D,CAAC;AAE9B;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,YAAa,QAAQ,wBAAwB,CAAC,8GAClC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fromSecretsManager = void 0;
3
+ exports.withSecretsManagerConfigProvider = exports.setSecretsManagerConfigProvider = exports.fromSecretsManager = void 0;
4
4
  /**
5
5
  * @since 1.0.0
6
6
  */
@@ -11,6 +11,8 @@ const effect_1 = require("effect");
11
11
  *
12
12
  * @since 1.0.0
13
13
  * @category constructors
14
+ *
15
+ * @deprecated Use `ConfigProvider.withSecretsManagerConfigProvider` or `ConfigProvider.setSecretsManagerConfigProvider` instead.
14
16
  */
15
17
  const fromSecretsManager = (config) => {
16
18
  const { pathDelim, serviceLayer } = Object.assign({}, { pathDelim: "_", serviceLayer: client_secrets_manager_1.SecretsManagerService.defaultLayer }, config);
@@ -49,4 +51,27 @@ const fromSecretsManager = (config) => {
49
51
  }));
50
52
  };
51
53
  exports.fromSecretsManager = fromSecretsManager;
54
+ /**
55
+ * Sets the current `ConfigProvider` that loads configuration from AWS Secrets Manager.
56
+ *
57
+ * @since 1.2.0
58
+ * @category config
59
+ */
60
+ const setSecretsManagerConfigProvider = (config) => effect_1.Effect.gen(function* () {
61
+ const service = yield* client_secrets_manager_1.SecretsManagerService;
62
+ const provider = (0, exports.fromSecretsManager)({
63
+ ...config,
64
+ serviceLayer: effect_1.Layer.succeed(client_secrets_manager_1.SecretsManagerService, service),
65
+ });
66
+ return effect_1.Layer.setConfigProvider(provider);
67
+ }).pipe(effect_1.Layer.unwrapEffect);
68
+ exports.setSecretsManagerConfigProvider = setSecretsManagerConfigProvider;
69
+ /**
70
+ * Executes the specified workflow with the secrets manager configuration provider.
71
+ *
72
+ * @since 1.2.0
73
+ * @category config
74
+ */
75
+ const withSecretsManagerConfigProvider = (config) => effect_1.Effect.provide((0, exports.setSecretsManagerConfigProvider)(config));
76
+ exports.withSecretsManagerConfigProvider = withSecretsManagerConfigProvider;
52
77
  //# sourceMappingURL=ConfigProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["../../src/ConfigProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["../../src/ConfigProvider.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,14 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- export * from "./ConfigProvider.js";
4
+ import { fromSecretsManager } from "./ConfigProvider.js";
5
+ export {
6
+ /**
7
+ * @since 1.0.0
8
+ */
9
+ fromSecretsManager, };
10
+ /**
11
+ * @since 1.2.0
12
+ */
13
+ export * as ConfigProvider from "./ConfigProvider.js";
5
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO;AACL;;GAEG;AACH,kBAAkB,GACnB,CAAC;AAEF;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -10,12 +10,27 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
12
  }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
15
24
  };
16
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ConfigProvider = exports.fromSecretsManager = void 0;
17
27
  /**
18
28
  * @since 1.0.0
19
29
  */
20
- __exportStar(require("./ConfigProvider.js"), exports);
30
+ const ConfigProvider_js_1 = require("./ConfigProvider.js");
31
+ Object.defineProperty(exports, "fromSecretsManager", { enumerable: true, get: function () { return ConfigProvider_js_1.fromSecretsManager; } });
32
+ /**
33
+ * @since 1.2.0
34
+ */
35
+ exports.ConfigProvider = __importStar(require("./ConfigProvider.js"));
21
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,2DAAyD;AAMvD,mGANO,sCAAkB,OAMP;AAGpB;;GAEG;AACH,sEAAsD"}
@@ -2,16 +2,37 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import { SecretsManagerService } from "@effect-aws/client-secrets-manager";
5
- import type { Layer } from "effect";
6
- import { ConfigProvider } from "effect";
5
+ import { ConfigProvider, Effect, Layer } from "effect";
6
+ /**
7
+ * @since 1.2.0
8
+ * @category models
9
+ */
10
+ export interface FromSecretsManagerConfig {
11
+ readonly pathDelim: string;
12
+ }
7
13
  /**
8
14
  * A config provider that loads configuration from AWS Secrets Manager.
9
15
  *
10
16
  * @since 1.0.0
11
17
  * @category constructors
18
+ *
19
+ * @deprecated Use `ConfigProvider.withSecretsManagerConfigProvider` or `ConfigProvider.setSecretsManagerConfigProvider` instead.
12
20
  */
13
- export declare const fromSecretsManager: (config?: {
14
- pathDelim?: string;
15
- serviceLayer?: Layer.Layer<SecretsManagerService, never, never>;
21
+ export declare const fromSecretsManager: (config?: Partial<FromSecretsManagerConfig> & {
22
+ serviceLayer?: Layer.Layer<SecretsManagerService>;
16
23
  }) => ConfigProvider.ConfigProvider;
24
+ /**
25
+ * Sets the current `ConfigProvider` that loads configuration from AWS Secrets Manager.
26
+ *
27
+ * @since 1.2.0
28
+ * @category config
29
+ */
30
+ export declare const setSecretsManagerConfigProvider: (config?: Partial<FromSecretsManagerConfig>) => Layer.Layer<never, never, SecretsManagerService>;
31
+ /**
32
+ * Executes the specified workflow with the secrets manager configuration provider.
33
+ *
34
+ * @since 1.2.0
35
+ * @category config
36
+ */
37
+ export declare const withSecretsManagerConfigProvider: (config?: Partial<FromSecretsManagerConfig>) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, SecretsManagerService | Exclude<R, never>>;
17
38
  //# sourceMappingURL=ConfigProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigProvider.d.ts","sourceRoot":"","sources":["../../src/ConfigProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAIL,cAAc,EAMf,MAAM,QAAQ,CAAC;AAEhB;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YAAa;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,qBAAqB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;CACjE,KAAG,eAAe,cAyGlB,CAAC"}
1
+ {"version":3,"file":"ConfigProvider.d.ts","sourceRoot":"","sources":["../../src/ConfigProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,EAIL,cAAc,EAEd,MAAM,EAEN,KAAK,EAGN,MAAM,QAAQ,CAAC;AAEhB;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,YACpB,QAAQ,wBAAwB,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAA;CAAE,KACjG,eAAe,cAyGjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,YAAa,QAAQ,wBAAwB,CAAC,qDAU7D,CAAC;AAE9B;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,YAAa,QAAQ,wBAAwB,CAAC,8GAClC,CAAC"}
@@ -1,5 +1,14 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- export * from "./ConfigProvider.js";
4
+ import { fromSecretsManager } from "./ConfigProvider.js";
5
+ export {
6
+ /**
7
+ * @since 1.0.0
8
+ */
9
+ fromSecretsManager, };
10
+ /**
11
+ * @since 1.2.0
12
+ */
13
+ export * as ConfigProvider from "./ConfigProvider.js";
5
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO;AACL;;GAEG;AACH,kBAAkB,GACnB,CAAC;AAEF;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC"}
@@ -2,12 +2,14 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import { SecretsManagerService } from "@effect-aws/client-secrets-manager";
5
- import { Array, Cause, ConfigError, ConfigProvider, ConfigProviderPathPatch, Effect, HashSet, Option, pipe, } from "effect";
5
+ import { Array, Cause, ConfigError, ConfigProvider, ConfigProviderPathPatch, Effect, HashSet, Layer, Option, pipe, } from "effect";
6
6
  /**
7
7
  * A config provider that loads configuration from AWS Secrets Manager.
8
8
  *
9
9
  * @since 1.0.0
10
10
  * @category constructors
11
+ *
12
+ * @deprecated Use `ConfigProvider.withSecretsManagerConfigProvider` or `ConfigProvider.setSecretsManagerConfigProvider` instead.
11
13
  */
12
14
  export const fromSecretsManager = (config) => {
13
15
  const { pathDelim, serviceLayer } = Object.assign({}, { pathDelim: "_", serviceLayer: SecretsManagerService.defaultLayer }, config);
@@ -45,4 +47,25 @@ export const fromSecretsManager = (config) => {
45
47
  patch: ConfigProviderPathPatch.empty,
46
48
  }));
47
49
  };
50
+ /**
51
+ * Sets the current `ConfigProvider` that loads configuration from AWS Secrets Manager.
52
+ *
53
+ * @since 1.2.0
54
+ * @category config
55
+ */
56
+ export const setSecretsManagerConfigProvider = (config) => Effect.gen(function* () {
57
+ const service = yield* SecretsManagerService;
58
+ const provider = fromSecretsManager({
59
+ ...config,
60
+ serviceLayer: Layer.succeed(SecretsManagerService, service),
61
+ });
62
+ return Layer.setConfigProvider(provider);
63
+ }).pipe(Layer.unwrapEffect);
64
+ /**
65
+ * Executes the specified workflow with the secrets manager configuration provider.
66
+ *
67
+ * @since 1.2.0
68
+ * @category config
69
+ */
70
+ export const withSecretsManagerConfigProvider = (config) => Effect.provide(setSecretsManagerConfigProvider(config));
48
71
  //# sourceMappingURL=ConfigProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["../../src/ConfigProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["../../src/ConfigProvider.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -1,5 +1,14 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- export * from "./ConfigProvider.js";
4
+ import { fromSecretsManager } from "./ConfigProvider.js";
5
+ export {
6
+ /**
7
+ * @since 1.0.0
8
+ */
9
+ fromSecretsManager, };
10
+ /**
11
+ * @since 1.2.0
12
+ */
13
+ export * as ConfigProvider from "./ConfigProvider.js";
5
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO;AACL;;GAEG;AACH,kBAAkB,GACnB,CAAC;AAEF;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-aws/secrets-manager",
3
- "version": "1.1.2",
3
+ "version": "1.2.0",
4
4
  "description": "Effectful AWS Secrets Manager functions",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -2,7 +2,7 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import { SecretsManagerService } from "@effect-aws/client-secrets-manager";
5
- import type { Config, Layer } from "effect";
5
+ import type { Config } from "effect";
6
6
  import {
7
7
  Array,
8
8
  Cause,
@@ -11,20 +11,30 @@ import {
11
11
  ConfigProviderPathPatch,
12
12
  Effect,
13
13
  HashSet,
14
+ Layer,
14
15
  Option,
15
16
  pipe,
16
17
  } from "effect";
17
18
 
19
+ /**
20
+ * @since 1.2.0
21
+ * @category models
22
+ */
23
+ export interface FromSecretsManagerConfig {
24
+ readonly pathDelim: string;
25
+ }
26
+
18
27
  /**
19
28
  * A config provider that loads configuration from AWS Secrets Manager.
20
29
  *
21
30
  * @since 1.0.0
22
31
  * @category constructors
32
+ *
33
+ * @deprecated Use `ConfigProvider.withSecretsManagerConfigProvider` or `ConfigProvider.setSecretsManagerConfigProvider` instead.
23
34
  */
24
- export const fromSecretsManager = (config?: {
25
- pathDelim?: string;
26
- serviceLayer?: Layer.Layer<SecretsManagerService, never, never>;
27
- }): ConfigProvider.ConfigProvider => {
35
+ export const fromSecretsManager = (
36
+ config?: Partial<FromSecretsManagerConfig> & { serviceLayer?: Layer.Layer<SecretsManagerService> },
37
+ ): ConfigProvider.ConfigProvider => {
28
38
  const { pathDelim, serviceLayer } = Object.assign(
29
39
  {},
30
40
  { pathDelim: "_", serviceLayer: SecretsManagerService.defaultLayer },
@@ -130,3 +140,30 @@ export const fromSecretsManager = (config?: {
130
140
  }),
131
141
  );
132
142
  };
143
+
144
+ /**
145
+ * Sets the current `ConfigProvider` that loads configuration from AWS Secrets Manager.
146
+ *
147
+ * @since 1.2.0
148
+ * @category config
149
+ */
150
+ export const setSecretsManagerConfigProvider = (config?: Partial<FromSecretsManagerConfig>) =>
151
+ Effect.gen(function*() {
152
+ const service = yield* SecretsManagerService;
153
+
154
+ const provider = fromSecretsManager({
155
+ ...config,
156
+ serviceLayer: Layer.succeed(SecretsManagerService, service),
157
+ });
158
+
159
+ return Layer.setConfigProvider(provider);
160
+ }).pipe(Layer.unwrapEffect);
161
+
162
+ /**
163
+ * Executes the specified workflow with the secrets manager configuration provider.
164
+ *
165
+ * @since 1.2.0
166
+ * @category config
167
+ */
168
+ export const withSecretsManagerConfigProvider = (config?: Partial<FromSecretsManagerConfig>) =>
169
+ Effect.provide(setSecretsManagerConfigProvider(config));
package/src/index.ts CHANGED
@@ -1,4 +1,16 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- export * from "./ConfigProvider.js";
4
+ import { fromSecretsManager } from "./ConfigProvider.js";
5
+
6
+ export {
7
+ /**
8
+ * @since 1.0.0
9
+ */
10
+ fromSecretsManager,
11
+ };
12
+
13
+ /**
14
+ * @since 1.2.0
15
+ */
16
+ export * as ConfigProvider from "./ConfigProvider.js";