@teleporthq/teleport-plugin-next-data-source 0.43.42 → 0.43.44

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.
Files changed (87) hide show
  1. package/__tests__/ecommerce-product-variant-swatch.test.ts +93 -0
  2. package/__tests__/fetchers.test.ts +11 -0
  3. package/dist/cjs/array-mapper-registry.d.ts +0 -1
  4. package/dist/cjs/array-mapper-registry.d.ts.map +1 -1
  5. package/dist/cjs/array-mapper-registry.js +0 -3
  6. package/dist/cjs/array-mapper-registry.js.map +1 -1
  7. package/dist/cjs/data-source-fetchers.d.ts +3 -3
  8. package/dist/cjs/data-source-fetchers.d.ts.map +1 -1
  9. package/dist/cjs/data-source-fetchers.js +4 -4
  10. package/dist/cjs/data-source-fetchers.js.map +1 -1
  11. package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
  12. package/dist/cjs/fetchers/postgresql.js +1 -1
  13. package/dist/cjs/fetchers/postgresql.js.map +1 -1
  14. package/dist/cjs/fetchers/teleport.d.ts +2 -1
  15. package/dist/cjs/fetchers/teleport.d.ts.map +1 -1
  16. package/dist/cjs/fetchers/teleport.js +3 -3
  17. package/dist/cjs/fetchers/teleport.js.map +1 -1
  18. package/dist/cjs/filter-utils.d.ts.map +1 -1
  19. package/dist/cjs/filter-utils.js +12 -3
  20. package/dist/cjs/filter-utils.js.map +1 -1
  21. package/dist/cjs/index.d.ts.map +1 -1
  22. package/dist/cjs/index.js +8 -7
  23. package/dist/cjs/index.js.map +1 -1
  24. package/dist/cjs/pagination-plugin.d.ts.map +1 -1
  25. package/dist/cjs/pagination-plugin.js +12 -19
  26. package/dist/cjs/pagination-plugin.js.map +1 -1
  27. package/dist/cjs/transformations/ecommerce-product.d.ts +2 -1
  28. package/dist/cjs/transformations/ecommerce-product.d.ts.map +1 -1
  29. package/dist/cjs/transformations/ecommerce-product.js +36 -2
  30. package/dist/cjs/transformations/ecommerce-product.js.map +1 -1
  31. package/dist/cjs/transformations/index.d.ts +2 -1
  32. package/dist/cjs/transformations/index.d.ts.map +1 -1
  33. package/dist/cjs/transformations/index.js +9 -3
  34. package/dist/cjs/transformations/index.js.map +1 -1
  35. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  36. package/dist/cjs/utils.d.ts +3 -3
  37. package/dist/cjs/utils.d.ts.map +1 -1
  38. package/dist/cjs/utils.js +4 -4
  39. package/dist/cjs/utils.js.map +1 -1
  40. package/dist/esm/array-mapper-registry.d.ts +0 -1
  41. package/dist/esm/array-mapper-registry.d.ts.map +1 -1
  42. package/dist/esm/array-mapper-registry.js +0 -3
  43. package/dist/esm/array-mapper-registry.js.map +1 -1
  44. package/dist/esm/data-source-fetchers.d.ts +3 -3
  45. package/dist/esm/data-source-fetchers.d.ts.map +1 -1
  46. package/dist/esm/data-source-fetchers.js +4 -4
  47. package/dist/esm/data-source-fetchers.js.map +1 -1
  48. package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
  49. package/dist/esm/fetchers/postgresql.js +1 -1
  50. package/dist/esm/fetchers/postgresql.js.map +1 -1
  51. package/dist/esm/fetchers/teleport.d.ts +2 -1
  52. package/dist/esm/fetchers/teleport.d.ts.map +1 -1
  53. package/dist/esm/fetchers/teleport.js +3 -3
  54. package/dist/esm/fetchers/teleport.js.map +1 -1
  55. package/dist/esm/filter-utils.d.ts.map +1 -1
  56. package/dist/esm/filter-utils.js +12 -3
  57. package/dist/esm/filter-utils.js.map +1 -1
  58. package/dist/esm/index.d.ts.map +1 -1
  59. package/dist/esm/index.js +8 -7
  60. package/dist/esm/index.js.map +1 -1
  61. package/dist/esm/pagination-plugin.d.ts.map +1 -1
  62. package/dist/esm/pagination-plugin.js +12 -19
  63. package/dist/esm/pagination-plugin.js.map +1 -1
  64. package/dist/esm/transformations/ecommerce-product.d.ts +2 -1
  65. package/dist/esm/transformations/ecommerce-product.d.ts.map +1 -1
  66. package/dist/esm/transformations/ecommerce-product.js +36 -2
  67. package/dist/esm/transformations/ecommerce-product.js.map +1 -1
  68. package/dist/esm/transformations/index.d.ts +2 -1
  69. package/dist/esm/transformations/index.d.ts.map +1 -1
  70. package/dist/esm/transformations/index.js +9 -3
  71. package/dist/esm/transformations/index.js.map +1 -1
  72. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  73. package/dist/esm/utils.d.ts +3 -3
  74. package/dist/esm/utils.d.ts.map +1 -1
  75. package/dist/esm/utils.js +4 -4
  76. package/dist/esm/utils.js.map +1 -1
  77. package/package.json +5 -5
  78. package/src/array-mapper-registry.ts +0 -5
  79. package/src/data-source-fetchers.ts +10 -5
  80. package/src/fetchers/postgresql.ts +17 -0
  81. package/src/fetchers/teleport.ts +38 -3
  82. package/src/filter-utils.ts +32 -5
  83. package/src/index.ts +9 -4
  84. package/src/pagination-plugin.ts +20 -42
  85. package/src/transformations/ecommerce-product.ts +430 -1
  86. package/src/transformations/index.ts +28 -4
  87. package/src/utils.ts +12 -4
@@ -496,7 +496,6 @@ function getStateVarsForUsage(usage) {
496
496
  combinedStateVar: "ds_".concat(idx, "_state"),
497
497
  setCombinedStateVar: "setDs_".concat(idx, "_state"),
498
498
  skipDebounceRefVar: "ds_".concat(idx, "_skipDebounce"),
499
- skipCountFetchRefVar: "ds_".concat(idx, "_skipCountFetch"),
500
499
  propsPrefix: "".concat(usage.dataSourceIdentifier, "_ds_").concat(idx),
501
500
  };
