@axinom/mosaic-cli 0.43.0-rc.3 → 0.43.0-rc.4

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.
@@ -79,8 +79,9 @@ export declare class Codegen {
79
79
  * Create Messaging Settings property from Channel Data.
80
80
  * @param channelData - AsyncAPI channel information
81
81
  * @param settingsClassName - class name of messaging setting
82
+ * @param isCommonService - flag to indicate if it's for `AX_COMMON_SERVICE_ID`
82
83
  */
83
- createMessagingSettingProperty(channelData: ChannelData, settingsClassName: string): string;
84
+ createMessagingSettingProperty(channelData: ChannelData, settingsClassName: string, isCommonService: boolean): string;
84
85
  /**
85
86
  * Bundles a JSON schema into a self-contained file by including all external refs.
86
87
  * @param jsonSchema - Schema object.
@@ -11,6 +11,7 @@ const path = require("path");
11
11
  const common_1 = require("../../common");
12
12
  const presets_1 = require("./presets");
13
13
  const utils_1 = require("./utils");
14
+ const AX_COMMON_SERVICE_ID = 'ax-common-service';
14
15
  /**
15
16
  * Processes AsyncAPI document and generates Typescript classes from it.
16
17
  * Generated output:
@@ -312,7 +313,9 @@ class Codegen {
312
313
  const action = isMultiTenant ? 'extends' : 'implements';
313
314
  const visibility = isMultiTenant ? '' : 'public readonly ';
314
315
  const toStringOverride = isMultiTenant ? ' override' : '';
315
- const constructor = (0, endent_1.default) `private constructor(
316
+ const constructor = serviceId === AX_COMMON_SERVICE_ID
317
+ ? (0, endent_1.default) `private constructor(
318
+ ${visibility}serviceId: string,
316
319
  ${visibility}messageType: string,
317
320
  ${visibility}queue: string,
318
321
  ${visibility}routingKey: string,
@@ -320,15 +323,28 @@ class Codegen {
320
323
  ${visibility}aggregateType: string,
321
324
  ) {
322
325
  ${isMultiTenant
323
- ? `super('${serviceId}', messageType, queue, routingKey, action, aggregateType);`
324
- : ``}
325
- }`;
326
- const properties = channelsData.map((data) => this.createMessagingSettingProperty(data, className));
326
+ ? `super(serviceId, messageType, queue, routingKey, action, aggregateType);`
327
+ : ''}
328
+ }`
329
+ : (0, endent_1.default) `private constructor(
330
+ ${visibility}messageType: string,
331
+ ${visibility}queue: string,
332
+ ${visibility}routingKey: string,
333
+ ${visibility}action: 'command' | 'event',
334
+ ${visibility}aggregateType: string,
335
+ ) {
336
+ ${isMultiTenant
337
+ ? `super('${serviceId}', messageType, queue, routingKey, action, aggregateType);`
338
+ : ''}
339
+ }`;
340
+ const properties = channelsData.map((data) => this.createMessagingSettingProperty(data, className, serviceId === AX_COMMON_SERVICE_ID));
327
341
  const content = (0, endent_1.default) `import { ${baseClass} } from '@axinom/mosaic-message-bus-abstractions';
328
342
 
329
343
  export class ${className} ${action} ${baseClass} {
330
344
  ${properties.join(`\n`)}
331
- ${isMultiTenant ? `` : `\npublic readonly serviceId = '${serviceId}';\n`}
345
+ ${isMultiTenant || serviceId === AX_COMMON_SERVICE_ID
346
+ ? ``
347
+ : `\npublic readonly serviceId = '${serviceId}';\n`}
332
348
  ${constructor}
333
349
 
334
350
  public${toStringOverride} toString = (): string => {
@@ -347,8 +363,9 @@ class Codegen {
347
363
  * Create Messaging Settings property from Channel Data.
348
364
  * @param channelData - AsyncAPI channel information
349
365
  * @param settingsClassName - class name of messaging setting
366
+ * @param isCommonService - flag to indicate if it's for `AX_COMMON_SERVICE_ID`
350
367
  */
351
- createMessagingSettingProperty(channelData, settingsClassName) {
368
+ createMessagingSettingProperty(channelData, settingsClassName, isCommonService) {
352
369
  const messageType = modelina_1.FormatHelpers.toPascalCase(channelData.payloadName.replace('command', '').replace('event', ''));
353
370
  const action = channelData.acceptedAction === 'publish' ? 'command' : 'event';
354
371
  const contain = action === 'command' ? 'must contain' : 'contains';
@@ -364,19 +381,39 @@ class Codegen {
364
381
  aggregateIdFieldDesc = `The aggregate ID field ${contain} the value of the "${channelData.aggregateIdField}" field.`;
365
382
  break;
366
383
  }
367
- return (0, endent_1.default) `
368
- /**
369
- * Defines the messaging settings for the ${action} with message type
370
- * "${messageType}" and aggregate type "${channelData.aggregateType}".
371
- * ${aggregateIdFieldDesc}
372
- */
373
- public static ${messageType} = new ${settingsClassName}(
374
- '${messageType}',
375
- '${channelData.queueName}',
376
- '${channelData.routingKey}',
377
- '${action}',
378
- '${channelData.aggregateType}'
379
- );`;
384
+ if (isCommonService) {
385
+ return (0, endent_1.default) `
386
+ /**
387
+ * Defines the messaging settings for the ${action} with message type
388
+ * "${messageType}" and aggregate type "${channelData.aggregateType}".
389
+ * ${aggregateIdFieldDesc}
390
+ */
391
+ public static Get${messageType}Settings(serviceId: string) {
392
+ return new ${settingsClassName}(
393
+ serviceId,
394
+ '${messageType}',
395
+ '${channelData.queueName}',
396
+ '${channelData.routingKey}',
397
+ '${action}',
398
+ '${channelData.aggregateType}'
399
+ );
400
+ }`;
401
+ }
402
+ else {
403
+ return (0, endent_1.default) `
404
+ /**
405
+ * Defines the messaging settings for the ${action} with message type
406
+ * "${messageType}" and aggregate type "${channelData.aggregateType}".
407
+ * ${aggregateIdFieldDesc}
408
+ */
409
+ public static ${messageType} = new ${settingsClassName}(
410
+ '${messageType}',
411
+ '${channelData.queueName}',
412
+ '${channelData.routingKey}',
413
+ '${action}',
414
+ '${channelData.aggregateType}'
415
+ );`;
416
+ }
380
417
  }
381
418
  /**
382
419
  * Bundles a JSON schema into a self-contained file by including all external refs.
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/commands/msg-codegen/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/commands/msg-codegen/codegen.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;;AAE/B,iDAO4B;AAC5B,6CAI0B;AAC1B,mCAA4B;AAC5B,yBAAyB;AACzB,6BAA6B;AAC7B,yCAAwC;AAExC,uCAMmB;AACnB,mCAaiB;AAEjB,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAa,OAAO;IAQlB,YAAY,OAA8B;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACpD;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CACX,GAAG,OAAO,CAAC,WAAW,qCAAqC,CAC5D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAEY,GAAG;;YACd,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAEjD,IAAI;gBACF,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjC,MAAM,IAAI,CAAC,cAAc,CACvB,EAAE,EACF;oBACE,IAAI,CAAC,eAAe;oBACpB,IAAI,CAAC,iBAAiB;oBACtB,IAAI,CAAC,2BAA2B;iBACjC,EACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CACvC,CAAC;aACH;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,iBAAQ,CAAC,CAAC;aACxB;QACH,CAAC;KAAA;IAED;;;OAGG;IACG,IAAI,CAAC,GAAW;;YACpB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAE7C,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3D,CAAC;YAEF,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpC,OAAO;aACR;YAED,KAAK,MAAM,YAAY,IAAI,KAAK,EAAE;gBAChC,OAAO,CAAC,GAAG,CAAC,cAAc,YAAY,GAAG,CAAC,CAAC;gBAC3C,MAAM,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;aAClD;YAED,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE;gBAC5B,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC5B;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,qEAAqE;gBACrE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CACnE,CAAC;gBACF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC9B,IAAI,CAAC,eAAe,EACpB,IAAA,sBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EACpC,UAAU,CACX,CAAC;gBACF,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;gBAEtD,+EAA+E;gBAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CACrE,CAAC;gBACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAClC,IAAI,CAAC,iBAAiB,EACtB,IAAA,sBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EACpC,UAAU,CACX,CAAC;gBACF,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;gBAElE,oFAAoF;gBACpF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,2BAA2B,EAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAClC,CACF,CAAC;gBACF,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CACrC,IAAI,CAAC,2BAA2B,EAChC,IAAA,sBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EACpC,UAAU,CACX,CAAC;gBACF,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC;aAC1E;QACH,CAAC;KAAA;IAED;;;;OAIG;IACH,cAAc,CAAC,UAAkB,EAAE,QAAgB;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,wBAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,UAAkB,EAAE,QAAgB;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,wBAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACG,uBAAuB,CAAC,YAAoB;;YAChD,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;YAC5B,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,iBAAQ,EAC9C,MAAM,EACN,YAAY,CACb,CAAC,KAAK,EAAE,CAAC;YAEV,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,OAAO,CAAC,KAAK,CAAC,mBAAmB,YAAY,GAAG,CAAC,CAAC;gBAClD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;YAED,0BAA0B;YAC1B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAClC,IAAI,CAAC,eAAe,EACpB,IAAA,sBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAC9C,CAAC;YACF,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAExD,qBAAqB;YACrB,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,IAAI,CAAC,iBAAiB,EACtB,IAAA,sBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAC9C,CAAC;YACF,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAEtD,yBAAyB;YACzB,MAAM,2BAA2B,GAAG,IAAI,CAAC,IAAI,CAC3C,IAAI,CAAC,2BAA2B,EAChC,IAAA,sBAAc,EAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAC9C,CAAC;YACF,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;QACnE,CAAC;KAAA;IAED;;;;OAIG;IACG,cAAc,CAClB,gBAA2C,EAC3C,UAAkB;;YAElB,MAAM,SAAS,GAAG,IAAI,8BAAmB,CAAC;gBACxC,SAAS,EAAE,WAAW;gBACtB,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,eAAe;gBACxB,WAAW,EAAE;oBACX,WAAW,EAAE,IAAA,kDAAuC,EAAC;wBACnD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAa,CAAC,WAAW,CAAC,IAAI,CAAC;wBAC3D,oBAAoB,EAAE,IAAA,0CAAkC,GAAE;qBAC3D,CAAC;oBACF,SAAS,EAAE,IAAA,gDAAqC,EAAC;wBAC/C,oBAAoB,EAAE,IAAA,0CAAkC,GAAE;qBAC3D,CAAC;iBACH;gBACD,4BAA4B;gBAC5B,OAAO,EAAE;oBACP,2CAAiC;oBACjC,+BAAqB;oBACrB,sCAA4B;oBAC5B,6BAAmB;oBACnB,gCAAqB;oBACrB,wBAAc;iBACf;aACF,CAAC,CAAC;YAEH,IAAI,YAAY,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC9D,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC5D,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,YAAY,GAAG,YAAY,CAAC,GAAG,CAC7B,CAAC,EAAE,EAAE,EAAE,CACL,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CACrE,CAAC;aACH;YAED,MAAM,aAAa,GAAqC,EAAE,CAAC;YAC3D,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC5B,MAAM,eAAe,GAAG,IAAA,0BAAkB,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC/D,IAAI,aAAa,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE;oBAChD,aAAa,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;iBACrC;gBACD,aAAa,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE;gBACtC,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBACzC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC1D,IAAI,UAAU,EAAE;oBACd,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;iBAC9B;gBACD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE;oBACvC,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE;oBAChC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CACxC,eAAe,EACf,WAAW,CAAC,SAAS,CACtB,CAAC;oBACF,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;oBAChE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBAC9B;gBACD,2DAA2D;gBAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;gBAC9D,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;aACxD;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACzD,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;aACvD;QACH,CAAC;KAAA;IAED;;;;OAIG;IACG,aAAa,CACjB,gBAA2C,EAC3C,UAAkB;;YAElB,MAAM,cAAc,GAA0C,EAAE,CAAC;YAEjE,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,WAAW,EAAE,EAAE;gBACpD,MAAM,gBAAgB,GAAG,IAAA,0BAAkB,EAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC,CAAC;gBACtE,IAAI,cAAc,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE;oBAClD,cAAc,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;iBACvC;gBACD,cAAc,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAChD;YACD,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE;gBACvC,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC5C,MAAM,WAAW,GAAa,EAAE,CAAC;gBACjC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC1D,IAAI,UAAU,EAAE;oBACd,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;iBAClC;gBACD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE;oBACvC,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;oBAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;oBAC9B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE;wBACzD,MAAM,eAAe,GAAG,IAAA,+BAAuB,EAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;wBAChE,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAC9C,eAAe,EACf,IAAA,uBAAe,EAAC,GAAG,CAAC,CACrB,CAAC;wBACF,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;wBAC3D,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;qBACpC;iBACF;gBAED,2DAA2D;gBAC3D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;gBACnE,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;aACrE;YAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC7D,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACpE,CAAC;KAAA;IAED;;;;OAIG;IACG,cAAc,CAClB,gBAA2C,EAC3C,UAAkB;;;YAElB,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,gBAAgB,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,gBAAgB,CAAC,CAAC;YACjD,MAAM,YAAY,GAAkB,EAAE,CAAC;YAEvC,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,EAAE;gBACjD,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;gBAErE,IAAI,SAAS,KAAK,SAAS,EAAE;oBAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;oBACrC,MAAM,MAAM,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAC;oBACzC,MAAM,WAAW,GAAG,MAAA,IAAA,uBAAe,EAAC,OAAO,CAAC,mCAAI,WAAW,CAAC;oBAC5D,MAAM,aAAa,GAAG,IAAA,+BAAuB,EAAC,OAAO,CAAC,CAAC;oBACvD,MAAM,gBAAgB,GAAG,IAAA,kCAA0B,EAAC,OAAO,CAAC,CAAC;oBAC7D,YAAY,CAAC,IAAI,CAAC;wBAChB,UAAU;wBACV,SAAS;wBACT,WAAW;wBACX,cAAc,EAAE,MAAM;wBACtB,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACzC,aAAa;wBACb,gBAAgB;qBACjB,CAAC,CAAC;iBACJ;aACF;YAED,MAAM,IAAI,CAAC,yBAAyB,CAClC,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,UAAU,CACX,CAAC;;KACH;IAED;;;;;;OAMG;IACG,yBAAyB,CAC7B,SAAiB,EACjB,YAAoB,EACpB,YAA2B,EAC3B,UAAkB;;YAElB,MAAM,qBAAqB,GAAa,EAAE,CAAC;YAE3C,qBAAqB,CAAC,IAAI,CACxB,MAAM,IAAI,CAAC,0BAA0B,CACnC,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,EAC1D,UAAU,CACX,CACF,CAAC;YACF,qBAAqB,CAAC,IAAI,CACxB,MAAM,IAAI,CAAC,0BAA0B,CACnC,KAAK,EACL,SAAS,EACT,YAAY,EACZ,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,EAC3D,UAAU,CACX,CACF,CAAC;YAEF,sCAAsC;YACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC7D,MAAM,IAAI,CAAC,oBAAoB,CAC7B,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EACtC,EAAE,EACF,kBAAkB,CACnB,CAAC;QACJ,CAAC;KAAA;IAED;;;;;;;OAOG;IACG,0BAA0B,CAC9B,aAAsB,EACtB,SAAiB,EACjB,YAAoB,EACpB,YAA2B,EAC3B,UAAkB;;YAElB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,OAAO,EAAE,CAAC;aACX;YACD,MAAM,SAAS,GAAG,aAAa;gBAC7B,CAAC,CAAC,8BAA8B;gBAChC,CAAC,CAAC,mBAAmB,CAAC;YACxB,MAAM,SAAS,GAAG,GAAG,wBAAa,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,SAAS,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;YACxD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;YAC3D,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,MAAM,WAAW,GACf,SAAS,KAAK,oBAAoB;gBAChC,CAAC,CAAC,IAAA,gBAAM,EAAA;QACR,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;QACV,UAAU;;QAGV,aAAa;oBACX,CAAC,CAAC,0EAA0E;oBAC5E,CAAC,CAAC,EACN;MACA;gBACE,CAAC,CAAC,IAAA,gBAAM,EAAA;YACJ,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;;YAGV,aAAa;oBACX,CAAC,CAAC,UAAU,SAAS,4DAA4D;oBACjF,CAAC,CAAC,EACN;UACA,CAAC;YAEP,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,IAAI,CAAC,8BAA8B,CACjC,IAAI,EACJ,SAAS,EACT,SAAS,KAAK,oBAAoB,CACnC,CACF,CAAC;YACF,MAAM,OAAO,GAAG,IAAA,gBAAM,EAAA,YAAY,SAAS;;mBAE5B,SAAS,IAAI,MAAM,IAAI,SAAS;QAC3C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QAErB,aAAa,IAAI,SAAS,KAAK,oBAAoB;gBACjD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,kCAAkC,SAAS,MACjD;QACE,WAAW;;cAEL,gBAAgB;;;MAGxB,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,UAAU,EACV,GAAG,wBAAa,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAC7C,CAAC;YACF,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC9C,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE/C,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IACD;;;;;OAKG;IACH,8BAA8B,CAC5B,WAAwB,EACxB,iBAAyB,EACzB,eAAwB;QAExB,MAAM,WAAW,GAAG,wBAAa,CAAC,YAAY,CAC5C,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CACpE,CAAC;QACF,MAAM,MAAM,GACV,WAAW,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACjE,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;QACnE,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,QAAQ,WAAW,CAAC,gBAAgB,EAAE;YACpC,KAAK,cAAc;gBACjB,oBAAoB,GAAG,oDAAoD,OAAO,4BAA4B,CAAC;gBAC/G,MAAM;YACR,KAAK,cAAc;gBACjB,oBAAoB,GAAG,gEAAgE,OAAO,4BAA4B,CAAC;gBAC3H,MAAM;YACR;gBACE,oBAAoB,GAAG,0BAA0B,OAAO,sBAAsB,WAAW,CAAC,gBAAgB,UAAU,CAAC;gBACrH,MAAM;SACT;QAED,IAAI,eAAe,EAAE;YACnB,OAAO,IAAA,gBAAM,EAAA;;kDAE+B,MAAM;YAC5C,WAAW,yBAAyB,WAAW,CAAC,aAAa;WAC9D,oBAAoB;;yBAEN,WAAW;qBACf,iBAAiB;;aAEzB,WAAW;aACX,WAAW,CAAC,SAAS;aACrB,WAAW,CAAC,UAAU;aACtB,MAAM;aACN,WAAW,CAAC,aAAa;;QAE9B,CAAC;SACJ;aAAM;YACL,OAAO,IAAA,gBAAM,EAAA;;kDAE+B,MAAM;YAC5C,WAAW,yBAAyB,WAAW,CAAC,aAAa;WAC9D,oBAAoB;;sBAET,WAAW,UAAU,iBAAiB;WACjD,WAAW;WACX,WAAW,CAAC,SAAS;WACrB,WAAW,CAAC,UAAU;WACtB,MAAM;WACN,WAAW,CAAC,aAAa;WACzB,CAAC;SACP;IACH,CAAC;IAED;;;;OAIG;IACG,YAAY,CAAC,UAAmB,EAAE,OAAe;;YACrD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;KAAA;IAED,4GAA4G;IAC5G,iFAAiF;IACjF;;;;;;OAMG;IACG,cAAc,CAClB,KAAe,EACf,IAAc,EACd,OAAe;;YAEf,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,GAAG,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG;gBACZ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC5C,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACrE,CAAC;YAEF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,OAAO;aACR;YAED,MAAM,OAAO,GAAG,GAAG,KAAK;iBACrB,IAAI,EAAE;iBACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC;iBACrC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChB,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,aAAa,GAAG,EAAE,CAAC;YAEvB,2CAA2C;YAC3C,sDAAsD;YACtD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBACjC,+EAA+E;gBAC/E,sDAAsD;gBACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;oBAClE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,UAAU,GAAG,IAAA,gBAAM,EAAA;;+BAEI,IAAA,mBAAW,EAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;;SAEhE,CAAC;iBACH;qBAAM;oBACL,IAAI,YAAY,GAAG,wBAAa,CAAC,YAAY,CAC3C,IAAA,sBAAc,EAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAC5D,CAAC;oBACF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;wBACnC,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,6CAA6C;wBAClG,UAAU,GAAG,IAAA,gBAAM,EAAA;sBACP,YAAY;YACtB,WAAW;6BACV,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,wBAAa,CAAC,YAAY,CAC3B,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CACxB,OAAO,IAAA,mBAAW,EAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,CACrD;6BACA,IAAI,CAAC,KAAK,CAAC;UACd,CAAC;wBACD,aAAa,GAAG,IAAA,gBAAM,EAAA;sBACV,YAAY;YACtB,WAAW;6BACV,IAAI,EAAE;6BACN,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,wBAAa,CAAC,YAAY,CAC3B,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CACxB,OAAO,wBAAa,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CACjE;6BACA,IAAI,CAAC,KAAK,CAAC;UACd,CAAC;qBACF;iBACF;aACF;YAED,MAAM,QAAQ,GAAG,IAAA,gBAAM,EAAA;MACrB,OAAO;;MAEP,UAAU;;MAEV,aAAa;KACd,CAAC;YAEF,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;KAAA;IAED;;;;;OAKG;IACG,oBAAoB,CACxB,KAAe,EACf,IAAc,EACd,OAAe;;YAEf,OAAO,CAAC,GAAG,CAAC,4CAA4C,OAAO,GAAG,CAAC,CAAC;YACpE,MAAM,KAAK,GAAG;gBACZ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC5C,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACrE,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI;iBACpB,IAAI,EAAE;iBACN,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;iBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,OAAO;aACR;YAED,IAAI,QAAQ,GAAG,EAAE,CAAC;YAElB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnE,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBACzE,QAAQ,GAAG,IAAA,gBAAM,EAAA;UACb,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC5B,CAAC;aACL;YAED,QAAQ,IAAI,IAAA,gBAAM,EAAA;QACd,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAElE,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;KAAA;IACD;;;;;OAKG;IACG,kBAAkB,CACtB,KAAe,EACf,IAAc,EACd,OAAe;;YAEf,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,GAAG,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG;gBACZ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC9C,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACrE,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI;iBACpB,IAAI,EAAE;iBACN,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;iBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,OAAO;aACR;YAED,IAAI,QAAQ,GAAG,EAAE,CAAC;YAElB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrE,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CACjC,CAAC,CAAC,EAAE,EAAE,CACJ,eAAe,wBAAa,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CACrE,CAAC;gBACF,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CACjC,CAAC,CAAC,EAAE,EAAE,CACJ,gBAAgB,wBAAa,CAAC,YAAY,CACxC,CAAC,CACF,YAAY,wBAAa,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAChD,CAAC;gBACF,QAAQ,GAAG,IAAA,gBAAM,EAAA;QACf,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;QAExB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;OACzB,CAAC;aACH;YAED,QAAQ,IAAI,IAAA,gBAAM,EAAA;MAChB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAEhE,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;KAAA;IAED;;;OAGG;IACH,kBAAkB,CAAC,MAAc;QAC/B,OAAO,IAAI,CAAC,IAAI,CACd,IAAA,sBAAc,EAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EAC5C,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CACvC,CAAC;IACJ,CAAC;CACF;AApuBD,0BAouBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axinom/mosaic-cli",
3
- "version": "0.43.0-rc.3",
3
+ "version": "0.43.0-rc.4",
4
4
  "description": "The Axinom Mosaic CLI",
5
5
  "author": "Axinom",
6
6
  "license": "PROPRIETARY",
@@ -34,8 +34,8 @@
34
34
  "@asyncapi/diff": "^0.4.1",
35
35
  "@asyncapi/modelina": "^1.8.4",
36
36
  "@asyncapi/parser": "^2.0.2",
37
- "@axinom/mosaic-id-link-be": "^0.31.0-rc.3",
38
- "@axinom/mosaic-service-common": "^0.59.0-rc.3",
37
+ "@axinom/mosaic-id-link-be": "^0.31.0-rc.4",
38
+ "@axinom/mosaic-service-common": "^0.59.0-rc.4",
39
39
  "@graphql-inspector/core": "^3.1.2",
40
40
  "@inquirer/prompts": "^4.3.0",
41
41
  "@stoplight/spectral-core": "^1.18.3",
@@ -77,5 +77,5 @@
77
77
  "publishConfig": {
78
78
  "access": "public"
79
79
  },
80
- "gitHead": "11c9343c8e5e6f5a642ee11ed8350990af19e38f"
80
+ "gitHead": "6b7371f3ae6db64b9ba831680b4a0af604e38372"
81
81
  }
@@ -40,6 +40,8 @@ import {
40
40
  toPosixPath,
41
41
  } from './utils';
42
42
 
43
+ const AX_COMMON_SERVICE_ID = 'ax-common-service';
44
+
43
45
  /**
44
46
  * Processes AsyncAPI document and generates Typescript classes from it.
45
47
  * Generated output:
@@ -459,7 +461,10 @@ export class Codegen {
459
461
  const action = isMultiTenant ? 'extends' : 'implements';
460
462
  const visibility = isMultiTenant ? '' : 'public readonly ';
461
463
  const toStringOverride = isMultiTenant ? ' override' : '';
462
- const constructor = endent`private constructor(
464
+ const constructor =
465
+ serviceId === AX_COMMON_SERVICE_ID
466
+ ? endent`private constructor(
467
+ ${visibility}serviceId: string,
463
468
  ${visibility}messageType: string,
464
469
  ${visibility}queue: string,
465
470
  ${visibility}routingKey: string,
@@ -468,19 +473,40 @@ export class Codegen {
468
473
  ) {
469
474
  ${
470
475
  isMultiTenant
471
- ? `super('${serviceId}', messageType, queue, routingKey, action, aggregateType);`
472
- : ``
476
+ ? `super(serviceId, messageType, queue, routingKey, action, aggregateType);`
477
+ : ''
473
478
  }
474
- }`;
479
+ }`
480
+ : endent`private constructor(
481
+ ${visibility}messageType: string,
482
+ ${visibility}queue: string,
483
+ ${visibility}routingKey: string,
484
+ ${visibility}action: 'command' | 'event',
485
+ ${visibility}aggregateType: string,
486
+ ) {
487
+ ${
488
+ isMultiTenant
489
+ ? `super('${serviceId}', messageType, queue, routingKey, action, aggregateType);`
490
+ : ''
491
+ }
492
+ }`;
475
493
 
476
494
  const properties = channelsData.map((data) =>
477
- this.createMessagingSettingProperty(data, className),
495
+ this.createMessagingSettingProperty(
496
+ data,
497
+ className,
498
+ serviceId === AX_COMMON_SERVICE_ID,
499
+ ),
478
500
  );
479
501
  const content = endent`import { ${baseClass} } from '@axinom/mosaic-message-bus-abstractions';
480
502
 
481
503
  export class ${className} ${action} ${baseClass} {
482
504
  ${properties.join(`\n`)}
483
- ${isMultiTenant ? `` : `\npublic readonly serviceId = '${serviceId}';\n`}
505
+ ${
506
+ isMultiTenant || serviceId === AX_COMMON_SERVICE_ID
507
+ ? ``
508
+ : `\npublic readonly serviceId = '${serviceId}';\n`
509
+ }
484
510
  ${constructor}
485
511
 
486
512
  public${toStringOverride} toString = (): string => {
@@ -503,10 +529,12 @@ export class Codegen {
503
529
  * Create Messaging Settings property from Channel Data.
504
530
  * @param channelData - AsyncAPI channel information
505
531
  * @param settingsClassName - class name of messaging setting
532
+ * @param isCommonService - flag to indicate if it's for `AX_COMMON_SERVICE_ID`
506
533
  */
507
534
  createMessagingSettingProperty(
508
535
  channelData: ChannelData,
509
536
  settingsClassName: string,
537
+ isCommonService: boolean,
510
538
  ): string {
511
539
  const messageType = FormatHelpers.toPascalCase(
512
540
  channelData.payloadName.replace('command', '').replace('event', ''),
@@ -526,19 +554,39 @@ export class Codegen {
526
554
  aggregateIdFieldDesc = `The aggregate ID field ${contain} the value of the "${channelData.aggregateIdField}" field.`;
527
555
  break;
528
556
  }
529
- return endent`
530
- /**
531
- * Defines the messaging settings for the ${action} with message type
532
- * "${messageType}" and aggregate type "${channelData.aggregateType}".
533
- * ${aggregateIdFieldDesc}
534
- */
535
- public static ${messageType} = new ${settingsClassName}(
536
- '${messageType}',
537
- '${channelData.queueName}',
538
- '${channelData.routingKey}',
539
- '${action}',
540
- '${channelData.aggregateType}'
541
- );`;
557
+
558
+ if (isCommonService) {
559
+ return endent`
560
+ /**
561
+ * Defines the messaging settings for the ${action} with message type
562
+ * "${messageType}" and aggregate type "${channelData.aggregateType}".
563
+ * ${aggregateIdFieldDesc}
564
+ */
565
+ public static Get${messageType}Settings(serviceId: string) {
566
+ return new ${settingsClassName}(
567
+ serviceId,
568
+ '${messageType}',
569
+ '${channelData.queueName}',
570
+ '${channelData.routingKey}',
571
+ '${action}',
572
+ '${channelData.aggregateType}'
573
+ );
574
+ }`;
575
+ } else {
576
+ return endent`
577
+ /**
578
+ * Defines the messaging settings for the ${action} with message type
579
+ * "${messageType}" and aggregate type "${channelData.aggregateType}".
580
+ * ${aggregateIdFieldDesc}
581
+ */
582
+ public static ${messageType} = new ${settingsClassName}(
583
+ '${messageType}',
584
+ '${channelData.queueName}',
585
+ '${channelData.routingKey}',
586
+ '${action}',
587
+ '${channelData.aggregateType}'
588
+ );`;
589
+ }
542
590
  }
543
591
 
544
592
  /**