@misiki/gocommerce-connector 0.9.0 → 0.9.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.
@@ -1 +1 @@
1
- export { a as AddressService, c as Approval, e as AuthService, f as AutocompleteService, B as B2bPlaced, g as B2bRole, h as B2bService, i as BannerService, j as BaseService, k as BlogService, m as CartService, n as CatalogService, p as CategoryService, q as ChatService, t as CheckoutService, w as CollectionService, x as Company, y as CompanyOrder, z as ContactService, D as CountryService, E as CouponService, G as Credit, H as CurrencyService, J as DealService, K as DemoRequestService, L as EngineRequest, M as EnquiryService, P as FaqService, Q as FeedbackService, S as GalleryService, T as HomeLayout, U as HomeLayoutSection, V as HomeService, X as InitService, Y as Invitation, Z as LayoutCollection, _ as LayoutPage, $ as LayoutService, a0 as Lead, a2 as MeilisearchService, a3 as Member, a6 as MenuService, a9 as NewsletterService, ad as OrderService, ae as PageLayout, af as PageService, ah as PaymentMethodService, aj as PluginService, aj as PluginsService, ak as PopularSearchService, al as PopularityService, ao as ProductService, ap as ProfileService, aq as Quote, ar as REDIRECT_GATEWAYS, as as ReelsService, at as RegionService, au as RejectedLine, ax as ReviewService, aA as SearchService, aB as SettingService, aB as SettingsService, aD as StateService, aF as StoreService, aH as StorefrontMenu, aK as ThemeSettings, aL as ThemeSettingsResult, aM as UploadService, aN as UserService, aQ as VariantService, aR as VarniCustomDesignService, aS as VarniCustomProductService, aU as VendorService, aV as WarrantyService, aY as WishlistService, aZ as addressService, a_ as authService, a$ as autocompleteService, b0 as b2bService, b1 as bannerService, b2 as blogService, b3 as cartService, b4 as categoryService, b5 as chatService, b6 as checkoutService, b7 as collectionService, b8 as contactService, b9 as countryService, ba as couponService, bc as currencyService, bd as dealService, be as demoRequestService, bg as emptyPage, bh as enquiryService, bi as faqService, bj as feedbackService, bn as galleryService, bo as homeService, bp as initService, bq as layoutService, br as mediaUrl, bs as meilisearchService, bt as menuService, bv as newsletterService, bw as orderService, bx as ownDomain, by as pageService, bz as paymentMethodService, bA as pluginService, bB as pluginsService, bC as popularSearchService, bD as popularityService, bG as productService, bH as profileService, bI as qs, bJ as reelsService, bK as regionService, bL as reviewService, bM as searchService, bN as setRequestHost, bO as settingService, bP as settingsService, bQ as stateService, bR as staticStore, bS as storeForHost, bT as storeService, c2 as toPage, c8 as uploadService, c9 as userService, ca as variantService, cb as varniCustomDesignService, cc as varniCustomProductService, cd as vendorService, ce as warrantyService, cf as wishlistService } from '../index-72kQMxjZ.cjs';
1
+ export { a as AddressService, c as Approval, e as AuthService, f as AutocompleteService, B as B2bPlaced, g as B2bRole, h as B2bService, i as BannerService, j as BaseService, k as BlogService, m as CartService, n as CatalogService, p as CategoryService, q as ChatService, t as CheckoutService, w as CollectionService, x as Company, y as CompanyOrder, z as ContactService, D as CountryService, E as CouponService, G as Credit, H as CurrencyService, J as DealService, K as DemoRequestService, L as EngineRequest, M as EnquiryService, P as FaqService, Q as FeedbackService, S as GalleryService, T as HomeLayout, U as HomeLayoutSection, V as HomeService, X as InitService, Y as Invitation, Z as LayoutCollection, _ as LayoutPage, $ as LayoutService, a0 as Lead, a2 as MeilisearchService, a3 as Member, a6 as MenuService, a9 as NewsletterService, ad as OrderService, ae as PageLayout, af as PageService, ah as PaymentMethodService, aj as PluginService, aj as PluginsService, ak as PopularSearchService, al as PopularityService, ao as ProductService, ap as ProfileService, aq as Quote, ar as REDIRECT_GATEWAYS, as as ReelsService, at as RegionService, au as RejectedLine, ax as ReviewService, aA as SearchService, aB as SettingService, aB as SettingsService, aD as StateService, aF as StoreService, aH as StorefrontMenu, aK as ThemeSettings, aL as ThemeSettingsResult, aM as UploadService, aN as UserService, aQ as VariantService, aR as VarniCustomDesignService, aS as VarniCustomProductService, aU as VendorService, aV as WarrantyService, aY as WishlistService, aZ as addressService, a_ as authService, a$ as autocompleteService, b0 as b2bService, b1 as bannerService, b2 as blogService, b3 as cartService, b4 as categoryService, b5 as chatService, b6 as checkoutService, b7 as collectionService, b8 as contactService, b9 as countryService, ba as couponService, bc as currencyService, bd as dealService, be as demoRequestService, bg as emptyPage, bh as enquiryService, bi as faqService, bj as feedbackService, bn as galleryService, bo as homeService, bp as initService, bq as layoutService, br as mediaUrl, bs as meilisearchService, bt as menuService, bv as newsletterService, bw as orderService, bx as ownDomain, by as pageService, bz as paymentMethodService, bA as pluginService, bB as pluginsService, bC as popularSearchService, bD as popularityService, bG as productService, bH as profileService, bI as qs, bJ as reelsService, bK as regionService, bL as reviewService, bM as searchService, bN as setRequestHost, bO as settingService, bP as settingsService, bQ as stateService, bR as staticStore, bS as storeForHost, bT as storeService, c2 as toPage, c8 as uploadService, c9 as userService, ca as variantService, cb as varniCustomDesignService, cc as varniCustomProductService, cd as vendorService, ce as warrantyService, cf as wishlistService } from '../index-DSvV8FbK.cjs';
@@ -1 +1 @@
1
- export { a as AddressService, c as Approval, e as AuthService, f as AutocompleteService, B as B2bPlaced, g as B2bRole, h as B2bService, i as BannerService, j as BaseService, k as BlogService, m as CartService, n as CatalogService, p as CategoryService, q as ChatService, t as CheckoutService, w as CollectionService, x as Company, y as CompanyOrder, z as ContactService, D as CountryService, E as CouponService, G as Credit, H as CurrencyService, J as DealService, K as DemoRequestService, L as EngineRequest, M as EnquiryService, P as FaqService, Q as FeedbackService, S as GalleryService, T as HomeLayout, U as HomeLayoutSection, V as HomeService, X as InitService, Y as Invitation, Z as LayoutCollection, _ as LayoutPage, $ as LayoutService, a0 as Lead, a2 as MeilisearchService, a3 as Member, a6 as MenuService, a9 as NewsletterService, ad as OrderService, ae as PageLayout, af as PageService, ah as PaymentMethodService, aj as PluginService, aj as PluginsService, ak as PopularSearchService, al as PopularityService, ao as ProductService, ap as ProfileService, aq as Quote, ar as REDIRECT_GATEWAYS, as as ReelsService, at as RegionService, au as RejectedLine, ax as ReviewService, aA as SearchService, aB as SettingService, aB as SettingsService, aD as StateService, aF as StoreService, aH as StorefrontMenu, aK as ThemeSettings, aL as ThemeSettingsResult, aM as UploadService, aN as UserService, aQ as VariantService, aR as VarniCustomDesignService, aS as VarniCustomProductService, aU as VendorService, aV as WarrantyService, aY as WishlistService, aZ as addressService, a_ as authService, a$ as autocompleteService, b0 as b2bService, b1 as bannerService, b2 as blogService, b3 as cartService, b4 as categoryService, b5 as chatService, b6 as checkoutService, b7 as collectionService, b8 as contactService, b9 as countryService, ba as couponService, bc as currencyService, bd as dealService, be as demoRequestService, bg as emptyPage, bh as enquiryService, bi as faqService, bj as feedbackService, bn as galleryService, bo as homeService, bp as initService, bq as layoutService, br as mediaUrl, bs as meilisearchService, bt as menuService, bv as newsletterService, bw as orderService, bx as ownDomain, by as pageService, bz as paymentMethodService, bA as pluginService, bB as pluginsService, bC as popularSearchService, bD as popularityService, bG as productService, bH as profileService, bI as qs, bJ as reelsService, bK as regionService, bL as reviewService, bM as searchService, bN as setRequestHost, bO as settingService, bP as settingsService, bQ as stateService, bR as staticStore, bS as storeForHost, bT as storeService, c2 as toPage, c8 as uploadService, c9 as userService, ca as variantService, cb as varniCustomDesignService, cc as varniCustomProductService, cd as vendorService, ce as warrantyService, cf as wishlistService } from '../index-72kQMxjZ.js';
1
+ export { a as AddressService, c as Approval, e as AuthService, f as AutocompleteService, B as B2bPlaced, g as B2bRole, h as B2bService, i as BannerService, j as BaseService, k as BlogService, m as CartService, n as CatalogService, p as CategoryService, q as ChatService, t as CheckoutService, w as CollectionService, x as Company, y as CompanyOrder, z as ContactService, D as CountryService, E as CouponService, G as Credit, H as CurrencyService, J as DealService, K as DemoRequestService, L as EngineRequest, M as EnquiryService, P as FaqService, Q as FeedbackService, S as GalleryService, T as HomeLayout, U as HomeLayoutSection, V as HomeService, X as InitService, Y as Invitation, Z as LayoutCollection, _ as LayoutPage, $ as LayoutService, a0 as Lead, a2 as MeilisearchService, a3 as Member, a6 as MenuService, a9 as NewsletterService, ad as OrderService, ae as PageLayout, af as PageService, ah as PaymentMethodService, aj as PluginService, aj as PluginsService, ak as PopularSearchService, al as PopularityService, ao as ProductService, ap as ProfileService, aq as Quote, ar as REDIRECT_GATEWAYS, as as ReelsService, at as RegionService, au as RejectedLine, ax as ReviewService, aA as SearchService, aB as SettingService, aB as SettingsService, aD as StateService, aF as StoreService, aH as StorefrontMenu, aK as ThemeSettings, aL as ThemeSettingsResult, aM as UploadService, aN as UserService, aQ as VariantService, aR as VarniCustomDesignService, aS as VarniCustomProductService, aU as VendorService, aV as WarrantyService, aY as WishlistService, aZ as addressService, a_ as authService, a$ as autocompleteService, b0 as b2bService, b1 as bannerService, b2 as blogService, b3 as cartService, b4 as categoryService, b5 as chatService, b6 as checkoutService, b7 as collectionService, b8 as contactService, b9 as countryService, ba as couponService, bc as currencyService, bd as dealService, be as demoRequestService, bg as emptyPage, bh as enquiryService, bi as faqService, bj as feedbackService, bn as galleryService, bo as homeService, bp as initService, bq as layoutService, br as mediaUrl, bs as meilisearchService, bt as menuService, bv as newsletterService, bw as orderService, bx as ownDomain, by as pageService, bz as paymentMethodService, bA as pluginService, bB as pluginsService, bC as popularSearchService, bD as popularityService, bG as productService, bH as profileService, bI as qs, bJ as reelsService, bK as regionService, bL as reviewService, bM as searchService, bN as setRequestHost, bO as settingService, bP as settingsService, bQ as stateService, bR as staticStore, bS as storeForHost, bT as storeService, c2 as toPage, c8 as uploadService, c9 as userService, ca as variantService, cb as varniCustomDesignService, cc as varniCustomProductService, cd as vendorService, ce as warrantyService, cf as wishlistService } from '../index-DSvV8FbK.js';
@@ -1220,17 +1220,46 @@ var ProductService = class extends CatalogService {
1220
1220
  async listTrendingProducts({ page = 1, limit } = {}) {
1221
1221
  return this.shelf("trending", { page, limit });
1222
1222
  }
1223
- /** More from this product's category. */
1223
+ /**
1224
+ * More like this product. Given `product` (a slug or id), it is the
1225
+ * product's category first, then its collections, then the newest — never
1226
+ * the product itself. Many shops never fill in categories, and an empty
1227
+ * rail under every product page reads as a broken shop.
1228
+ *
1229
+ * Without `product`, it is the old answer: more from `categoryId`.
1230
+ */
1224
1231
  async listRelatedProducts({
1225
1232
  page = 1,
1226
1233
  categoryId,
1234
+ product,
1227
1235
  limit
1228
1236
  } = {}) {
1237
+ if (product) return this.relatedTo(String(product), limit);
1229
1238
  if (!categoryId) return this.list({ page, limit });
1230
1239
  const category = (await this.facts.categories()).find((c) => String(c.id) === String(categoryId));
1231
1240
  if (!category) return this.list({ page, limit });
1232
1241
  return this.list({ page, limit, categories: category.slug });
1233
1242
  }
1243
+ async relatedTo(slug, limit) {
1244
+ const size = Math.min(100, Math.max(1, Number(limit) || PAGE_SIZE));
1245
+ const p = await this.findProduct(slug);
1246
+ const self = String(p.id);
1247
+ const picked = /* @__PURE__ */ new Map();
1248
+ const add = (rows) => {
1249
+ for (const r of rows) {
1250
+ if (picked.size >= size) return;
1251
+ if (r.id !== self && !picked.has(r.id)) picked.set(r.id, r);
1252
+ }
1253
+ };
1254
+ if (p.category) add((await this.list({ limit: size + 1, categories: p.category.slug })).data);
1255
+ for (const c of p.collections ?? []) {
1256
+ if (picked.size >= size) break;
1257
+ add((await this.shelf(c.slug, { page: 1, limit: size + 1 })).data);
1258
+ }
1259
+ if (picked.size < size) add((await this.list({ limit: size + 1 })).data);
1260
+ const data = [...picked.values()];
1261
+ return { data, count: data.length, pageSize: size, noOfPage: 1, page: 1 };
1262
+ }
1234
1263
  async shelf(slug, { page, sort, limit }) {
1235
1264
  const size = Math.min(100, Math.max(1, Number(limit) || PAGE_SIZE));
1236
1265
  try {