UNPKG

@woocommerce/data

Version:
155 lines (154 loc) 4.69 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeFavorite = exports.addFavorite = exports.onLoad = exports.onHistoryChange = exports.removeFavoriteSuccess = exports.removeFavoriteFailure = exports.removeFavoriteRequest = exports.addFavoriteSuccess = exports.addFavoriteFailure = exports.addFavoriteRequest = exports.getFavoritesSuccess = exports.getFavoritesRequest = exports.getFavoritesFailure = exports.addMenuItems = exports.setMenuItems = void 0; /** * External dependencies */ const api_fetch_1 = __importDefault(require("@wordpress/api-fetch")); const navigation_1 = require("@woocommerce/navigation"); /** * Internal dependencies */ const action_types_1 = __importDefault(require("./action-types")); const constants_1 = require("../constants"); function setMenuItems(menuItems) { return { type: action_types_1.default.SET_MENU_ITEMS, menuItems, }; } exports.setMenuItems = setMenuItems; function addMenuItems(menuItems) { return { type: action_types_1.default.ADD_MENU_ITEMS, menuItems, }; } exports.addMenuItems = addMenuItems; function getFavoritesFailure(error) { return { type: action_types_1.default.GET_FAVORITES_FAILURE, error, }; } exports.getFavoritesFailure = getFavoritesFailure; function getFavoritesRequest(favorites) { return { type: action_types_1.default.GET_FAVORITES_REQUEST, favorites, }; } exports.getFavoritesRequest = getFavoritesRequest; function getFavoritesSuccess(favorites) { return { type: action_types_1.default.GET_FAVORITES_SUCCESS, favorites, }; } exports.getFavoritesSuccess = getFavoritesSuccess; function addFavoriteRequest(favorite) { return { type: action_types_1.default.ADD_FAVORITE_REQUEST, favorite, }; } exports.addFavoriteRequest = addFavoriteRequest; function addFavoriteFailure(favorite, error) { return { type: action_types_1.default.ADD_FAVORITE_FAILURE, favorite, error, }; } exports.addFavoriteFailure = addFavoriteFailure; function addFavoriteSuccess(favorite) { return { type: action_types_1.default.ADD_FAVORITE_SUCCESS, favorite, }; } exports.addFavoriteSuccess = addFavoriteSuccess; function removeFavoriteRequest(favorite) { return { type: action_types_1.default.REMOVE_FAVORITE_REQUEST, favorite, }; } exports.removeFavoriteRequest = removeFavoriteRequest; function removeFavoriteFailure(favorite, error) { return { type: action_types_1.default.REMOVE_FAVORITE_FAILURE, favorite, error, }; } exports.removeFavoriteFailure = removeFavoriteFailure; function removeFavoriteSuccess(favorite) { return { type: action_types_1.default.REMOVE_FAVORITE_SUCCESS, favorite, }; } exports.removeFavoriteSuccess = removeFavoriteSuccess; function* onHistoryChange() { const persistedQuery = (0, navigation_1.getPersistedQuery)(); if (!Object.keys(persistedQuery).length) { return null; } yield { type: action_types_1.default.ON_HISTORY_CHANGE, persistedQuery, }; } exports.onHistoryChange = onHistoryChange; function* onLoad() { yield onHistoryChange(); } exports.onLoad = onLoad; function* addFavorite(favorite) { yield addFavoriteRequest(favorite); try { const results = yield (0, api_fetch_1.default)({ path: `${constants_1.WC_ADMIN_NAMESPACE}/navigation/favorites/me`, method: 'POST', data: { item_id: favorite, }, }); if (results) { yield addFavoriteSuccess(favorite); return results; } throw new Error(); } catch (error) { yield addFavoriteFailure(favorite, error); throw new Error(); } } exports.addFavorite = addFavorite; function* removeFavorite(favorite) { yield removeFavoriteRequest(favorite); try { const results = yield (0, api_fetch_1.default)({ path: `${constants_1.WC_ADMIN_NAMESPACE}/navigation/favorites/me`, method: 'DELETE', data: { item_id: favorite, }, }); if (results) { yield removeFavoriteSuccess(favorite); return results; } throw new Error(); } catch (error) { yield removeFavoriteFailure(favorite, error); throw new Error(); } } exports.removeFavorite = removeFavorite;