@effect-aws/ssm 1.1.2 → 1.3.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/ssm @effect-aws/client-ssm
20
20
  With default service layer:
21
21
 
22
22
  ```typescript
23
- import { Effect, Config, Console } from "effect";
24
- import { fromParameterStore } from "@effect-aws/ssm";
23
+ import { SSM } from "@effect-aws/client-ssm"
24
+ import { ConfigProvider } from "@effect-aws/ssm"
25
+ import { Effect, Config, Console } from "effect"
25
26
 
26
27
  const program = Effect.gen(function* () {
27
- const param: string = yield* Config.string("my_parameter_name");
28
+ const param: string = yield* Config.string("my_parameter_name")
28
29
 
29
- yield* Console.log("Parameter from Parameter Store: ", param);
30
- });
30
+ yield* Console.log("Parameter from Parameter Store: ", param)
31
+ })
31
32
 
32
33
  program.pipe(
33
- Effect.provide(Layer.setConfigProvider(fromParameterStore())),
34
- Effect.runPromise,
35
- );
34
+ ConfigProvider.withParameterStoreConfigProvider(),
35
+ Effect.provide(SSM.defaultLayer),
36
+ Effect.runPromise
37
+ )
36
38
  ```
37
39
 
38
40
  With custom service layer:
39
41
 
40
42
  ```typescript
41
- import { SSM } from "@effect-aws/client-ssm";
42
- import { fromParameterStore } from "@effect-aws/ssm";
43
- import { Config, Console, Effect } from "effect";
43
+ import { SSM } from "@effect-aws/client-ssm"
44
+ import { ConfigProvider } from "@effect-aws/ssm"
45
+ import { Config, Console, Effect } from "effect"
44
46
 
45
47
  const program = Effect.gen(function* () {
46
- const param: string = yield* Config.string("my_parameter_name");
48
+ const param: string = yield* Config.string("my_parameter_name")
47
49
 
48
- yield* Console.log("Parameter from Parameter Store: ", param);
49
- });
50
+ yield* Console.log("Parameter from Parameter Store: ", param)
51
+ })
50
52
 
51
- const serviceLayer = SSM.layer({ region: "eu-central-1" });
53
+ const serviceLayer = SSM.layer({ region: "eu-central-1" })
52
54
 
53
55
  program.pipe(
54
- Effect.withConfigProvider(fromParameterStore({ serviceLayer })),
56
+ Effect.provide(ConfigProvider.setParameterStoreConfigProvider()),
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 { SSMService } from "@effect-aws/client-ssm";
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 FromParameterStoreConfig {
11
+ readonly pathDelim: string;
12
+ }
7
13
  /**
8
14
  * A config provider that loads configuration from AWS Systems Manager Parameter Store.
9
15
  *
10
16
  * @since 1.0.0
11
17
  * @category constructors
18
+ *
19
+ * @deprecated Use `ConfigProvider.withParameterStoreConfigProvider` or `ConfigProvider.setParameterStoreConfigProvider` instead.
12
20
  */
13
- export declare const fromParameterStore: (config?: {
14
- pathDelim?: string;
15
- serviceLayer?: Layer.Layer<SSMService, never, never>;
21
+ export declare const fromParameterStore: (config?: Partial<FromParameterStoreConfig> & {
22
+ serviceLayer?: Layer.Layer<SSMService>;
16
23
  }) => ConfigProvider.ConfigProvider;
24
+ /**
25
+ * Sets the current `ConfigProvider` that loads configuration from AWS Systems Manager Parameter Store.
26
+ *
27
+ * @since 1.2.0
28
+ * @category config
29
+ */
30
+ export declare const setParameterStoreConfigProvider: (config?: Partial<FromParameterStoreConfig>) => Layer.Layer<never, never, SSMService>;
31
+ /**
32
+ * Executes the specified workflow with the parameter store configuration provider.
33
+ *
34
+ * @since 1.2.0
35
+ * @category config
36
+ */
37
+ export declare const withParameterStoreConfigProvider: (config?: Partial<FromParameterStoreConfig>) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, SSMService | 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,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,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,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;CACtD,KAAG,eAAe,cA4GlB,CAAC"}
1
+ {"version":3,"file":"ConfigProvider.d.ts","sourceRoot":"","sources":["../../src/ConfigProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,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,UAAU,CAAC,CAAA;CAAE,KACtF,eAAe,cA4GjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,YAAa,QAAQ,wBAAwB,CAAC,0CAU7D,CAAC;AAE9B;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,YAAa,QAAQ,wBAAwB,CAAC,mGAClC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fromParameterStore = void 0;
3
+ exports.withParameterStoreConfigProvider = exports.setParameterStoreConfigProvider = exports.fromParameterStore = 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.withParameterStoreConfigProvider` or `ConfigProvider.setParameterStoreConfigProvider` instead.
14
16
  */
