@amqp-contract/client-nestjs 0.2.1 → 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.
package/dist/index.cjs CHANGED
@@ -792,7 +792,9 @@ let AmqpClientService = class AmqpClientService$1 {
792
792
  * in the background with automatic reconnection handling.
793
793
  */
794
794
  async onModuleInit() {
795
- this.client = _amqp_contract_client.TypedAmqpClient.create(this.options);
795
+ const clientResult = await _amqp_contract_client.TypedAmqpClient.create(this.options);
796
+ if (clientResult.isError()) throw new Error(`Failed to create AMQP client: ${clientResult.error.message}`);
797
+ this.client = clientResult.get();
796
798
  }
797
799
  /**
798
800
  * Close the AMQP client when the NestJS module is destroyed.
package/dist/index.d.cts CHANGED
@@ -4,7 +4,7 @@ import { ContractDefinition, InferPublisherNames } from "@amqp-contract/contract
4
4
  import { Options } from "amqplib";
5
5
  import { Future, Result } from "@swan-io/boxed";
6
6
  import { AmqpConnectionManagerOptions, ConnectionUrl } from "amqp-connection-manager";
7
- import { ClientInferPublisherInput, MessageValidationError, TechnicalError } from "@amqp-contract/client";
7
+ import { ClientInferPublisherInput, ClientInferPublisherInput as ClientInferPublisherInput$1, MessageValidationError, TechnicalError } from "@amqp-contract/client";
8
8
 
9
9
  //#region src/client.service.d.ts
10
10
 
@@ -121,7 +121,7 @@ declare class AmqpClientService<TContract extends ContractDefinition> implements
121
121
  * }
122
122
  * ```
123
123
  */
124
- publish<TName extends InferPublisherNames<TContract>>(publisherName: TName, message: ClientInferPublisherInput<TContract, TName>, options?: Options.Publish): Future<Result<boolean, TechnicalError | MessageValidationError>>;
124
+ publish<TName extends InferPublisherNames<TContract>>(publisherName: TName, message: ClientInferPublisherInput$1<TContract, TName>, options?: Options.Publish): Future<Result<boolean, TechnicalError | MessageValidationError>>;
125
125
  }
126
126
  //#endregion
127
127
  //#region src/client.module-definition.d.ts
@@ -139,5 +139,5 @@ declare const ConfigurableModuleClass: _nestjs_common0.ConfigurableModuleCls<Amq
139
139
  */
140
140
  declare class AmqpClientModule extends ConfigurableModuleClass {}
141
141
  //#endregion
142
- export { AmqpClientModule, type AmqpClientModuleOptions, AmqpClientService, MODULE_OPTIONS_TOKEN };
142
+ export { AmqpClientModule, type AmqpClientModuleOptions, AmqpClientService, type ClientInferPublisherInput, MODULE_OPTIONS_TOKEN };
143
143
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/client.service.ts","../src/client.module-definition.ts","../src/client.module.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AA6BA;;;;;;AAuDA;;;;;;;AA2DwB,UAlHP,uBAkHO,CAAA,kBAlHmC,kBAkHnC,CAAA,CAAA;EACL;EACoB,QAAA,EAlH3B,SAkH2B;EAAW;EAArC,IAAA,EAhHL,aAgHK,EAAA;EACC;EACc,iBAAA,CAAA,EAhHN,4BAgHM,GAAA,SAAA;;;;;;;;;;AC3I5B;;;;;;;;;ACCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cF4Ea,oCAAoC,+BACpC,cAAc;;;uBAMG,wBAAwB;;;;;;;;kBAU9B;;;;;;;;qBAWG;;;;;;;;;;;;;;;;;;;;;;;;wBA8BH,oBAAoB,2BACzB,gBACN,0BAA0B,WAAW,kBACpC,OAAA,CAAQ,UACjB,OAAO,gBAAgB,iBAAiB;;;;;;;;cC3I9B,yBAAuB,eAAA,CAAA,sBAAA,wBAAA;;;;;;;;cCKzB,gBAAA,SAAyB,uBAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/client.service.ts","../src/client.module-definition.ts","../src/client.module.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AA6BA;;;;;;AAuDA;;;;;;;AA+DwB,UAtHP,uBAsHO,CAAA,kBAtHmC,kBAsHnC,CAAA,CAAA;EACL;EACoB,QAAA,EAtH3B,SAsH2B;EAAW;EAArC,IAAA,EApHL,aAoHK,EAAA;EACC;EACc,iBAAA,CAAA,EApHN,4BAoHM,GAAA,SAAA;;;;;;;;;;AC/I5B;;;;;;;;;ACCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cF4Ea,oCAAoC,+BACpC,cAAc;;;uBAMG,wBAAwB;;;;;;;;kBAU9B;;;;;;;;qBAeG;;;;;;;;;;;;;;;;;;;;;;;;wBA8BH,oBAAoB,2BACzB,gBACN,4BAA0B,WAAW,kBACpC,OAAA,CAAQ,UACjB,OAAO,gBAAgB,iBAAiB;;;;;;;;cC/I9B,yBAAuB,eAAA,CAAA,sBAAA,wBAAA;;;;;;;;cCKzB,gBAAA,SAAyB,uBAAA"}
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as _nestjs_common0 from "@nestjs/common";
2
2
  import { OnModuleDestroy, OnModuleInit } from "@nestjs/common";
3
- import { ClientInferPublisherInput, MessageValidationError, TechnicalError } from "@amqp-contract/client";
3
+ import { ClientInferPublisherInput, ClientInferPublisherInput as ClientInferPublisherInput$1, MessageValidationError, TechnicalError } from "@amqp-contract/client";
4
4
  import { ContractDefinition, InferPublisherNames } from "@amqp-contract/contract";
5
5
  import { Options } from "amqplib";
6
6
  import { Future, Result } from "@swan-io/boxed";
@@ -121,7 +121,7 @@ declare class AmqpClientService<TContract extends ContractDefinition> implements
121
121
  * }