502
501
  }
@@ -639,13 +638,6 @@ export var createNextArrayMapperPaginationPlugin = function () {
639
638
  stateDeclarations.push(types.variableDeclaration('const', [
640
639
  types.variableDeclarator(types.identifier(vars.skipDebounceRefVar), types.callExpression(types.identifier('useRef'), [types.booleanLiteral(true)])),
641
640
  ]));
642
- // Only add skipCountFetchRef for pages (where we have server-side count)
643
- // For components, we need to fetch count on mount
644
- if (isPage) {
645
- stateDeclarations.push(types.variableDeclaration('const', [
646
- types.variableDeclarator(types.identifier(vars.skipCountFetchRefVar), types.callExpression(types.identifier('useRef'), [types.booleanLiteral(true)])),
647
- ]));
648
- }
649
641
  // maxPages state
650
642
  var maxPagesInit = isPage
651
643
  ? types.logicalExpression('||', types.optionalMemberExpression(types.identifier('props'), types.identifier("".concat(vars.propsPrefix, "_maxPages")), false, true), types.numericLiteral(0))
@@ -730,13 +722,14 @@ export var createNextArrayMapperPaginationPlugin = function () {
730
722
  appendFiltersParam(urlParams, usage.filters, buildFilterDestinationExpression);
731
723
  // Build the count fetch effect body
732
724
  var countFetchEffectBody = [];
733
- // Only add skip-on-mount check for pages (where we have server-side count)
734
- if (isPage) {
735
- countFetchEffectBody.push(types.ifStatement(types.memberExpression(types.identifier(vars.skipCountFetchRefVar), types.identifier('current')), types.blockStatement([
736
- types.expressionStatement(types.assignmentExpression('=', types.memberExpression(types.identifier(vars.skipCountFetchRefVar), types.identifier('current')), types.booleanLiteral(false))),
737
- types.returnStatement(),
738
- ])));
739
- }
725
+ // Refresh the count on mount (no skip-on-mount guard). Pages seed maxPages
726
+ // from the build-time `getStaticProps` count, but that snapshot goes stale:
727
+ // rows added AFTER the build (e.g. the normalized product_variants table,
728
+ // which is seeded/grows past one page during store generation) are not
729
+ // reflected, so a frozen maxPages of 0/1 leaves "Next" permanently disabled
730
+ // on data-heavy tables. Re-fetching the live count on mount corrects
731
+ // maxPages so pagination tracks the real row count. The effect still runs
732
+ // when the search query or a filter changes (see deps below).
740
733
  // Add the fetch call
741
734
  countFetchEffectBody.push(types.expressionStatement(types.callExpression(types.memberExpression(types.callExpression(types.memberExpression(types.callExpression(types.identifier('fetch'), [
742
735
  types.templateLiteral([
@@ -922,7 +915,7 @@ export var createNextArrayMapperPaginationPlugin = function () {
922
915
  });
923
916
  usageIndexByDataSourceId = new Map();
924
917
  dataProvidersWithRepeaters.forEach(function (dp) {
925
- var _a, _b;
918
+ var _a, _b, _c;
926
919
  var nameAttr = dp.openingElement.attributes.find(function (attr) { return attr.type === 'JSXAttribute' && attr.name.name === 'name'; });
927
920
  if (!((_b = (_a = nameAttr === null || nameAttr === void 0 ? void 0 : nameAttr.value) === null || _a === void 0 ? void 0 : _a.expression) === null || _b === void 0 ? void 0 : _b.value)) {
928
921
  return;
@@ -952,7 +945,7 @@ export var createNextArrayMapperPaginationPlugin = function () {
952
945
  updateDataProviderForPlain(dp, fileName, usage);
953
946
  }
954
947
  // Create API route for all categories (including 'plain' for components)
955
- ensureAPIRouteExists(options.extractedResources, usage, options.dataSources);
948
+ ensureAPIRouteExists(options.extractedResources, usage, options.dataSources, (_c = options.ecommerceSettings) === null || _c === void 0 ? void 0 : _c.categories);
956
949
  });
957
950
  dataProvidersWithoutRepeaters = dataProviders.filter(function (dp) {
958
951
  var hasRepeater = findArrayMapperRenderPropInDataProvider(dp) !== undefined;
@@ -1520,7 +1513,7 @@ function wirePaginationButtons(paginationNode, usage, vars) {
1520
1513
  }
1521
1514
  }
1522
1515
  }
1523
- function ensureAPIRouteExists(extractedResources, usage, dataSources) {
1516
+ function ensureAPIRouteExists(extractedResources, usage, dataSources, categories) {
1524
1517
  // Generate file name for the API route
1525
1518
  var fileName = generateSafeFileName(usage.resourceDefinition.dataSourceType, usage.resourceDefinition.tableName, usage.resourceDefinition.dataSourceId);
1526
1519
  // Check if the utils data source file exists - if not, create it
@@ -1530,7 +1523,7 @@ function ensureAPIRouteExists(extractedResources, usage, dataSources) {
1530
1523
  if (dataSource) {
1531
1524
  try {
1532
1525
  // Generate the utils file with fetchData, fetchCount, handler, and getCount
1533
- var fetcherCode = generateDataSourceFetcherWithCore(dataSource, usage.resourceDefinition.tableName || 'data');
1526
+ var fetcherCode = generateDataSourceFetcherWithCore(dataSource, usage.resourceDefinition.tableName || 'data', false, categories);
1534
1527
  extractedResources["utils/".concat(fileName)] = {
1535
1528
  fileName: fileName,
1536
1529
  fileType: FileType.JS,
@@ -1 +1 @@
1
- {"version":3,"file":"pagination-plugin.js","sourceRoot":"","sources":["../../src/pagination-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination-plugin.js","sourceRoot":"","sources":["../../src/pagination-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
+ import type { UIDLEcommerceCategory } from '@teleporthq/teleport-types';
1
2
  /**
2
3
  * Generates JavaScript code for e-commerce product data transformation.
3
4
  * Transforms raw snake_case database records into the camelCase shape
4
5
  * that UIDL components expect.
5
6
  */
6
- export declare const generateEcommerceProductTransformationCode: () => string;
7
+ export declare const generateEcommerceProductTransformationCode: (categories?: UIDLEcommerceCategory[]) => string;
7
8
  //# sourceMappingURL=ecommerce-product.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ecommerce-product.d.ts","sourceRoot":"","sources":["../../../src/transformations/ecommerce-product.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,0CAA0C,QAAO,MAuK7D,CAAA"}
1
+ {"version":3,"file":"ecommerce-product.d.ts","sourceRoot":"","sources":["../../../src/transformations/ecommerce-product.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AA2CvE;;;;GAIG;AACH,eAAO,MAAM,0CAA0C,gBACxC,qBAAqB,EAAE,KACnC,MAuiBF,CAAA"}
@@ -1,9 +1,43 @@
1
+ /**
2
+ * Flattens the nested category tree (`ecommerceSettings.categories`, baked at
3
+ * export time) into an `id -> {name, slug, translations}` lookup map,
4
+ * JSON-embedded into the generated transform below so a product's
5
+ * `category_ids` can be resolved to display names with no runtime DB lookup
6
+ * (there is no DB table for the taxonomy — it lives only in the UIDL).
7
+ * `translations` is carried through unresolved (a per-language `{name,
8
+ * description}` map) so `buildEcommerceProduct` can resolve it against the
9
+ * SAME per-request `currentLanguage`/`mainLanguage` used for every other i18n
10
+ * field — `slug` is never localized (it's the language-neutral join key).
11
+ * Tolerant of a missing/malformed tree.
12
+ */
13
+ var flattenCategoriesById = function (categories) {
14
+ var byId = {};
15
+ var visit = function (nodes) {
16
+ if (!Array.isArray(nodes)) {
17
+ return;
18
+ }
19
+ for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {
20
+ var node = nodes_1[_i];
21
+ if (node && typeof node.id === 'string') {
22
+ byId[node.id] = {
23
+ name: node.name || '',
24
+ slug: node.slug || '',
25
+ translations: node.translations,
26
+ };
27
+ visit(node.children);
28
+ }
29
+ }
30
+ };
31
+ visit(categories);
32
+ return byId;
33
+ };
1
34
  /**
2
35
  * Generates JavaScript code for e-commerce product data transformation.
3
36
  * Transforms raw snake_case database records into the camelCase shape
4
37
  * that UIDL components expect.
5
38
  */
6
- export var generateEcommerceProductTransformationCode = function () {
7
- return "\n// ============================================================\n// E-Commerce Product Transformation\n// ============================================================\n\nfunction buildEcommerceProduct(record, options) {\n if (!record || typeof record !== 'object') return record\n options = options || {}\n var currentLang = options.currentLanguage || null\n var mainLang = options.mainLanguage || null\n var assetMap = options.assetMap || {}\n\n var id = record.id !== undefined && record.id !== null ? record.id : null\n\n // i18n-resolved text fields\n var name = resolveI18nField(record, 'name', 'name', currentLang, mainLang) || ''\n var slug = resolveI18nField(record, 'slug', 'slug', currentLang, mainLang) || ''\n var description = resolveI18nField(record, 'description', 'description', currentLang, mainLang) || ''\n var category = resolveI18nField(record, 'category', 'category', currentLang, mainLang) || null\n var tagsRaw = resolveI18nField(record, 'tags', 'tags', currentLang, mainLang)\n var imageAlt = resolveI18nField(record, 'image_alt', 'imageAlt', currentLang, mainLang) || null\n\n // Computed: plain-text description (HTML stripped)\n var descriptionText = stripHtmlTags(description)\n\n // Numeric fields (with NaN protection)\n var price = safeNumber(record.price, 0)\n var quantity = safeNumber(record.quantity, null)\n\n // Currency\n var currency = (record.currency || 'USD').toUpperCase()\n var rawCurrencySymbol = pickFirst(record.currency_symbol, record.currencySymbol)\n var currencySymbol = rawCurrencySymbol || getCurrencySymbol(currency)\n\n // Status and active (normalize case \u2014 DB / forms may send \"Active\", \"Inactive\", etc.)\n var statusRaw = record.status\n if (statusRaw == null || statusRaw === '') {\n statusRaw = record.active ? 'active' : 'inactive'\n }\n var status =\n typeof statusRaw === 'string'\n ? statusRaw.trim().toLowerCase()\n : String(statusRaw).toLowerCase()\n var active = status === 'active'\n\n // Payment fields\n var paymentType = pickFirst(record.payment_type, record.paymentType) || 'one_time'\n var recurringInterval = pickFirst(record.recurring_interval, record.recurringInterval) || null\n var rawRecurringCount = pickFirst(record.recurring_interval_count, record.recurringIntervalCount)\n var recurringIntervalCount = safeNumber(rawRecurringCount, null)\n\n // Physical product fields\n var sku = record.sku || null\n var weight = safeNumber(record.weight, null)\n var weightUnit = pickFirst(record.weight_unit, record.weightUnit) || null\n var dimensions = record.dimensions || null\n\n // Tags - parse as JSON array (handles JSON strings, arrays, comma-separated)\n var tags = parseJsonArray(tagsRaw)\n\n // Provider fields\n var providerType = pickFirst(record.provider_type, record.providerType) || null\n var providerProductId = pickFirst(record.provider_product_id, record.providerProductId) || null\n var defaultPrice = pickFirst(record.default_price, record.defaultPrice) || null\n\n // Metadata\n var metadata = parseJsonObject(record.metadata)\n\n // -------------------------------------------------------\n // Image resolution (complex multi-step process)\n // -------------------------------------------------------\n\n // Step 1: Get raw image values\n var rawImageUrl = pickFirst(record.image_url, record.mainImage, record.imageUrl)\n var rawGalleryImages = pickFirst(record.gallery_images, record.galleryImages)\n var legacyImages = Array.isArray(record.images)\n ? record.images.filter(function(v) { return typeof v === 'string' })\n : []\n\n // Step 2: Parse gallery images from JSON\n var parsedGalleryImages = parseJsonArray(rawGalleryImages)\n\n // Step 3: Build combined raw images array\n var allRawImages = []\n if (rawImageUrl) allRawImages.push(rawImageUrl)\n allRawImages = allRawImages.concat(parsedGalleryImages).concat(legacyImages)\n\n // Step 4: Resolve all asset URLs first, then deduplicate\n var resolvedAll = resolveAssetUrls(allRawImages, assetMap)\n var resolvedImages = deduplicateStrings(resolvedAll)\n\n // Step 5: Determine mainImage\n var mainImage = rawImageUrl\n ? resolveAssetUrl(rawImageUrl, assetMap)\n : (resolvedImages.length > 0 ? resolvedImages[0] : null)\n\n // Step 6: galleryImages = resolvedImages without mainImage\n var galleryImages = mainImage\n ? resolvedImages.filter(function(url) { return url !== mainImage })\n : resolvedImages.slice()\n\n // Step 7: images = full resolved deduplicated array\n var images = resolvedImages\n\n // Timestamps\n var rawCreatedAt = pickFirst(record.created_at, record.createdAt, record.created)\n var createdAt = normalizeTimestamp(rawCreatedAt)\n\n var rawUpdatedAt = pickFirst(record.updated_at, record.updatedAt, record.updated)\n var updatedAt = rawUpdatedAt != null ? normalizeTimestamp(rawUpdatedAt) : createdAt\n\n // Computed: created = Unix seconds\n var created = Math.floor(createdAt / 1000)\n\n // Computed: outOfStock (emitted as a STRING \u2014 'true' / 'false' \u2014 so it\n // matches the strict equality check the AI generates on product\n // cards/details pages: `ecommerceProduct?.outOfStock === 'true'`.\n // A boolean here would silently fail that comparison (boolean !==\n // string), leaving the Add to Cart button visible on out-of-stock\n // products. NULL/NaN quantity \u2192 'false' (treated as \"unlimited\n // stock\", same as the upstream cart-availability rewriter).\n var outOfStock = (quantity !== null && !isNaN(quantity) && quantity <= 0) ? 'true' : 'false'\n\n return {\n id: id,\n name: name,\n slug: slug,\n description: description,\n descriptionText: descriptionText,\n price: price,\n currency: currency,\n currencySymbol: currencySymbol,\n status: status,\n active: active,\n quantity: quantity,\n paymentType: paymentType,\n recurringInterval: recurringInterval,\n recurringIntervalCount: recurringIntervalCount,\n sku: sku,\n weight: weight,\n weightUnit: weightUnit,\n dimensions: dimensions,\n category: category,\n tags: tags,\n imageAlt: imageAlt,\n providerType: providerType,\n providerProductId: providerProductId,\n default_price: defaultPrice,\n metadata: metadata,\n mainImage: mainImage,\n imageUrl: mainImage,\n image_url: mainImage,\n galleryImages: galleryImages,\n images: images,\n createdAt: createdAt,\n updatedAt: updatedAt,\n created: created,\n outOfStock: outOfStock,\n }\n}\n\nfunction transformEcommerceProducts(records, options) {\n if (!Array.isArray(records)) return []\n return records.map(function(record) { return buildEcommerceProduct(record, options) })\n}\n";
39
+ export var generateEcommerceProductTransformationCode = function (categories) {
40
+ var categoriesByIdJson = JSON.stringify(flattenCategoriesById(categories));
41
+ return "\n// Category taxonomy (id -> {name, slug, translations}), baked in at export\n// time \u2014 see flattenCategoriesById in ecommerce-product.ts. Empty when the\n// store has no category taxonomy, or products.category_ids simply resolves\n// to nothing.\nvar PRODUCT_CATEGORIES_BY_ID = ".concat(categoriesByIdJson, "\n\n// Resolve a baked category's name to currentLang/mainLang from its\n// translations map (same per-request locale as every other i18n field via\n// resolveI18nField), falling back to the main-language name.\nfunction resolveCategoryName(categoryInfo, currentLang, mainLang) {\n if (currentLang && mainLang && currentLang !== mainLang && categoryInfo.translations) {\n var override = categoryInfo.translations[currentLang]\n if (override && override.name) return override.name\n }\n return categoryInfo.name\n}\n\n// ============================================================\n// E-Commerce Product Transformation\n// ============================================================\n\nfunction buildEcommerceProduct(record, options) {\n if (!record || typeof record !== 'object') return record\n options = options || {}\n var currentLang = options.currentLanguage || null\n var mainLang = options.mainLanguage || null\n var assetMap = options.assetMap || {}\n\n var id = record.id !== undefined && record.id !== null ? record.id : null\n\n // i18n-resolved text fields\n var name = resolveI18nField(record, 'name', 'name', currentLang, mainLang) || ''\n var slug = resolveI18nField(record, 'slug', 'slug', currentLang, mainLang) || ''\n var description = resolveI18nField(record, 'description', 'description', currentLang, mainLang) || ''\n var category = resolveI18nField(record, 'category', 'category', currentLang, mainLang) || null\n var tagsRaw = resolveI18nField(record, 'tags', 'tags', currentLang, mainLang)\n var imageAlt = resolveI18nField(record, 'image_alt', 'imageAlt', currentLang, mainLang) || null\n\n // Computed: plain-text description (HTML stripped)\n var descriptionText = stripHtmlTags(description)\n\n // Numeric fields (with NaN protection)\n var price = safeNumber(record.price, 0)\n var quantity = safeNumber(record.quantity, null)\n\n // Currency\n var currency = (record.currency || 'USD').toUpperCase()\n var rawCurrencySymbol = pickFirst(record.currency_symbol, record.currencySymbol)\n var currencySymbol = rawCurrencySymbol || getCurrencySymbol(currency)\n\n // Status and active (normalize case \u2014 DB / forms may send \"Active\", \"Inactive\", etc.)\n var statusRaw = record.status\n if (statusRaw == null || statusRaw === '') {\n statusRaw = record.active ? 'active' : 'inactive'\n }\n var status =\n typeof statusRaw === 'string'\n ? statusRaw.trim().toLowerCase()\n : String(statusRaw).toLowerCase()\n var active = status === 'active'\n\n // Payment fields\n var paymentType = pickFirst(record.payment_type, record.paymentType) || 'one_time'\n var recurringInterval = pickFirst(record.recurring_interval, record.recurringInterval) || null\n var rawRecurringCount = pickFirst(record.recurring_interval_count, record.recurringIntervalCount)\n var recurringIntervalCount = safeNumber(rawRecurringCount, null)\n\n // Physical product fields\n var sku = record.sku || null\n var weight = safeNumber(record.weight, null)\n var weightUnit = pickFirst(record.weight_unit, record.weightUnit) || null\n var dimensions = record.dimensions || null\n\n // Tags - parse as JSON array (handles JSON strings, arrays, comma-separated)\n var tags = parseJsonArray(tagsRaw)\n\n // Variant AXES (translatable). The i18n-resolved column already carries the\n // display labels for the current language (with the SAME stable keys as the\n // base column); we just parse + normalize. The purchasable combinations live\n // in teleport_product_variants and are fetched by the variant picker widget.\n var variantOptionsRaw = resolveI18nField(record, 'variant_options', 'variantOptions', currentLang, mainLang)\n var variantOptions = normalizeVariantOptions(variantOptionsRaw)\n // Emitted as a STRING ('true'/'false') to match the strict-equality checks the\n // storefront uses (same convention as outOfStock).\n var requiresVariantSelection = variantOptions.length > 0 ? 'true' : 'false'\n\n // Provider fields\n var providerType = pickFirst(record.provider_type, record.providerType) || null\n var providerProductId = pickFirst(record.provider_product_id, record.providerProductId) || null\n var defaultPrice = pickFirst(record.default_price, record.defaultPrice) || null\n\n // Metadata\n var metadata = parseJsonObject(record.metadata)\n\n // Visible custom properties -> [{key,value,kind,color,imageUrl}] for the\n // storefront pills mapper. MUST mirror buildVisibleProductProperties /\n // classifyProductProperty in\n // apps/gui/app/project-page/features/e-commerce/utils/product-property-display.ts\n // (the canvas-preview SSOT) field-for-field: same reserved-key exclusions,\n // same default-VISIBLE (opt-out) rule, same color/image classification. A\n // property is shown unless it is a reserved key, has an empty value, or is\n // explicitly hidden (false) in the _tqPropVisibility map -- so it also\n // renders for products whose form was never opened (no visibility map yet).\n var propVisibility = parseJsonObject(metadata._tqPropVisibility)\n var visibleProperties = []\n Object.keys(metadata).forEach(function (propKey) {\n if (isReservedProductMetadataKey(propKey)) return\n if (propVisibility[propKey] === false) return\n var rawValue = metadata[propKey]\n if (rawValue == null) return\n var propValue = String(rawValue)\n if (propValue.trim() === '') return\n visibleProperties.push(classifyProductProperty(propKey, propValue))\n })\n\n // Assigned category ids -> resolved {id,name,slug} objects for the\n // storefront category pills mapper. The taxonomy itself is not in the DB\n // (categories are authored in the GUI and live only in\n // ecommerceSettings.categories); resolved here against PRODUCT_CATEGORIES_BY_ID,\n // baked in at export time (see flattenCategoriesById). Unknown/stale ids\n // (a deleted category) are silently dropped.\n var categoryIds = parseJsonArray(record.category_ids)\n var categories = []\n for (var ci = 0; ci < categoryIds.length; ci++) {\n var categoryInfo = PRODUCT_CATEGORIES_BY_ID[categoryIds[ci]]\n if (categoryInfo) {\n categories.push({\n id: categoryIds[ci],\n name: resolveCategoryName(categoryInfo, currentLang, mainLang),\n slug: categoryInfo.slug,\n })\n }\n }\n\n // Purchasable variant COMBINATIONS for this product ({id, options map, price,\n // stock, image}). Empty for flat products. Fetched in ONE batched query by\n // transformRecords and passed in via options.variantsByProductId, keyed by\n // product id. The storefront card/details read these to default-select the\n // first in-stock variant, disable dead options, and resolve the chosen id.\n var variantsByProductId = options.variantsByProductId || {}\n var rawVariants = variantsByProductId[id] || []\n var variants = []\n for (var vi = 0; vi < rawVariants.length; vi++) {\n var vrow = rawVariants[vi] || {}\n var vopts = parseJsonObject(vrow.options)\n variants.push({\n id: vrow.id != null ? String(vrow.id) : '',\n options: vopts && typeof vopts === 'object' ? vopts : {},\n price: safeNumber(vrow.price, null),\n quantity: safeNumber(vrow.quantity, null),\n image_url: vrow.image_url ? resolveAssetUrl(vrow.image_url, assetMap) : null,\n })\n }\n\n // -------------------------------------------------------\n // Image resolution (complex multi-step process)\n // -------------------------------------------------------\n\n // Step 1: Get raw image values\n var rawImageUrl = pickFirst(record.image_url, record.mainImage, record.imageUrl)\n var rawGalleryImages = pickFirst(record.gallery_images, record.galleryImages)\n var legacyImages = Array.isArray(record.images)\n ? record.images.filter(function(v) { return typeof v === 'string' })\n : []\n\n // Step 2: Parse gallery images from JSON\n var parsedGalleryImages = parseJsonArray(rawGalleryImages)\n\n // Step 3: Build combined raw images array\n var allRawImages = []\n if (rawImageUrl) allRawImages.push(rawImageUrl)\n allRawImages = allRawImages.concat(parsedGalleryImages).concat(legacyImages)\n\n // Step 4: Resolve all asset URLs first, then deduplicate\n var resolvedAll = resolveAssetUrls(allRawImages, assetMap)\n var resolvedImages = deduplicateStrings(resolvedAll)\n\n // Step 5: Determine mainImage\n var mainImage = rawImageUrl\n ? resolveAssetUrl(rawImageUrl, assetMap)\n : (resolvedImages.length > 0 ? resolvedImages[0] : null)\n\n // Step 6: galleryImages = resolvedImages without mainImage\n var galleryImages = mainImage\n ? resolvedImages.filter(function(url) { return url !== mainImage })\n : resolvedImages.slice()\n\n // Step 7: images = full resolved deduplicated array\n var images = resolvedImages\n\n // Timestamps\n var rawCreatedAt = pickFirst(record.created_at, record.createdAt, record.created)\n var createdAt = normalizeTimestamp(rawCreatedAt)\n\n var rawUpdatedAt = pickFirst(record.updated_at, record.updatedAt, record.updated)\n var updatedAt = rawUpdatedAt != null ? normalizeTimestamp(rawUpdatedAt) : createdAt\n\n // Computed: created = Unix seconds\n var created = Math.floor(createdAt / 1000)\n\n // Computed: outOfStock (emitted as a STRING \u2014 'true' / 'false' \u2014 so it\n // matches the strict equality check the AI generates on product\n // cards/details pages: `ecommerceProduct?.outOfStock === 'true'`.\n // A boolean here would silently fail that comparison (boolean !==\n // string), leaving the Add to Cart button visible on out-of-stock\n // products. NULL/NaN quantity \u2192 'false' (treated as \"unlimited\n // stock\", same as the upstream cart-availability rewriter).\n var outOfStock = (quantity !== null && !isNaN(quantity) && quantity <= 0) ? 'true' : 'false'\n\n // Per-value availability + default-selection flags, derived from the\n // purchasable combinations, so the storefront picker renders its\n // Default / Selected / Unavailable states with NO runtime fetch. The card\n // (N instances) first-paints from these data flags; the details page seeds\n // its selection from the same combinations. axisValueKey (axisKey|valueKey)\n // disambiguates same-named values across axes (Size \"s\" vs Sleeve \"s\").\n // Emitted as STRINGS to match the storefront's string-equality convention.\n var variantAxisKeys = []\n for (var ak = 0; ak < variantOptions.length; ak++) { variantAxisKeys.push(variantOptions[ak].key) }\n var firstVariant = pickFirstAvailableVariant(variants, variantAxisKeys)\n var deadValueKeys = computeDeadVariantKeys(variants, variantOptions)\n for (var ai = 0; ai < variantOptions.length; ai++) {\n var vax = variantOptions[ai]\n for (var vj = 0; vj < vax.values.length; vj++) {\n var vval = vax.values[vj]\n var composite = vax.key + '|' + vval.value\n vval.axisValueKey = composite\n vval.isDead = deadValueKeys[composite] ? 'true' : 'false'\n vval.isDefault =\n firstVariant && firstVariant.options && firstVariant.options[vax.key] === vval.value\n ? 'true'\n : 'false'\n // Whether THIS value renders as a colour swatch vs a text pill. A colour\n // axis whose value has no resolvable colour degrades to a text pill so it\n // is never an invisible empty circle. Emitted as a string to match the\n // picker's string-equality rendering gate. MUST mirror the renderer\n // enrichment in packages/renderer/src/utils/ecommerce-products.ts.\n vval.showSwatch = vax.type === 'color' && vval.color ? 'true' : 'false'\n }\n }\n var defaultVariantId = firstVariant && isVariantInStock(firstVariant) ? firstVariant.id : ''\n var defaultVariantPrice = firstVariant ? formatVariantPrice(firstVariant.price, price) : ''\n // Stringified companions: a data-* attr bound to an ARRAY renders\n // '[object Object]', so the picker's on-mount/click workflows read the\n // combinations + axes from these JSON strings via getAttribute.\n var variantOptionsJson = safeStringifyJson(variantOptions)\n var variantsJson = safeStringifyJson(variants)\n\n return {\n id: id,\n name: name,\n slug: slug,\n description: description,\n descriptionText: descriptionText,\n price: price,\n currency: currency,\n currencySymbol: currencySymbol,\n status: status,\n active: active,\n quantity: quantity,\n paymentType: paymentType,\n recurringInterval: recurringInterval,\n recurringIntervalCount: recurringIntervalCount,\n sku: sku,\n weight: weight,\n weightUnit: weightUnit,\n dimensions: dimensions,\n category: category,\n categories: categories,\n tags: tags,\n imageAlt: imageAlt,\n providerType: providerType,\n providerProductId: providerProductId,\n default_price: defaultPrice,\n metadata: metadata,\n visibleProperties: visibleProperties,\n mainImage: mainImage,\n imageUrl: mainImage,\n image_url: mainImage,\n galleryImages: galleryImages,\n images: images,\n createdAt: createdAt,\n updatedAt: updatedAt,\n created: created,\n outOfStock: outOfStock,\n variantOptions: variantOptions,\n requiresVariantSelection: requiresVariantSelection,\n variants: variants,\n variantOptionsJson: variantOptionsJson,\n variantsJson: variantsJson,\n defaultVariantId: defaultVariantId,\n defaultVariantPrice: defaultVariantPrice,\n }\n}\n\n// --- Variant availability helpers (mirror packages/renderer ecommerce-products) ---\n// A variant is in stock when its quantity is null (unlimited) or > 0.\nfunction isVariantInStock(v) {\n return !v ? false : v.quantity == null || v.quantity > 0\n}\nfunction variantCoversAllAxes(v, axisKeys) {\n if (!v || !v.options) return false\n for (var i = 0; i < axisKeys.length; i++) {\n if (v.options[axisKeys[i]] == null) return false\n }\n return true\n}\n// First in-stock combination covering every axis; falls back to the first\n// covering combination (even if OOS) so a fully-OOS product still has a\n// visual default; null when no combination covers the axes.\nfunction pickFirstAvailableVariant(variants, axisKeys) {\n if (!Array.isArray(variants) || !axisKeys.length) return null\n for (var i = 0; i < variants.length; i++) {\n if (variantCoversAllAxes(variants[i], axisKeys) && isVariantInStock(variants[i])) return variants[i]\n }\n for (var j = 0; j < variants.length; j++) {\n if (variantCoversAllAxes(variants[j], axisKeys)) return variants[j]\n }\n return null\n}\n// Map of composite \"axisKey|valueKey\" -> true for every value that appears in\n// NO in-stock combination (rendered as the Unavailable state).\nfunction computeDeadVariantKeys(variants, axes) {\n // No combinations attached (flat product, zero-variant product, or editor\n // preview) -> nothing is dead; every value stays selectable. Dead-marking is\n // only meaningful relative to combinations that actually exist.\n if (!Array.isArray(variants) || variants.length === 0) return {}\n var alive = {}\n for (var i = 0; i < variants.length; i++) {\n var v = variants[i]\n if (!isVariantInStock(v)) continue\n for (var k in v.options) {\n if (Object.prototype.hasOwnProperty.call(v.options, k)) alive[k + '|' + v.options[k]] = true\n }\n }\n var dead = {}\n for (var a = 0; a < axes.length; a++) {\n var ax = axes[a]\n for (var b = 0; b < ax.values.length; b++) {\n var key = ax.key + '|' + ax.values[b].value\n if (!alive[key]) dead[key] = true\n }\n }\n return dead\n}\n// Variant price with base-price inheritance (null variant price -> product price).\nfunction formatVariantPrice(vprice, basePrice) {\n var p = vprice == null || isNaN(vprice) ? basePrice : vprice\n return String(Number(p).toFixed(2))\n}\nfunction safeStringifyJson(obj) {\n try {\n return JSON.stringify(obj)\n } catch (e) {\n return '[]'\n }\n}\n\n// Parse + normalize the variant_options JSON into render-ready axes. Tolerant of\n// null / malformed / partial data (returns []). Keeps ONLY the fields the pill\n// widget needs; the labels are already language-resolved by the caller.\nfunction normalizeVariantOptions(raw) {\n if (!raw) return []\n var parsed = raw\n if (typeof raw === 'string') {\n try { parsed = JSON.parse(raw) } catch (e) { return [] }\n }\n if (!Array.isArray(parsed)) return []\n var out = []\n for (var i = 0; i < parsed.length; i++) {\n var axis = parsed[i]\n if (!axis || typeof axis !== 'object' || !Array.isArray(axis.values)) continue\n var name = typeof axis.name === 'string' ? axis.name : ''\n var key = typeof axis.key === 'string' && axis.key ? axis.key : name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '')\n if (!key) continue\n var type = axis.type === 'color' ? 'color' : 'text'\n var values = []\n for (var j = 0; j < axis.values.length; j++) {\n var v = axis.values[j]\n if (!v || typeof v !== 'object') continue\n var label = typeof v.label === 'string' ? v.label : ''\n var value = typeof v.value === 'string' && v.value ? v.value : label.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '')\n if (!value) continue\n var entry = { value: value, label: label }\n if (type === 'color' && typeof v.color === 'string' && v.color) entry.color = v.color\n values.push(entry)\n }\n if (!values.length) continue\n out.push({ key: key, name: name, type: type, values: values })\n }\n return out\n}\n\n// --- Custom-property classification (MUST mirror product-property-display.ts) ---\n\n// Product-attribute keys that can leak into the free-form `metadata` map (e.g.\n// from a payment-provider sync or legacy data) but are NOT user custom\n// properties. Kept in sync with the GUI's RESERVED_PRODUCT_METADATA_KEYS.\nvar RESERVED_PRODUCT_METADATA_KEYS = {\n paymentType: true, recurringInterval: true, recurringIntervalCount: true,\n price: true, currency: true, status: true, sku: true, weightUnit: true,\n dimensions: true, category: true, brand: true, gtin: true, mpn: true,\n condition: true, tags: true,\n}\nfunction isReservedProductMetadataKey(key) {\n return !!RESERVED_PRODUCT_METADATA_KEYS[key] ||\n key.indexOf('mainImage') === 0 ||\n key.indexOf('secondaryImage') === 0 ||\n key.indexOf('_tq') === 0\n}\n\nvar CSS_NAMED_COLORS = {\n aliceblue: 1, antiquewhite: 1, aqua: 1, aquamarine: 1, azure: 1, beige: 1, bisque: 1,\n black: 1, blanchedalmond: 1, blue: 1, blueviolet: 1, brown: 1, burlywood: 1,\n cadetblue: 1, chartreuse: 1, chocolate: 1, coral: 1, cornflowerblue: 1, cornsilk: 1,\n crimson: 1, cyan: 1, darkblue: 1, darkcyan: 1, darkgoldenrod: 1, darkgray: 1,\n darkgrey: 1, darkgreen: 1, darkkhaki: 1, darkmagenta: 1, darkolivegreen: 1,\n darkorange: 1, darkorchid: 1, darkred: 1, darksalmon: 1, darkseagreen: 1,\n darkslateblue: 1, darkslategray: 1, darkslategrey: 1, darkturquoise: 1,\n darkviolet: 1, deeppink: 1, deepskyblue: 1, dimgray: 1, dimgrey: 1, dodgerblue: 1,\n firebrick: 1, floralwhite: 1, forestgreen: 1, fuchsia: 1, gainsboro: 1,\n ghostwhite: 1, gold: 1, goldenrod: 1, gray: 1, grey: 1, green: 1, greenyellow: 1,\n honeydew: 1, hotpink: 1, indianred: 1, indigo: 1, ivory: 1, khaki: 1, lavender: 1,\n lavenderblush: 1, lawngreen: 1, lemonchiffon: 1, lightblue: 1, lightcoral: 1,\n lightcyan: 1, lightgoldenrodyellow: 1, lightgray: 1, lightgrey: 1, lightgreen: 1,\n lightpink: 1, lightsalmon: 1, lightseagreen: 1, lightskyblue: 1, lightslategray: 1,\n lightslategrey: 1, lightsteelblue: 1, lightyellow: 1, lime: 1, limegreen: 1,\n linen: 1, magenta: 1, maroon: 1, mediumaquamarine: 1, mediumblue: 1,\n mediumorchid: 1, mediumpurple: 1, mediumseagreen: 1, mediumslateblue: 1,\n mediumspringgreen: 1, mediumturquoise: 1, mediumvioletred: 1, midnightblue: 1,\n mintcream: 1, mistyrose: 1, moccasin: 1, navajowhite: 1, navy: 1, oldlace: 1,\n olive: 1, olivedrab: 1, orange: 1, orangered: 1, orchid: 1, palegoldenrod: 1,\n palegreen: 1, paleturquoise: 1, palevioletred: 1, papayawhip: 1, peachpuff: 1,\n peru: 1, pink: 1, plum: 1, powderblue: 1, purple: 1, rebeccapurple: 1, red: 1,\n rosybrown: 1, royalblue: 1, saddlebrown: 1, salmon: 1, sandybrown: 1, seagreen: 1,\n seashell: 1, sienna: 1, silver: 1, skyblue: 1, slateblue: 1, slategray: 1,\n slategrey: 1, snow: 1, springgreen: 1, steelblue: 1, tan: 1, teal: 1, thistle: 1,\n tomato: 1, turquoise: 1, violet: 1, wheat: 1, white: 1, whitesmoke: 1, yellow: 1,\n yellowgreen: 1, transparent: 1,\n}\nvar HEX_COLOR_RE = /^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i\nvar FUNCTIONAL_COLOR_RE = /^(?:rgba?|hsla?|hwb|lab|lch|oklab|oklch|color)\\((?:[0-9a-z%.,\\s/+-]+)\\)$/i\nvar COLOR_KEY_WORDS = {\n color: 1, colors: 1, colour: 1, colours: 1, shade: 1, shades: 1, hue: 1, hues: 1,\n tint: 1, tints: 1, tone: 1, tones: 1, swatch: 1, swatches: 1,\n}\nfunction splitKeyWords(key) {\n return key.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean)\n}\nfunction keyIndicatesColor(key) {\n var normalized = key.toLowerCase()\n if (/colou?r/.test(normalized)) return true\n return splitKeyWords(key).some(function(word) { return !!COLOR_KEY_WORDS[word] })\n}\nfunction resolvePropertyColor(key, value) {\n var v = value.trim()\n if (!v) return ''\n if (HEX_COLOR_RE.test(v) || FUNCTIONAL_COLOR_RE.test(v)) return v\n if (CSS_NAMED_COLORS[v.toLowerCase()] && keyIndicatesColor(key)) return v\n return ''\n}\n\nvar DATA_IMAGE_URI_RE = /^data:image\\//i\nvar ABSOLUTE_URL_RE = /^(?:https?:)?\\/\\//i\nvar IMAGE_EXTENSION_RE = /\\.(?:png|jpe?g|gif|webp|svg|avif|bmp|ico|tiff?|heic|heif)$/i\nvar IMAGE_KEY_WORDS = {\n image: 1, images: 1, img: 1, imgs: 1, photo: 1, photos: 1, picture: 1, pictures: 1,\n pic: 1, pics: 1, thumbnail: 1, thumbnails: 1, thumb: 1, thumbs: 1, icon: 1, icons: 1,\n logo: 1, logos: 1, avatar: 1, avatars: 1, banner: 1, banners: 1, cover: 1, covers: 1,\n gallery: 1, screenshot: 1, screenshots: 1, poster: 1, posters: 1, artwork: 1,\n graphic: 1, graphics: 1, illustration: 1, wallpaper: 1, preview: 1, snapshot: 1,\n media: 1, visual: 1, visuals: 1,\n}\nfunction keyIndicatesImage(key) {\n var normalized = key.toLowerCase()\n if (/(?:image|img|photo|picture|thumb|icon|logo|avatar|banner|gallery|screenshot|poster|artwork|graphic|wallpaper)/.test(normalized)) return true\n return splitKeyWords(key).some(function(word) { return !!IMAGE_KEY_WORDS[word] })\n}\nfunction stripUrlQueryAndHash(url) {\n return url.split(/[?#]/)[0]\n}\nfunction resolvePropertyImage(key, value) {\n var v = value.trim()\n if (!v) return ''\n if (DATA_IMAGE_URI_RE.test(v)) return v\n var isAbsoluteUrl = ABSOLUTE_URL_RE.test(v)\n var isRootRelative = v.charAt(0) === '/' && !isAbsoluteUrl\n if (!isAbsoluteUrl && !isRootRelative) return ''\n if (IMAGE_EXTENSION_RE.test(stripUrlQueryAndHash(v))) return v\n if (isAbsoluteUrl && keyIndicatesImage(key)) return v\n return ''\n}\n\n// Image wins over colour (a URL can never be a CSS colour, but checking image\n// first keeps the precedence explicit), text is the fallback.\nfunction classifyProductProperty(key, value) {\n var imageUrl = resolvePropertyImage(key, value)\n if (imageUrl) return { key: key, value: value, kind: 'image', color: '', imageUrl: imageUrl }\n var color = resolvePropertyColor(key, value)\n if (color) return { key: key, value: value, kind: 'color', color: color, imageUrl: '' }\n return { key: key, value: value, kind: 'text', color: '', imageUrl: '' }\n}\n\nfunction transformEcommerceProducts(records, options) {\n if (!Array.isArray(records)) return []\n return records.map(function(record) { return buildEcommerceProduct(record, options) })\n}\n\n// Batched fetch of the purchasable variant rows for a set of product ids, keyed\n// by product_id, so buildEcommerceProduct can attach product.variants without a\n// per-product query. Best-effort: a store with no variants (or before the table\n// exists) yields an empty map and flat products keep variants: [].\nasync function getVariantsMap(getClientFn, productIds) {\n var map = {}\n if (!Array.isArray(productIds) || productIds.length === 0) return map\n var uniqueIds = []\n var seenIds = {}\n for (var u = 0; u < productIds.length; u++) {\n var pid0 = productIds[u]\n if (pid0 != null && !seenIds[pid0]) { seenIds[pid0] = true; uniqueIds.push(pid0) }\n }\n if (uniqueIds.length === 0) return map\n var client\n try {\n client = getClientFn()\n await client.connect()\n var result = await client.query(\n 'SELECT id, product_id, options, price, quantity, image_url FROM teleport_product_variants WHERE product_id = ANY($1) ORDER BY position ASC, id ASC',\n [uniqueIds]\n )\n if (result && result.rows) {\n for (var r = 0; r < result.rows.length; r++) {\n var row = result.rows[r]\n var pid = row.product_id\n if (!map[pid]) map[pid] = []\n map[pid].push(row)\n }\n }\n } catch (e) {\n // teleport_product_variants may not exist for a non-variant store.\n } finally {\n if (client) {\n try { await client.end() } catch (e) { /* ignore */ }\n }\n }\n return map\n}\n");
8
42
  };
9
43
  //# sourceMappingURL=ecommerce-product.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ecommerce-product.js","sourceRoot":"","sources":["../../../src/transformations/ecommerce-product.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,IAAM,0CAA0C,GAAG;IACxD,OAAO,8kNAqKR,CAAA;AACD,CAAC,CAAA"}
1
+ {"version":3,"file":"ecommerce-product.js","sourceRoot":"","sources":["../../../src/transformations/ecommerce-product.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,IAAM,qBAAqB,GAAG,UAC5B,UAA+C;IAK/C,IAAM,IAAI,GAGN,EAAE,CAAA;IACN,IAAM,KAAK,GAAG,UAAC,KAA0C;QACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,OAAM;SACP;QACD,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;YAArB,IAAM,IAAI,cAAA;YACb,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE;gBACvC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;oBACd,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACrB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;iBAChC,CAAA;gBACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aACrB;SACF;IACH,CAAC,CAAA;IACD,KAAK,CAAC,UAAU,CAAC,CAAA;IACjB,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,IAAM,0CAA0C,GAAG,UACxD,UAAoC;IAEpC,IAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAA;IAE5E,OAAO,uSAKwB,kBAAkB,klxBA8hBlD,CAAA;AACD,CAAC,CAAA"}