15
17
  const fromParameterStore = (config) => {
16
18
  const { pathDelim, serviceLayer } = Object.assign({}, { pathDelim: "_", serviceLayer: client_ssm_1.SSMService.defaultLayer }, config);
@@ -52,4 +54,27 @@ const fromParameterStore = (config) => {
52
54
  }));
53
55
  };
54
56
  exports.fromParameterStore = fromParameterStore;
57
+ /**
58
+ * Sets the current `ConfigProvider` that loads configuration from AWS Systems Manager Parameter Store.
59
+ *
60
+ * @since 1.2.0
61
+ * @category config
62
+ */
63
+ const setParameterStoreConfigProvider = (config) => effect_1.Effect.gen(function* () {
64
+ const service = yield* client_ssm_1.SSMService;
65
+ const provider = (0, exports.fromParameterStore)({
66
+ ...config,
67
+ serviceLayer: effect_1.Layer.succeed(client_ssm_1.SSMService, service),
68
+ });
69
+ return effect_1.Layer.setConfigProvider(provider);
70
+ }).pipe(effect_1.Layer.unwrapEffect);
71
+ exports.setParameterStoreConfigProvider = setParameterStoreConfigProvider;
72
+ /**
73
+ * Executes the specified workflow with the parameter store configuration provider.
74
+ *
75
+ * @since 1.2.0
76
+ * @category config
77
+ */
78
+ const withParameterStoreConfigProvider = (config) => effect_1.Effect.provide((0, exports.setParameterStoreConfigProvider)(config));
79
+ exports.withParameterStoreConfigProvider = withParameterStoreConfigProvider;
55
80
  //# 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 { fromParameterStore } from "./ConfigProvider.js";
5
+ export {
6
+ /**
7
+ * @since 1.0.0
8
+ */
9
+ fromParameterStore, };
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.fromParameterStore = 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, "fromParameterStore", { enumerable: true, get: function () { return ConfigProvider_js_1.fromParameterStore; } });
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 { SSMService } from "@effect-aws/client-ssm";
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 FromParameterStoreConfig {
11
+ readonly pathDelim: string;
12
+ }
7
13
  /**
8
14
  * A config provider that loads configuration from AWS Systems Manager Parameter Store.
9
15
  *
10
16
  * @since 1.0.0
11
17
  * @category constructors
18
+ *
19
+ * @deprecated Use `ConfigProvider.withParameterStoreConfigProvider` or `ConfigProvider.setParameterStoreConfigProvider` instead.
12
20
  */
