@effect-aws/client-account 1.1.0 → 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.
Files changed (54) hide show
  1. package/AccountClientInstance/package.json +6 -0
  2. package/AccountClientInstanceConfig/package.json +6 -0
  3. package/AccountService/package.json +6 -0
  4. package/Errors/package.json +6 -0
  5. package/LICENSE +1 -1
  6. package/{lib → dist/cjs}/AccountClientInstance.d.ts +4 -5
  7. package/dist/cjs/AccountClientInstance.d.ts.map +1 -0
  8. package/dist/cjs/AccountClientInstance.js +32 -0
  9. package/{lib → dist/cjs}/AccountClientInstanceConfig.d.ts +1 -0
  10. package/dist/cjs/AccountClientInstanceConfig.d.ts.map +1 -0
  11. package/dist/cjs/AccountClientInstanceConfig.js +44 -0
  12. package/{lib → dist/cjs}/AccountService.d.ts +7 -5
  13. package/dist/cjs/AccountService.d.ts.map +1 -0
  14. package/dist/cjs/AccountService.js +97 -0
  15. package/{lib → dist/cjs}/Errors.d.ts +1 -0
  16. package/dist/cjs/Errors.d.ts.map +1 -0
  17. package/dist/cjs/Errors.js +14 -0
  18. package/dist/cjs/index.d.ts +5 -0
  19. package/dist/cjs/index.d.ts.map +1 -0
  20. package/{lib → dist/cjs}/index.js +5 -5
  21. package/dist/dts/AccountClientInstance.d.ts +30 -0
  22. package/dist/dts/AccountClientInstance.d.ts.map +1 -0
  23. package/dist/dts/AccountClientInstanceConfig.d.ts +24 -0
  24. package/dist/dts/AccountClientInstanceConfig.d.ts.map +1 -0
  25. package/dist/dts/AccountService.d.ts +127 -0
  26. package/dist/dts/AccountService.d.ts.map +1 -0
  27. package/dist/dts/Errors.d.ts +19 -0
  28. package/dist/dts/Errors.d.ts.map +1 -0
  29. package/dist/dts/index.d.ts +5 -0
  30. package/dist/dts/index.d.ts.map +1 -0
  31. package/dist/esm/AccountClientInstance.js +28 -0
  32. package/{lib → dist}/esm/AccountClientInstanceConfig.js +1 -1
  33. package/dist/esm/AccountService.js +93 -0
  34. package/dist/esm/index.js +5 -0
  35. package/dist/esm/package.json +4 -0
  36. package/package.json +57 -40
  37. package/src/AccountClientInstance.ts +44 -0
  38. package/src/AccountClientInstanceConfig.ts +51 -0
  39. package/src/AccountService.ts +352 -0
  40. package/src/Errors.ts +32 -0
  41. package/src/index.ts +4 -0
  42. package/CHANGELOG.md +0 -29
  43. package/docgen.json +0 -8
  44. package/lib/AccountClientInstance.js +0 -57
  45. package/lib/AccountClientInstanceConfig.js +0 -44
  46. package/lib/AccountService.js +0 -100
  47. package/lib/Errors.js +0 -14
  48. package/lib/esm/AccountClientInstance.js +0 -30
  49. package/lib/esm/AccountService.js +0 -96
  50. package/lib/esm/index.js +0 -5
  51. package/lib/index.d.ts +0 -4
  52. package/project.json +0 -77
  53. package/vitest.config.ts +0 -3
  54. /package/{lib → dist}/esm/Errors.js +0 -0
