@vue-storefront/core
Advanced tools
Comparing version
@@ -1,10 +0,13 @@ | ||
interface FactoryParams<T> { | ||
defaultSettings: any; | ||
onSetup: (config: T) => void; | ||
/// <reference types="node" /> | ||
import { Interface } from 'readline'; | ||
interface FactoryParams<T, F = any> { | ||
onSetup: (config: T) => T; | ||
api: F; | ||
} | ||
export declare function apiClientFactory<ALL_SETTINGS, CONFIGURABLE_SETTINGS>(factoryParams: FactoryParams<ALL_SETTINGS>): { | ||
setup(config: ALL_SETTINGS): void; | ||
update(config: CONFIGURABLE_SETTINGS): void; | ||
getSettings: () => ALL_SETTINGS; | ||
declare type ApiClientInstance<T, F = any> = { | ||
settings: T; | ||
} & F; | ||
export declare function apiClientFactory<ALL_SETTINGS, ALL_FUNCTIONS extends Interface>(factoryParams: FactoryParams<ALL_SETTINGS, ALL_FUNCTIONS>): { | ||
createApiClient(config: ALL_SETTINGS): ApiClientInstance<ALL_SETTINGS, ALL_FUNCTIONS>; | ||
}; | ||
export {}; |
@@ -1,5 +0,5 @@ | ||
import { CustomQuery, UseCart } from '../types'; | ||
import { CustomQuery, UseCart, Context } from '../types'; | ||
export declare type UseCartFactoryParams<CART, CART_ITEM, PRODUCT, COUPON> = { | ||
loadCart: (customQuery?: CustomQuery) => Promise<CART>; | ||
addToCart: (params: { | ||
loadCart: (context: Context, customQuery?: CustomQuery) => Promise<CART>; | ||
addToCart: (context: Context, params: { | ||
currentCart: CART; | ||
@@ -9,7 +9,7 @@ product: PRODUCT; | ||
}, customQuery?: CustomQuery) => Promise<CART>; | ||
removeFromCart: (params: { | ||
removeFromCart: (context: Context, params: { | ||
currentCart: CART; | ||
product: CART_ITEM; | ||
}, customQuery?: CustomQuery) => Promise<CART>; | ||
updateQuantity: (params: { | ||
updateQuantity: (context: Context, params: { | ||
currentCart: CART; | ||
@@ -19,6 +19,6 @@ product: CART_ITEM; | ||
}, customQuery?: CustomQuery) => Promise<CART>; | ||
clearCart: (prams: { | ||
clearCart: (context: Context, prams: { | ||
currentCart: CART; | ||
}) => Promise<CART>; | ||
applyCoupon: (params: { | ||
applyCoupon: (context: Context, params: { | ||
currentCart: CART; | ||
@@ -29,3 +29,3 @@ couponCode: string; | ||
}>; | ||
removeCoupon: (params: { | ||
removeCoupon: (context: Context, params: { | ||
currentCart: CART; | ||
@@ -36,12 +36,12 @@ coupon: COUPON; | ||
}>; | ||
isOnCart: (params: { | ||
isOnCart: (context: Context, params: { | ||
currentCart: CART; | ||
product: PRODUCT; | ||
}) => boolean; | ||
setup?: () => any; | ||
}; | ||
interface UseCartFactory<CART, CART_ITEM, PRODUCT, COUPON> { | ||
useCart: () => UseCart<CART, CART_ITEM, PRODUCT, COUPON>; | ||
setCart: (cart: CART) => void; | ||
} | ||
export declare const useCartFactory: <CART, CART_ITEM, PRODUCT, COUPON>(factoryParams: UseCartFactoryParams<CART, CART_ITEM, PRODUCT, COUPON>) => UseCartFactory<CART, CART_ITEM, PRODUCT, COUPON>; | ||
export {}; |
@@ -1,5 +0,5 @@ | ||
import { CustomQuery, UseCategory } from '../types'; | ||
import { CustomQuery, UseCategory, Context } from '../types'; | ||
export declare type UseCategoryFactoryParams<CATEGORY, CATEGORY_SEARCH_PARAMS> = { | ||
categorySearch: (searchParams: CATEGORY_SEARCH_PARAMS, customQuery: CustomQuery) => Promise<CATEGORY[]>; | ||
categorySearch: (context: Context, searchParams: CATEGORY_SEARCH_PARAMS, customQuery: CustomQuery) => Promise<CATEGORY[]>; | ||
}; | ||
export declare function useCategoryFactory<CATEGORY, CATEGORY_SEARCH_PARAMS>(factoryParams: UseCategoryFactoryParams<CATEGORY, CATEGORY_SEARCH_PARAMS>): (id: string) => UseCategory<CATEGORY>; |
@@ -1,5 +0,5 @@ | ||
import { RenderComponent, UseContent } from '../types'; | ||
import { RenderComponent, UseContent, Context } from '../types'; | ||
import { PropOptions } from 'vue'; | ||
export declare type UseContentFactoryParams<CONTENT, CONTENT_SEARCH_PARAMS> = { | ||
search: (params: CONTENT_SEARCH_PARAMS) => Promise<CONTENT>; | ||
search: (context: Context, params: CONTENT_SEARCH_PARAMS) => Promise<CONTENT>; | ||
}; | ||
@@ -6,0 +6,0 @@ export declare function useContentFactory<CONTENT, CONTENT_SEARCH_PARAMS>(factoryParams: UseContentFactoryParams<CONTENT, CONTENT_SEARCH_PARAMS>): (id: string) => UseContent<CONTENT, CONTENT_SEARCH_PARAMS>; |
@@ -1,6 +0,6 @@ | ||
import { UseFacet, FacetSearchResult } from '../types'; | ||
import { UseFacet, FacetSearchResult, Context } from '../types'; | ||
interface UseFacetFactoryParams<SEARCH_DATA> { | ||
search: (params?: FacetSearchResult<SEARCH_DATA>) => Promise<SEARCH_DATA>; | ||
search: (context: Context, params?: FacetSearchResult<SEARCH_DATA>) => Promise<SEARCH_DATA>; | ||
} | ||
declare const useFacetFactory: <SEARCH_DATA>(factoryParams: UseFacetFactoryParams<SEARCH_DATA>) => (id?: string) => UseFacet<SEARCH_DATA>; | ||
export { useFacetFactory }; |
@@ -1,11 +0,9 @@ | ||
import { CustomQuery, SearchParams, UseProduct } from '../types'; | ||
export interface ProductsSearchResult<PRODUCT, PRODUCT_FILTERS, SORTING_OPTIONS> { | ||
import { CustomQuery, ProductsSearchParams, UseProduct, Context } from '../types'; | ||
export interface ProductsSearchResult<PRODUCT> { | ||
data: PRODUCT[]; | ||
total: number; | ||
availableFilters?: PRODUCT_FILTERS; | ||
availableSortingOptions?: SORTING_OPTIONS; | ||
} | ||
export declare type UseProductFactoryParams<PRODUCT, PRODUCT_SEARCH_PARAMS extends SearchParams, PRODUCT_FILTERS, SORTING_OPTIONS> = { | ||
productsSearch: (searchParams: PRODUCT_SEARCH_PARAMS, customQuery?: CustomQuery) => Promise<ProductsSearchResult<PRODUCT, PRODUCT_FILTERS, SORTING_OPTIONS>>; | ||
export declare type UseProductFactoryParams<PRODUCT, PRODUCT_SEARCH_PARAMS extends ProductsSearchParams> = { | ||
productsSearch: (context: Context, searchParams: PRODUCT_SEARCH_PARAMS, customQuery?: CustomQuery) => Promise<ProductsSearchResult<PRODUCT>>; | ||
}; | ||
export declare function useProductFactory<PRODUCT, PRODUCT_SEARCH_PARAMS, PRODUCT_FILTERS, SORTING_OPTIONS>(factoryParams: UseProductFactoryParams<PRODUCT, PRODUCT_SEARCH_PARAMS, PRODUCT_FILTERS, SORTING_OPTIONS>): (id: string) => UseProduct<PRODUCT, PRODUCT_FILTERS, SORTING_OPTIONS>; | ||
export declare function useProductFactory<PRODUCT, PRODUCT_SEARCH_PARAMS>(factoryParams: UseProductFactoryParams<PRODUCT, PRODUCT_SEARCH_PARAMS>): (id: string) => UseProduct<PRODUCT>; |
@@ -1,6 +0,6 @@ | ||
import { CustomQuery, UseReview } from '../types'; | ||
import { CustomQuery, UseReview, Context } from '../types'; | ||
export declare type UseReviewFactoryParams<REVIEW, REVIEWS_SEARCH_PARAMS, REVIEW_ADD_PARAMS> = { | ||
searchReviews: (params: REVIEWS_SEARCH_PARAMS, customQuery?: CustomQuery) => Promise<REVIEW>; | ||
addReview: (params: REVIEW_ADD_PARAMS, customQuery?: CustomQuery) => Promise<REVIEW>; | ||
searchReviews: (context: Context, params: REVIEWS_SEARCH_PARAMS, customQuery?: CustomQuery) => Promise<REVIEW>; | ||
addReview: (context: Context, params: REVIEW_ADD_PARAMS, customQuery?: CustomQuery) => Promise<REVIEW>; | ||
}; | ||
export declare function useReviewFactory<REVIEW, REVIEWS_SEARCH_PARAMS, REVIEW_ADD_PARAMS>(factoryParams: UseReviewFactoryParams<REVIEW, REVIEWS_SEARCH_PARAMS, REVIEW_ADD_PARAMS>): (id: string) => UseReview<REVIEW, REVIEWS_SEARCH_PARAMS, REVIEW_ADD_PARAMS>; |
@@ -1,19 +0,19 @@ | ||
import { UseUserBilling } from '../types'; | ||
import { UseUserBilling, Context } from '../types'; | ||
export interface UseUserBillingFactoryParams<USER_BILLING, USER_BILLING_ITEM> { | ||
addAddress: (params: { | ||
addAddress: (context: Context, params: { | ||
address: Readonly<USER_BILLING_ITEM>; | ||
billing: Readonly<USER_BILLING>; | ||
}) => Promise<USER_BILLING>; | ||
deleteAddress: (params: { | ||
deleteAddress: (context: Context, params: { | ||
address: Readonly<USER_BILLING_ITEM>; | ||
billing: Readonly<USER_BILLING>; | ||
}) => Promise<USER_BILLING>; | ||
updateAddress: (params: { | ||
updateAddress: (context: Context, params: { | ||
address: Readonly<USER_BILLING_ITEM>; | ||
billing: Readonly<USER_BILLING>; | ||
}) => Promise<USER_BILLING>; | ||
load: (params: { | ||
load: (context: Context, params: { | ||
billing: Readonly<USER_BILLING>; | ||
}) => Promise<USER_BILLING>; | ||
setDefault: (params: { | ||
setDefault: (context: Context, params: { | ||
address: Readonly<USER_BILLING_ITEM>; | ||
@@ -20,0 +20,0 @@ billing: Readonly<USER_BILLING>; |
@@ -1,17 +0,17 @@ | ||
import { UseUser } from '../types'; | ||
import { UseUser, Context } from '../types'; | ||
export interface UseUserFactoryParams<USER, UPDATE_USER_PARAMS, REGISTER_USER_PARAMS> { | ||
loadUser: () => Promise<USER>; | ||
logOut: (params?: { | ||
loadUser: (context: Context) => Promise<USER>; | ||
logOut: (context: Context, params?: { | ||
currentUser?: USER; | ||
}) => Promise<void>; | ||
updateUser: (params: { | ||
updateUser: (context: Context, params: { | ||
currentUser: USER; | ||
updatedUserData: UPDATE_USER_PARAMS; | ||
}) => Promise<USER>; | ||
register: (params: REGISTER_USER_PARAMS) => Promise<USER>; | ||
logIn: (params: { | ||
register: (context: Context, params: REGISTER_USER_PARAMS) => Promise<USER>; | ||
logIn: (context: Context, params: { | ||
username: string; | ||
password: string; | ||
}) => Promise<USER>; | ||
changePassword: (params: { | ||
changePassword: (context: Context, params: { | ||
currentUser: USER; | ||
@@ -21,6 +21,6 @@ currentPassword: string; | ||
}) => Promise<USER>; | ||
setup?: () => any; | ||
} | ||
interface UseUserFactory<USER, UPDATE_USER_PARAMS> { | ||
useUser: () => UseUser<USER, UPDATE_USER_PARAMS>; | ||
setUser: (user: USER) => void; | ||
} | ||
@@ -27,0 +27,0 @@ export declare const useUserFactory: <USER, UPDATE_USER_PARAMS, REGISTER_USER_PARAMS extends { |
@@ -1,2 +0,2 @@ | ||
import { CustomQuery, UseUserOrders } from '../types'; | ||
import { CustomQuery, UseUserOrders, Context } from '../types'; | ||
export interface OrdersSearchResult<ORDER> { | ||
@@ -7,4 +7,4 @@ data: ORDER[]; | ||
export declare type UseUserOrdersFactoryParams<ORDER, ORDER_SEARCH_PARAMS> = { | ||
searchOrders: (params: ORDER_SEARCH_PARAMS, customQuery?: CustomQuery) => Promise<OrdersSearchResult<ORDER>>; | ||
searchOrders: (context: Context, params: ORDER_SEARCH_PARAMS, customQuery?: CustomQuery) => Promise<OrdersSearchResult<ORDER>>; | ||
}; | ||
export declare function useUserOrdersFactory<ORDER, ORDER_SEARCH_PARAMS>(factoryParams: UseUserOrdersFactoryParams<ORDER, ORDER_SEARCH_PARAMS>): () => UseUserOrders<ORDER>; |
@@ -1,19 +0,19 @@ | ||
import { UseUserShipping } from '../types'; | ||
import { UseUserShipping, Context } from '../types'; | ||
export interface UseUserShippingFactoryParams<USER_SHIPPING, USER_SHIPPING_ITEM> { | ||
addAddress: (params: { | ||
addAddress: (context: Context, params: { | ||
address: Readonly<USER_SHIPPING_ITEM>; | ||
shipping: Readonly<USER_SHIPPING>; | ||
}) => Promise<USER_SHIPPING>; | ||
deleteAddress: (params: { | ||
deleteAddress: (context: Context, params: { | ||
address: Readonly<USER_SHIPPING_ITEM>; | ||
shipping: Readonly<USER_SHIPPING>; | ||
}) => Promise<USER_SHIPPING>; | ||
updateAddress: (params: { | ||
updateAddress: (context: Context, params: { | ||
address: Readonly<USER_SHIPPING_ITEM>; | ||
shipping: Readonly<USER_SHIPPING>; | ||
}) => Promise<USER_SHIPPING>; | ||
load: (params: { | ||
load: (context: Context, params: { | ||
shipping: Readonly<USER_SHIPPING>; | ||
}) => Promise<USER_SHIPPING>; | ||
setDefault: (params: { | ||
setDefault: (context: Context, params: { | ||
address: Readonly<USER_SHIPPING_ITEM>; | ||
@@ -20,0 +20,0 @@ shipping: Readonly<USER_SHIPPING>; |
@@ -1,16 +0,16 @@ | ||
import { UseWishlist, CustomQuery } from '../types'; | ||
import { UseWishlist, CustomQuery, Context } from '../types'; | ||
export declare type UseWishlistFactoryParams<WISHLIST, WISHLIST_ITEM, PRODUCT> = { | ||
loadWishlist: (customQuery?: CustomQuery) => Promise<WISHLIST>; | ||
addToWishlist: (params: { | ||
loadWishlist: (context: Context, customQuery?: CustomQuery) => Promise<WISHLIST>; | ||
addToWishlist: (context: Context, params: { | ||
currentWishlist: WISHLIST; | ||
product: PRODUCT; | ||
}, customQuery?: CustomQuery) => Promise<WISHLIST>; | ||
removeFromWishlist: (params: { | ||
removeFromWishlist: (context: Context, params: { | ||
currentWishlist: WISHLIST; | ||
product: WISHLIST_ITEM; | ||
}, customQuery?: CustomQuery) => Promise<WISHLIST>; | ||
clearWishlist: (params: { | ||
clearWishlist: (context: Context, params: { | ||
currentWishlist: WISHLIST; | ||
}) => Promise<WISHLIST>; | ||
isOnWishlist: (params: { | ||
isOnWishlist: (context: Context, params: { | ||
currentWishlist: WISHLIST; | ||
@@ -17,0 +17,0 @@ product: PRODUCT; |
@@ -6,3 +6,3 @@ declare const createMiddleware: ({ apiMiddleware }: { | ||
path: string; | ||
handler: any; | ||
handler: import("express-serve-static-core").Express; | ||
}; | ||
@@ -9,0 +9,0 @@ extend: (fn: any) => any; |
@@ -7,3 +7,3 @@ import { Ref } from '@vue/composition-api'; | ||
}; | ||
export interface SearchParams { | ||
export interface ProductsSearchParams { | ||
perPage?: number; | ||
@@ -16,8 +16,8 @@ page?: number; | ||
} | ||
export interface UseProduct<PRODUCT, PRODUCT_FILTERS, SORTING_OPTIONS> { | ||
export interface UseProduct<PRODUCT> { | ||
products: ComputedProperty<PRODUCT[]>; | ||
totalProducts: ComputedProperty<number>; | ||
loading: ComputedProperty<boolean>; | ||
search(params: SearchParams): Promise<void>; | ||
search(params: SearchParams, customQuery?: CustomQuery): Promise<void>; | ||
search(params: ProductsSearchParams): Promise<void>; | ||
search(params: ProductsSearchParams, customQuery?: CustomQuery): Promise<void>; | ||
[x: string]: any; | ||
@@ -39,2 +39,3 @@ } | ||
user: ComputedProperty<USER>; | ||
setUser: (user: USER) => void; | ||
updateUser: (params: UPDATE_USER_PARAMS) => Promise<void>; | ||
@@ -139,2 +140,3 @@ register: (user: UseUserRegisterParams) => Promise<void>; | ||
cart: ComputedProperty<CART>; | ||
setCart(cart: CART): void; | ||
addToCart(product: PRODUCT, quantity?: number): Promise<void>; | ||
@@ -434,1 +436,6 @@ addToCart(product: PRODUCT, quantity?: number, customQuery?: CustomQuery): Promise<void>; | ||
} | ||
export interface Context { | ||
$api: any; | ||
$settings: any; | ||
[x: string]: any; | ||
} |
@@ -6,2 +6,3 @@ import { onSSR, vsfRef, configureSSR } from './ssr'; | ||
import mask from './logger/mask'; | ||
export { wrap, onSSR, vsfRef, configureSSR, sharedRef, Logger, registerLogger, mask }; | ||
import { useContext, configureContext, generateContext } from './context'; | ||
export { wrap, onSSR, vsfRef, configureSSR, sharedRef, Logger, registerLogger, mask, configureContext, useContext, generateContext }; |
{ | ||
"name": "@vue-storefront/core", | ||
"version": "2.0.11", | ||
"version": "2.0.12-lc.6", | ||
"sideEffects": false, | ||
@@ -17,3 +17,3 @@ "main": "lib/index.cjs.js", | ||
"dependencies": { | ||
"@vue/composition-api": "1.0.0-beta.14", | ||
"@vue/composition-api": "1.0.0-beta.19", | ||
"vue": "^2.6.11", | ||
@@ -20,0 +20,0 @@ "lodash-es": "^4.17.15", |
@@ -1,10 +0,13 @@ | ||
interface FactoryParams<T> { | ||
defaultSettings: any; | ||
onSetup: (config: T) => void; | ||
/// <reference types="node" /> | ||
import { Interface } from 'readline'; | ||
interface FactoryParams<T, F = any> { | ||
onSetup: (config: T) => T; | ||
api: F; | ||
} | ||
export declare function apiClientFactory<ALL_SETTINGS, CONFIGURABLE_SETTINGS>(factoryParams: FactoryParams<ALL_SETTINGS>): { | ||
setup(config: ALL_SETTINGS): void; | ||
update(config: CONFIGURABLE_SETTINGS): void; | ||
getSettings: () => ALL_SETTINGS; | ||
declare type ApiClientInstance<T, F = any> = { | ||
settings: T; | ||
} & F; | ||
export declare function apiClientFactory<ALL_SETTINGS, ALL_FUNCTIONS extends Interface>(factoryParams: FactoryParams<ALL_SETTINGS, ALL_FUNCTIONS>): { | ||
createApiClient(config: ALL_SETTINGS): ApiClientInstance<ALL_SETTINGS, ALL_FUNCTIONS>; | ||
}; | ||
export {}; |
@@ -1,5 +0,5 @@ | ||
import { CustomQuery, UseCart } from '../types'; | ||
import { CustomQuery, UseCart, Context } from '../types'; | ||
export declare type UseCartFactoryParams<CART, CART_ITEM, PRODUCT, COUPON> = { | ||
loadCart: (customQuery?: CustomQuery) => Promise<CART>; | ||
addToCart: (params: { | ||
loadCart: (context: Context, customQuery?: CustomQuery) => Promise<CART>; | ||
addToCart: (context: Context, params: { | ||
currentCart: CART; | ||
@@ -9,7 +9,7 @@ product: PRODUCT; | ||
}, customQuery?: CustomQuery) => Promise<CART>; | ||
removeFromCart: (params: { | ||
removeFromCart: (context: Context, params: { | ||
currentCart: CART; | ||
product: CART_ITEM; | ||
}, customQuery?: CustomQuery) => Promise<CART>; | ||
updateQuantity: (params: { | ||
updateQuantity: (context: Context, params: { | ||
currentCart: CART; | ||
@@ -19,6 +19,6 @@ product: CART_ITEM; | ||
}, customQuery?: CustomQuery) => Promise<CART>; | ||
clearCart: (prams: { | ||
clearCart: (context: Context, prams: { | ||
currentCart: CART; | ||
}) => Promise<CART>; | ||
applyCoupon: (params: { | ||
applyCoupon: (context: Context, params: { | ||
currentCart: CART; | ||
@@ -29,3 +29,3 @@ couponCode: string; | ||
}>; | ||
removeCoupon: (params: { | ||
removeCoupon: (context: Context, params: { | ||
currentCart: CART; | ||
@@ -36,12 +36,12 @@ coupon: COUPON; | ||
}>; | ||
isOnCart: (params: { | ||
isOnCart: (context: Context, params: { | ||
currentCart: CART; | ||
product: PRODUCT; | ||
}) => boolean; | ||
setup?: () => any; | ||
}; | ||
interface UseCartFactory<CART, CART_ITEM, PRODUCT, COUPON> { | ||
useCart: () => UseCart<CART, CART_ITEM, PRODUCT, COUPON>; | ||
setCart: (cart: CART) => void; | ||
} | ||
export declare const useCartFactory: <CART, CART_ITEM, PRODUCT, COUPON>(factoryParams: UseCartFactoryParams<CART, CART_ITEM, PRODUCT, COUPON>) => UseCartFactory<CART, CART_ITEM, PRODUCT, COUPON>; | ||
export {}; |
@@ -1,5 +0,5 @@ | ||
import { CustomQuery, UseCategory } from '../types'; | ||
import { CustomQuery, UseCategory, Context } from '../types'; | ||
export declare type UseCategoryFactoryParams<CATEGORY, CATEGORY_SEARCH_PARAMS> = { | ||
categorySearch: (searchParams: CATEGORY_SEARCH_PARAMS, customQuery: CustomQuery) => Promise<CATEGORY[]>; | ||
categorySearch: (context: Context, searchParams: CATEGORY_SEARCH_PARAMS, customQuery: CustomQuery) => Promise<CATEGORY[]>; | ||
}; | ||
export declare function useCategoryFactory<CATEGORY, CATEGORY_SEARCH_PARAMS>(factoryParams: UseCategoryFactoryParams<CATEGORY, CATEGORY_SEARCH_PARAMS>): (id: string) => UseCategory<CATEGORY>; |
@@ -1,5 +0,5 @@ | ||
import { RenderComponent, UseContent } from '../types'; | ||
import { RenderComponent, UseContent, Context } from '../types'; | ||
import { PropOptions } from 'vue'; | ||
export declare type UseContentFactoryParams<CONTENT, CONTENT_SEARCH_PARAMS> = { | ||
search: (params: CONTENT_SEARCH_PARAMS) => Promise<CONTENT>; | ||
search: (context: Context, params: CONTENT_SEARCH_PARAMS) => Promise<CONTENT>; | ||
}; | ||
@@ -6,0 +6,0 @@ export declare function useContentFactory<CONTENT, CONTENT_SEARCH_PARAMS>(factoryParams: UseContentFactoryParams<CONTENT, CONTENT_SEARCH_PARAMS>): (id: string) => UseContent<CONTENT, CONTENT_SEARCH_PARAMS>; |
@@ -1,6 +0,6 @@ | ||
import { UseFacet, FacetSearchResult } from '../types'; | ||
import { UseFacet, FacetSearchResult, Context } from '../types'; | ||
interface UseFacetFactoryParams<SEARCH_DATA> { | ||
search: (params?: FacetSearchResult<SEARCH_DATA>) => Promise<SEARCH_DATA>; | ||
search: (context: Context, params?: FacetSearchResult<SEARCH_DATA>) => Promise<SEARCH_DATA>; | ||
} | ||
declare const useFacetFactory: <SEARCH_DATA>(factoryParams: UseFacetFactoryParams<SEARCH_DATA>) => (id?: string) => UseFacet<SEARCH_DATA>; | ||
export { useFacetFactory }; |
@@ -1,11 +0,9 @@ | ||
import { CustomQuery, SearchParams, UseProduct } from '../types'; | ||
export interface ProductsSearchResult<PRODUCT, PRODUCT_FILTERS, SORTING_OPTIONS> { | ||
import { CustomQuery, ProductsSearchParams, UseProduct, Context } from '../types'; | ||
export interface ProductsSearchResult<PRODUCT> { | ||
data: PRODUCT[]; | ||
total: number; | ||
availableFilters?: PRODUCT_FILTERS; | ||
availableSortingOptions?: SORTING_OPTIONS; | ||
} | ||
export declare type UseProductFactoryParams<PRODUCT, PRODUCT_SEARCH_PARAMS extends SearchParams, PRODUCT_FILTERS, SORTING_OPTIONS> = { | ||
productsSearch: (searchParams: PRODUCT_SEARCH_PARAMS, customQuery?: CustomQuery) => Promise<ProductsSearchResult<PRODUCT, PRODUCT_FILTERS, SORTING_OPTIONS>>; | ||
export declare type UseProductFactoryParams<PRODUCT, PRODUCT_SEARCH_PARAMS extends ProductsSearchParams> = { | ||
productsSearch: (context: Context, searchParams: PRODUCT_SEARCH_PARAMS, customQuery?: CustomQuery) => Promise<ProductsSearchResult<PRODUCT>>; | ||
}; | ||
export declare function useProductFactory<PRODUCT, PRODUCT_SEARCH_PARAMS, PRODUCT_FILTERS, SORTING_OPTIONS>(factoryParams: UseProductFactoryParams<PRODUCT, PRODUCT_SEARCH_PARAMS, PRODUCT_FILTERS, SORTING_OPTIONS>): (id: string) => UseProduct<PRODUCT, PRODUCT_FILTERS, SORTING_OPTIONS>; | ||
export declare function useProductFactory<PRODUCT, PRODUCT_SEARCH_PARAMS>(factoryParams: UseProductFactoryParams<PRODUCT, PRODUCT_SEARCH_PARAMS>): (id: string) => UseProduct<PRODUCT>; |
@@ -1,6 +0,6 @@ | ||
import { CustomQuery, UseReview } from '../types'; | ||
import { CustomQuery, UseReview, Context } from '../types'; | ||
export declare type UseReviewFactoryParams<REVIEW, REVIEWS_SEARCH_PARAMS, REVIEW_ADD_PARAMS> = { | ||
searchReviews: (params: REVIEWS_SEARCH_PARAMS, customQuery?: CustomQuery) => Promise<REVIEW>; | ||
addReview: (params: REVIEW_ADD_PARAMS, customQuery?: CustomQuery) => Promise<REVIEW>; | ||
searchReviews: (context: Context, params: REVIEWS_SEARCH_PARAMS, customQuery?: CustomQuery) => Promise<REVIEW>; | ||
addReview: (context: Context, params: REVIEW_ADD_PARAMS, customQuery?: CustomQuery) => Promise<REVIEW>; | ||
}; | ||
export declare function useReviewFactory<REVIEW, REVIEWS_SEARCH_PARAMS, REVIEW_ADD_PARAMS>(factoryParams: UseReviewFactoryParams<REVIEW, REVIEWS_SEARCH_PARAMS, REVIEW_ADD_PARAMS>): (id: string) => UseReview<REVIEW, REVIEWS_SEARCH_PARAMS, REVIEW_ADD_PARAMS>; |
@@ -1,19 +0,19 @@ | ||
import { UseUserBilling } from '../types'; | ||
import { UseUserBilling, Context } from '../types'; | ||
export interface UseUserBillingFactoryParams<USER_BILLING, USER_BILLING_ITEM> { | ||
addAddress: (params: { | ||
addAddress: (context: Context, params: { | ||
address: Readonly<USER_BILLING_ITEM>; | ||
billing: Readonly<USER_BILLING>; | ||
}) => Promise<USER_BILLING>; | ||
deleteAddress: (params: { | ||
deleteAddress: (context: Context, params: { | ||
address: Readonly<USER_BILLING_ITEM>; | ||
billing: Readonly<USER_BILLING>; | ||
}) => Promise<USER_BILLING>; | ||
updateAddress: (params: { | ||
updateAddress: (context: Context, params: { | ||
address: Readonly<USER_BILLING_ITEM>; | ||
billing: Readonly<USER_BILLING>; | ||
}) => Promise<USER_BILLING>; | ||
load: (params: { | ||
load: (context: Context, params: { | ||
billing: Readonly<USER_BILLING>; | ||
}) => Promise<USER_BILLING>; | ||
setDefault: (params: { | ||
setDefault: (context: Context, params: { | ||
address: Readonly<USER_BILLING_ITEM>; | ||
@@ -20,0 +20,0 @@ billing: Readonly<USER_BILLING>; |
@@ -1,17 +0,17 @@ | ||
import { UseUser } from '../types'; | ||
import { UseUser, Context } from '../types'; | ||
export interface UseUserFactoryParams<USER, UPDATE_USER_PARAMS, REGISTER_USER_PARAMS> { | ||
loadUser: () => Promise<USER>; | ||
logOut: (params?: { | ||
loadUser: (context: Context) => Promise<USER>; | ||
logOut: (context: Context, params?: { | ||
currentUser?: USER; | ||
}) => Promise<void>; | ||
updateUser: (params: { | ||
updateUser: (context: Context, params: { | ||
currentUser: USER; | ||
updatedUserData: UPDATE_USER_PARAMS; | ||
}) => Promise<USER>; | ||
register: (params: REGISTER_USER_PARAMS) => Promise<USER>; | ||
logIn: (params: { | ||
register: (context: Context, params: REGISTER_USER_PARAMS) => Promise<USER>; | ||
logIn: (context: Context, params: { | ||
username: string; | ||
password: string; | ||
}) => Promise<USER>; | ||
changePassword: (params: { | ||
changePassword: (context: Context, params: { | ||
currentUser: USER; | ||
@@ -21,6 +21,6 @@ currentPassword: string; | ||
}) => Promise<USER>; | ||
setup?: () => any; | ||
} | ||
interface UseUserFactory<USER, UPDATE_USER_PARAMS> { | ||
useUser: () => UseUser<USER, UPDATE_USER_PARAMS>; | ||
setUser: (user: USER) => void; | ||
} | ||
@@ -27,0 +27,0 @@ export declare const useUserFactory: <USER, UPDATE_USER_PARAMS, REGISTER_USER_PARAMS extends { |
@@ -1,2 +0,2 @@ | ||
import { CustomQuery, UseUserOrders } from '../types'; | ||
import { CustomQuery, UseUserOrders, Context } from '../types'; | ||
export interface OrdersSearchResult<ORDER> { | ||
@@ -7,4 +7,4 @@ data: ORDER[]; | ||
export declare type UseUserOrdersFactoryParams<ORDER, ORDER_SEARCH_PARAMS> = { | ||
searchOrders: (params: ORDER_SEARCH_PARAMS, customQuery?: CustomQuery) => Promise<OrdersSearchResult<ORDER>>; | ||
searchOrders: (context: Context, params: ORDER_SEARCH_PARAMS, customQuery?: CustomQuery) => Promise<OrdersSearchResult<ORDER>>; | ||
}; | ||
export declare function useUserOrdersFactory<ORDER, ORDER_SEARCH_PARAMS>(factoryParams: UseUserOrdersFactoryParams<ORDER, ORDER_SEARCH_PARAMS>): () => UseUserOrders<ORDER>; |
@@ -1,19 +0,19 @@ | ||
import { UseUserShipping } from '../types'; | ||
import { UseUserShipping, Context } from '../types'; | ||
export interface UseUserShippingFactoryParams<USER_SHIPPING, USER_SHIPPING_ITEM> { | ||
addAddress: (params: { | ||
addAddress: (context: Context, params: { | ||
address: Readonly<USER_SHIPPING_ITEM>; | ||
shipping: Readonly<USER_SHIPPING>; | ||
}) => Promise<USER_SHIPPING>; | ||
deleteAddress: (params: { | ||
deleteAddress: (context: Context, params: { | ||
address: Readonly<USER_SHIPPING_ITEM>; | ||
shipping: Readonly<USER_SHIPPING>; | ||
}) => Promise<USER_SHIPPING>; | ||
updateAddress: (params: { | ||
updateAddress: (context: Context, params: { | ||
address: Readonly<USER_SHIPPING_ITEM>; | ||
shipping: Readonly<USER_SHIPPING>; | ||
}) => Promise<USER_SHIPPING>; | ||
load: (params: { | ||
load: (context: Context, params: { | ||
shipping: Readonly<USER_SHIPPING>; | ||
}) => Promise<USER_SHIPPING>; | ||
setDefault: (params: { | ||
setDefault: (context: Context, params: { | ||
address: Readonly<USER_SHIPPING_ITEM>; | ||
@@ -20,0 +20,0 @@ shipping: Readonly<USER_SHIPPING>; |
@@ -1,16 +0,16 @@ | ||
import { UseWishlist, CustomQuery } from '../types'; | ||
import { UseWishlist, CustomQuery, Context } from '../types'; | ||
export declare type UseWishlistFactoryParams<WISHLIST, WISHLIST_ITEM, PRODUCT> = { | ||
loadWishlist: (customQuery?: CustomQuery) => Promise<WISHLIST>; | ||
addToWishlist: (params: { | ||
loadWishlist: (context: Context, customQuery?: CustomQuery) => Promise<WISHLIST>; | ||
addToWishlist: (context: Context, params: { | ||
currentWishlist: WISHLIST; | ||
product: PRODUCT; | ||
}, customQuery?: CustomQuery) => Promise<WISHLIST>; | ||
removeFromWishlist: (params: { | ||
removeFromWishlist: (context: Context, params: { | ||
currentWishlist: WISHLIST; | ||
product: WISHLIST_ITEM; | ||
}, customQuery?: CustomQuery) => Promise<WISHLIST>; | ||
clearWishlist: (params: { | ||
clearWishlist: (context: Context, params: { | ||
currentWishlist: WISHLIST; | ||
}) => Promise<WISHLIST>; | ||
isOnWishlist: (params: { | ||
isOnWishlist: (context: Context, params: { | ||
currentWishlist: WISHLIST; | ||
@@ -17,0 +17,0 @@ product: PRODUCT; |
@@ -6,3 +6,3 @@ declare const createMiddleware: ({ apiMiddleware }: { | ||
path: string; | ||
handler: any; | ||
handler: import("express-serve-static-core").Express; | ||
}; | ||
@@ -9,0 +9,0 @@ extend: (fn: any) => any; |
@@ -7,3 +7,3 @@ import { Ref } from '@vue/composition-api'; | ||
}; | ||
export interface SearchParams { | ||
export interface ProductsSearchParams { | ||
perPage?: number; | ||
@@ -16,8 +16,8 @@ page?: number; | ||
} | ||
export interface UseProduct<PRODUCT, PRODUCT_FILTERS, SORTING_OPTIONS> { | ||
export interface UseProduct<PRODUCT> { | ||
products: ComputedProperty<PRODUCT[]>; | ||
totalProducts: ComputedProperty<number>; | ||
loading: ComputedProperty<boolean>; | ||
search(params: SearchParams): Promise<void>; | ||
search(params: SearchParams, customQuery?: CustomQuery): Promise<void>; | ||
search(params: ProductsSearchParams): Promise<void>; | ||
search(params: ProductsSearchParams, customQuery?: CustomQuery): Promise<void>; | ||
[x: string]: any; | ||
@@ -39,2 +39,3 @@ } | ||
user: ComputedProperty<USER>; | ||
setUser: (user: USER) => void; | ||
updateUser: (params: UPDATE_USER_PARAMS) => Promise<void>; | ||
@@ -139,2 +140,3 @@ register: (user: UseUserRegisterParams) => Promise<void>; | ||
cart: ComputedProperty<CART>; | ||
setCart(cart: CART): void; | ||
addToCart(product: PRODUCT, quantity?: number): Promise<void>; | ||
@@ -434,1 +436,6 @@ addToCart(product: PRODUCT, quantity?: number, customQuery?: CustomQuery): Promise<void>; | ||
} | ||
export interface Context { | ||
$api: any; | ||
$settings: any; | ||
[x: string]: any; | ||
} |
@@ -6,2 +6,3 @@ import { onSSR, vsfRef, configureSSR } from './ssr'; | ||
import mask from './logger/mask'; | ||
export { wrap, onSSR, vsfRef, configureSSR, sharedRef, Logger, registerLogger, mask }; | ||
import { useContext, configureContext, generateContext } from './context'; | ||
export { wrap, onSSR, vsfRef, configureSSR, sharedRef, Logger, registerLogger, mask, configureContext, useContext, generateContext }; |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
687327
1.83%78
11.43%8014
1.29%2
100%+ Added
- Removed