@lodashventure/medusa-booking-for-pickup 1.5.11 → 1.5.12

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.
@@ -763,10 +763,48 @@ function ShippingOptionDetails() {
763
763
  }
764
764
  return [];
765
765
  };
766
- const normalized = [
766
+ const safeDateIdentifier = (value) => {
767
+ if (!value) {
768
+ return "";
769
+ }
770
+ const date = new Date(value);
771
+ if (Number.isNaN(date.getTime())) {
772
+ return value.toString();
773
+ }
774
+ return date.toISOString();
775
+ };
776
+ const buildIdentifier = (availability) => {
777
+ if (!availability) {
778
+ return "";
779
+ }
780
+ if (availability.id) {
781
+ return availability.id.toString();
782
+ }
783
+ return [
784
+ availability.day_of_week,
785
+ safeDateIdentifier(availability.timeStart),
786
+ safeDateIdentifier(availability.timeEnd)
787
+ ].filter(Boolean).join("-");
788
+ };
789
+ const allAvailabilities = [
767
790
  ...normalizeInput(data.shipping_option.pickup_availabilities),
768
791
  ...normalizeInput(data.shipping_option.pickupAvailability)
769
792
  ];
793
+ const seenAvailabilities = /* @__PURE__ */ new Set();
794
+ const normalized = allAvailabilities.filter((availability) => {
795
+ if (!availability) {
796
+ return false;
797
+ }
798
+ const identifier = buildIdentifier(availability);
799
+ if (!identifier) {
800
+ return true;
801
+ }
802
+ if (seenAvailabilities.has(identifier)) {
803
+ return false;
804
+ }
805
+ seenAvailabilities.add(identifier);
806
+ return true;
807
+ });
770
808
  normalized.forEach((availability) => {
771
809
  if (!(availability == null ? void 0 : availability.day_of_week)) {
772
810
  return;
@@ -762,10 +762,48 @@ function ShippingOptionDetails() {
762
762
  }
763
763
  return [];
764
764
  };
765
- const normalized = [
765
+ const safeDateIdentifier = (value) => {
766
+ if (!value) {
767
+ return "";
768
+ }
769
+ const date = new Date(value);
770
+ if (Number.isNaN(date.getTime())) {
771
+ return value.toString();
772
+ }
773
+ return date.toISOString();
774
+ };
775
+ const buildIdentifier = (availability) => {
776
+ if (!availability) {
777
+ return "";
778
+ }
779
+ if (availability.id) {
780
+ return availability.id.toString();
781
+ }
782
+ return [
783
+ availability.day_of_week,
784
+ safeDateIdentifier(availability.timeStart),
785
+ safeDateIdentifier(availability.timeEnd)
786
+ ].filter(Boolean).join("-");
787
+ };
788
+ const allAvailabilities = [
766
789
  ...normalizeInput(data.shipping_option.pickup_availabilities),
767
790
  ...normalizeInput(data.shipping_option.pickupAvailability)
768
791
  ];
792
+ const seenAvailabilities = /* @__PURE__ */ new Set();
793
+ const normalized = allAvailabilities.filter((availability) => {
794
+ if (!availability) {
795
+ return false;
796
+ }
797
+ const identifier = buildIdentifier(availability);
798
+ if (!identifier) {
799
+ return true;
800
+ }
801
+ if (seenAvailabilities.has(identifier)) {
802
+ return false;
803
+ }
804
+ seenAvailabilities.add(identifier);
805
+ return true;
806
+ });
769
807
  normalized.forEach((availability) => {
770
808
  if (!(availability == null ? void 0 : availability.day_of_week)) {
771
809
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodashventure/medusa-booking-for-pickup",
3
- "version": "1.5.11",
3
+ "version": "1.5.12",
4
4
  "description": "A starter for Medusa plugins.",
5
5
  "author": "Medusa (https://medusajs.com)",
6
6
  "license": "MIT",