@@ -0,0 +1,19 @@
1
+ import type { AccessDeniedException, ConflictException, InternalServerException, ResourceNotFoundException, TooManyRequestsException, ValidationException } from "@aws-sdk/client-account";
2
+ import { Data } from "effect";
3
+ export declare const AllServiceErrors: string[];
4
+ export type TaggedException<T extends {
5
+ name: string;
6
+ }> = T & {
7
+ readonly _tag: T["name"];
8
+ };
9
+ export type AccessDeniedError = TaggedException<AccessDeniedException>;
10
+ export type ConflictError = TaggedException<ConflictException>;
11
+ export type InternalServerError = TaggedException<InternalServerException>;
12
+ export type ResourceNotFoundError = TaggedException<ResourceNotFoundException>;
13
+ export type TooManyRequestsError = TaggedException<TooManyRequestsException>;
14
+ export type ValidationError = TaggedException<ValidationException>;
15
+ export type SdkError = TaggedException<Error & {
16
+ name: "SdkError";
17
+ }>;
18
+ export declare const SdkError: Data.Case.Constructor<SdkError, "_tag">;
19
+ //# sourceMappingURL=Errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../../src/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,gBAAgB,UAO5B,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,IAAI,CAAC,GAAG;IAC5D,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;AACvE,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;AAC/D,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAC;AAC3E,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC,yBAAyB,CAAC,CAAC;AAC/E,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAC,wBAAwB,CAAC,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;AAEnE,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAAC;AACrE,eAAO,MAAM,QAAQ,yCAAoC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./AccountClientInstance.js";
2
+ export * from "./AccountClientInstanceConfig.js";
3
+ export * from "./AccountService.js";
4
+ export * from "./Errors.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { AccountClient } from "@aws-sdk/client-account";
5
+ import { Context, Effect, Layer } from "effect";
6
+ import { AccountClientInstanceConfig, DefaultAccountClientConfigLayer } from "./AccountClientInstanceConfig.js";
7
+ /**
8
+ * @since 1.0.0
9
+ * @category tags
10
+ */
11
+ export class AccountClientInstance extends Context.Tag("@effect-aws/client-account/AccountClientInstance")() {
12
+ }
13
+ /**
14
+ * @since 1.0.0
15
+ * @category constructors
16
+ */
17
+ export const makeAccountClientInstance = Effect.flatMap(AccountClientInstanceConfig, (config) => Effect.acquireRelease(Effect.sync(() => new AccountClient(config)), (client) => Effect.sync(() => client.destroy())));
18
+ /**
19
+ * @since 1.0.0
20
+ * @category layers
21
+ */
22
+ export const AccountClientInstanceLayer = Layer.scoped(AccountClientInstance, makeAccountClientInstance);
23
+ /**
24
+ * @since 1.0.0
25
+ * @category layers
26
+ */
27
+ export const DefaultAccountClientInstanceLayer = AccountClientInstanceLayer.pipe(Layer.provide(DefaultAccountClientConfigLayer));
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjb3VudENsaWVudEluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0FjY291bnRDbGllbnRJbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLCtCQUErQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFaEg7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLE9BQU8sQ0FBQyxHQUFHLENBQ3BELGtEQUFrRCxDQUNuRCxFQUF3QztDQUFHO0FBRTVDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQ3JELDJCQUEyQixFQUMzQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ1QsTUFBTSxDQUFDLGNBQWMsQ0FDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUM1QyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FDaEQsQ0FDSixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDcEQscUJBQXFCLEVBQ3JCLHlCQUF5QixDQUMxQixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUM5RSxLQUFLLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgeyBBY2NvdW50Q2xpZW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1hY2NvdW50XCI7XG5pbXBvcnQgeyBDb250ZXh0LCBFZmZlY3QsIExheWVyIH0gZnJvbSBcImVmZmVjdFwiO1xuaW1wb3J0IHsgQWNjb3VudENsaWVudEluc3RhbmNlQ29uZmlnLCBEZWZhdWx0QWNjb3VudENsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vQWNjb3VudENsaWVudEluc3RhbmNlQ29uZmlnLmpzXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgQWNjb3VudENsaWVudEluc3RhbmNlIGV4dGVuZHMgQ29udGV4dC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LWFjY291bnQvQWNjb3VudENsaWVudEluc3RhbmNlXCIsXG4pPEFjY291bnRDbGllbnRJbnN0YW5jZSwgQWNjb3VudENsaWVudD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZUFjY291bnRDbGllbnRJbnN0YW5jZSA9IEVmZmVjdC5mbGF0TWFwKFxuICBBY2NvdW50Q2xpZW50SW5zdGFuY2VDb25maWcsXG4gIChjb25maWcpID0+XG4gICAgRWZmZWN0LmFjcXVpcmVSZWxlYXNlKFxuICAgICAgRWZmZWN0LnN5bmMoKCkgPT4gbmV3IEFjY291bnRDbGllbnQoY29uZmlnKSksXG4gICAgICAoY2xpZW50KSA9PiBFZmZlY3Quc3luYygoKSA9PiBjbGllbnQuZGVzdHJveSgpKSxcbiAgICApLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEFjY291bnRDbGllbnRJbnN0YW5jZUxheWVyID0gTGF5ZXIuc2NvcGVkKFxuICBBY2NvdW50Q2xpZW50SW5zdGFuY2UsXG4gIG1ha2VBY2NvdW50Q2xpZW50SW5zdGFuY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdEFjY291bnRDbGllbnRJbnN0YW5jZUxheWVyID0gQWNjb3VudENsaWVudEluc3RhbmNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShEZWZhdWx0QWNjb3VudENsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
@@ -37,4 +37,4 @@ export const makeDefaultAccountClientInstanceConfig = Effect.gen(function* (_) {
37
37
  * @category layers
38
38
  */
39
39
  export const DefaultAccountClientConfigLayer = Layer.effect(AccountClientInstanceConfig, makeDefaultAccountClientInstanceConfig);
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjb3VudENsaWVudEluc3RhbmNlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0FjY291bnRDbGllbnRJbnN0YW5jZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXpEOzs7R0FHRztBQUNILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUMxRCx3REFBd0QsQ0FDekQsRUFBb0Q7Q0FBRztBQUV4RDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FDakQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3JCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFTLENBQUMsQ0FBQztJQUNsRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpDLE9BQU87UUFDTCxNQUFNLEVBQUU7WUFDTixJQUFJLENBQUMsQ0FBQztnQkFDSixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUM7Z0JBQ0osTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUw7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDekQsMkJBQTJCLEVBQzNCLHNDQUFzQyxDQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHR5cGUgeyBBY2NvdW50Q2xpZW50Q29uZmlnIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1hY2NvdW50XCI7XG5pbXBvcnQgeyBDb250ZXh0LCBFZmZlY3QsIExheWVyLCBSdW50aW1lIH0gZnJvbSBcImVmZmVjdFwiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIEFjY291bnRDbGllbnRJbnN0YW5jZUNvbmZpZyBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1hY2NvdW50L0FjY291bnRDbGllbnRJbnN0YW5jZUNvbmZpZ1wiLFxuKTxBY2NvdW50Q2xpZW50SW5zdGFuY2VDb25maWcsIEFjY291bnRDbGllbnRDb25maWc+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VEZWZhdWx0QWNjb3VudENsaWVudEluc3RhbmNlQ29uZmlnOiBFZmZlY3QuRWZmZWN0PEFjY291bnRDbGllbnRDb25maWc+ID1cbiAgRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgICBjb25zdCBydW50aW1lID0geWllbGQqIF8oRWZmZWN0LnJ1bnRpbWU8bmV2ZXI+KCkpO1xuICAgIGNvbnN0IHJ1blN5bmMgPSBSdW50aW1lLnJ1blN5bmMocnVudGltZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9nZ2VyOiB7XG4gICAgICAgIGluZm8obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dJbmZvKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHdhcm4obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dXYXJuaW5nKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nRXJyb3IobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWcobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dEZWJ1ZyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICB0cmFjZShtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ1RyYWNlKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdEFjY291bnRDbGllbnRDb25maWdMYXllciA9IExheWVyLmVmZmVjdChcbiAgQWNjb3VudENsaWVudEluc3RhbmNlQ29uZmlnLFxuICBtYWtlRGVmYXVsdEFjY291bnRDbGllbnRJbnN0YW5jZUNvbmZpZyxcbik7XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjb3VudENsaWVudEluc3RhbmNlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0FjY291bnRDbGllbnRJbnN0YW5jZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXpEOzs7R0FHRztBQUNILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUMxRCx3REFBd0QsQ0FDekQsRUFBb0Q7Q0FBRztBQUV4RDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBdUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDO0lBQzlHLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFTLENBQUMsQ0FBQztJQUNsRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpDLE9BQU87UUFDTCxNQUFNLEVBQUU7WUFDTixJQUFJLENBQUMsQ0FBQztnQkFDSixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUM7Z0JBQ0osTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUg7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDekQsMkJBQTJCLEVBQzNCLHNDQUFzQyxDQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHR5cGUgeyBBY2NvdW50Q2xpZW50Q29uZmlnIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1hY2NvdW50XCI7XG5pbXBvcnQgeyBDb250ZXh0LCBFZmZlY3QsIExheWVyLCBSdW50aW1lIH0gZnJvbSBcImVmZmVjdFwiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIEFjY291bnRDbGllbnRJbnN0YW5jZUNvbmZpZyBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1hY2NvdW50L0FjY291bnRDbGllbnRJbnN0YW5jZUNvbmZpZ1wiLFxuKTxBY2NvdW50Q2xpZW50SW5zdGFuY2VDb25maWcsIEFjY291bnRDbGllbnRDb25maWc+KCkge31cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBjb25zdHJ1Y3RvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IG1ha2VEZWZhdWx0QWNjb3VudENsaWVudEluc3RhbmNlQ29uZmlnOiBFZmZlY3QuRWZmZWN0PEFjY291bnRDbGllbnRDb25maWc+ID0gRWZmZWN0LmdlbihmdW5jdGlvbiooXykge1xuICBjb25zdCBydW50aW1lID0geWllbGQqIF8oRWZmZWN0LnJ1bnRpbWU8bmV2ZXI+KCkpO1xuICBjb25zdCBydW5TeW5jID0gUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpO1xuXG4gIHJldHVybiB7XG4gICAgbG9nZ2VyOiB7XG4gICAgICBpbmZvKG0pIHtcbiAgICAgICAgRWZmZWN0LmxvZ0luZm8obSkucGlwZShydW5TeW5jKTtcbiAgICAgIH0sXG4gICAgICB3YXJuKG0pIHtcbiAgICAgICAgRWZmZWN0LmxvZ1dhcm5pbmcobSkucGlwZShydW5TeW5jKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcihtKSB7XG4gICAgICAgIEVmZmVjdC5sb2dFcnJvcihtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgfSxcbiAgICAgIGRlYnVnKG0pIHtcbiAgICAgICAgRWZmZWN0LmxvZ0RlYnVnKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICB9LFxuICAgICAgdHJhY2UobSkge1xuICAgICAgICBFZmZlY3QubG9nVHJhY2UobSkucGlwZShydW5TeW5jKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdEFjY291bnRDbGllbnRDb25maWdMYXllciA9IExheWVyLmVmZmVjdChcbiAgQWNjb3VudENsaWVudEluc3RhbmNlQ29uZmlnLFxuICBtYWtlRGVmYXVsdEFjY291bnRDbGllbnRJbnN0YW5jZUNvbmZpZyxcbik7XG4iXX0=
@@ -0,0 +1,93 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { AcceptPrimaryEmailUpdateCommand, AccountServiceException, DeleteAlternateContactCommand, DisableRegionCommand, EnableRegionCommand, GetAlternateContactCommand, GetContactInformationCommand, GetPrimaryEmailCommand, GetRegionOptStatusCommand, ListRegionsCommand, PutAlternateContactCommand, PutContactInformationCommand, StartPrimaryEmailUpdateCommand, } from "@aws-sdk/client-account";
5
+ import { Data, Effect, Layer, Record } from "effect";
6
+ import { AccountClientInstance, AccountClientInstanceLayer } from "./AccountClientInstance.js";
7
+ import { AccountClientInstanceConfig, DefaultAccountClientConfigLayer, makeDefaultAccountClientInstanceConfig, } from "./AccountClientInstanceConfig.js";
8
+ import { AllServiceErrors, SdkError } from "./Errors.js";
9
+ const commands = {
10
+ AcceptPrimaryEmailUpdateCommand,
11
+ DeleteAlternateContactCommand,
12
+ DisableRegionCommand,
13
+ EnableRegionCommand,
14
+ GetAlternateContactCommand,
15
+ GetContactInformationCommand,
16
+ GetPrimaryEmailCommand,
17
+ GetRegionOptStatusCommand,
18
+ ListRegionsCommand,
19
+ PutAlternateContactCommand,
20
+ PutContactInformationCommand,
21
+ StartPrimaryEmailUpdateCommand,
22
+ };
23
+ /**
24
+ * @since 1.0.0
25
+ * @category constructors
26
+ */
27
+ export const makeAccountService = Effect.gen(function* (_) {
28
+ const client = yield* _(AccountClientInstance);
29
+ return Record.toEntries(commands).reduce((acc, [command]) => {
30
+ const CommandCtor = commands[command];
31
+ const methodImpl = (args, options) => Effect.tryPromise({
32
+ try: (abortSignal) => client.send(new CommandCtor(args), {
33
+ ...(options ?? {}),
34
+ abortSignal,
35
+ }),
36
+ catch: (e) => {
37
+ if (e instanceof AccountServiceException && AllServiceErrors.includes(e.name)) {
38
+ const ServiceException = Data.tagged(e.name);
39
+ return ServiceException({
40
+ ...e,
41
+ message: e.message,
42
+ stack: e.stack,
43
+ });
44
+ }
45
+ if (e instanceof Error) {
46
+ return SdkError({
47
+ ...e,
48
+ name: "SdkError",
49
+ message: e.message,
50
+ stack: e.stack,
51
+ });
52
+ }
53
+ throw e;
54
+ },
55
+ });
56
+ const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
57
+ return { ...acc, [methodName]: methodImpl };
58
+ }, {});
59
+ });
60
+ /**
61
+ * @since 1.0.0
62
+ * @category models
63
+ */
64
+ export class AccountService extends Effect.Tag("@effect-aws/client-account/AccountService")() {
65
+ static defaultLayer = Layer.effect(this, makeAccountService).pipe(Layer.provide(AccountClientInstanceLayer), Layer.provide(DefaultAccountClientConfigLayer));
66
+ static layer = (config) => Layer.effect(this, makeAccountService).pipe(Layer.provide(AccountClientInstanceLayer), Layer.provide(Layer.effect(AccountClientInstanceConfig, makeDefaultAccountClientInstanceConfig.pipe(Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
67
+ static baseLayer = (evaluate) => Layer.effect(this, makeAccountService).pipe(Layer.provide(Layer.effect(AccountClientInstance, Effect.map(makeDefaultAccountClientInstanceConfig, evaluate))));
68
+ }
69
+ /**
70
+ * @since 1.0.0
71
+ * @category models
72
+ * @alias AccountService
73
+ */
74
+ export const Account = AccountService;
75
+ /**
76
+ * @since 1.0.0
77
+ * @category layers
78
+ * @deprecated use Account.baseLayer instead
79
+ */
80
+ export const BaseAccountServiceLayer = Layer.effect(AccountService, makeAccountService);
81
+ /**
82
+ * @since 1.0.0
83
+ * @category layers
84
+ * @deprecated use Account.layer instead
85
+ */
86
+ export const AccountServiceLayer = BaseAccountServiceLayer.pipe(Layer.provide(AccountClientInstanceLayer));
87
+ /**
88
+ * @since 1.0.0
89
+ * @category layers
90
+ * @deprecated use Account.defaultLayer instead
91
+ */
92
+ export const DefaultAccountServiceLayer = AccountService.defaultLayer;
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjb3VudFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQWNjb3VudFNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQ0wsK0JBQStCLEVBSy9CLHVCQUF1QixFQUN2Qiw2QkFBNkIsRUFHN0Isb0JBQW9CLEVBR3BCLG1CQUFtQixFQUduQiwwQkFBMEIsRUFHMUIsNEJBQTRCLEVBRzVCLHNCQUFzQixFQUd0Qix5QkFBeUIsRUFHekIsa0JBQWtCLEVBR2xCLDBCQUEwQixFQUcxQiw0QkFBNEIsRUFHNUIsOEJBQThCLEdBRy9CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLCtCQUErQixFQUMvQixzQ0FBc0MsR0FDdkMsTUFBTSxrQ0FBa0MsQ0FBQztBQVUxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBYXpELE1BQU0sUUFBUSxHQUFHO0lBQ2YsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUM3QixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLDBCQUEwQjtJQUMxQiw0QkFBNEI7SUFDNUIsc0JBQXNCO0lBQ3RCLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsMEJBQTBCO0lBQzFCLDRCQUE0QjtJQUM1Qiw4QkFBOEI7Q0FDL0IsQ0FBQztBQXNKRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUM7SUFDdEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxD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VSxTQUFTLEdBQUcsQ0FDMUIsUUFBK0QsRUFDL0QsRUFBRSxDQUNGLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUN6QyxLQUFLLENBQUMsT0FBTyxDQUNYLEtBQUssQ0FBQyxNQUFNLENBQ1YscUJBQXFCLEVBQ3JCLE1BQU0sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLEVBQUUsUUFBUSxDQUFDLENBQzdELENBQ0YsQ0FDRixDQUFDOztBQUdOOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDO0FBRXRDOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNqRCxjQUFjLEVBQ2Qsa0JBQWtCLENBQ25CLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUM3RCxLQUFLLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQzFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIEFjY2VwdFByaW1hcnlFbWFpbFVwZGF0ZUNvbW1hbmQsXG4gIHR5cGUgQWNjZXB0UHJpbWFyeUVtYWlsVXBkYXRlQ29tbWFuZElucHV0LFxuICB0eXBlIEFjY2VwdFByaW1hcnlFbWFpbFVwZGF0ZUNvbW1hbmRPdXRwdXQsXG4gIHR5cGUgQWNjb3VudENsaWVudCxcbiAgdHlwZSBBY2NvdW50Q2xpZW50Q29uZmlnLFxuICBBY2NvdW50U2VydmljZUV4Y2VwdGlvbixcbiAgRGVsZXRlQWx0ZXJuYXRlQ29udGFjdENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlQWx0ZXJuYXRlQ29udGFjdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBbHRlcm5hdGVDb250YWN0Q29tbWFuZE91dHB1dCxcbiAgRGlzYWJsZVJlZ2lvbkNvbW1hbmQsXG4gIHR5cGUgRGlzYWJsZVJlZ2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEaXNhYmxlUmVnaW9uQ29tbWFuZE91dHB1dCxcbiAgRW5hYmxlUmVnaW9uQ29tbWFuZCxcbiAgdHlwZSBFbmFibGVSZWdpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRW5hYmxlUmVnaW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0QWx0ZXJuYXRlQ29udGFjdENvbW1hbmQsXG4gIHR5cGUgR2V0QWx0ZXJuYXRlQ29udGFjdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRBbHRlcm5hdGVDb250YWN0Q29tbWFuZE91dHB1dCxcbiAgR2V0Q29udGFjdEluZm9ybWF0aW9uQ29tbWFuZCxcbiAgdHlwZSBHZXRDb250YWN0SW5mb3JtYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0Q29udGFjdEluZm9ybWF0aW9uQ29tbWFuZE91dHB1dCxcbiAgR2V0UHJpbWFyeUVtYWlsQ29tbWFuZCxcbiAgdHlwZSBHZXRQcmltYXJ5RW1haWxDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UHJpbWFyeUVtYWlsQ29tbWFuZE91dHB1dCxcbiAgR2V0UmVnaW9uT3B0U3RhdHVzQ29tbWFuZCxcbiAgdHlwZSBHZXRSZWdpb25PcHRTdGF0dXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0UmVnaW9uT3B0U3RhdHVzQ29tbWFuZE91dHB1dCxcbiAgTGlzdFJlZ2lvbnNDb21tYW5kLFxuICB0eXBlIExpc3RSZWdpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RSZWdpb25zQ29tbWFuZE91dHB1dCxcbiAgUHV0QWx0ZXJuYXRlQ29udGFjdENvbW1hbmQsXG4gIHR5cGUgUHV0QWx0ZXJuYXRlQ29udGFjdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdXRBbHRlcm5hdGVDb250YWN0Q29tbWFuZE91dHB1dCxcbiAgUHV0Q29udGFjdEluZm9ybWF0aW9uQ29tbWFuZCxcbiAgdHlwZSBQdXRDb250YWN0SW5mb3JtYXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUHV0Q29udGFjdEluZm9ybWF0aW9uQ29tbWFuZE91dHB1dCxcbiAgU3RhcnRQcmltYXJ5RW1haWxVcGRhdGVDb21tYW5kLFxuICB0eXBlIFN0YXJ0UHJpbWFyeUVtYWlsVXBkYXRlQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0UHJpbWFyeUVtYWlsVXBkYXRlQ29tbWFuZE91dHB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1hY2NvdW50XCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQgeyBBY2NvdW50Q2xpZW50SW5zdGFuY2UsIEFjY291bnRDbGllbnRJbnN0YW5jZUxheWVyIH0gZnJvbSBcIi4vQWNjb3VudENsaWVudEluc3RhbmNlLmpzXCI7XG5pbXBvcnQge1xuICBBY2NvdW50Q2xpZW50SW5zdGFuY2VDb25maWcsXG4gIERlZmF1bHRBY2NvdW50Q2xpZW50Q29uZmlnTGF5ZXIsXG4gIG1ha2VEZWZhdWx0QWNjb3VudENsaWVudEluc3RhbmNlQ29uZmlnLFxufSBmcm9tIFwiLi9BY2NvdW50Q2xpZW50SW5zdGFuY2VDb25maWcuanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgQWNjZXNzRGVuaWVkRXJyb3IsXG4gIENvbmZsaWN0RXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxuICBUb29NYW55UmVxdWVzdHNFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxufSBmcm9tIFwiLi9FcnJvcnMuanNcIjtcbmltcG9ydCB7IEFsbFNlcnZpY2VFcnJvcnMsIFNka0Vycm9yIH0gZnJvbSBcIi4vRXJyb3JzLmpzXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEhhbmRsZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGNvbm5lY3Rpb24gcGhhc2Ugb2YgYSByZXF1ZXN0XG4gICAqIG1heSB0YWtlIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IGlzIGFiYW5kb25lZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5jb25zdCBjb21tYW5kcyA9IHtcbiAgQWNjZXB0UHJpbWFyeUVtYWlsVXBkYXRlQ29tbWFuZCxcbiAgRGVsZXRlQWx0ZXJuYXRlQ29udGFjdENvbW1hbmQsXG4gIERpc2FibGVSZWdpb25Db21tYW5kLFxuICBFbmFibGVSZWdpb25Db21tYW5kLFxuICBHZXRBbHRlcm5hdGVDb250YWN0Q29tbWFuZCxcbiAgR2V0Q29udGFjdEluZm9ybWF0aW9uQ29tbWFuZCxcbiAgR2V0UHJpbWFyeUVtYWlsQ29tbWFuZCxcbiAgR2V0UmVnaW9uT3B0U3RhdHVzQ29tbWFuZCxcbiAgTGlzdFJlZ2lvbnNDb21tYW5kLFxuICBQdXRBbHRlcm5hdGVDb250YWN0Q29tbWFuZCxcbiAgUHV0Q29udGFjdEluZm9ybWF0aW9uQ29tbWFuZCxcbiAgU3RhcnRQcmltYXJ5RW1haWxVcGRhdGVDb21tYW5kLFxufTtcblxuaW50ZXJmYWNlIEFjY291bnRTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEFjY2VwdFByaW1hcnlFbWFpbFVwZGF0ZUNvbW1hbmR9XG4gICAqL1xuICBhY2NlcHRQcmltYXJ5RW1haWxVcGRhdGUoXG4gICAgYXJnczogQWNjZXB0UHJpbWFyeUVtYWlsVXBkYXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQWNjZXB0UHJpbWFyeUVtYWlsVXBkYXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBUb29NYW55UmVxdWVzdHNFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUFsdGVybmF0ZUNvbnRhY3RDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQWx0ZXJuYXRlQ29udGFjdChcbiAgICBhcmdzOiBEZWxldGVBbHRlcm5hdGVDb250YWN0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlQWx0ZXJuYXRlQ29udGFjdENvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBBY2Nlc3NEZW5pZWRFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBUb29NYW55UmVxdWVzdHNFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEaXNhYmxlUmVnaW9uQ29tbWFuZH1cbiAgICovXG4gIGRpc2FibGVSZWdpb24oXG4gICAgYXJnczogRGlzYWJsZVJlZ2lvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERpc2FibGVSZWdpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWNjZXNzRGVuaWVkRXJyb3IgfCBDb25mbGljdEVycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFRvb01hbnlSZXF1ZXN0c0Vycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEVuYWJsZVJlZ2lvbkNvbW1hbmR9XG4gICAqL1xuICBlbmFibGVSZWdpb24oXG4gICAgYXJnczogRW5hYmxlUmVnaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRW5hYmxlUmVnaW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEFjY2Vzc0RlbmllZEVycm9yIHwgQ29uZmxpY3RFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBUb29NYW55UmVxdWVzdHNFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRBbHRlcm5hdGVDb250YWN0Q29tbWFuZH1cbiAgICovXG4gIGdldEFsdGVybmF0ZUNvbnRhY3QoXG4gICAgYXJnczogR2V0QWx0ZXJuYXRlQ29udGFjdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEFsdGVybmF0ZUNvbnRhY3RDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWNjZXNzRGVuaWVkRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVG9vTWFueVJlcXVlc3RzRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0Q29udGFjdEluZm9ybWF0aW9uQ29tbWFuZH1cbiAgICovXG4gIGdldENvbnRhY3RJbmZvcm1hdGlvbihcbiAgICBhcmdzOiBHZXRDb250YWN0SW5mb3JtYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRDb250YWN0SW5mb3JtYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWNjZXNzRGVuaWVkRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVG9vTWFueVJlcXVlc3RzRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UHJpbWFyeUVtYWlsQ29tbWFuZH1cbiAgICovXG4gIGdldFByaW1hcnlFbWFpbChcbiAgICBhcmdzOiBHZXRQcmltYXJ5RW1haWxDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRQcmltYXJ5RW1haWxDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWNjZXNzRGVuaWVkRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVG9vTWFueVJlcXVlc3RzRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0UmVnaW9uT3B0U3RhdHVzQ29tbWFuZH1cbiAgICovXG4gIGdldFJlZ2lvbk9wdFN0YXR1cyhcbiAgICBhcmdzOiBHZXRSZWdpb25PcHRTdGF0dXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRSZWdpb25PcHRTdGF0dXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWNjZXNzRGVuaWVkRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVG9vTWFueVJlcXVlc3RzRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFJlZ2lvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFJlZ2lvbnMoXG4gICAgYXJnczogTGlzdFJlZ2lvbnNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0UmVnaW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBBY2Nlc3NEZW5pZWRFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBUb29NYW55UmVxdWVzdHNFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBQdXRBbHRlcm5hdGVDb250YWN0Q29tbWFuZH1cbiAgICovXG4gIHB1dEFsdGVybmF0ZUNvbnRhY3QoXG4gICAgYXJnczogUHV0QWx0ZXJuYXRlQ29udGFjdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1dEFsdGVybmF0ZUNvbnRhY3RDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWNjZXNzRGVuaWVkRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVG9vTWFueVJlcXVlc3RzRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHV0Q29udGFjdEluZm9ybWF0aW9uQ29tbWFuZH1cbiAgICovXG4gIHB1dENvbnRhY3RJbmZvcm1hdGlvbihcbiAgICBhcmdzOiBQdXRDb250YWN0SW5mb3JtYXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdXRDb250YWN0SW5mb3JtYXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgQWNjZXNzRGVuaWVkRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVG9vTWFueVJlcXVlc3RzRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnRQcmltYXJ5RW1haWxVcGRhdGVDb21tYW5kfVxuICAgKi9cbiAgc3RhcnRQcmltYXJ5RW1haWxVcGRhdGUoXG4gICAgYXJnczogU3RhcnRQcmltYXJ5RW1haWxVcGRhdGVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydFByaW1hcnlFbWFpbFVwZGF0ZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVG9vTWFueVJlcXVlc3RzRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZUFjY291bnRTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiooXykge1xuICBjb25zdCBjbGllbnQgPSB5aWVsZCogXyhBY2NvdW50Q2xpZW50SW5zdGFuY2UpO1xuXG4gIHJldHVybiBSZWNvcmQudG9FbnRyaWVzKGNvbW1hbmRzKS5yZWR1Y2UoKGFjYywgW2NvbW1hbmRdKSA9PiB7XG4gICAgY29uc3QgQ29tbWFuZEN0b3IgPSBjb21tYW5kc1tjb21tYW5kXSBhcyBhbnk7XG4gICAgY29uc3QgbWV0aG9kSW1wbCA9IChhcmdzOiBhbnksIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKGFib3J0U2lnbmFsKSA9PlxuICAgICAgICAgIGNsaWVudC5zZW5kKG5ldyBDb21tYW5kQ3RvcihhcmdzKSwge1xuICAgICAgICAgICAgLi4uKG9wdGlvbnMgPz8ge30pLFxuICAgICAgICAgICAgYWJvcnRTaWduYWwsXG4gICAgICAgICAgfSksXG4gICAgICAgIGNhdGNoOiAoZSkgPT4ge1xuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgQWNjb3VudFNlcnZpY2VFeGNlcHRpb24gJiYgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxBY2NvdW50U2VydmljZUV4Y2VwdGlvbj5cbiAgICAgICAgICAgID4oZS5uYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIFNlcnZpY2VFeGNlcHRpb24oe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTZGtFcnJvcih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG5hbWU6IFwiU2RrRXJyb3JcIixcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9IChjb21tYW5kWzBdLnRvTG93ZXJDYXNlKCkgKyBjb21tYW5kLnNsaWNlKDEpKS5yZXBsYWNlKFxuICAgICAgL0NvbW1hbmQkLyxcbiAgICAgIFwiXCIsXG4gICAgKTtcbiAgICByZXR1cm4geyAuLi5hY2MsIFttZXRob2ROYW1lXTogbWV0aG9kSW1wbCB9O1xuICB9LCB7fSkgYXMgQWNjb3VudFNlcnZpY2UkO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXCJAZWZmZWN0LWF3cy9jbGllbnQtYWNjb3VudC9BY2NvdW50U2VydmljZVwiKTxcbiAgQWNjb3VudFNlcnZpY2UsXG4gIEFjY291bnRTZXJ2aWNlJFxuPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdCh0aGlzLCBtYWtlQWNjb3VudFNlcnZpY2UpLnBpcGUoXG4gICAgTGF5ZXIucHJvdmlkZShBY2NvdW50Q2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0QWNjb3VudENsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiAgc3RhdGljIHJlYWRvbmx5IGxheWVyID0gKGNvbmZpZzogQWNjb3VudENsaWVudENvbmZpZykgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZUFjY291bnRTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShBY2NvdW50Q2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgICBMYXllci5wcm92aWRlKFxuICAgICAgICBMYXllci5lZmZlY3QoXG4gICAgICAgICAgQWNjb3VudENsaWVudEluc3RhbmNlQ29uZmlnLFxuICAgICAgICAgIG1ha2VEZWZhdWx0QWNjb3VudENsaWVudEluc3RhbmNlQ29uZmlnLnBpcGUoXG4gICAgICAgICAgICBFZmZlY3QubWFwKChkZWZhdWx0Q29uZmlnKSA9PiAoeyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSkpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIHN0YXRpYyByZWFkb25seSBiYXNlTGF5ZXIgPSAoXG4gICAgZXZhbHVhdGU6IChkZWZhdWx0Q29uZmlnOiBBY2NvdW50Q2xpZW50Q29uZmlnKSA9PiBBY2NvdW50Q2xpZW50LFxuICApID0+XG4gICAgTGF5ZXIuZWZmZWN0KHRoaXMsIG1ha2VBY2NvdW50U2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBBY2NvdW50Q2xpZW50SW5zdGFuY2UsXG4gICAgICAgICAgRWZmZWN0Lm1hcChtYWtlRGVmYXVsdEFjY291bnRDbGllbnRJbnN0YW5jZUNvbmZpZywgZXZhbHVhdGUpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICogQGFsaWFzIEFjY291bnRTZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBBY2NvdW50ID0gQWNjb3VudFNlcnZpY2U7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgQWNjb3VudC5iYXNlTGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgQmFzZUFjY291bnRTZXJ2aWNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIEFjY291bnRTZXJ2aWNlLFxuICBtYWtlQWNjb3VudFNlcnZpY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICogQGRlcHJlY2F0ZWQgdXNlIEFjY291bnQubGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgQWNjb3VudFNlcnZpY2VMYXllciA9IEJhc2VBY2NvdW50U2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoQWNjb3VudENsaWVudEluc3RhbmNlTGF5ZXIpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBBY2NvdW50LmRlZmF1bHRMYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0QWNjb3VudFNlcnZpY2VMYXllciA9IEFjY291bnRTZXJ2aWNlLmRlZmF1bHRMYXllcjtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from "./AccountClientInstance.js";
2
+ export * from "./AccountClientInstanceConfig.js";
3
+ export * from "./AccountService.js";
4
+ export * from "./Errors.js";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9BY2NvdW50Q2xpZW50SW5zdGFuY2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0FjY291bnRDbGllbnRJbnN0YW5jZUNvbmZpZy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vQWNjb3VudFNlcnZpY2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0Vycm9ycy5qc1wiO1xuIl19
@@ -0,0 +1,4 @@
1
+ {
2
+ "type": "module",
3
+ "sideEffects": []
4
+ }
package/package.json CHANGED
@@ -1,54 +1,71 @@
1
1
  {
2
2
  "name": "@effect-aws/client-account",
3
+ "version": "1.3.0",
4
+ "description": "Effectful AWS Account client",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "github:floydspace/effect-aws",
9
+ "directory": "packages/client-account"
10
+ },
11
+ "sideEffects": [],
3
12
  "author": {
4
13
  "name": "Victor Korzunin",
5
14
  "email": "ifloydrose@gmail.com",
6
15
  "organization": false
7
16
  },
8
- "devDependencies": {
9
- "@types/node": "^18",
10
- "@typescript-eslint/eslint-plugin": "^7",
11
- "@typescript-eslint/parser": "^7",
12
- "aws-sdk-client-mock": "^4.0.2",
13
- "aws-sdk-client-mock-vitest": "^4.0.0",
14
- "effect": "3.0.0",
15
- "eslint": "^8",
16
- "eslint-config-prettier": "^9.1.0",
17
- "eslint-import-resolver-typescript": "^3.6.1",
18
- "eslint-plugin-import": "^2.29.1",
19
- "eslint-plugin-prettier": "^5.2.1",
20
- "prettier": "^3.2.5",
21
- "typescript": "^5.4.2",
22
- "vitest": "^2.0.5"
17
+ "homepage": "https://floydspace.github.io/effect-aws/docs/client-account",
18
+ "dependencies": {
19
+ "@aws-sdk/client-account": "^3"
23
20
  },
24
21
  "peerDependencies": {
25
22
  "effect": ">=3.0.0 <4.0.0"
26
23
  },
27
- "dependencies": {
28
- "@aws-sdk/client-account": "^3"
24
+ "main": "./dist/cjs/index.js",
25
+ "module": "./dist/esm/index.js",
26
+ "types": "./dist/dts/index.d.ts",
27
+ "exports": {
28
+ "./package.json": "./package.json",
29
+ ".": {
30
+ "types": "./dist/dts/index.d.ts",
31
+ "import": "./dist/esm/index.js",
32
+ "default": "./dist/cjs/index.js"
33
+ },
34
+ "./AccountClientInstance": {
35
+ "types": "./dist/dts/AccountClientInstance.d.ts",
36
+ "import": "./dist/esm/AccountClientInstance.js",
37
+ "default": "./dist/cjs/AccountClientInstance.js"
38
+ },
39
+ "./AccountClientInstanceConfig": {
40
+ "types": "./dist/dts/AccountClientInstanceConfig.d.ts",
41
+ "import": "./dist/esm/AccountClientInstanceConfig.js",
42
+ "default": "./dist/cjs/AccountClientInstanceConfig.js"
43
+ },
44
+ "./AccountService": {
45
+ "types": "./dist/dts/AccountService.d.ts",
46
+ "import": "./dist/esm/AccountService.js",
47
+ "default": "./dist/cjs/AccountService.js"
48
+ },
49
+ "./Errors": {
50
+ "types": "./dist/dts/Errors.d.ts",
51
+ "import": "./dist/esm/Errors.js",
52
+ "default": "./dist/cjs/Errors.js"
53
+ }
29
54
  },
30
- "main": "lib/index.js",
31
- "license": "MIT",
32
- "homepage": "https://floydspace.github.io/effect-aws",
33
- "publishConfig": {
34
- "access": "public"
35
- },
36
- "version": "1.1.0",
37
- "types": "lib/index.d.ts",
38
- "module": "lib/esm/index.js",
39
- "sideEffects": [],
40
- "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\".",
41
- "scripts": {
42
- "build": "npx projen build",
43
- "compile": "npx projen compile",
44
- "default": "npx projen default",
45
- "eslint": "npx projen eslint",
46
- "package": "npx projen package",
47
- "post-compile": "npx projen post-compile",
48
- "pre-compile": "npx projen pre-compile",
49
- "test": "npx projen test",
50
- "test:watch": "npx projen test:watch",
51
- "watch": "npx projen watch",
52
- "docgen": "docgen"
55
+ "typesVersions": {
56
+ "*": {
57
+ "AccountClientInstance": [
58
+ "./dist/dts/AccountClientInstance.d.ts"
59
+ ],
60
+ "AccountClientInstanceConfig": [
61
+ "./dist/dts/AccountClientInstanceConfig.d.ts"
62
+ ],
63
+ "AccountService": [
64
+ "./dist/dts/AccountService.d.ts"
65
+ ],
66
+ "Errors": [
67
+ "./dist/dts/Errors.d.ts"
68
+ ]
69
+ }
53
70
  }
54
71
  }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { AccountClient } from "@aws-sdk/client-account";
5
+ import { Context, Effect, Layer } from "effect";
6
+ import { AccountClientInstanceConfig, DefaultAccountClientConfigLayer } from "./AccountClientInstanceConfig.js";
7
+
8
+ /**
9
+ * @since 1.0.0
10
+ * @category tags
11
+ */
12
+ export class AccountClientInstance extends Context.Tag(
13
+ "@effect-aws/client-account/AccountClientInstance",
14
+ )<AccountClientInstance, AccountClient>() {}
15
+
16
+ /**
17
+ * @since 1.0.0
18
+ * @category constructors
19
+ */
20
+ export const makeAccountClientInstance = Effect.flatMap(
21
+ AccountClientInstanceConfig,
22
+ (config) =>
23
+ Effect.acquireRelease(
24
+ Effect.sync(() => new AccountClient(config)),
25
+ (client) => Effect.sync(() => client.destroy()),
26
+ ),
27
+ );
28
+
29
+ /**
30
+ * @since 1.0.0
31
+ * @category layers
32
+ */
33
+ export const AccountClientInstanceLayer = Layer.scoped(
34
+ AccountClientInstance,
35
+ makeAccountClientInstance,
36
+ );
37
+
38
+ /**
39
+ * @since 1.0.0
40
+ * @category layers
41
+ */
42
+ export const DefaultAccountClientInstanceLayer = AccountClientInstanceLayer.pipe(
43
+ Layer.provide(DefaultAccountClientConfigLayer),
44
+ );
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { AccountClientConfig } from "@aws-sdk/client-account";
5
+ import { Context, Effect, Layer, Runtime } from "effect";
6
+
7
+ /**
8
+ * @since 1.0.0
9
+ * @category tags
10
+ */
11
+ export class AccountClientInstanceConfig extends Context.Tag(
12
+ "@effect-aws/client-account/AccountClientInstanceConfig",
13
+ )<AccountClientInstanceConfig, AccountClientConfig>() {}
14
+
15
+ /**
16
+ * @since 1.0.0
17
+ * @category constructors
18
+ */
19
+ export const makeDefaultAccountClientInstanceConfig: Effect.Effect<AccountClientConfig> = Effect.gen(function*(_) {
20
+ const runtime = yield* _(Effect.runtime<never>());
21
+ const runSync = Runtime.runSync(runtime);
22
+
23
+ return {
24
+ logger: {
25
+ info(m) {
26
+ Effect.logInfo(m).pipe(runSync);
27
+ },
28
+ warn(m) {
29
+ Effect.logWarning(m).pipe(runSync);
30
+ },
31
+ error(m) {
32
+ Effect.logError(m).pipe(runSync);
33
+ },
34
+ debug(m) {
35
+ Effect.logDebug(m).pipe(runSync);
36
+ },
37
+ trace(m) {
38
+ Effect.logTrace(m).pipe(runSync);
39
+ },
40
+ },
41
+ };
42
+ });
43
+
44
+ /**
45
+ * @since 1.0.0
46
+ * @category layers
47
+ */
48
+ export const DefaultAccountClientConfigLayer = Layer.effect(
49
+ AccountClientInstanceConfig,
50
+ makeDefaultAccountClientInstanceConfig,
51
+ );