122
122
  * ```
123
123
  */
124
- publish<TName extends InferPublisherNames<TContract>>(publisherName: TName, message: ClientInferPublisherInput<TContract, TName>, options?: Options.Publish): Future<Result<boolean, TechnicalError | MessageValidationError>>;
124
+ publish<TName extends InferPublisherNames<TContract>>(publisherName: TName, message: ClientInferPublisherInput$1<TContract, TName>, options?: Options.Publish): Future<Result<boolean, TechnicalError | MessageValidationError>>;
125
125
  }
126
126
  //#endregion
127
127
  //#region src/client.module-definition.d.ts
@@ -139,5 +139,5 @@ declare const ConfigurableModuleClass: _nestjs_common0.ConfigurableModuleCls<Amq
139
139
  */
140
140
  declare class AmqpClientModule extends ConfigurableModuleClass {}
141
141
  //#endregion
142
- export { AmqpClientModule, type AmqpClientModuleOptions, AmqpClientService, MODULE_OPTIONS_TOKEN };
142
+ export { AmqpClientModule, type AmqpClientModuleOptions, AmqpClientService, type ClientInferPublisherInput, MODULE_OPTIONS_TOKEN };
143
143
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/client.service.ts","../src/client.module-definition.ts","../src/client.module.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AA6BA;;;;;;AAuDA;;;;;;;AA2DwB,UAlHP,uBAkHO,CAAA,kBAlHmC,kBAkHnC,CAAA,CAAA;EACL;EACoB,QAAA,EAlH3B,SAkH2B;EAAW;EAArC,IAAA,EAhHL,aAgHK,EAAA;EACC;EACc,iBAAA,CAAA,EAhHN,4BAgHM,GAAA,SAAA;;;;;;;;;;AC3I5B;;;;;;;;;ACCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cF4Ea,oCAAoC,+BACpC,cAAc;;;uBAMG,wBAAwB;;;;;;;;kBAU9B;;;;;;;;qBAWG;;;;;;;;;;;;;;;;;;;;;;;;wBA8BH,oBAAoB,2BACzB,gBACN,0BAA0B,WAAW,kBACpC,OAAA,CAAQ,UACjB,OAAO,gBAAgB,iBAAiB;;;;;;;;cC3I9B,yBAAuB,eAAA,CAAA,sBAAA,wBAAA;;;;;;;;cCKzB,gBAAA,SAAyB,uBAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/client.service.ts","../src/client.module-definition.ts","../src/client.module.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AA6BA;;;;;;AAuDA;;;;;;;AA+DwB,UAtHP,uBAsHO,CAAA,kBAtHmC,kBAsHnC,CAAA,CAAA;EACL;EACoB,QAAA,EAtH3B,SAsH2B;EAAW;EAArC,IAAA,EApHL,aAoHK,EAAA;EACC;EACc,iBAAA,CAAA,EApHN,4BAoHM,GAAA,SAAA;;;;;;;;;;AC/I5B;;;;;;;;;ACCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cF4Ea,oCAAoC,+BACpC,cAAc;;;uBAMG,wBAAwB;;;;;;;;kBAU9B;;;;;;;;qBAeG;;;;;;;;;;;;;;;;;;;;;;;;wBA8BH,oBAAoB,2BACzB,gBACN,4BAA0B,WAAW,kBACpC,OAAA,CAAQ,UACjB,OAAO,gBAAgB,iBAAiB;;;;;;;;cC/I9B,yBAAuB,eAAA,CAAA,sBAAA,wBAAA;;;;;;;;cCKzB,gBAAA,SAAyB,uBAAA"}
package/dist/index.mjs CHANGED
@@ -792,7 +792,9 @@ let AmqpClientService = class AmqpClientService$1 {
792
792
  * in the background with automatic reconnection handling.
793
793
  */
794
794
  async onModuleInit() {
795
- this.client = TypedAmqpClient.create(this.options);
795
+ const clientResult = await TypedAmqpClient.create(this.options);
796
+ if (clientResult.isError()) throw new Error(`Failed to create AMQP client: ${clientResult.error.message}`);
797
+ this.client = clientResult.get();
796
798
  }
797
799
  /**
798
800
  * Close the AMQP client when the NestJS module is destroyed.
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["t","n","r","i","AmqpClientService","options: AmqpClientModuleOptions<TContract>","Future","Result","AmqpClientModule"],"sources":["../src/client.module-definition.ts","../../../node_modules/.pnpm/@swan-io+boxed@3.2.1_typescript@5.9.3/node_modules/@swan-io/boxed/dist/Boxed.js","../src/client.service.ts","../src/client.module.ts"],"sourcesContent":["import { ConfigurableModuleBuilder } from \"@nestjs/common\";\nimport type { ContractDefinition } from \"@amqp-contract/contract\";\nimport type { AmqpClientModuleOptions } from \"./client.service.js\";\n\n/**\n * ConfigurableModuleBuilder for AMQP client module\n * This creates forRoot and forRootAsync methods automatically\n */\nexport const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN } = new ConfigurableModuleBuilder<\n AmqpClientModuleOptions<ContractDefinition>\n>()\n .setClassMethodName(\"forRoot\")\n .build();\n","var t=function(t){return Object.keys(t)},n=function(t){return Object.values(t)},r=Object.prototype.hasOwnProperty,e={__proto__:null,fromEntries:Object.fromEntries,entries:function(t){return Object.entries(t)},keys:t,values:n,fromOptional:function(t){var n={};for(var e in t)if(r.call(t,e)){var u=t[e];if(void 0===u)continue;u.isSome()&&(n[e]=u.get())}return n}},u=new WeakMap,o=\"function\"==typeof WeakRef?WeakRef:/*#__PURE__*/function(){function t(t){u.set(this,t)}return t.prototype.deref=function(){return u.get(this)},t}(),i=function(){var t=new Map,n=\"function\"==typeof FinalizationRegistry?new FinalizationRegistry(function(n){t.delete(n)}):void 0;return{set:function(r,e){t.set(r,new o(e)),void 0!==n&&n.register(e,r)},get:function(n){var r=t.get(n);if(void 0!==r)return r.deref()}}},a=Symbol.for(\"__boxed_type__\"),c=function(t,n){for(var r=Math.min(t.length,n.length),e=Array(r),u=-1;++u<r;)e[u]=[t[u],n[u]];return e},f=i(),s=/*#__PURE__*/function(){function t(){}t.fromPredicate=function(t,n){return n(t)?p.Some(t):v};var n=t.prototype;return n.map=function(t){return this===v?this:p.Some(t(this.value))},n.flatMap=function(t){return this===v?this:t(this.value)},n.filter=function(t){return this===v||t(this.value)?this:v},n.get=function(){return this.value},n.getWithDefault=function(t){return this===v?t:this.value},n.getOr=function(t){return this===v?t:this.value},n.orElse=function(t){return this===v?t:this},n.mapOr=function(t,n){return this===v?t:n(this.value)},n.match=function(t){return this===v?t.None():t.Some(this.value)},n.tap=function(t){return t(this),this},n.tapSome=function(t){return this===v||t(this.value),this},n.toUndefined=function(){if(this!==v)return this.value},n.toNull=function(){return this===v?null:this.value},n.toResult=function(t){return this.match({Some:function(t){return k.Ok(t)},None:function(){return k.Error(t)}})},n.isSome=function(){return this!==v},n.isNone=function(){return this===v},n.toJSON=function(){return this.match({None:function(){var t;return(t={})[a]=\"Option\",t.tag=\"None\",t},Some:function(t){var n;return(n={})[a]=\"Option\",n.tag=\"Some\",n.value=t,n}})},t}();s.P={Some:function(t){return{tag:\"Some\",value:t}},None:{tag:\"None\"}},s.Some=function(t){var n=f.get(t);if(null==n){var r=Object.create(h);return r.tag=\"Some\",r.value=t,Object.freeze(r),f.set(t,r),r}return n},s.None=function(){return v},s.isOption=function(t){return null!=t&&\"Option\"===t.__boxed_type__},s.fromNullable=function(t){return null==t?v:p.Some(t)},s.fromNull=function(t){return null===t?v:p.Some(t)},s.fromUndefined=function(t){return void 0===t?v:p.Some(t)},s.all=function(t){for(var n,r=t.length,e=p.Some([]),u=0,o=function(){if(u>=r)return{v:e};var n=t[u];null!=n&&(e=e.flatMap(function(t){return n.map(function(n){return t.push(n),t})})),u++};;)if(n=o())return n.v},s.allFromDict=function(r){var e=t(r);return p.all(n(r)).map(function(t){return Object.fromEntries(c(e,t))})},s.equals=function(t,n,r){return t.isSome()&&n.isSome()?r(t.get(),n.get()):t.tag===n.tag},s.fromJSON=function(t){return\"None\"===t.tag?p.None():p.Some(t.value)},s.prototype.__boxed_type__=\"Option\";var l,h=s.prototype,v=((l=Object.create(h)).tag=\"None\",Object.freeze(l),l),p=s,m=i(),g=i(),O=/*#__PURE__*/function(){function t(){}var n=t.prototype;return n.map=function(t){return\"Ok\"===this.tag?k.Ok(t(this.value)):this},n.mapError=function(t){return\"Ok\"===this.tag?this:k.Error(t(this.error))},n.flatMap=function(t){return\"Ok\"===this.tag?t(this.value):this},n.flatMapError=function(t){return\"Ok\"===this.tag?this:t(this.error)},n.get=function(){return this.value},n.getError=function(){return this.error},n.getWithDefault=function(t){return\"Ok\"===this.tag?this.value:t},n.getOr=function(t){return\"Ok\"===this.tag?this.value:t},n.mapOr=function(t,n){return\"Error\"===this.tag?t:n(this.value)},n.match=function(t){return\"Ok\"===this.tag?t.Ok(this.value):t.Error(this.error)},n.tap=function(t){return t(this),this},n.tapOk=function(t){return\"Ok\"===this.tag&&t(this.value),this},n.tapError=function(t){return\"Error\"===this.tag&&t(this.error),this},n.toOption=function(){return\"Ok\"===this.tag?p.Some(this.value):v},n.isOk=function(){return\"Ok\"===this.tag},n.isError=function(){return\"Error\"===this.tag},n.toJSON=function(){return this.match({Ok:function(t){var n;return(n={})[a]=\"Result\",n.tag=\"Ok\",n.value=t,n},Error:function(t){var n;return(n={})[a]=\"Result\",n.tag=\"Error\",n.error=t,n}})},t}();O.P={Ok:function(t){return{tag:\"Ok\",value:t}},Error:function(t){return{tag:\"Error\",error:t}}},O.Ok=function(t){var n=m.get(t);if(null==n){var r=Object.create(_);return r.tag=\"Ok\",r.value=t,Object.freeze(r),m.set(t,r),r}return n},O.Error=function(t){var n=g.get(t);if(null==n){var r=Object.create(_);return r.tag=\"Error\",r.error=t,Object.freeze(r),g.set(t,r),r}return n},O.isResult=function(t){return null!=t&&\"Result\"===t.__boxed_type__},O.fromExecution=function(t){try{return k.Ok(t())}catch(t){return k.Error(t)}},O.fromPromise=function(t){try{return Promise.resolve(function(n,r){try{var e=Promise.resolve(t).then(function(t){return k.Ok(t)})}catch(t){return r(t)}return e&&e.then?e.then(void 0,r):e}(0,function(t){return k.Error(t)}))}catch(t){return Promise.reject(t)}},O.fromOption=function(t,n){return t.toResult(n)},O.all=function(t){for(var n,r=t.length,e=k.Ok([]),u=0,o=function(){if(u>=r)return{v:e};var n=t[u];null!=n&&(e=e.flatMap(function(t){return n.map(function(n){return t.push(n),t})})),u++};;)if(n=o())return n.v},O.allFromDict=function(r){var e=t(r);return k.all(n(r)).map(function(t){return Object.fromEntries(c(e,t))})},O.equals=function(t,n,r){return t.tag===n.tag&&(!(!t.isError()||!n.isError())||!(!t.isOk()||!n.isOk())&&r(t.get(),n.get()))},O.fromJSON=function(t){return\"Ok\"===t.tag?k.Ok(t.value):k.Error(t.error)},O.prototype.__boxed_type__=\"Result\";var _=O.prototype,k=O,d=function(t,n){return t===n?0:t>n?1:-1},y={__proto__:null,from:Array.from,of:Array.of,isArray:Array.isArray,findMap:function(t,n){for(var r=-1;++r<t.length;){var e=n(t[r]);if(e.isSome())return e}return p.None()},filterMap:function(t,n){var r=[];return t.forEach(function(t){var e=n(t);e.isSome()&&r.push(e.get())}),r},find:function(t,n){for(var r=-1;++r<t.length;){var e=t[r];if(n(e))return p.Some(e)}return p.None()},findIndex:function(t,n){for(var r=-1;++r<t.length;)if(n(t[r]))return p.Some(r);return p.None()},binarySearchBy:function(t,n,r){if(void 0===r&&(r=d),0===t.length)return-1;for(var e=0,u=t.length-1;;){var o=e+(u-e)/2|0;if(o===e||o===u)return u;var i=r(n,t[o]);if(0===i)return o;i>0?e=o:i<0&&(u=o)}},unzip:function(t){for(var n=t.length,r=Array(n),e=Array(n),u=-1;++u<n;){var o=t[u];void 0!==o&&(r[u]=o[0],e[u]=o[1])}return[r,e]},zip:c},E=i(),b=/*#__PURE__*/function(){function t(){}var n=t.prototype;return n.map=function(t){return this===j||this===D?this:R.Done(t(this.value))},n.flatMap=function(t){return this===j||this===D?this:t(this.value)},n.mapOkToResult=function(t){return this.map(function(n){return n.match({Ok:function(n){return t(n)},Error:function(){return n}})})},n.mapErrorToResult=function(t){return this.map(function(n){return n.match({Error:function(n){return t(n)},Ok:function(){return n}})})},n.mapOk=function(t){return this.map(function(n){return n.match({Ok:function(n){return k.Ok(t(n))},Error:function(){return n}})})},n.mapError=function(t){return this.map(function(n){return n.match({Ok:function(){return n},Error:function(n){return k.Error(t(n))}})})},n.flatMapOk=function(t){return this.flatMap(function(n){return n.match({Ok:function(n){return t(n)},Error:function(){return R.Done(n)}})})},n.flatMapError=function(t){return this.flatMap(function(n){return n.match({Ok:function(){return R.Done(n)},Error:function(n){return t(n)}})})},n.get=function(){return this.value},n.getWithDefault=function(t){return this===j||this===D?t:this.value},n.getOr=function(t){return this===j||this===D?t:this.value},n.mapOr=function(t,n){return this===j||this===D?t:n(this.value)},n.match=function(t){return this===j?t.NotAsked():this===D?t.Loading():t.Done(this.value)},n.tap=function(t){return t(this),this},n.toOption=function(){return this===j||this===D?p.None():p.Some(this.value)},n.isDone=function(){return this!==j&&this!==D},n.isLoading=function(){return this===D},n.isNotAsked=function(){return this===j},n.toJSON=function(){return this.match({NotAsked:function(){var t;return(t={})[a]=\"AsyncData\",t.tag=\"NotAsked\",t},Loading:function(){var t;return(t={})[a]=\"AsyncData\",t.tag=\"Loading\",t},Done:function(t){var n;return(n={})[a]=\"AsyncData\",n.tag=\"Done\",n.value=t,n}})},t}();b.P={Done:function(t){return{tag:\"Done\",value:t}},NotAsked:{tag:\"NotAsked\"},Loading:{tag:\"Loading\"}},b.Done=function(t){var n=E.get(t);if(null==n){var r=Object.create(N);return r.tag=\"Done\",r.value=t,Object.freeze(r),E.set(t,r),r}return n},b.Loading=function(){return D},b.NotAsked=function(){return j},b.all=function(t){for(var n,r=t.length,e=R.Done([]),u=0,o=function(){if(u>=r)return{v:e};var n=t[u];null!=n&&(e=e.flatMap(function(t){return n.map(function(n){return t.push(n),t})})),u++};;)if(n=o())return n.v},b.allFromDict=function(r){var e=t(r);return R.all(n(r)).map(function(t){return Object.fromEntries(c(e,t))})},b.equals=function(t,n,r){return\"Done\"===t.tag&&\"Done\"===n.tag?r(t.value,n.value):t.tag===n.tag},b.isAsyncData=function(t){return null!=t&&\"AsyncData\"===t.__boxed_type__},b.fromJSON=function(t){return\"NotAsked\"===t.tag?R.NotAsked():\"Loading\"===t.tag?R.Loading():R.Done(t.value)},b.prototype.__boxed_type__=\"AsyncData\";var S,N=b.prototype,D=((S=Object.create(N)).tag=\"Loading\",Object.freeze(S),S),j=function(){var t=Object.create(N);return t.tag=\"NotAsked\",Object.freeze(t),t}(),R=b,A=/*#__PURE__*/function(){function t(){this._state=void 0,this._state={tag:\"Pending\"}}t.fromPromise=function(t){return P.make(function(n){t.then(function(t){return n(k.Ok(t))},function(t){return n(k.Error(t))})})};var n=t.prototype;return n.onResolve=function(t){var n;\"Pending\"===this._state.tag?(this._state.resolveCallbacks=null!=(n=this._state.resolveCallbacks)?n:[],this._state.resolveCallbacks.push(t)):\"Resolved\"===this._state.tag&&t(this._state.value)},n.onCancel=function(t){var n;\"Pending\"===this._state.tag?(this._state.cancelCallbacks=null!=(n=this._state.cancelCallbacks)?n:[],this._state.cancelCallbacks.push(t)):\"Cancelled\"===this._state.tag&&t()},n.cancel=function(){if(\"Pending\"===this._state.tag){var t=this._state,n=t.cancel,r=t.cancelCallbacks;this._state={tag:\"Cancelled\"},null!=n&&n(),null==r||r.forEach(function(t){return t()})}},n.map=function(t,n){var r=this;void 0===n&&(n=!1);var e=P.make(function(e){if(r.onResolve(function(n){e(t(n))}),n)return function(){r.cancel()}});return this.onCancel(function(){e.cancel()}),e},n.then=function(t){return this.onResolve(t),this},n.flatMap=function(t,n){var r=this;void 0===n&&(n=!1);var e=P.make(function(u){if(r.onResolve(function(n){var r=t(n);r.onResolve(u),r.onCancel(function(){return e.cancel()})}),n)return function(){r.cancel()}});return this.onCancel(function(){e.cancel()}),e},n.tap=function(t){return this.onResolve(t),this},n.tapOk=function(t){return this.onResolve(function(n){n.match({Ok:function(n){return t(n)},Error:function(){}})}),this},n.tapError=function(t){return this.onResolve(function(n){n.match({Ok:function(){},Error:function(n){return t(n)}})}),this},n.mapOkToResult=function(t,n){return void 0===n&&(n=!1),this.map(function(n){return n.match({Ok:function(n){return t(n)},Error:function(){return n}})},n)},n.mapErrorToResult=function(t,n){return void 0===n&&(n=!1),this.map(function(n){return n.match({Error:function(n){return t(n)},Ok:function(){return n}})},n)},n.mapOk=function(t,n){return void 0===n&&(n=!1),this.map(function(n){return n.match({Ok:function(n){return k.Ok(t(n))},Error:function(){return n}})},n)},n.mapError=function(t,n){return void 0===n&&(n=!1),this.map(function(n){return n.match({Ok:function(){return n},Error:function(n){return k.Error(t(n))}})},n)},n.flatMapOk=function(t,n){return void 0===n&&(n=!1),this.flatMap(function(n){return n.match({Ok:function(n){return t(n)},Error:function(){return P.value(n)}})},n)},n.flatMapError=function(t,n){return void 0===n&&(n=!1),this.flatMap(function(n){return n.match({Ok:function(){return P.value(n)},Error:function(n){return t(n)}})},n)},n.toPromise=function(){var t=this;return new Promise(function(n){t.onResolve(n)})},n.resultToPromise=function(){var t=this;return new Promise(function(n,r){t.onResolve(function(t){t.match({Ok:n,Error:r})})})},t}();A.make=function(t){var n=Object.create(M);return n._state={tag:\"Pending\"},n._state.cancel=t(function(t){if(\"Pending\"===n._state.tag){var r=n._state.resolveCallbacks;n._state={tag:\"Resolved\",value:t},null==r||r.forEach(function(n){return n(t)})}}),n},A.isFuture=function(t){return null!=t&&Object.prototype.isPrototypeOf.call(M,t)},A.value=function(t){var n=Object.create(M);return n._state={tag:\"Resolved\",value:t},n},A.all=function(t,n){void 0===n&&(n=!1);for(var r,e=t.length,u=P.value([]),o=0,i=function(){if(o>=e)return{v:u};var r=t[o];null!=r&&(u=u.flatMap(function(t){return r.map(function(n){return t.push(n),t},n)},n)),o++};;)if(r=i())return r.v},A.allFromDict=function(r){var e=t(r);return P.all(n(r)).map(function(t){return Object.fromEntries(c(e,t))})},A.wait=function(t){return P.make(function(n){var r=setTimeout(function(){return n()},t);return function(){return clearTimeout(r)}})},A.retry=function(t,n){var r=n.max;return function n(e){return t(e).flatMapError(function(t){return e+1<r?n(e+1):P.value(k.Error(t))})}(0)},A.concurrent=function(t,n){var r=n.concurrency;return P.make(function(n){var e=Array(t.length),u=r-1,o=0;0!==t.length?t.slice(0,r).forEach(function r(i,a){return i().tap(function(i){if(e[a]=i,++o<t.length){var c=t[++u];null!=c&&r(c,u)}else n(e)})}):n([])})};var M=Object.create(null,Object.getOwnPropertyDescriptors(A.prototype)),P=A,x={make:function(){var t;return[P.make(function(n){t=n}),t]}},C=Symbol(\"NOT_COMPUTED\");function z(){return z=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t},z.apply(this,arguments)}var J={__proto__:null,encode:function(t,n){return JSON.stringify(t,function(t,n){return null==n?n:\"string\"==typeof n[a]?z({},n,{__boxed_type__:n[a]}):n},n)},decode:function(t){return JSON.parse(t,function(t,n){return null==n?n:\"Option\"===n.__boxed_type__?p.fromJSON(n):\"Result\"===n.__boxed_type__?k.fromJSON(n):\"AsyncData\"===n.__boxed_type__?R.fromJSON(n):n})}};exports.Array=y,exports.AsyncData=R,exports.Deferred=x,exports.Dict=e,exports.Future=P,exports.Lazy=function(t){var n={contents:C};return{get:function(){return n.contents===C&&(n.contents=t()),n.contents}}},exports.Option=p,exports.Result=k,exports.Serializer=J;\n//# sourceMappingURL=Boxed.js.map\n","import { Inject, Injectable, type OnModuleDestroy, type OnModuleInit } from \"@nestjs/common\";\nimport type { Options } from \"amqplib\";\nimport { Future, Result } from \"@swan-io/boxed\";\nimport type { ContractDefinition, InferPublisherNames } from \"@amqp-contract/contract\";\nimport type { AmqpConnectionManagerOptions, ConnectionUrl } from \"amqp-connection-manager\";\nimport {\n MessageValidationError,\n TechnicalError,\n TypedAmqpClient,\n type ClientInferPublisherInput,\n} from \"@amqp-contract/client\";\nimport { MODULE_OPTIONS_TOKEN } from \"./client.module-definition.js\";\n\n/**\n * Configuration options for the AMQP client NestJS module.\n *\n * @typeParam TContract - The contract definition type\n *\n * @example\n * ```typescript\n * const options: AmqpClientModuleOptions<typeof contract> = {\n * contract: myContract,\n * urls: ['amqp://localhost'],\n * connectionOptions: {\n * heartbeatIntervalInSeconds: 30\n * }\n * };\n * ```\n */\nexport interface AmqpClientModuleOptions<TContract extends ContractDefinition> {\n /** The AMQP contract definition specifying publishers and their message schemas */\n contract: TContract;\n /** AMQP broker URL(s). Multiple URLs provide failover support */\n urls: ConnectionUrl[];\n /** Optional connection configuration (heartbeat, reconnect settings, etc.) */\n connectionOptions?: AmqpConnectionManagerOptions | undefined;\n}\n\n/**\n * Type-safe AMQP client service for NestJS applications.\n *\n * This service wraps {@link TypedAmqpClient} and integrates it with the NestJS\n * lifecycle, automatically initializing the connection on module init and\n * cleaning up resources on module destroy.\n *\n * @typeParam TContract - The contract definition type\n *\n * @example\n * ```typescript\n * // In your module\n * import { AmqpClientModule } from '@amqp-contract/client-nestjs';\n *\n * @Module({\n * imports: [\n * AmqpClientModule.forRoot({\n * contract: myContract,\n * urls: ['amqp://localhost']\n * })\n * ]\n * })\n * export class AppModule {}\n *\n * // In your service\n * import { AmqpClientService } from '@amqp-contract/client-nestjs';\n *\n * @Injectable()\n * export class OrderService {\n * constructor(\n * private readonly amqpClient: AmqpClientService<typeof myContract>\n * ) {}\n *\n * async createOrder(order: Order) {\n * const result = await this.amqpClient.publish('orderCreated', {\n * orderId: order.id,\n * amount: order.total\n * }).resultToPromise();\n *\n * if (result.isError()) {\n * throw new Error('Failed to publish order event');\n * }\n * }\n * }\n * ```\n */\n@Injectable()\nexport class AmqpClientService<TContract extends ContractDefinition>\n implements OnModuleInit, OnModuleDestroy\n{\n private client: TypedAmqpClient<TContract> | null = null;\n\n constructor(\n @Inject(MODULE_OPTIONS_TOKEN)\n private readonly options: AmqpClientModuleOptions<TContract>,\n ) {}\n\n /**\n * Initialize the AMQP client when the NestJS module starts.\n *\n * This lifecycle hook automatically creates and initializes the client\n * when the NestJS application starts up. The connection will be established\n * in the background with automatic reconnection handling.\n */\n async onModuleInit(): Promise<void> {\n this.client = TypedAmqpClient.create(this.options);\n }\n\n /**\n * Close the AMQP client when the NestJS module is destroyed.\n *\n * This lifecycle hook ensures proper cleanup of resources when the\n * NestJS application shuts down, gracefully closing the connection\n * and cleaning up all consumers.\n */\n async onModuleDestroy(): Promise<void> {\n if (this.client) {\n await this.client.close().resultToPromise();\n this.client = null;\n }\n }\n\n /**\n * Publish a message using a contract-defined publisher.\n *\n * This method provides type-safe message publishing with automatic validation\n * and explicit error handling through the Result type.\n *\n * @param publisherName - The name of the publisher from the contract\n * @param message - The message payload (type-checked against the contract)\n * @param options - Optional AMQP publish options (e.g., persistence, headers)\n * @returns A Future that resolves to a Result indicating success or failure\n *\n * @example\n * ```typescript\n * const result = await this.amqpClient.publish('orderCreated', {\n * orderId: '123',\n * amount: 99.99\n * }).resultToPromise();\n *\n * if (result.isError()) {\n * console.error('Publish failed:', result.error);\n * }\n * ```\n */\n publish<TName extends InferPublisherNames<TContract>>(\n publisherName: TName,\n message: ClientInferPublisherInput<TContract, TName>,\n options?: Options.Publish,\n ): Future<Result<boolean, TechnicalError | MessageValidationError>> {\n if (!this.client) {\n return Future.value(\n Result.Error(\n new TechnicalError(\n \"Client not initialized. Ensure the module has been initialized before publishing.\",\n ),\n ),\n );\n }\n\n return this.client.publish(publisherName, message, options);\n }\n}\n","import { Module } from \"@nestjs/common\";\nimport { ConfigurableModuleClass } from \"./client.module-definition.js\";\nimport { AmqpClientService } from \"./client.service.js\";\n\n/**\n * NestJS module for AMQP client integration\n * This module provides type-safe AMQP client functionality using @amqp-contract/client\n * without relying on NestJS decorators (except for dependency injection)\n */\n@Module({\n providers: [AmqpClientService],\n exports: [AmqpClientService],\n})\nexport class AmqpClientModule extends ConfigurableModuleClass {}\n"],"x_google_ignoreList":[1],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["t","n","r","i","AmqpClientService","options: AmqpClientModuleOptions<TContract>","Future","Result","AmqpClientModule"],"sources":["../src/client.module-definition.ts","../../../node_modules/.pnpm/@swan-io+boxed@3.2.1_typescript@5.9.3/node_modules/@swan-io/boxed/dist/Boxed.js","../src/client.service.ts","../src/client.module.ts"],"sourcesContent":["import { ConfigurableModuleBuilder } from \"@nestjs/common\";\nimport type { ContractDefinition } from \"@amqp-contract/contract\";\nimport type { AmqpClientModuleOptions } from \"./client.service.js\";\n\n/**\n * ConfigurableModuleBuilder for AMQP client module\n * This creates forRoot and forRootAsync methods automatically\n */\nexport const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN } = new ConfigurableModuleBuilder<\n AmqpClientModuleOptions<ContractDefinition>\n>()\n .setClassMethodName(\"forRoot\")\n .build();\n","var t=function(t){return Object.keys(t)},n=function(t){return Object.values(t)},r=Object.prototype.hasOwnProperty,e={__proto__:null,fromEntries:Object.fromEntries,entries:function(t){return Object.entries(t)},keys:t,values:n,fromOptional:function(t){var n={};for(var e in t)if(r.call(t,e)){var u=t[e];if(void 0===u)continue;u.isSome()&&(n[e]=u.get())}return n}},u=new WeakMap,o=\"function\"==typeof WeakRef?WeakRef:/*#__PURE__*/function(){function t(t){u.set(this,t)}return t.prototype.deref=function(){return u.get(this)},t}(),i=function(){var t=new Map,n=\"function\"==typeof FinalizationRegistry?new FinalizationRegistry(function(n){t.delete(n)}):void 0;return{set:function(r,e){t.set(r,new o(e)),void 0!==n&&n.register(e,r)},get:function(n){var r=t.get(n);if(void 0!==r)return r.deref()}}},a=Symbol.for(\"__boxed_type__\"),c=function(t,n){for(var r=Math.min(t.length,n.length),e=Array(r),u=-1;++u<r;)e[u]=[t[u],n[u]];return e},f=i(),s=/*#__PURE__*/function(){function t(){}t.fromPredicate=function(t,n){return n(t)?p.Some(t):v};var n=t.prototype;return n.map=function(t){return this===v?this:p.Some(t(this.value))},n.flatMap=function(t){return this===v?this:t(this.value)},n.filter=function(t){return this===v||t(this.value)?this:v},n.get=function(){return this.value},n.getWithDefault=function(t){return this===v?t:this.value},n.getOr=function(t){return this===v?t:this.value},n.orElse=function(t){return this===v?t:this},n.mapOr=function(t,n){return this===v?t:n(this.value)},n.match=function(t){return this===v?t.None():t.Some(this.value)},n.tap=function(t){return t(this),this},n.tapSome=function(t){return this===v||t(this.value),this},n.toUndefined=function(){if(this!==v)return this.value},n.toNull=function(){return this===v?null:this.value},n.toResult=function(t){return this.match({Some:function(t){return k.Ok(t)},None:function(){return k.Error(t)}})},n.isSome=function(){return this!==v},n.isNone=function(){return this===v},n.toJSON=function(){return this.match({None:function(){var t;return(t={})[a]=\"Option\",t.tag=\"None\",t},Some:function(t){var n;return(n={})[a]=\"Option\",n.tag=\"Some\",n.value=t,n}})},t}();s.P={Some:function(t){return{tag:\"Some\",value:t}},None:{tag:\"None\"}},s.Some=function(t){var n=f.get(t);if(null==n){var r=Object.create(h);return r.tag=\"Some\",r.value=t,Object.freeze(r),f.set(t,r),r}return n},s.None=function(){return v},s.isOption=function(t){return null!=t&&\"Option\"===t.__boxed_type__},s.fromNullable=function(t){return null==t?v:p.Some(t)},s.fromNull=function(t){return null===t?v:p.Some(t)},s.fromUndefined=function(t){return void 0===t?v:p.Some(t)},s.all=function(t){for(var n,r=t.length,e=p.Some([]),u=0,o=function(){if(u>=r)return{v:e};var n=t[u];null!=n&&(e=e.flatMap(function(t){return n.map(function(n){return t.push(n),t})})),u++};;)if(n=o())return n.v},s.allFromDict=function(r){var e=t(r);return p.all(n(r)).map(function(t){return Object.fromEntries(c(e,t))})},s.equals=function(t,n,r){return t.isSome()&&n.isSome()?r(t.get(),n.get()):t.tag===n.tag},s.fromJSON=function(t){return\"None\"===t.tag?p.None():p.Some(t.value)},s.prototype.__boxed_type__=\"Option\";var l,h=s.prototype,v=((l=Object.create(h)).tag=\"None\",Object.freeze(l),l),p=s,m=i(),g=i(),O=/*#__PURE__*/function(){function t(){}var n=t.prototype;return n.map=function(t){return\"Ok\"===this.tag?k.Ok(t(this.value)):this},n.mapError=function(t){return\"Ok\"===this.tag?this:k.Error(t(this.error))},n.flatMap=function(t){return\"Ok\"===this.tag?t(this.value):this},n.flatMapError=function(t){return\"Ok\"===this.tag?this:t(this.error)},n.get=function(){return this.value},n.getError=function(){return this.error},n.getWithDefault=function(t){return\"Ok\"===this.tag?this.value:t},n.getOr=function(t){return\"Ok\"===this.tag?this.value:t},n.mapOr=function(t,n){return\"Error\"===this.tag?t:n(this.value)},n.match=function(t){return\"Ok\"===this.tag?t.Ok(this.value):t.Error(this.error)},n.tap=function(t){return t(this),this},n.tapOk=function(t){return\"Ok\"===this.tag&&t(this.value),this},n.tapError=function(t){return\"Error\"===this.tag&&t(this.error),this},n.toOption=function(){return\"Ok\"===this.tag?p.Some(this.value):v},n.isOk=function(){return\"Ok\"===this.tag},n.isError=function(){return\"Error\"===this.tag},n.toJSON=function(){return this.match({Ok:function(t){var n;return(n={})[a]=\"Result\",n.tag=\"Ok\",n.value=t,n},Error:function(t){var n;return(n={})[a]=\"Result\",n.tag=\"Error\",n.error=t,n}})},t}();O.P={Ok:function(t){return{tag:\"Ok\",value:t}},Error:function(t){return{tag:\"Error\",error:t}}},O.Ok=function(t){var n=m.get(t);if(null==n){var r=Object.create(_);return r.tag=\"Ok\",r.value=t,Object.freeze(r),m.set(t,r),r}return n},O.Error=function(t){var n=g.get(t);if(null==n){var r=Object.create(_);return r.tag=\"Error\",r.error=t,Object.freeze(r),g.set(t,r),r}return n},O.isResult=function(t){return null!=t&&\"Result\"===t.__boxed_type__},O.fromExecution=function(t){try{return k.Ok(t())}catch(t){return k.Error(t)}},O.fromPromise=function(t){try{return Promise.resolve(function(n,r){try{var e=Promise.resolve(t).then(function(t){return k.Ok(t)})}catch(t){return r(t)}return e&&e.then?e.then(void 0,r):e}(0,function(t){return k.Error(t)}))}catch(t){return Promise.reject(t)}},O.fromOption=function(t,n){return t.toResult(n)},O.all=function(t){for(var n,r=t.length,e=k.Ok([]),u=0,o=function(){if(u>=r)return{v:e};var n=t[u];null!=n&&(e=e.flatMap(function(t){return n.map(function(n){return t.push(n),t})})),u++};;)if(n=o())return n.v},O.allFromDict=function(r){var e=t(r);return k.all(n(r)).map(function(t){return Object.fromEntries(c(e,t))})},O.equals=function(t,n,r){return t.tag===n.tag&&(!(!t.isError()||!n.isError())||!(!t.isOk()||!n.isOk())&&r(t.get(),n.get()))},O.fromJSON=function(t){return\"Ok\"===t.tag?k.Ok(t.value):k.Error(t.error)},O.prototype.__boxed_type__=\"Result\";var _=O.prototype,k=O,d=function(t,n){return t===n?0:t>n?1:-1},y={__proto__:null,from:Array.from,of:Array.of,isArray:Array.isArray,findMap:function(t,n){for(var r=-1;++r<t.length;){var e=n(t[r]);if(e.isSome())return e}return p.None()},filterMap:function(t,n){var r=[];return t.forEach(function(t){var e=n(t);e.isSome()&&r.push(e.get())}),r},find:function(t,n){for(var r=-1;++r<t.length;){var e=t[r];if(n(e))return p.Some(e)}return p.None()},findIndex:function(t,n){for(var r=-1;++r<t.length;)if(n(t[r]))return p.Some(r);return p.None()},binarySearchBy:function(t,n,r){if(void 0===r&&(r=d),0===t.length)return-1;for(var e=0,u=t.length-1;;){var o=e+(u-e)/2|0;if(o===e||o===u)return u;var i=r(n,t[o]);if(0===i)return o;i>0?e=o:i<0&&(u=o)}},unzip:function(t){for(var n=t.length,r=Array(n),e=Array(n),u=-1;++u<n;){var o=t[u];void 0!==o&&(r[u]=o[0],e[u]=o[1])}return[r,e]},zip:c},E=i(),b=/*#__PURE__*/function(){function t(){}var n=t.prototype;return n.map=function(t){return this===j||this===D?this:R.Done(t(this.value))},n.flatMap=function(t){return this===j||this===D?this:t(this.value)},n.mapOkToResult=function(t){return this.map(function(n){return n.match({Ok:function(n){return t(n)},Error:function(){return n}})})},n.mapErrorToResult=function(t){return this.map(function(n){return n.match({Error:function(n){return t(n)},Ok:function(){return n}})})},n.mapOk=function(t){return this.map(function(n){return n.match({Ok:function(n){return k.Ok(t(n))},Error:function(){return n}})})},n.mapError=function(t){return this.map(function(n){return n.match({Ok:function(){return n},Error:function(n){return k.Error(t(n))}})})},n.flatMapOk=function(t){return this.flatMap(function(n){return n.match({Ok:function(n){return t(n)},Error:function(){return R.Done(n)}})})},n.flatMapError=function(t){return this.flatMap(function(n){return n.match({Ok:function(){return R.Done(n)},Error:function(n){return t(n)}})})},n.get=function(){return this.value},n.getWithDefault=function(t){return this===j||this===D?t:this.value},n.getOr=function(t){return this===j||this===D?t:this.value},n.mapOr=function(t,n){return this===j||this===D?t:n(this.value)},n.match=function(t){return this===j?t.NotAsked():this===D?t.Loading():t.Done(this.value)},n.tap=function(t){return t(this),this},n.toOption=function(){return this===j||this===D?p.None():p.Some(this.value)},n.isDone=function(){return this!==j&&this!==D},n.isLoading=function(){return this===D},n.isNotAsked=function(){return this===j},n.toJSON=function(){return this.match({NotAsked:function(){var t;return(t={})[a]=\"AsyncData\",t.tag=\"NotAsked\",t},Loading:function(){var t;return(t={})[a]=\"AsyncData\",t.tag=\"Loading\",t},Done:function(t){var n;return(n={})[a]=\"AsyncData\",n.tag=\"Done\",n.value=t,n}})},t}();b.P={Done:function(t){return{tag:\"Done\",value:t}},NotAsked:{tag:\"NotAsked\"},Loading:{tag:\"Loading\"}},b.Done=function(t){var n=E.get(t);if(null==n){var r=Object.create(N);return r.tag=\"Done\",r.value=t,Object.freeze(r),E.set(t,r),r}return n},b.Loading=function(){return D},b.NotAsked=function(){return j},b.all=function(t){for(var n,r=t.length,e=R.Done([]),u=0,o=function(){if(u>=r)return{v:e};var n=t[u];null!=n&&(e=e.flatMap(function(t){return n.map(function(n){return t.push(n),t})})),u++};;)if(n=o())return n.v},b.allFromDict=function(r){var e=t(r);return R.all(n(r)).map(function(t){return Object.fromEntries(c(e,t))})},b.equals=function(t,n,r){return\"Done\"===t.tag&&\"Done\"===n.tag?r(t.value,n.value):t.tag===n.tag},b.isAsyncData=function(t){return null!=t&&\"AsyncData\"===t.__boxed_type__},b.fromJSON=function(t){return\"NotAsked\"===t.tag?R.NotAsked():\"Loading\"===t.tag?R.Loading():R.Done(t.value)},b.prototype.__boxed_type__=\"AsyncData\";var S,N=b.prototype,D=((S=Object.create(N)).tag=\"Loading\",Object.freeze(S),S),j=function(){var t=Object.create(N);return t.tag=\"NotAsked\",Object.freeze(t),t}(),R=b,A=/*#__PURE__*/function(){function t(){this._state=void 0,this._state={tag:\"Pending\"}}t.fromPromise=function(t){return P.make(function(n){t.then(function(t){return n(k.Ok(t))},function(t){return n(k.Error(t))})})};var n=t.prototype;return n.onResolve=function(t){var n;\"Pending\"===this._state.tag?(this._state.resolveCallbacks=null!=(n=this._state.resolveCallbacks)?n:[],this._state.resolveCallbacks.push(t)):\"Resolved\"===this._state.tag&&t(this._state.value)},n.onCancel=function(t){var n;\"Pending\"===this._state.tag?(this._state.cancelCallbacks=null!=(n=this._state.cancelCallbacks)?n:[],this._state.cancelCallbacks.push(t)):\"Cancelled\"===this._state.tag&&t()},n.cancel=function(){if(\"Pending\"===this._state.tag){var t=this._state,n=t.cancel,r=t.cancelCallbacks;this._state={tag:\"Cancelled\"},null!=n&&n(),null==r||r.forEach(function(t){return t()})}},n.map=function(t,n){var r=this;void 0===n&&(n=!1);var e=P.make(function(e){if(r.onResolve(function(n){e(t(n))}),n)return function(){r.cancel()}});return this.onCancel(function(){e.cancel()}),e},n.then=function(t){return this.onResolve(t),this},n.flatMap=function(t,n){var r=this;void 0===n&&(n=!1);var e=P.make(function(u){if(r.onResolve(function(n){var r=t(n);r.onResolve(u),r.onCancel(function(){return e.cancel()})}),n)return function(){r.cancel()}});return this.onCancel(function(){e.cancel()}),e},n.tap=function(t){return this.onResolve(t),this},n.tapOk=function(t){return this.onResolve(function(n){n.match({Ok:function(n){return t(n)},Error:function(){}})}),this},n.tapError=function(t){return this.onResolve(function(n){n.match({Ok:function(){},Error:function(n){return t(n)}})}),this},n.mapOkToResult=function(t,n){return void 0===n&&(n=!1),this.map(function(n){return n.match({Ok:function(n){return t(n)},Error:function(){return n}})},n)},n.mapErrorToResult=function(t,n){return void 0===n&&(n=!1),this.map(function(n){return n.match({Error:function(n){return t(n)},Ok:function(){return n}})},n)},n.mapOk=function(t,n){return void 0===n&&(n=!1),this.map(function(n){return n.match({Ok:function(n){return k.Ok(t(n))},Error:function(){return n}})},n)},n.mapError=function(t,n){return void 0===n&&(n=!1),this.map(function(n){return n.match({Ok:function(){return n},Error:function(n){return k.Error(t(n))}})},n)},n.flatMapOk=function(t,n){return void 0===n&&(n=!1),this.flatMap(function(n){return n.match({Ok:function(n){return t(n)},Error:function(){return P.value(n)}})},n)},n.flatMapError=function(t,n){return void 0===n&&(n=!1),this.flatMap(function(n){return n.match({Ok:function(){return P.value(n)},Error:function(n){return t(n)}})},n)},n.toPromise=function(){var t=this;return new Promise(function(n){t.onResolve(n)})},n.resultToPromise=function(){var t=this;return new Promise(function(n,r){t.onResolve(function(t){t.match({Ok:n,Error:r})})})},t}();A.make=function(t){var n=Object.create(M);return n._state={tag:\"Pending\"},n._state.cancel=t(function(t){if(\"Pending\"===n._state.tag){var r=n._state.resolveCallbacks;n._state={tag:\"Resolved\",value:t},null==r||r.forEach(function(n){return n(t)})}}),n},A.isFuture=function(t){return null!=t&&Object.prototype.isPrototypeOf.call(M,t)},A.value=function(t){var n=Object.create(M);return n._state={tag:\"Resolved\",value:t},n},A.all=function(t,n){void 0===n&&(n=!1);for(var r,e=t.length,u=P.value([]),o=0,i=function(){if(o>=e)return{v:u};var r=t[o];null!=r&&(u=u.flatMap(function(t){return r.map(function(n){return t.push(n),t},n)},n)),o++};;)if(r=i())return r.v},A.allFromDict=function(r){var e=t(r);return P.all(n(r)).map(function(t){return Object.fromEntries(c(e,t))})},A.wait=function(t){return P.make(function(n){var r=setTimeout(function(){return n()},t);return function(){return clearTimeout(r)}})},A.retry=function(t,n){var r=n.max;return function n(e){return t(e).flatMapError(function(t){return e+1<r?n(e+1):P.value(k.Error(t))})}(0)},A.concurrent=function(t,n){var r=n.concurrency;return P.make(function(n){var e=Array(t.length),u=r-1,o=0;0!==t.length?t.slice(0,r).forEach(function r(i,a){return i().tap(function(i){if(e[a]=i,++o<t.length){var c=t[++u];null!=c&&r(c,u)}else n(e)})}):n([])})};var M=Object.create(null,Object.getOwnPropertyDescriptors(A.prototype)),P=A,x={make:function(){var t;return[P.make(function(n){t=n}),t]}},C=Symbol(\"NOT_COMPUTED\");function z(){return z=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t},z.apply(this,arguments)}var J={__proto__:null,encode:function(t,n){return JSON.stringify(t,function(t,n){return null==n?n:\"string\"==typeof n[a]?z({},n,{__boxed_type__:n[a]}):n},n)},decode:function(t){return JSON.parse(t,function(t,n){return null==n?n:\"Option\"===n.__boxed_type__?p.fromJSON(n):\"Result\"===n.__boxed_type__?k.fromJSON(n):\"AsyncData\"===n.__boxed_type__?R.fromJSON(n):n})}};exports.Array=y,exports.AsyncData=R,exports.Deferred=x,exports.Dict=e,exports.Future=P,exports.Lazy=function(t){var n={contents:C};return{get:function(){return n.contents===C&&(n.contents=t()),n.contents}}},exports.Option=p,exports.Result=k,exports.Serializer=J;\n//# sourceMappingURL=Boxed.js.map\n","import { Inject, Injectable, type OnModuleDestroy, type OnModuleInit } from \"@nestjs/common\";\nimport type { Options } from \"amqplib\";\nimport { Future, Result } from \"@swan-io/boxed\";\nimport type { ContractDefinition, InferPublisherNames } from \"@amqp-contract/contract\";\nimport type { AmqpConnectionManagerOptions, ConnectionUrl } from \"amqp-connection-manager\";\nimport {\n MessageValidationError,\n TechnicalError,\n TypedAmqpClient,\n type ClientInferPublisherInput,\n} from \"@amqp-contract/client\";\nimport { MODULE_OPTIONS_TOKEN } from \"./client.module-definition.js\";\n\n/**\n * Configuration options for the AMQP client NestJS module.\n *\n * @typeParam TContract - The contract definition type\n *\n * @example\n * ```typescript\n * const options: AmqpClientModuleOptions<typeof contract> = {\n * contract: myContract,\n * urls: ['amqp://localhost'],\n * connectionOptions: {\n * heartbeatIntervalInSeconds: 30\n * }\n * };\n * ```\n */\nexport interface AmqpClientModuleOptions<TContract extends ContractDefinition> {\n /** The AMQP contract definition specifying publishers and their message schemas */\n contract: TContract;\n /** AMQP broker URL(s). Multiple URLs provide failover support */\n urls: ConnectionUrl[];\n /** Optional connection configuration (heartbeat, reconnect settings, etc.) */\n connectionOptions?: AmqpConnectionManagerOptions | undefined;\n}\n\n/**\n * Type-safe AMQP client service for NestJS applications.\n *\n * This service wraps {@link TypedAmqpClient} and integrates it with the NestJS\n * lifecycle, automatically initializing the connection on module init and\n * cleaning up resources on module destroy.\n *\n * @typeParam TContract - The contract definition type\n *\n * @example\n * ```typescript\n * // In your module\n * import { AmqpClientModule } from '@amqp-contract/client-nestjs';\n *\n * @Module({\n * imports: [\n * AmqpClientModule.forRoot({\n * contract: myContract,\n * urls: ['amqp://localhost']\n * })\n * ]\n * })\n * export class AppModule {}\n *\n * // In your service\n * import { AmqpClientService } from '@amqp-contract/client-nestjs';\n *\n * @Injectable()\n * export class OrderService {\n * constructor(\n * private readonly amqpClient: AmqpClientService<typeof myContract>\n * ) {}\n *\n * async createOrder(order: Order) {\n * const result = await this.amqpClient.publish('orderCreated', {\n * orderId: order.id,\n * amount: order.total\n * }).resultToPromise();\n *\n * if (result.isError()) {\n * throw new Error('Failed to publish order event');\n * }\n * }\n * }\n * ```\n */\n@Injectable()\nexport class AmqpClientService<TContract extends ContractDefinition>\n implements OnModuleInit, OnModuleDestroy\n{\n private client: TypedAmqpClient<TContract> | null = null;\n\n constructor(\n @Inject(MODULE_OPTIONS_TOKEN)\n private readonly options: AmqpClientModuleOptions<TContract>,\n ) {}\n\n /**\n * Initialize the AMQP client when the NestJS module starts.\n *\n * This lifecycle hook automatically creates and initializes the client\n * when the NestJS application starts up. The connection will be established\n * in the background with automatic reconnection handling.\n */\n async onModuleInit(): Promise<void> {\n const clientResult = await TypedAmqpClient.create(this.options);\n if (clientResult.isError()) {\n throw new Error(`Failed to create AMQP client: ${clientResult.error.message}`);\n }\n this.client = clientResult.get();\n }\n\n /**\n * Close the AMQP client when the NestJS module is destroyed.\n *\n * This lifecycle hook ensures proper cleanup of resources when the\n * NestJS application shuts down, gracefully closing the connection\n * and cleaning up all consumers.\n */\n async onModuleDestroy(): Promise<void> {\n if (this.client) {\n await this.client.close().resultToPromise();\n this.client = null;\n }\n }\n\n /**\n * Publish a message using a contract-defined publisher.\n *\n * This method provides type-safe message publishing with automatic validation\n * and explicit error handling through the Result type.\n *\n * @param publisherName - The name of the publisher from the contract\n * @param message - The message payload (type-checked against the contract)\n * @param options - Optional AMQP publish options (e.g., persistence, headers)\n * @returns A Future that resolves to a Result indicating success or failure\n *\n * @example\n * ```typescript\n * const result = await this.amqpClient.publish('orderCreated', {\n * orderId: '123',\n * amount: 99.99\n * }).resultToPromise();\n *\n * if (result.isError()) {\n * console.error('Publish failed:', result.error);\n * }\n * ```\n */\n publish<TName extends InferPublisherNames<TContract>>(\n publisherName: TName,\n message: ClientInferPublisherInput<TContract, TName>,\n options?: Options.Publish,\n ): Future<Result<boolean, TechnicalError | MessageValidationError>> {\n if (!this.client) {\n return Future.value(\n Result.Error(\n new TechnicalError(\n \"Client not initialized. Ensure the module has been initialized before publishing.\",\n ),\n ),\n );\n }\n\n return this.client.publish(publisherName, message, options);\n }\n}\n","import { Module } from \"@nestjs/common\";\nimport { ConfigurableModuleClass } from \"./client.module-definition.js\";\nimport { AmqpClientService } from \"./client.service.js\";\n\n/**\n * NestJS module for AMQP client integration\n * This module provides type-safe AMQP client functionality using @amqp-contract/client\n * without relying on NestJS decorators (except for dependency injection)\n */\n@Module({\n providers: [AmqpClientService],\n exports: [AmqpClientService],\n})\nexport class AmqpClientModule extends ConfigurableModuleClass {}\n"],"x_google_ignoreList":[1],"mappings":"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"}
package/docs/index.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ### AmqpClientModule
10
10
 
