@eventcatalog/sdk 2.21.0 → 2.21.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.mjs CHANGED
@@ -2496,6 +2496,8 @@ var cloneStep = (step) => ({
2496
2496
  ...step.message ? { message: { ...step.message } } : {},
2497
2497
  ...step.service ? { service: { ...step.service } } : {},
2498
2498
  ...step.flow ? { flow: { ...step.flow } } : {},
2499
+ ...step.container ? { container: { ...step.container } } : {},
2500
+ ...step.dataProduct ? { dataProduct: { ...step.dataProduct } } : {},
2499
2501
  ...step.actor ? { actor: { ...step.actor } } : {},
2500
2502
  ...step.custom ? {
2501
2503
  custom: {
@@ -2640,6 +2642,91 @@ var FlowBuilder = class _FlowBuilder {
2640
2642
  step.nextSteps
2641
2643
  );
2642
2644
  }
2645
+ /**
2646
+ * Add a data store step.
2647
+ *
2648
+ * Data store steps reference container resources in EventCatalog. If a
2649
+ * version is not provided, EventCatalog resolves the latest matching
2650
+ * container version when rendering the flow.
2651
+ *
2652
+ * @param step - The data store step payload.
2653
+ *
2654
+ * @example
2655
+ * ```ts
2656
+ * FlowBuilder.create({
2657
+ * id: 'OrderFlow',
2658
+ * name: 'Order Flow',
2659
+ * version: '1.0.0',
2660
+ * markdown: '',
2661
+ * })
2662
+ * .addDataStoreStep({
2663
+ * id: 'OrdersDB',
2664
+ * container: { id: 'OrdersDB', version: '1.0.0' },
2665
+ * });
2666
+ * ```
2667
+ */
2668
+ addDataStoreStep(step) {
2669
+ const fallbackContainer = {
2670
+ id: String(step.id),
2671
+ ...step.version ? { version: step.version } : {}
2672
+ };
2673
+ const container = step.container ?? fallbackContainer;
2674
+ return this.addStepWithNext(
2675
+ {
2676
+ id: step.id,
2677
+ title: step.title || String(step.id),
2678
+ ...step.summary ? { summary: step.summary } : {},
2679
+ container: { ...container, ...step.version && !container.version ? { version: step.version } : {} }
2680
+ },
2681
+ step.nextSteps
2682
+ );
2683
+ }
2684
+ /**
2685
+ * Add a container step.
2686
+ *
2687
+ * Alias for `addDataStoreStep`.
2688
+ */
2689
+ addContainerStep(step) {
2690
+ return this.addDataStoreStep(step);
2691
+ }
2692
+ /**
2693
+ * Add a data product step.
2694
+ *
2695
+ * If a version is not provided, EventCatalog resolves the latest matching
2696
+ * data product version when rendering the flow.
2697
+ *
2698
+ * @param step - The data product step payload.
2699
+ *
2700
+ * @example
2701
+ * ```ts
2702
+ * FlowBuilder.create({
2703
+ * id: 'OrderFlow',
2704
+ * name: 'Order Flow',
2705
+ * version: '1.0.0',
2706
+ * markdown: '',
2707
+ * })
2708
+ * .addDataProductStep({
2709
+ * id: 'OrderAnalytics',
2710
+ * dataProduct: { id: 'OrderAnalytics', version: '1.0.0' },
2711
+ * });
2712
+ * ```
2713
+ */
2714
+ addDataProductStep(step) {
2715
+ const fallbackDataProduct = {
2716
+ id: String(step.id),
2717
+ ...step.version ? { version: step.version } : {}
2718
+ };
2719
+ const dataProduct = step.dataProduct ?? fallbackDataProduct;
2720
+ return this.addStepWithNext(
2721
+ {
2722
+ id: step.id,
2723
+ title: step.title || String(step.id),
2724
+ ...step.summary ? { summary: step.summary } : {},
2725
+ dataProduct: { ...dataProduct, ...step.version && !dataProduct.version ? { version: step.version } : {} }
2726
+ },
2727
+ step.nextSteps
2728
+ );
2729
+ }
2643
2730
  /**
2644
2731
  * Add an actor step.
2645
2732
  *