13
- export declare const fromParameterStore: (config?: {
14
- pathDelim?: string;
15
- serviceLayer?: Layer.Layer<SSMService, never, never>;
21
+ export declare const fromParameterStore: (config?: Partial<FromParameterStoreConfig> & {
22
+ serviceLayer?: Layer.Layer<SSMService>;
16
23
  }) => ConfigProvider.ConfigProvider;
24
+ /**
25
+ * Sets the current `ConfigProvider` that loads configuration from AWS Systems Manager Parameter Store.
26
+ *
27
+ * @since 1.2.0
28
+ * @category config
29
+ */
30
+ export declare const setParameterStoreConfigProvider: (config?: Partial<FromParameterStoreConfig>) => Layer.Layer<never, never, SSMService>;
31
+ /**
32
+ * Executes the specified workflow with the parameter store configuration provider.
33
+ *
34
+ * @since 1.2.0
35
+ * @category config
36
+ */
37
+ export declare const withParameterStoreConfigProvider: (config?: Partial<FromParameterStoreConfig>) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, SSMService | 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,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,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,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;CACtD,KAAG,eAAe,cA4GlB,CAAC"}
1
+ {"version":3,"file":"ConfigProvider.d.ts","sourceRoot":"","sources":["../../src/ConfigProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,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,UAAU,CAAC,CAAA;CAAE,KACtF,eAAe,cA4GjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,YAAa,QAAQ,wBAAwB,CAAC,0CAU7D,CAAC;AAE9B;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,YAAa,QAAQ,wBAAwB,CAAC,mGAClC,CAAC"}
@@ -1,5 +1,14 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- export * from "./ConfigProvider.js";
4
+ import { fromParameterStore } from "./ConfigProvider.js";
5
+ export {
6
+ /**
7
+ * @since 1.0.0
8
+ */
9
+ fromParameterStore, };
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 { SSMService } from "@effect-aws/client-ssm";
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 Systems Manager Parameter Store.
8
8
  *
9
9
  * @since 1.0.0
10
10
  * @category constructors
11
+ *
12
+ * @deprecated Use `ConfigProvider.withParameterStoreConfigProvider` or `ConfigProvider.setParameterStoreConfigProvider` instead.
11
13
  */
12
14
  export const fromParameterStore = (config) => {
13
15
  const { pathDelim, serviceLayer } = Object.assign({}, { pathDelim: "_", serviceLayer: SSMService.defaultLayer }, config);
@@ -48,4 +50,25 @@ export const fromParameterStore = (config) => {
48
50
  patch: ConfigProviderPathPatch.empty,
49
51
  }));
50
52
  };
53
+ /**
54
+ * Sets the current `ConfigProvider` that loads configuration from AWS Systems Manager Parameter Store.
55
+ *
56
+ * @since 1.2.0
57
+ * @category config
58
+ */
59
+ export const setParameterStoreConfigProvider = (config) => Effect.gen(function* () {
60
+ const service = yield* SSMService;
61
+ const provider = fromParameterStore({
62
+ ...config,
63
+ serviceLayer: Layer.succeed(SSMService, service),
64
+ });
65
+ return Layer.setConfigProvider(provider);
66
+ }).pipe(Layer.unwrapEffect);
67
+ /**
68
+ * Executes the specified workflow with the parameter store configuration provider.
69
+ *
70
+ * @since 1.2.0
71
+ * @category config
72
+ */
73
+ export const withParameterStoreConfigProvider = (config) => Effect.provide(setParameterStoreConfigProvider(config));
51
74
  //# 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 { fromParameterStore } from "./ConfigProvider.js";
5
+ export {
6
+ /**
7
+ * @since 1.0.0
8
+ */
9
+ fromParameterStore, };
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/ssm",
3
- "version": "1.1.2",
3
+ "version": "1.3.0",
4
4
  "description": "Effectful AWS SSM functions",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -16,7 +16,7 @@
16
16
  "homepage": "https://floydspace.github.io/effect-aws/docs/ssm",
17
17
  "peerDependencies": {
18
18
  "effect": ">=3.0.4 <4.0.0",
19
- "@effect-aws/client-ssm": "^1.9.5"
19
+ "@effect-aws/client-ssm": "^1.10.0"
20
20
  },
21
21
  "main": "./dist/cjs/index.js",
22
22
  "module": "./dist/esm/index.js",
@@ -2,7 +2,7 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import { SSMService } from "@effect-aws/client-ssm";
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 FromParameterStoreConfig {
24
+ readonly pathDelim: string;
25
+ }
26
+
18
27
  /**
19
28
  * A config provider that loads configuration from AWS Systems Manager Parameter Store.
20
29
  *
21
30
  * @since 1.0.0
22
31
  * @category constructors
32
+ *
33
+ * @deprecated Use `ConfigProvider.withParameterStoreConfigProvider` or `ConfigProvider.setParameterStoreConfigProvider` instead.
23
34
  */
24
- export const fromParameterStore = (config?: {
25
- pathDelim?: string;
26
- serviceLayer?: Layer.Layer<SSMService, never, never>;
27
- }): ConfigProvider.ConfigProvider => {
35
+ export const fromParameterStore = (
36
+ config?: Partial<FromParameterStoreConfig> & { serviceLayer?: Layer.Layer<SSMService> },
37
+ ): ConfigProvider.ConfigProvider => {
28
38
  const { pathDelim, serviceLayer } = Object.assign(
29
39
  {},
30
40
  { pathDelim: "_", serviceLayer: SSMService.defaultLayer },
@@ -133,3 +143,30 @@ export const fromParameterStore = (config?: {
133
143
  }),
134
144
  );
135
145
  };
146
+
147
+ /**
148
+ * Sets the current `ConfigProvider` that loads configuration from AWS Systems Manager Parameter Store.
149
+ *
150
+ * @since 1.2.0
151
+ * @category config
152
+ */
153
+ export const setParameterStoreConfigProvider = (config?: Partial<FromParameterStoreConfig>) =>
154
+ Effect.gen(function*() {
155
+ const service = yield* SSMService;
156
+
157
+ const provider = fromParameterStore({
158
+ ...config,
159
+ serviceLayer: Layer.succeed(SSMService, service),
160
+ });
161
+
162
+ return Layer.setConfigProvider(provider);
163
+ }).pipe(Layer.unwrapEffect);
164
+
165
+ /**
166
+ * Executes the specified workflow with the parameter store configuration provider.
167
+ *
168
+ * @since 1.2.0
169
+ * @category config
170
+ */
171
+ export const withParameterStoreConfigProvider = (config?: Partial<FromParameterStoreConfig>) =>
172
+ Effect.provide(setParameterStoreConfigProvider(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 { fromParameterStore } from "./ConfigProvider.js";
5
+
6
+ export {
7
+ /**
8
+ * @since 1.0.0
9
+ */
10
+ fromParameterStore,
11
+ };
12
+
13
+ /**
14
+ * @since 1.2.0
15
+ */
16
+ export * as ConfigProvider from "./ConfigProvider.js";