11
- Defined in: [packages/client-nestjs/src/client.module.ts:14](https://github.com/btravers/amqp-contract/blob/f0945f098387fd3a6a40beac8cbe2ed7a4de210a/packages/client-nestjs/src/client.module.ts#L14)
11
+ Defined in: [packages/client-nestjs/src/client.module.ts:14](https://github.com/btravers/amqp-contract/blob/9351cdf40185977e98479881b5fc5e55897fdf7b/packages/client-nestjs/src/client.module.ts#L14)
12
12
 
13
13
  NestJS module for AMQP client integration
14
14
  This module provides type-safe AMQP client functionality using @amqp-contract/client
@@ -55,7 +55,7 @@ ConfigurableModuleClass.constructor
55
55
 
56
56
  ### AmqpClientService
57
57
 
58
- Defined in: [packages/client-nestjs/src/client.service.ts:86](https://github.com/btravers/amqp-contract/blob/f0945f098387fd3a6a40beac8cbe2ed7a4de210a/packages/client-nestjs/src/client.service.ts#L86)
58
+ Defined in: [packages/client-nestjs/src/client.service.ts:86](https://github.com/btravers/amqp-contract/blob/9351cdf40185977e98479881b5fc5e55897fdf7b/packages/client-nestjs/src/client.service.ts#L86)
59
59
 
60
60
  Type-safe AMQP client service for NestJS applications.
61
61
 
@@ -120,7 +120,7 @@ export class OrderService {
120
120
  new AmqpClientService<TContract>(options): AmqpClientService<TContract>;
121
121
  ```
122
122
 
123
- Defined in: [packages/client-nestjs/src/client.service.ts:91](https://github.com/btravers/amqp-contract/blob/f0945f098387fd3a6a40beac8cbe2ed7a4de210a/packages/client-nestjs/src/client.service.ts#L91)
123
+ Defined in: [packages/client-nestjs/src/client.service.ts:91](https://github.com/btravers/amqp-contract/blob/9351cdf40185977e98479881b5fc5e55897fdf7b/packages/client-nestjs/src/client.service.ts#L91)
124
124
 
125
125
  ###### Parameters
126
126
 
@@ -140,7 +140,7 @@ Defined in: [packages/client-nestjs/src/client.service.ts:91](https://github.com
140
140
  onModuleDestroy(): Promise<void>;
141
141
  ```
142
142
 
143
- Defined in: [packages/client-nestjs/src/client.service.ts:114](https://github.com/btravers/amqp-contract/blob/f0945f098387fd3a6a40beac8cbe2ed7a4de210a/packages/client-nestjs/src/client.service.ts#L114)
143
+ Defined in: [packages/client-nestjs/src/client.service.ts:118](https://github.com/btravers/amqp-contract/blob/9351cdf40185977e98479881b5fc5e55897fdf7b/packages/client-nestjs/src/client.service.ts#L118)
144
144
 
145
145
  Close the AMQP client when the NestJS module is destroyed.
146
146
 
@@ -164,7 +164,7 @@ OnModuleDestroy.onModuleDestroy
164
164
  onModuleInit(): Promise<void>;
165
165
  ```
166
166
 
167
- Defined in: [packages/client-nestjs/src/client.service.ts:103](https://github.com/btravers/amqp-contract/blob/f0945f098387fd3a6a40beac8cbe2ed7a4de210a/packages/client-nestjs/src/client.service.ts#L103)
167
+ Defined in: [packages/client-nestjs/src/client.service.ts:103](https://github.com/btravers/amqp-contract/blob/9351cdf40185977e98479881b5fc5e55897fdf7b/packages/client-nestjs/src/client.service.ts#L103)
168
168
 
169
169
  Initialize the AMQP client when the NestJS module starts.
170
170
 
@@ -191,7 +191,7 @@ publish<TName>(
191
191
  options?): Future<Result<boolean, TechnicalError | MessageValidationError>>;
192
192
  ```
193
193
 
194
- Defined in: [packages/client-nestjs/src/client.service.ts:144](https://github.com/btravers/amqp-contract/blob/f0945f098387fd3a6a40beac8cbe2ed7a4de210a/packages/client-nestjs/src/client.service.ts#L144)
194
+ Defined in: [packages/client-nestjs/src/client.service.ts:148](https://github.com/btravers/amqp-contract/blob/9351cdf40185977e98479881b5fc5e55897fdf7b/packages/client-nestjs/src/client.service.ts#L148)
195
195
 
196
196
  Publish a message using a contract-defined publisher.
197
197
 
@@ -209,7 +209,7 @@ and explicit error handling through the Result type.
209
209
  | Parameter | Type | Description |
210
210
  | ------ | ------ | ------ |
211
211
  | `publisherName` | `TName` | The name of the publisher from the contract |
212
- | `message` | `ClientInferPublisherInput`\<`TContract`, `TName`\> | The message payload (type-checked against the contract) |
212
+ | `message` | [`ClientInferPublisherInput`](#clientinferpublisherinput)\<`TContract`, `TName`\> | The message payload (type-checked against the contract) |
213
213
  | `options?` | `Publish` | Optional AMQP publish options (e.g., persistence, headers) |
214
214
 
215
215
  ###### Returns
@@ -235,7 +235,7 @@ if (result.isError()) {
235
235
 
236
236
  ### AmqpClientModuleOptions
237
237
 
238
- Defined in: [packages/client-nestjs/src/client.service.ts:30](https://github.com/btravers/amqp-contract/blob/f0945f098387fd3a6a40beac8cbe2ed7a4de210a/packages/client-nestjs/src/client.service.ts#L30)
238
+ Defined in: [packages/client-nestjs/src/client.service.ts:30](https://github.com/btravers/amqp-contract/blob/9351cdf40185977e98479881b5fc5e55897fdf7b/packages/client-nestjs/src/client.service.ts#L30)
239
239
 
240
240
  Configuration options for the AMQP client NestJS module.
241
241
 
@@ -261,9 +261,28 @@ const options: AmqpClientModuleOptions<typeof contract> = {
261
261
 
262
262
  | Property | Type | Description | Defined in |
263
263
  | ------ | ------ | ------ | ------ |
264
- | <a id="connectionoptions"></a> `connectionOptions?` | `AmqpConnectionManagerOptions` | Optional connection configuration (heartbeat, reconnect settings, etc.) | [packages/client-nestjs/src/client.service.ts:36](https://github.com/btravers/amqp-contract/blob/f0945f098387fd3a6a40beac8cbe2ed7a4de210a/packages/client-nestjs/src/client.service.ts#L36) |
265
- | <a id="contract"></a> `contract` | `TContract` | The AMQP contract definition specifying publishers and their message schemas | [packages/client-nestjs/src/client.service.ts:32](https://github.com/btravers/amqp-contract/blob/f0945f098387fd3a6a40beac8cbe2ed7a4de210a/packages/client-nestjs/src/client.service.ts#L32) |
266
- | <a id="urls"></a> `urls` | `ConnectionUrl`[] | AMQP broker URL(s). Multiple URLs provide failover support | [packages/client-nestjs/src/client.service.ts:34](https://github.com/btravers/amqp-contract/blob/f0945f098387fd3a6a40beac8cbe2ed7a4de210a/packages/client-nestjs/src/client.service.ts#L34) |
264
+ | <a id="connectionoptions"></a> `connectionOptions?` | `AmqpConnectionManagerOptions` | Optional connection configuration (heartbeat, reconnect settings, etc.) | [packages/client-nestjs/src/client.service.ts:36](https://github.com/btravers/amqp-contract/blob/9351cdf40185977e98479881b5fc5e55897fdf7b/packages/client-nestjs/src/client.service.ts#L36) |
265
+ | <a id="contract"></a> `contract` | `TContract` | The AMQP contract definition specifying publishers and their message schemas | [packages/client-nestjs/src/client.service.ts:32](https://github.com/btravers/amqp-contract/blob/9351cdf40185977e98479881b5fc5e55897fdf7b/packages/client-nestjs/src/client.service.ts#L32) |
266
+ | <a id="urls"></a> `urls` | `ConnectionUrl`[] | AMQP broker URL(s). Multiple URLs provide failover support | [packages/client-nestjs/src/client.service.ts:34](https://github.com/btravers/amqp-contract/blob/9351cdf40185977e98479881b5fc5e55897fdf7b/packages/client-nestjs/src/client.service.ts#L34) |
267
+
268
+ ## Type Aliases
269
+
270
+ ### ClientInferPublisherInput
271
+
272
+ ```ts
273
+ type ClientInferPublisherInput<TContract, TName> = PublisherInferInput<InferPublisher<TContract, TName>>;
274
+ ```
275
+
276
+ Defined in: packages/client/dist/index.d.mts:51
277
+
278
+ Infer publisher input type (message payload) for a specific publisher in a contract
279
+
280
+ #### Type Parameters
281
+
282
+ | Type Parameter |
283
+ | ------ |
284
+ | `TContract` *extends* `ContractDefinition` |
285
+ | `TName` *extends* `InferPublisherNames`\<`TContract`\> |
267
286
 
268
287
  ## Variables
269
288
 
@@ -273,4 +292,4 @@ const options: AmqpClientModuleOptions<typeof contract> = {
273
292
  MODULE_OPTIONS_TOKEN: string | symbol;
274
293
  ```
275
294
 
276
- Defined in: [packages/client-nestjs/src/client.module-definition.ts:9](https://github.com/btravers/amqp-contract/blob/f0945f098387fd3a6a40beac8cbe2ed7a4de210a/packages/client-nestjs/src/client.module-definition.ts#L9)
295
+ Defined in: [packages/client-nestjs/src/client.module-definition.ts:9](https://github.com/btravers/amqp-contract/blob/9351cdf40185977e98479881b5fc5e55897fdf7b/packages/client-nestjs/src/client.module-definition.ts#L9)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amqp-contract/client-nestjs",
3
- "version": "0.2.1",
3
+ "version": "0.3.1",
4
4
  "description": "NestJS integration for @amqp-contract/client",
5
5
  "keywords": [
6
6
  "amqp",
@@ -43,8 +43,8 @@
43
43
  "docs"
44
44
  ],
45
45
  "dependencies": {
46
- "@amqp-contract/client": "0.2.1",
47
- "@amqp-contract/contract": "0.2.1"
46
+ "@amqp-contract/client": "0.3.1",
47
+ "@amqp-contract/contract": "0.3.1"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@nestjs/common": "11.1.10",
@@ -57,7 +57,7 @@
57
57
  "reflect-metadata": "0.2.2",
58
58
  "rxjs": "7.8.2",
59
59
  "tsdown": "0.18.2",
60
- "typedoc": "0.28.3",
60
+ "typedoc": "0.28.15",
61
61
  "typedoc-plugin-markdown": "4.9.0",
62
62
  "typescript": "5.9.3",
63
63
  "vitest": "4.0.16",