@effect-aws/commons 0.3.0 → 0.3.1

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,8 +1,30 @@
1
- import type { Client } from "@smithy/types";
1
+ /**
2
+ * @since 0.1.0
3
+ */
4
+ import type { CommandImpl, SmithyResolvedConfiguration } from "@smithy/smithy-client";
5
+ import type { Client, HandlerOptions, Logger, RequestHandler } from "@smithy/types";
2
6
  import type { Array } from "effect";
3
7
  import { Effect } from "effect";
4
- import type { BaseResolvedConfig, CommandCtor, LoggerResolvedConfig } from "./internal/service.js";
5
8
  import type { HttpHandlerOptions } from "./Types.js";
9
+ /**
10
+ * @since 0.3.0
11
+ * @category models
12
+ */
13
+ export interface LoggerResolvedConfig {
14
+ logger?: Logger;
15
+ }
16
+ /**
17
+ * @since 0.3.0
18
+ * @category models
19
+ */
20
+ export interface BaseResolvedConfig extends Required<LoggerResolvedConfig>, SmithyResolvedConfiguration<HandlerOptions> {
21
+ requestHandler: RequestHandler<any, any, any>;
22
+ }
23
+ /**
24
+ * @since 0.3.0
25
+ * @category models
26
+ */
27
+ export type CommandCtor<I> = new (input: I, ...args: Array<any>) => CommandImpl<I, any, BaseResolvedConfig>;
6
28
  type ServiceFnOptions = {
7
29
  errorTags?: Array.NonEmptyReadonlyArray<string>;
8
30
  resolveClientConfig: Effect.Effect<LoggerResolvedConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"Service.d.ts","sourceRoot":"","sources":["../../src/Service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAe,MAAM,EAA0C,MAAM,QAAQ,CAAC;AAKrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;CAC1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,eAAgB,MAAM,qBAAqB,CAAC,MAAM,CAAC,SAAS,OAAO,YAgBrG,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,WAChB,OAAO,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,eAC/B,YAAY,GAAG,CAAC,aAClB,gBAAgB,YAEb,GAAG,YAAY,kBAAkB,uCAgBhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,sBACzB,OAAO,MAAM,EAAE,YAAY,GAAG,CAAC,CAAC,kBAC1B,CAAC,aAAa,YAAY,GAAG,CAAC,KAAK,WAAW,oBAAoB,CAAC,KAClF,OAAO,MAAM,CAAC,OAAO,CAgCpB,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,qBAAqB,oBACxB,OAAO,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,YAClC,OAAO,MAAM,EAAE,YAAY,GAAG,CAAC,CAAC,WACjC,gBAAgB,KACxB,OAAO,MAAM,CAAC,OAAO,CAC0E,CAAC"}
1
+ {"version":3,"file":"Service.d.ts","sourceRoot":"","sources":["../../src/Service.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEtF,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAmB,cAAc,EAAE,MAAM,eAAe,CAAC;AACrG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAe,MAAM,EAAgD,MAAM,QAAQ,CAAC;AAK3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,kBACf,SAAQ,QAAQ,CAAC,oBAAoB,CAAC,EAAE,2BAA2B,CAAC,cAAc,CAAC;IAEnF,cAAc,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,KAAI,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;AAE3G,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;CAC1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,eAAgB,MAAM,qBAAqB,CAAC,MAAM,CAAC,SAAS,OAAO,YAgBrG,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,WAChB,OAAO,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,eAC/B,YAAY,GAAG,CAAC,aAClB,gBAAgB,YAEb,GAAG,YAAY,kBAAkB,uCAgBhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,sBACzB,OAAO,MAAM,EAAE,YAAY,GAAG,CAAC,CAAC,kBAC1B,CAAC,aAAa,YAAY,GAAG,CAAC,KAAK,WAAW,oBAAoB,CAAC,KAClF,OAAO,MAAM,CAAC,OAAO,CAoCpB,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,qBAAqB,oBACxB,OAAO,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,YAClC,OAAO,MAAM,EAAE,YAAY,GAAG,CAAC,CAAC,WACjC,gBAAgB,KACxB,OAAO,MAAM,CAAC,OAAO,CAC0E,CAAC"}
@@ -24,9 +24,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.fromClientAndCommands = exports.fromCommandsAndServiceFn = exports.makeServiceFn = exports.catchServiceExceptions = void 0;
27
- /**
28
- * @since 0.1.0
29
- */
30
27
  const smithy_client_1 = require("@smithy/smithy-client");
31
28
  const effect_1 = require("effect");
32
29
  const Errors_js_1 = require("./Errors.js");
@@ -73,7 +70,7 @@ exports.makeServiceFn = makeServiceFn;
73
70
  */
74
71
  const fromCommandsAndServiceFn = (commands, serviceFnMaker) => effect_1.Effect.gen(function* () {
75
72
  const maybeRequestHandler = yield* effect_1.Effect.serviceOption(HttpHandler.RequestHandler);
76
- return effect_1.Record.mapEntries(commands, (CommandCtor, command) => {
73
+ return (0, effect_1.pipe)(commands, effect_1.Record.filter(Boolean), effect_1.Record.mapEntries((CommandCtor, command) => {
77
74
  const ExtendedCommand = class extends CommandCtor {
78
75
  config;
79
76
  runtimeOptions;
@@ -94,7 +91,7 @@ const fromCommandsAndServiceFn = (commands, serviceFnMaker) => effect_1.Effect.g
94
91
  };
95
92
  const serviceFnName = effect_1.String.uncapitalize(command).replace(/Command$/, "");
96
93
  return [serviceFnName, serviceFnMaker(ExtendedCommand)];
97
- });
94
+ }));
98
95
  });
99
96
  exports.fromCommandsAndServiceFn = fromCommandsAndServiceFn;
100
97
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/Service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/Service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,yDAAyD;AAGzD,mCAA2F;AAE3F,2CAAuC;AACvC,8DAAgD;AAiChD;;;GAGG;AACI,MAAM,sBAAsB,GAAG,CAAC,SAA+C,EAAE,EAAE,CAAC,CAAC,CAAU,EAAE,EAAE;IACxG,IAAI,CAAC,YAAY,gCAAgB,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,gBAAgB,GAAG,aAAI,CAAC,MAAM,CAAoC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEhF,OAAO,gBAAgB,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;QACvB,IAAI,gBAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,cAAK,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAO,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;YAClF,OAAO,CAAC,CAAC,gBAAO,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC9B,OAAO,IAAI,cAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,IAAA,oBAAQ,EAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,CAAC,CAAC;AACV,CAAC,CAAC;AAhBW,QAAA,sBAAsB,0BAgBjC;AAEF;;;GAGG;AACI,MAAM,aAAa,GAAG,CAC3B,MAA4C,EAC5C,WAA6B,EAC7B,SAA2B,EAC3B,EAAE;IACF,OAAO,CAAC,IAAS,EAAE,OAA4B,EAAE,EAAE,CACjD,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC;QACpD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,eAAM,CAAC,OAAO,EAAE,CAAC;QAExC,OAAO,KAAK,CAAC,CAAC,eAAM,CAAC,iBAAiB,CACpC,cAAK,CAAC,IAAI,EAAE,EACZ,CAAC,KAAK,EAAE,EAAE,CACR,eAAM,CAAC,UAAU,CAAC;YAChB,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CACnB,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;YACrG,KAAK,EAAE,IAAA,8BAAsB,EAAC,SAAS,CAAC,SAAS,CAAC;SACnD,CAAC,EACJ,cAAK,CAAC,KAAK,CACZ,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AArBW,QAAA,aAAa,iBAqBxB;AAEF;;;GAGG;AACI,MAAM,wBAAwB,GAAG,CACtC,QAA0C,EAC1C,cAAmF,EAC3D,EAAE,CAC1B,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,eAAM,CAAC,aAAa,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAEpF,OAAO,IAAA,aAAI,EACT,QAAQ,EACR,eAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EACtB,eAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;QACzC,MAAM,eAAe,GAAG,KAAM,SAAQ,WAAW;YAGrC;YACA;YAHV,YACE,IAAS,EACD,MAA4B,EAC5B,cAA8B;gBAEtC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAHJ,WAAM,GAAN,MAAM,CAAsB;gBAC5B,mBAAc,GAAd,cAAc,CAAgB;YAGxC,CAAC;YAED,iBAAiB,CACf,KAAgC,EAChC,aAAiC,EACjC,OAAY;gBAEZ,OAAO,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE;oBACpC,GAAG,aAAa;oBAChB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,eAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;wBACpC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE;wBACxG,CAAC,CAAC,EAAE,CAAC;iBACR,EAAE,OAAO,CAAC,CAAC;YACd,CAAC;SACF,CAAC;QAEF,MAAM,aAAa,GAAG,eAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CACQ,CAAC;AACf,CAAC,CAAC,CAAC;AAvCQ,QAAA,wBAAwB,4BAuChC;AAEL;;;GAGG;AACI,MAAM,qBAAqB,GAAG,CACnC,MAA4C,EAC5C,QAA0C,EAC1C,OAAyB,EACD,EAAE,CAC1B,IAAA,gCAAwB,EAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAA,qBAAa,EAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AALtF,QAAA,qBAAqB,yBAKiE"}
@@ -1,8 +1,30 @@
1
- import type { Client } from "@smithy/types";
1
+ /**
2
+ * @since 0.1.0
3
+ */
4
+ import type { CommandImpl, SmithyResolvedConfiguration } from "@smithy/smithy-client";
5
+ import type { Client, HandlerOptions, Logger, RequestHandler } from "@smithy/types";
2
6
  import type { Array } from "effect";
3
7
  import { Effect } from "effect";
4
- import type { BaseResolvedConfig, CommandCtor, LoggerResolvedConfig } from "./internal/service.js";
5
8
  import type { HttpHandlerOptions } from "./Types.js";
9
+ /**
10
+ * @since 0.3.0
11
+ * @category models
12
+ */
13
+ export interface LoggerResolvedConfig {
14
+ logger?: Logger;
15
+ }
16
+ /**
17
+ * @since 0.3.0
18
+ * @category models
19
+ */
20
+ export interface BaseResolvedConfig extends Required<LoggerResolvedConfig>, SmithyResolvedConfiguration<HandlerOptions> {
21
+ requestHandler: RequestHandler<any, any, any>;
22
+ }
23
+ /**
24
+ * @since 0.3.0
25
+ * @category models
26
+ */
27
+ export type CommandCtor<I> = new (input: I, ...args: Array<any>) => CommandImpl<I, any, BaseResolvedConfig>;
6
28
  type ServiceFnOptions = {
7
29
  errorTags?: Array.NonEmptyReadonlyArray<string>;
8
30
  resolveClientConfig: Effect.Effect<LoggerResolvedConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"Service.d.ts","sourceRoot":"","sources":["../../src/Service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAe,MAAM,EAA0C,MAAM,QAAQ,CAAC;AAKrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;CAC1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,eAAgB,MAAM,qBAAqB,CAAC,MAAM,CAAC,SAAS,OAAO,YAgBrG,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,WAChB,OAAO,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,eAC/B,YAAY,GAAG,CAAC,aAClB,gBAAgB,YAEb,GAAG,YAAY,kBAAkB,uCAgBhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,sBACzB,OAAO,MAAM,EAAE,YAAY,GAAG,CAAC,CAAC,kBAC1B,CAAC,aAAa,YAAY,GAAG,CAAC,KAAK,WAAW,oBAAoB,CAAC,KAClF,OAAO,MAAM,CAAC,OAAO,CAgCpB,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,qBAAqB,oBACxB,OAAO,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,YAClC,OAAO,MAAM,EAAE,YAAY,GAAG,CAAC,CAAC,WACjC,gBAAgB,KACxB,OAAO,MAAM,CAAC,OAAO,CAC0E,CAAC"}
1
+ {"version":3,"file":"Service.d.ts","sourceRoot":"","sources":["../../src/Service.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEtF,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAmB,cAAc,EAAE,MAAM,eAAe,CAAC;AACrG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAe,MAAM,EAAgD,MAAM,QAAQ,CAAC;AAK3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,kBACf,SAAQ,QAAQ,CAAC,oBAAoB,CAAC,EAAE,2BAA2B,CAAC,cAAc,CAAC;IAEnF,cAAc,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,KAAI,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;AAE3G,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;CAC1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,eAAgB,MAAM,qBAAqB,CAAC,MAAM,CAAC,SAAS,OAAO,YAgBrG,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,WAChB,OAAO,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,eAC/B,YAAY,GAAG,CAAC,aAClB,gBAAgB,YAEb,GAAG,YAAY,kBAAkB,uCAgBhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,sBACzB,OAAO,MAAM,EAAE,YAAY,GAAG,CAAC,CAAC,kBAC1B,CAAC,aAAa,YAAY,GAAG,CAAC,KAAK,WAAW,oBAAoB,CAAC,KAClF,OAAO,MAAM,CAAC,OAAO,CAoCpB,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,qBAAqB,oBACxB,OAAO,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,YAClC,OAAO,MAAM,EAAE,YAAY,GAAG,CAAC,CAAC,WACjC,gBAAgB,KACxB,OAAO,MAAM,CAAC,OAAO,CAC0E,CAAC"}
@@ -1,8 +1,5 @@
1
- /**
2
- * @since 0.1.0
3
- */
4
1
  import { ServiceException } from "@smithy/smithy-client";
5
- import { Cause, Data, Effect, Option, Record, Runtime, Scope, String } from "effect";
2
+ import { Cause, Data, Effect, Option, pipe, Record, Runtime, Scope, String } from "effect";
6
3
  import { SdkError } from "./Errors.js";
7
4
  import * as HttpHandler from "./HttpHandler.js";
8
5
  /**
@@ -45,7 +42,7 @@ export const makeServiceFn = (client, CommandCtor, fnOptions) => {
45
42
  */
46
43
  export const fromCommandsAndServiceFn = (commands, serviceFnMaker) => Effect.gen(function* () {
47
44
  const maybeRequestHandler = yield* Effect.serviceOption(HttpHandler.RequestHandler);
48
- return Record.mapEntries(commands, (CommandCtor, command) => {
45
+ return pipe(commands, Record.filter(Boolean), Record.mapEntries((CommandCtor, command) => {
49
46
  const ExtendedCommand = class extends CommandCtor {
50
47
  config;
51
48
  runtimeOptions;
@@ -66,7 +63,7 @@ export const fromCommandsAndServiceFn = (commands, serviceFnMaker) => Effect.gen
66
63
  };
67
64
  const serviceFnName = String.uncapitalize(command).replace(/Command$/, "");
68
65
  return [serviceFnName, serviceFnMaker(ExtendedCommand)];
69
- });
66
+ }));
70
67
  });
71
68
  /**
72
69
  * @since 0.1.0
@@ -1 +1 @@
1
- {"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/Service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/Service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-aws/commons",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Effectful AWS common library",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -15,9 +15,9 @@
15
15
  },
16
16
  "homepage": "https://floydspace.github.io/effect-aws/docs/commons",
17
17
  "dependencies": {
18
- "@smithy/protocol-http": "^5.1.0",
19
- "@smithy/smithy-client": "^4.2.0",
20
- "@smithy/types": "^4.2.0"
18
+ "@smithy/protocol-http": "^5.3.5",
19
+ "@smithy/smithy-client": "^4.9.9",
20
+ "@smithy/types": "^4.9.0"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "effect": ">=3.0.4 <4.0.0"
package/src/Service.ts CHANGED
@@ -1,17 +1,41 @@
1
1
  /**
2
2
  * @since 0.1.0
3
3
  */
4
+ import type { CommandImpl, SmithyResolvedConfiguration } from "@smithy/smithy-client";
4
5
  import { ServiceException } from "@smithy/smithy-client";
5
- import type { Client, MiddlewareStack } from "@smithy/types";
6
+ import type { Client, HandlerOptions, Logger, MiddlewareStack, RequestHandler } from "@smithy/types";
6
7
  import type { Array } from "effect";
7
- import { Cause, Data, Effect, Option, Record, Runtime, Scope, String } from "effect";
8
+ import { Cause, Data, Effect, Option, pipe, Record, Runtime, Scope, String } from "effect";
8
9
  import type { TaggedException } from "./Errors.js";
9
10
  import { SdkError } from "./Errors.js";
10
11
  import * as HttpHandler from "./HttpHandler.js";
11
12
  import type { RuntimeOptions } from "./internal/httpHandler.js";
12
- import type { BaseResolvedConfig, CommandCtor, LoggerResolvedConfig } from "./internal/service.js";
13
13
  import type { HttpHandlerOptions } from "./Types.js";
14
14
 
15
+ /**
16
+ * @since 0.3.0
17
+ * @category models
18
+ */
19
+ export interface LoggerResolvedConfig {
20
+ logger?: Logger;
21
+ }
22
+
23
+ /**
24
+ * @since 0.3.0
25
+ * @category models
26
+ */
27
+ export interface BaseResolvedConfig
28
+ extends Required<LoggerResolvedConfig>, SmithyResolvedConfiguration<HandlerOptions>
29
+ {
30
+ requestHandler: RequestHandler<any, any, any>;
31
+ }
32
+
33
+ /**
34
+ * @since 0.3.0
35
+ * @category models
36
+ */
37
+ export type CommandCtor<I> = new(input: I, ...args: Array<any>) => CommandImpl<I, any, BaseResolvedConfig>;
38
+
15
39
  type ServiceFnOptions = {
16
40
  errorTags?: Array.NonEmptyReadonlyArray<string>;
17
41
  resolveClientConfig: Effect.Effect<LoggerResolvedConfig>;
@@ -77,34 +101,38 @@ export const fromCommandsAndServiceFn = <Service>(
77
101
  Effect.gen(function*() {
78
102
  const maybeRequestHandler = yield* Effect.serviceOption(HttpHandler.RequestHandler);
79
103
 
80
- return Record.mapEntries(commands, (CommandCtor, command) => {
81
- const ExtendedCommand = class extends CommandCtor {
82
- constructor(
83
- args: any,
84
- private config: LoggerResolvedConfig,
85
- private runtimeOptions: RuntimeOptions,
86
- ) {
87
- super(args);
88
- }
104
+ return pipe(
105
+ commands,
106
+ Record.filter(Boolean),
107
+ Record.mapEntries((CommandCtor, command) => {
108
+ const ExtendedCommand = class extends CommandCtor {
109
+ constructor(
110
+ args: any,
111
+ private config: LoggerResolvedConfig,
112
+ private runtimeOptions: RuntimeOptions,
113
+ ) {
114
+ super(args);
115
+ }
89
116
 
90
- resolveMiddleware(
91
- stack: MiddlewareStack<any, any>,
92
- configuration: BaseResolvedConfig,
93
- options: any,
94
- ) {
95
- return super.resolveMiddleware(stack, {
96
- ...configuration,
97
- ...(this.config.logger ? { logger: this.config.logger } : {}),
98
- ...(Option.isSome(maybeRequestHandler)
99
- ? { requestHandler: HttpHandler.toClientRequestHandler(maybeRequestHandler.value, this.runtimeOptions) }
100
- : {}),
101
- }, options);
102
- }
103
- };
117
+ resolveMiddleware(
118
+ stack: MiddlewareStack<any, any>,
119
+ configuration: BaseResolvedConfig,
120
+ options: any,
121
+ ) {
122
+ return super.resolveMiddleware(stack, {
123
+ ...configuration,
124
+ ...(this.config.logger ? { logger: this.config.logger } : {}),
125
+ ...(Option.isSome(maybeRequestHandler)
126
+ ? { requestHandler: HttpHandler.toClientRequestHandler(maybeRequestHandler.value, this.runtimeOptions) }
127
+ : {}),
128
+ }, options);
129
+ }
130
+ };
104
131
 
105
- const serviceFnName = String.uncapitalize(command).replace(/Command$/, "");
106
- return [serviceFnName, serviceFnMaker(ExtendedCommand)];
107
- }) as Service;
132
+ const serviceFnName = String.uncapitalize(command).replace(/Command$/, "");
133
+ return [serviceFnName, serviceFnMaker(ExtendedCommand)];
134
+ }),
135
+ ) as Service;
108
136
  });
109
137
 
110
138
  /**
@@ -1,10 +0,0 @@
1
- import type { CommandImpl, SmithyResolvedConfiguration } from "@smithy/smithy-client";
2
- import type { HandlerOptions, Logger, RequestHandler } from "@smithy/types";
3
- export interface LoggerResolvedConfig {
4
- logger?: Logger;
5
- }
6
- export interface BaseResolvedConfig extends Required<LoggerResolvedConfig>, SmithyResolvedConfiguration<HandlerOptions> {
7
- requestHandler: RequestHandler<any, any, any>;
8
- }
9
- export type CommandCtor<I> = new (input: I, ...args: Array<any>) => CommandImpl<I, any, BaseResolvedConfig>;
10
- //# sourceMappingURL=service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/internal/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBACf,SAAQ,QAAQ,CAAC,oBAAoB,CAAC,EAAE,2BAA2B,CAAC,cAAc,CAAC;IAEnF,cAAc,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CAC/C;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,KAAI,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/internal/service.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- import type { CommandImpl, SmithyResolvedConfiguration } from "@smithy/smithy-client";
2
- import type { HandlerOptions, Logger, RequestHandler } from "@smithy/types";
3
- export interface LoggerResolvedConfig {
4
- logger?: Logger;
5
- }
6
- export interface BaseResolvedConfig extends Required<LoggerResolvedConfig>, SmithyResolvedConfiguration<HandlerOptions> {
7
- requestHandler: RequestHandler<any, any, any>;
8
- }
9
- export type CommandCtor<I> = new (input: I, ...args: Array<any>) => CommandImpl<I, any, BaseResolvedConfig>;
10
- //# sourceMappingURL=service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/internal/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBACf,SAAQ,QAAQ,CAAC,oBAAoB,CAAC,EAAE,2BAA2B,CAAC,cAAc,CAAC;IAEnF,cAAc,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CAC/C;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,KAAI,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/internal/service.ts"],"names":[],"mappings":""}
@@ -1,14 +0,0 @@
1
- import type { CommandImpl, SmithyResolvedConfiguration } from "@smithy/smithy-client";
2
- import type { HandlerOptions, Logger, RequestHandler } from "@smithy/types";
3
-
4
- export interface LoggerResolvedConfig {
5
- logger?: Logger;
6
- }
7
-
8
- export interface BaseResolvedConfig
9
- extends Required<LoggerResolvedConfig>, SmithyResolvedConfiguration<HandlerOptions>
10
- {
11
- requestHandler: RequestHandler<any, any, any>;
12
- }
13
-
14
- export type CommandCtor<I> = new(input: I, ...args: Array<any>) => CommandImpl<I, any, BaseResolvedConfig>;