@artinstack/migrator 0.1.20 → 0.1.22

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.
@@ -3,7 +3,7 @@ import {
3
3
  enumerateSquarespaceEntities,
4
4
  summarizeSquarespaceExport,
5
5
  validateSquarespaceExportFile
6
- } from "./chunk-H62Y7JAJ.js";
6
+ } from "./chunk-2PWUDNYE.js";
7
7
  import {
8
8
  flattenWordPressBuilders,
9
9
  parseSliderMetaValue,
@@ -626,24 +626,28 @@ var smugMugClientOptionsSchema = z.object({
626
626
  });
627
627
  var ALBUM_IMAGES_CONFIG = {
628
628
  expand: {
629
- AlbumImage: {
630
- expand: {
631
- Image: {
632
- filter: ["FileName", "Caption", "KeywordsArray"],
633
- filteruri: ["ImageMetadata", "ImageSizeDetails"],
634
- expand: {
635
- ImageMetadata: {
636
- filter: ["ISO", "Aperture", "ApertureValue", "ShutterSpeed", "ExposureTime", "FocalLength"]
637
- },
638
- ImageSizeDetails: {
639
- filter: ["OriginalImageUrl"]
640
- }
641
- }
642
- }
643
- }
629
+ ImageSizeDetails: {},
630
+ ImageMetadata: {
631
+ filter: ["ISO", "Aperture", "ApertureValue", "ShutterSpeed", "ExposureTime", "FocalLength"]
632
+ },
633
+ LargestImage: {
634
+ filter: ["Url"]
644
635
  }
645
636
  }
646
637
  };
638
+ var SMUGMUG_SIZE_PREFERENCE = [
639
+ "ImageSizeOriginal",
640
+ "ImageSize5K",
641
+ "ImageSize4K",
642
+ "ImageSizeX5Large",
643
+ "ImageSizeX4Large",
644
+ "ImageSizeX3Large",
645
+ "ImageSizeX2Large",
646
+ "ImageSizeXLarge",
647
+ "ImageSizeLarge",
648
+ "ImageSizeMedium",
649
+ "ImageSizeSmall"
650
+ ];
647
651
  function asSmugMugList(value) {
648
652
  if (value == null) return [];
649
653
  return Array.isArray(value) ? value : [value];
@@ -880,12 +884,67 @@ function albumKeyFromUri(uri) {
880
884
  }
881
885
  return match[1];
882
886
  }
887
+ function unwrapInlineExpansion(link, locator) {
888
+ if (!link || typeof link !== "object") return void 0;
889
+ const record = link;
890
+ const nested = record[locator];
891
+ if (nested && typeof nested === "object" && !Array.isArray(nested)) {
892
+ return nested;
893
+ }
894
+ return void 0;
895
+ }
896
+ function sizeUrlFromDetails(details) {
897
+ if (!details) return void 0;
898
+ if (typeof details.OriginalImageUrl === "string" && details.OriginalImageUrl.trim()) {
899
+ return details.OriginalImageUrl.trim();
900
+ }
901
+ if (typeof details.ImageSizeOriginal?.Url === "string" && details.ImageSizeOriginal.Url.trim()) {
902
+ return details.ImageSizeOriginal.Url.trim();
903
+ }
904
+ const preferredKeys = [
905
+ details.LargestImageSize,
906
+ ...details.UsableSizes ?? [],
907
+ ...SMUGMUG_SIZE_PREFERENCE
908
+ ].filter((key) => typeof key === "string" && key.length > 0);
909
+ const seen = /* @__PURE__ */ new Set();
910
+ for (const key of preferredKeys) {
911
+ if (seen.has(key)) continue;
912
+ seen.add(key);
913
+ const size = details[key];
914
+ if (size && typeof size === "object" && !Array.isArray(size)) {
915
+ const url = size.Url;
916
+ if (typeof url === "string" && url.trim()) return url.trim();
917
+ }
918
+ }
919
+ return void 0;
920
+ }
921
+ function resolveAlbumImageDownloadUrl(albumImage) {
922
+ const sizeDetails = unwrapInlineExpansion(
923
+ albumImage.Uris?.ImageSizeDetails,
924
+ "ImageSizeDetails"
925
+ ) ?? albumImage.ImageSizeDetails ?? albumImage.Image?.ImageSizeDetails;
926
+ const fromSizes = sizeUrlFromDetails(sizeDetails);
927
+ if (fromSizes) return fromSizes;
928
+ const largestInline = unwrapInlineExpansion(
929
+ albumImage.Uris?.LargestImage,
930
+ "LargestImage"
931
+ );
932
+ const largestUrl = largestInline?.Url ?? albumImage.LargestImage?.Url;
933
+ if (typeof largestUrl === "string" && largestUrl.trim()) return largestUrl.trim();
934
+ if (typeof albumImage.ArchivedUri === "string" && albumImage.ArchivedUri.trim()) {
935
+ return albumImage.ArchivedUri.trim();
936
+ }
937
+ return void 0;
938
+ }
883
939
  function mapAlbumImage(albumImage, portfolioSourceId, sort) {
884
940
  const image = albumImage.Image;
885
- const metadata = image?.ImageMetadata ?? albumImage.ImageMetadata;
886
- const sizeDetails = image?.ImageSizeDetails;
887
- const originalUrl = sizeDetails?.OriginalImageUrl ?? sizeDetails?.ImageSizeOriginal?.Url ?? albumImage.LargestImage?.Url ?? albumImage.WebUri;
941
+ const metadata = unwrapInlineExpansion(
942
+ albumImage.Uris?.ImageMetadata,
943
+ "ImageMetadata"
944
+ ) ?? albumImage.ImageMetadata ?? image?.ImageMetadata;
945
+ const originalUrl = resolveAlbumImageDownloadUrl(albumImage);
888
946
  const fileName = image?.FileName ?? albumImage.FileName;
947
+ const keywords = (image?.KeywordsArray?.length ? image.KeywordsArray : void 0) ?? (image?.KeywordArray?.length ? image.KeywordArray : void 0) ?? (albumImage.KeywordsArray?.length ? albumImage.KeywordsArray : void 0) ?? (albumImage.KeywordArray?.length ? albumImage.KeywordArray : void 0);
889
948
  return {
890
949
  sourceId: albumImage.ImageKey,
891
950
  portfolioSourceId,
@@ -893,7 +952,7 @@ function mapAlbumImage(albumImage, portfolioSourceId, sort) {
893
952
  fileName,
894
953
  originalUrl,
895
954
  caption: albumImage.Caption ?? image?.Caption,
896
- keywords: image?.KeywordsArray?.length ? image.KeywordsArray : void 0,
955
+ keywords,
897
956
  exif: metadata ? {
898
957
  iso: metadata.ISO,
899
958
  aperture: metadata.Aperture ?? metadata.ApertureValue,
@@ -1005,7 +1064,7 @@ var SmugMugApiClient = class {
1005
1064
  async collectAlbumImages(albumUri, portfolioSourceId, images) {
1006
1065
  const albumKey = albumKeyFromUri(albumUri);
1007
1066
  const configQuery = `_config=${encodeURIComponent(JSON.stringify(ALBUM_IMAGES_CONFIG))}`;
1008
- const initialPath = `${SMUGMUG_API_BASE}/album/${albumKey}!images?${configQuery}`;
1067
+ const initialPath = `${SMUGMUG_API_BASE}/album/${albumKey}!images?${configQuery}&_expandmethod=inline`;
1009
1068
  let sort = 0;
1010
1069
  for await (const albumImage of this.paginateAlbumImages(initialPath)) {
1011
1070
  images.push(mapAlbumImage(albumImage, portfolioSourceId, sort));
@@ -1483,7 +1542,8 @@ var squarespaceAdapter = {
1483
1542
  pages: summary.pages,
1484
1543
  posts: summary.posts,
1485
1544
  categories: summary.categories,
1486
- tags: summary.tags
1545
+ tags: summary.tags,
1546
+ portfolios: summary.portfolios
1487
1547
  }
1488
1548
  };
1489
1549
  }
@@ -1501,7 +1561,8 @@ var squarespaceAdapter = {
1501
1561
  pages: summary.pages,
1502
1562
  posts: summary.posts,
1503
1563
  categories: summary.categories,
1504
- tags: summary.tags
1564
+ tags: summary.tags,
1565
+ portfolios: summary.portfolios
1505
1566
  }
1506
1567
  };
1507
1568
  }
@@ -2778,4 +2839,4 @@ export {
2778
2839
  wixAdapter,
2779
2840
  getAdapter
2780
2841
  };
2781
- //# sourceMappingURL=chunk-CG5ON2RW.js.map
2842
+ //# sourceMappingURL=chunk-4R7W3MGX.js.map