@meeovi/layer-commerce 1.0.4 → 1.0.6
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/app/components/catalog/product/ProductAccordion/types.ts +1 -1
- package/app/components/catalog/product/ProductProperties/types.ts +1 -1
- package/app/components/catalog/product/ProductSlider/types.ts +1 -1
- package/app/components/catalog/product/RecommendedProducts/types.ts +1 -1
- package/app/components/sales/CheckoutAddress/types.ts +1 -1
- package/app/components/sales/OrderSummary/types.ts +1 -1
- package/app/composables/_types.ts +6 -5
- package/app/composables/stores/cart.ts +2 -2
- package/app/composables/useProductReviews/useProductReviews.ts +1 -1
- package/app/modules/vue-head/composables/useHead.ts +3 -0
- package/global.d.ts +135 -0
- package/package.json +4 -11
- package/tsconfig.json +9 -2
- package/dist/app/composables/cart/registry.d.ts +0 -3
- package/dist/app/composables/cart/registry.js +0 -10
- package/dist/app/composables/cart/types.d.ts +0 -16
- package/dist/app/composables/cart/types.js +0 -1
- package/dist/app/composables/cart/useCart.d.ts +0 -6
- package/dist/app/composables/cart/useCart.js +0 -13
- package/dist/app/composables/config.d.ts +0 -7
- package/dist/app/composables/config.js +0 -11
- package/dist/app/composables/products/registry.d.ts +0 -3
- package/dist/app/composables/products/registry.js +0 -10
- package/dist/app/composables/products/types.d.ts +0 -12
- package/dist/app/composables/products/types.js +0 -1
- package/dist/app/composables/products/useProducts.d.ts +0 -4
- package/dist/app/composables/products/useProducts.js +0 -10
- package/dist/app/utils/client.d.ts +0 -6
- package/dist/app/utils/client.js +0 -23
- package/dist/app/utils/normalizer.d.ts +0 -12
- package/dist/app/utils/normalizer.js +0 -13
- package/dist/app/utils/normalizers/magento.d.ts +0 -3
- package/dist/app/utils/normalizers/magento.js +0 -23
- package/dist/app/utils/normalizers/shopify.d.ts +0 -3
- package/dist/app/utils/normalizers/shopify.js +0 -24
- package/dist/client.d.ts +0 -6
- package/dist/client.js +0 -23
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -6
- package/dist/normalizer.d.ts +0 -12
- package/dist/normalizer.js +0 -13
- package/dist/normalizers/magento.d.ts +0 -3
- package/dist/normalizers/magento.js +0 -23
- package/dist/normalizers/shopify.d.ts +0 -3
- package/dist/normalizers/shopify.js +0 -24
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export type Maybe<T> = T | null | undefined;
|
|
2
2
|
|
|
3
3
|
// Re-export or alias common legacy names expected by the composables
|
|
4
|
-
|
|
5
|
-
export type
|
|
6
|
-
export type
|
|
7
|
-
export type
|
|
4
|
+
// Fallback permissive types for isolated builds
|
|
5
|
+
export type SfProduct = any;
|
|
6
|
+
export type Product = any;
|
|
7
|
+
export type SfCart = any;
|
|
8
|
+
export type Cart = any;
|
|
8
9
|
|
|
9
10
|
// No direct equivalents in @meeovi/commerce yet — use permissive any types
|
|
10
11
|
export type SfCustomer = any;
|
|
@@ -14,4 +15,4 @@ export type SfShippingMethods = any;
|
|
|
14
15
|
export type SfAttribute = any;
|
|
15
16
|
|
|
16
17
|
// Export additional useful types from the commerce package if needed
|
|
17
|
-
export type Category =
|
|
18
|
+
export type Category = any;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, computed, readonly } from 'vue'
|
|
2
2
|
import type { Cart, CartItem, Product } from '../types'
|
|
3
|
-
import { useCart } from '../
|
|
3
|
+
import { useCart } from '../cart/useCart'
|
|
4
4
|
import { defineStore } from 'pinia'
|
|
5
5
|
|
|
6
6
|
export const useCartStore = defineStore('cart', () => {
|
|
@@ -19,7 +19,7 @@ export const useCartStore = defineStore('cart', () => {
|
|
|
19
19
|
clearCart,
|
|
20
20
|
setShippingOption: setShippingOptionFn
|
|
21
21
|
,createCheckoutSession: createCheckoutSessionFn
|
|
22
|
-
} = useCart()
|
|
22
|
+
} = useCart() as any
|
|
23
23
|
|
|
24
24
|
const initializeCart = async () => {
|
|
25
25
|
loading.value = true
|
|
@@ -32,7 +32,7 @@ export const useProductReviews: UseProductReviews = (slug) => {
|
|
|
32
32
|
const fetchProductReviews: FetchProductReviews = async (slug) => {
|
|
33
33
|
state.value.loading = true;
|
|
34
34
|
const client = getCommerceClient();
|
|
35
|
-
|
|
35
|
+
const { data, error } = await useAsyncData(() => client.listProductReviews?.(slug) ?? client.listReviews?.(slug));
|
|
36
36
|
useHandleError(error.value);
|
|
37
37
|
state.value.data = data.value as unknown as Maybe<SfProductReview[]>;
|
|
38
38
|
state.value.loading = false;
|
package/global.d.ts
CHANGED
|
@@ -12,3 +12,138 @@ declare module '*.vue' {
|
|
|
12
12
|
const component: DefineComponent<{}, {}, any>
|
|
13
13
|
export default component
|
|
14
14
|
}
|
|
15
|
+
|
|
16
|
+
// Broad runtime shims to help isolated tsc runs in this monorepo
|
|
17
|
+
declare module 'pinia' {
|
|
18
|
+
export function defineStore(id: any, setup?: any): any
|
|
19
|
+
export function createPinia(): any
|
|
20
|
+
const pinia: any
|
|
21
|
+
export default pinia
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
declare module 'lodash-es' {
|
|
25
|
+
const _default: any
|
|
26
|
+
export default _default
|
|
27
|
+
export const groupBy: any
|
|
28
|
+
export const uniqBy: any
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare module '~/*'
|
|
32
|
+
declare module '@/*'
|
|
33
|
+
|
|
34
|
+
declare const defineStore: any
|
|
35
|
+
declare function ref<T = any>(v?: T): any
|
|
36
|
+
declare function computed<T = any>(fn: any): any
|
|
37
|
+
declare function readonly<T = any>(v: T): T
|
|
38
|
+
declare const reactive: any
|
|
39
|
+
declare const watch: any
|
|
40
|
+
declare const onMounted: any
|
|
41
|
+
declare const onBeforeMount: any
|
|
42
|
+
declare const onUnmounted: any
|
|
43
|
+
|
|
44
|
+
// Nuxt auto-imports (already partially declared under #imports)
|
|
45
|
+
declare const useNuxtApp: any
|
|
46
|
+
declare const useHead: any
|
|
47
|
+
declare const useAsyncData: any
|
|
48
|
+
declare const useState: any
|
|
49
|
+
declare const useFetch: any
|
|
50
|
+
|
|
51
|
+
// Test globals (vitest/jest)
|
|
52
|
+
declare function describe(...args: any[]): any
|
|
53
|
+
declare function it(...args: any[]): any
|
|
54
|
+
declare function beforeEach(...args: any[]): any
|
|
55
|
+
declare function afterEach(...args: any[]): any
|
|
56
|
+
declare const expect: any
|
|
57
|
+
declare const vi: any
|
|
58
|
+
|
|
59
|
+
// Common composable globals used across the layer (fallbacks for isolated tsc)
|
|
60
|
+
declare const useAuth: any
|
|
61
|
+
declare const useLoading: any
|
|
62
|
+
declare const useInventory: any
|
|
63
|
+
declare const useCache: any
|
|
64
|
+
declare const useNotification: any
|
|
65
|
+
declare const useOrders: any
|
|
66
|
+
declare const useReturns: any
|
|
67
|
+
declare const useTransactions: any
|
|
68
|
+
declare const useInvoices: any
|
|
69
|
+
declare const useCreditMemos: any
|
|
70
|
+
declare const useProducts: any
|
|
71
|
+
declare const useFeaturedProducts: any
|
|
72
|
+
declare const useTax: any
|
|
73
|
+
|
|
74
|
+
// Common error / service placeholders
|
|
75
|
+
declare const errorHandler: any
|
|
76
|
+
declare const CartError: any
|
|
77
|
+
type MagentoService = any
|
|
78
|
+
|
|
79
|
+
// Domain types used in many composables
|
|
80
|
+
type Price = any
|
|
81
|
+
type ProductVariant = any
|
|
82
|
+
type Order = any
|
|
83
|
+
type Return = any
|
|
84
|
+
type Transaction = any
|
|
85
|
+
type Invoice = any
|
|
86
|
+
type CreditMemo = any
|
|
87
|
+
type OrderFilters = any
|
|
88
|
+
type ComparableAttribute = any
|
|
89
|
+
type ComparableProduct = any
|
|
90
|
+
type ComparableItem = any
|
|
91
|
+
type CompareList = any
|
|
92
|
+
|
|
93
|
+
// Store / state aliases
|
|
94
|
+
type CheckoutState = any
|
|
95
|
+
type ProductState = any
|
|
96
|
+
type ReviewState = any
|
|
97
|
+
type StorePickupState = any
|
|
98
|
+
type WishlistState = any
|
|
99
|
+
|
|
100
|
+
// Provide permissive module declarations for local app type modules
|
|
101
|
+
declare module '~/app/types' {
|
|
102
|
+
export type Product = any
|
|
103
|
+
export type Price = any
|
|
104
|
+
export type HeroProps = any
|
|
105
|
+
export type CategoryCardProps = any
|
|
106
|
+
export type HeadingProps = any
|
|
107
|
+
export type DisplayProps = any
|
|
108
|
+
export type ProductSliderProps = any
|
|
109
|
+
export type Cart = any
|
|
110
|
+
export type Maybe<T = any> = T | null | undefined
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Export order-related types used by stores
|
|
114
|
+
declare module '~/app/types' {
|
|
115
|
+
export type Order = any
|
|
116
|
+
export type Return = any
|
|
117
|
+
export type Transaction = any
|
|
118
|
+
export type Invoice = any
|
|
119
|
+
export type CreditMemo = any
|
|
120
|
+
export type OrderFilters = any
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Component-level type shims
|
|
124
|
+
declare module '~/components/Heading/types' {
|
|
125
|
+
export type HeadingProps = any
|
|
126
|
+
}
|
|
127
|
+
declare module '~/components/ProductSlider/types' {
|
|
128
|
+
export type ProductSliderProps = any
|
|
129
|
+
}
|
|
130
|
+
declare module '~/components/ui/CategoryCard/types' {
|
|
131
|
+
export type CategoryCardProps = any
|
|
132
|
+
}
|
|
133
|
+
declare module '~/components/ui/Display/types' {
|
|
134
|
+
export type DisplayProps = any
|
|
135
|
+
}
|
|
136
|
+
declare module '~/components/ui/Hero/types' {
|
|
137
|
+
export type HeroProps = any
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Local alias modules used by stores
|
|
141
|
+
declare module '@/types/product' {
|
|
142
|
+
export type Product = any
|
|
143
|
+
export type ProductState = any
|
|
144
|
+
}
|
|
145
|
+
declare module '@/types/review' {
|
|
146
|
+
export type Review = any
|
|
147
|
+
export type ReviewState = any
|
|
148
|
+
}
|
|
149
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meeovi/layer-commerce",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "Commerce Layer for the Alternate Framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"commerce",
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
"nuxt",
|
|
9
9
|
"layer"
|
|
10
10
|
],
|
|
11
|
-
"main": "./nuxt.config.ts",
|
|
12
11
|
"license": "MIT",
|
|
13
12
|
"author": "Meeovi",
|
|
14
13
|
"type": "module",
|
|
@@ -28,23 +27,17 @@
|
|
|
28
27
|
"@meeovi/core": "^1.0.1",
|
|
29
28
|
"@meeovi/layer-social": "^1.0.4",
|
|
30
29
|
"@meeovi/sdk": "^1.0.2",
|
|
31
|
-
"@meeovi/types": "
|
|
30
|
+
"@meeovi/types": "file:../shared/types",
|
|
32
31
|
"@polar-sh/better-auth": "^1.6.4",
|
|
33
32
|
"@polar-sh/sdk": "^0.42.2",
|
|
34
|
-
"@storefront-ui/nuxt": "^3.1.1"
|
|
35
|
-
"ramda": "^0.32.0",
|
|
36
|
-
"type-fest": "^5.4.1"
|
|
33
|
+
"@storefront-ui/nuxt": "^3.1.1"
|
|
37
34
|
},
|
|
38
35
|
"devDependencies": {
|
|
39
36
|
"@biomejs/biome": "^2.3.11",
|
|
40
|
-
"@types/node": "^20.0.0",
|
|
41
|
-
"@types/ramda": "^0.31.1",
|
|
42
37
|
"@vitest/coverage-v8": "^4.0.17",
|
|
43
38
|
"eslint": "^8.0.0",
|
|
44
39
|
"jest-cucumber": "^4.5.0",
|
|
45
40
|
"nuxt": "^4.3.0",
|
|
46
|
-
"
|
|
47
|
-
"typescript": "^5.8.2",
|
|
48
|
-
"vitest": "^4.0.17"
|
|
41
|
+
"typescript": "^5.8.2"
|
|
49
42
|
}
|
|
50
43
|
}
|
package/tsconfig.json
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
"moduleResolution": "bundler",
|
|
7
7
|
"module": "ESNext",
|
|
8
8
|
"target": "ESNext",
|
|
9
|
-
"strict":
|
|
9
|
+
"strict": false,
|
|
10
10
|
"jsx": "react-jsx",
|
|
11
|
-
"skipLibCheck": true,
|
|
11
|
+
"skipLibCheck": true,
|
|
12
12
|
"noEmitOnError": false
|
|
13
13
|
},
|
|
14
14
|
"include": [
|
|
@@ -21,4 +21,11 @@
|
|
|
21
21
|
"app/utils/client.ts",
|
|
22
22
|
"app/utils/normalizers"
|
|
23
23
|
]
|
|
24
|
+
,
|
|
25
|
+
"exclude": [
|
|
26
|
+
"**/__tests__/**",
|
|
27
|
+
"**/*.spec.ts",
|
|
28
|
+
"**/*.spec.tsx",
|
|
29
|
+
"node_modules"
|
|
30
|
+
]
|
|
24
31
|
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
const providers = {};
|
|
2
|
-
export function registerCartProvider(name, provider) {
|
|
3
|
-
providers[name] = provider;
|
|
4
|
-
}
|
|
5
|
-
export function getCartProvider(name) {
|
|
6
|
-
const provider = providers[name];
|
|
7
|
-
if (!provider)
|
|
8
|
-
throw new Error(`Cart provider "${name}" not found`);
|
|
9
|
-
return provider;
|
|
10
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface CartItem {
|
|
2
|
-
id: string;
|
|
3
|
-
quantity: number;
|
|
4
|
-
product: any;
|
|
5
|
-
}
|
|
6
|
-
export interface Cart {
|
|
7
|
-
id: string;
|
|
8
|
-
items: CartItem[];
|
|
9
|
-
total: number;
|
|
10
|
-
}
|
|
11
|
-
export interface CartProvider {
|
|
12
|
-
getCart(): Promise<Cart>;
|
|
13
|
-
addItem(productId: string, quantity?: number): Promise<Cart>;
|
|
14
|
-
removeItem(productId: string): Promise<Cart>;
|
|
15
|
-
clearCart(): Promise<Cart>;
|
|
16
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export declare function useCart(): {
|
|
2
|
-
getCart: () => Promise<import("./types").Cart>;
|
|
3
|
-
addItem: (productId: string, quantity?: number) => Promise<import("./types").Cart>;
|
|
4
|
-
removeItem: (productId: string) => Promise<import("./types").Cart>;
|
|
5
|
-
clearCart: () => Promise<import("./types").Cart>;
|
|
6
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { getCartProvider } from './registry';
|
|
2
|
-
import { useRuntimeConfig } from '#imports';
|
|
3
|
-
export function useCart() {
|
|
4
|
-
const config = useRuntimeConfig();
|
|
5
|
-
const providerName = config.public.cartProvider || 'directus';
|
|
6
|
-
const provider = getCartProvider(providerName);
|
|
7
|
-
return {
|
|
8
|
-
getCart: provider.getCart,
|
|
9
|
-
addItem: provider.addItem,
|
|
10
|
-
removeItem: provider.removeItem,
|
|
11
|
-
clearCart: provider.clearCart
|
|
12
|
-
};
|
|
13
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
let config = {
|
|
2
|
-
productProvider: 'directus',
|
|
3
|
-
cartProvider: 'directus',
|
|
4
|
-
categoryProvider: 'directus'
|
|
5
|
-
};
|
|
6
|
-
export function setCommerceConfig(newConfig) {
|
|
7
|
-
config = { ...config, ...newConfig };
|
|
8
|
-
}
|
|
9
|
-
export function getCommerceConfig() {
|
|
10
|
-
return config;
|
|
11
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
const providers = {};
|
|
2
|
-
export function registerProductProvider(name, provider) {
|
|
3
|
-
providers[name] = provider;
|
|
4
|
-
}
|
|
5
|
-
export function getProductProvider(name) {
|
|
6
|
-
const provider = providers[name];
|
|
7
|
-
if (!provider)
|
|
8
|
-
throw new Error(`Product provider "${name}" not found`);
|
|
9
|
-
return provider;
|
|
10
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface Product {
|
|
2
|
-
id: string;
|
|
3
|
-
title: string;
|
|
4
|
-
description?: string;
|
|
5
|
-
price: number;
|
|
6
|
-
images: string[];
|
|
7
|
-
[key: string]: any;
|
|
8
|
-
}
|
|
9
|
-
export interface ProductProvider {
|
|
10
|
-
getProduct(id: string): Promise<Product>;
|
|
11
|
-
listProducts(params?: Record<string, any>): Promise<Product[]>;
|
|
12
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { getCommerceConfig } from '../config';
|
|
2
|
-
import { getProductProvider } from './registry';
|
|
3
|
-
export function useProducts() {
|
|
4
|
-
const { productProvider } = getCommerceConfig();
|
|
5
|
-
const provider = getProductProvider(productProvider);
|
|
6
|
-
return {
|
|
7
|
-
getProduct: provider.getProduct,
|
|
8
|
-
listProducts: provider.listProducts
|
|
9
|
-
};
|
|
10
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns a commerce client. Prefer `@meeovi/commerce` client creation APIs
|
|
3
|
-
* when available, otherwise fall back to `sdk.commerce`.
|
|
4
|
-
*/
|
|
5
|
-
export declare function getCommerceClient(provider?: string, providerConfig?: any): any;
|
|
6
|
-
export default getCommerceClient;
|
package/dist/app/utils/client.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import * as CommercePkg from '#imports';
|
|
2
|
-
import { sdk } from '@meeovi/sdk';
|
|
3
|
-
const CommerceAny = CommercePkg;
|
|
4
|
-
/**
|
|
5
|
-
* Returns a commerce client. Prefer `@meeovi/commerce` client creation APIs
|
|
6
|
-
* when available, otherwise fall back to `sdk.commerce`.
|
|
7
|
-
*/
|
|
8
|
-
export function getCommerceClient(provider, providerConfig) {
|
|
9
|
-
try {
|
|
10
|
-
if (typeof CommerceAny.createClient === 'function') {
|
|
11
|
-
return CommerceAny.createClient(provider, providerConfig);
|
|
12
|
-
}
|
|
13
|
-
if (typeof CommerceAny.init === 'function') {
|
|
14
|
-
return CommerceAny.init(providerConfig);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
catch (e) {
|
|
18
|
-
// swallow and fallback to sdk
|
|
19
|
-
}
|
|
20
|
-
// fallback: return the SDK's commerce helper (already used in many composables)
|
|
21
|
-
return sdk.commerce;
|
|
22
|
-
}
|
|
23
|
-
export default getCommerceClient;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface CommerceNormalizer {
|
|
2
|
-
normalizeProduct(data: any): any;
|
|
3
|
-
normalizeCategory?(data: any): any;
|
|
4
|
-
normalizeCart?(data: any): any;
|
|
5
|
-
}
|
|
6
|
-
export declare class NormalizerRegistry {
|
|
7
|
-
private registry;
|
|
8
|
-
register(name: string, normalizer: CommerceNormalizer): void;
|
|
9
|
-
get(name: string): CommerceNormalizer | undefined;
|
|
10
|
-
list(): string[];
|
|
11
|
-
}
|
|
12
|
-
export default NormalizerRegistry;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export class NormalizerRegistry {
|
|
2
|
-
registry = new Map();
|
|
3
|
-
register(name, normalizer) {
|
|
4
|
-
this.registry.set(name, normalizer);
|
|
5
|
-
}
|
|
6
|
-
get(name) {
|
|
7
|
-
return this.registry.get(name);
|
|
8
|
-
}
|
|
9
|
-
list() {
|
|
10
|
-
return Array.from(this.registry.keys());
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export default NormalizerRegistry;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export const magentoNormalizer = {
|
|
2
|
-
normalizeProduct(data) {
|
|
3
|
-
return {
|
|
4
|
-
id: data?.id ?? data?.sku ?? data?.item_id,
|
|
5
|
-
title: data?.name ?? data?.title,
|
|
6
|
-
price: data?.price ?? data?.price_range?.minimum_price?.final_price?.value,
|
|
7
|
-
description: data?.description ?? data?.short_description,
|
|
8
|
-
images: (data?.media_gallery_entries ?? []).map((m) => m.file || m.url),
|
|
9
|
-
raw: data,
|
|
10
|
-
};
|
|
11
|
-
},
|
|
12
|
-
normalizeCategory(data) {
|
|
13
|
-
return {
|
|
14
|
-
id: data?.id,
|
|
15
|
-
name: data?.name,
|
|
16
|
-
raw: data,
|
|
17
|
-
};
|
|
18
|
-
},
|
|
19
|
-
normalizeCart(data) {
|
|
20
|
-
return { raw: data };
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
export default magentoNormalizer;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export const shopifyNormalizer = {
|
|
2
|
-
normalizeProduct(data) {
|
|
3
|
-
// Shopify payloads vary depending on SDK; this maps common fields
|
|
4
|
-
return {
|
|
5
|
-
id: data?.id ?? data?.variants?.[0]?.id,
|
|
6
|
-
title: data?.title ?? data?.name,
|
|
7
|
-
price: data?.variants?.[0]?.price ?? data?.price,
|
|
8
|
-
description: data?.body_html ?? data?.description,
|
|
9
|
-
images: (data?.images ?? []).map((i) => i?.src || i?.url),
|
|
10
|
-
raw: data,
|
|
11
|
-
};
|
|
12
|
-
},
|
|
13
|
-
normalizeCategory(data) {
|
|
14
|
-
return {
|
|
15
|
-
id: data?.id,
|
|
16
|
-
name: data?.title ?? data?.name,
|
|
17
|
-
raw: data,
|
|
18
|
-
};
|
|
19
|
-
},
|
|
20
|
-
normalizeCart(data) {
|
|
21
|
-
return { raw: data };
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
export default shopifyNormalizer;
|
package/dist/client.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns a commerce client. Prefer `@meeovi/commerce` client creation APIs
|
|
3
|
-
* when available, otherwise fall back to `sdk.commerce`.
|
|
4
|
-
*/
|
|
5
|
-
export declare function getCommerceClient(provider?: string, providerConfig?: any): any;
|
|
6
|
-
export default getCommerceClient;
|
package/dist/client.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import * as CommercePkg from '#imports';
|
|
2
|
-
import { sdk } from '@meeovi/sdk';
|
|
3
|
-
const CommerceAny = CommercePkg;
|
|
4
|
-
/**
|
|
5
|
-
* Returns a commerce client. Prefer `@meeovi/commerce` client creation APIs
|
|
6
|
-
* when available, otherwise fall back to `sdk.commerce`.
|
|
7
|
-
*/
|
|
8
|
-
export function getCommerceClient(provider, providerConfig) {
|
|
9
|
-
try {
|
|
10
|
-
if (typeof CommerceAny.createClient === 'function') {
|
|
11
|
-
return CommerceAny.createClient(provider, providerConfig);
|
|
12
|
-
}
|
|
13
|
-
if (typeof CommerceAny.init === 'function') {
|
|
14
|
-
return CommerceAny.init(providerConfig);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
catch (e) {
|
|
18
|
-
// swallow and fallback to sdk
|
|
19
|
-
}
|
|
20
|
-
// fallback: return the SDK's commerce helper (already used in many composables)
|
|
21
|
-
return sdk.commerce;
|
|
22
|
-
}
|
|
23
|
-
export default getCommerceClient;
|
package/dist/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './app/composables/products/types';
|
|
2
|
-
export * from './app/composables/products/registry';
|
|
3
|
-
export * from './app/composables/products/useProducts';
|
|
4
|
-
export * from './app/composables/cart/types';
|
|
5
|
-
export * from './app/composables/cart/registry';
|
|
6
|
-
export * from './app/composables/cart/useCart';
|
package/dist/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './app/composables/products/types';
|
|
2
|
-
export * from './app/composables/products/registry';
|
|
3
|
-
export * from './app/composables/products/useProducts';
|
|
4
|
-
export * from './app/composables/cart/types';
|
|
5
|
-
export * from './app/composables/cart/registry';
|
|
6
|
-
export * from './app/composables/cart/useCart';
|
package/dist/normalizer.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface CommerceNormalizer {
|
|
2
|
-
normalizeProduct(data: any): any;
|
|
3
|
-
normalizeCategory?(data: any): any;
|
|
4
|
-
normalizeCart?(data: any): any;
|
|
5
|
-
}
|
|
6
|
-
export declare class NormalizerRegistry {
|
|
7
|
-
private registry;
|
|
8
|
-
register(name: string, normalizer: CommerceNormalizer): void;
|
|
9
|
-
get(name: string): CommerceNormalizer | undefined;
|
|
10
|
-
list(): string[];
|
|
11
|
-
}
|
|
12
|
-
export default NormalizerRegistry;
|
package/dist/normalizer.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export class NormalizerRegistry {
|
|
2
|
-
registry = new Map();
|
|
3
|
-
register(name, normalizer) {
|
|
4
|
-
this.registry.set(name, normalizer);
|
|
5
|
-
}
|
|
6
|
-
get(name) {
|
|
7
|
-
return this.registry.get(name);
|
|
8
|
-
}
|
|
9
|
-
list() {
|
|
10
|
-
return Array.from(this.registry.keys());
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export default NormalizerRegistry;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export const magentoNormalizer = {
|
|
2
|
-
normalizeProduct(data) {
|
|
3
|
-
return {
|
|
4
|
-
id: data?.id ?? data?.sku ?? data?.item_id,
|
|
5
|
-
title: data?.name ?? data?.title,
|
|
6
|
-
price: data?.price ?? data?.price_range?.minimum_price?.final_price?.value,
|
|
7
|
-
description: data?.description ?? data?.short_description,
|
|
8
|
-
images: (data?.media_gallery_entries ?? []).map((m) => m.file || m.url),
|
|
9
|
-
raw: data,
|
|
10
|
-
};
|
|
11
|
-
},
|
|
12
|
-
normalizeCategory(data) {
|
|
13
|
-
return {
|
|
14
|
-
id: data?.id,
|
|
15
|
-
name: data?.name,
|
|
16
|
-
raw: data,
|
|
17
|
-
};
|
|
18
|
-
},
|
|
19
|
-
normalizeCart(data) {
|
|
20
|
-
return { raw: data };
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
export default magentoNormalizer;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export const shopifyNormalizer = {
|
|
2
|
-
normalizeProduct(data) {
|
|
3
|
-
// Shopify payloads vary depending on SDK; this maps common fields
|
|
4
|
-
return {
|
|
5
|
-
id: data?.id ?? data?.variants?.[0]?.id,
|
|
6
|
-
title: data?.title ?? data?.name,
|
|
7
|
-
price: data?.variants?.[0]?.price ?? data?.price,
|
|
8
|
-
description: data?.body_html ?? data?.description,
|
|
9
|
-
images: (data?.images ?? []).map((i) => i?.src || i?.url),
|
|
10
|
-
raw: data,
|
|
11
|
-
};
|
|
12
|
-
},
|
|
13
|
-
normalizeCategory(data) {
|
|
14
|
-
return {
|
|
15
|
-
id: data?.id,
|
|
16
|
-
name: data?.title ?? data?.name,
|
|
17
|
-
raw: data,
|
|
18
|
-
};
|
|
19
|
-
},
|
|
20
|
-
normalizeCart(data) {
|
|
21
|
-
return { raw: data };
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
export default shopifyNormalizer;
|