@automattic/data-stores 3.1.2 → 3.2.0
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/CHANGELOG.md +14 -1
- package/dist/cjs/contextual-help/admin-sections.js +1 -1
- package/dist/cjs/contextual-help/admin-sections.js.map +1 -1
- package/dist/cjs/help-center/actions.js +79 -49
- package/dist/cjs/help-center/actions.js.map +1 -1
- package/dist/cjs/help-center/reducer.js +19 -10
- package/dist/cjs/help-center/reducer.js.map +1 -1
- package/dist/cjs/help-center/resolvers.js +2 -1
- package/dist/cjs/help-center/resolvers.js.map +1 -1
- package/dist/cjs/help-center/selectors.js +7 -5
- package/dist/cjs/help-center/selectors.js.map +1 -1
- package/dist/cjs/index.js +1 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/onboard/actions.js +11 -1
- package/dist/cjs/onboard/actions.js.map +1 -1
- package/dist/cjs/onboard/reducer.js +23 -1
- package/dist/cjs/onboard/reducer.js.map +1 -1
- package/dist/cjs/onboard/selectors.js +5 -1
- package/dist/cjs/onboard/selectors.js.map +1 -1
- package/dist/cjs/plans/queries/use-plans.js +20 -1
- package/dist/cjs/plans/queries/use-plans.js.map +1 -1
- package/dist/cjs/purchases/lib/assembler.js +6 -16
- package/dist/cjs/purchases/lib/assembler.js.map +1 -1
- package/dist/cjs/site/types.js.map +1 -1
- package/dist/esm/contextual-help/admin-sections.js +1 -1
- package/dist/esm/contextual-help/admin-sections.js.map +1 -1
- package/dist/esm/help-center/actions.js +74 -46
- package/dist/esm/help-center/actions.js.map +1 -1
- package/dist/esm/help-center/reducer.js +19 -10
- package/dist/esm/help-center/reducer.js.map +1 -1
- package/dist/esm/help-center/resolvers.js +3 -2
- package/dist/esm/help-center/resolvers.js.map +1 -1
- package/dist/esm/help-center/selectors.js +3 -2
- package/dist/esm/help-center/selectors.js.map +1 -1
- package/dist/esm/index.js +1 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/onboard/actions.js +8 -0
- package/dist/esm/onboard/actions.js.map +1 -1
- package/dist/esm/onboard/reducer.js +20 -0
- package/dist/esm/onboard/reducer.js.map +1 -1
- package/dist/esm/onboard/selectors.js +2 -0
- package/dist/esm/onboard/selectors.js.map +1 -1
- package/dist/esm/plans/queries/use-plans.js +20 -1
- package/dist/esm/plans/queries/use-plans.js.map +1 -1
- package/dist/esm/purchases/lib/assembler.js +6 -16
- package/dist/esm/purchases/lib/assembler.js.map +1 -1
- package/dist/esm/site/types.js.map +1 -1
- package/dist/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/help-center/actions.d.ts +30 -14
- package/dist/types/help-center/actions.d.ts.map +1 -1
- package/dist/types/help-center/reducer.d.ts +6 -5
- package/dist/types/help-center/reducer.d.ts.map +1 -1
- package/dist/types/help-center/resolvers.d.ts +16 -8
- package/dist/types/help-center/resolvers.d.ts.map +1 -1
- package/dist/types/help-center/selectors.d.ts +3 -2
- package/dist/types/help-center/selectors.d.ts.map +1 -1
- package/dist/types/help-center/types.d.ts +1 -0
- package/dist/types/help-center/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +473 -43
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/onboard/actions.d.ts +14 -2
- package/dist/types/onboard/actions.d.ts.map +1 -1
- package/dist/types/onboard/reducer.d.ts +7 -1
- package/dist/types/onboard/reducer.d.ts.map +1 -1
- package/dist/types/onboard/selectors.d.ts +6 -2
- package/dist/types/onboard/selectors.d.ts.map +1 -1
- package/dist/types/onboard/types.d.ts +1 -1
- package/dist/types/onboard/types.d.ts.map +1 -1
- package/dist/types/plans/queries/use-plans.d.ts.map +1 -1
- package/dist/types/purchases/lib/assembler.d.ts +3 -3
- package/dist/types/purchases/lib/assembler.d.ts.map +1 -1
- package/dist/types/purchases/types.d.ts +3 -109
- package/dist/types/purchases/types.d.ts.map +1 -1
- package/dist/types/queries/use-all-domains-query.d.ts +1 -1
- package/dist/types/queries/use-all-domains-query.d.ts.map +1 -1
- package/dist/types/queries/use-site-domains-query.d.ts +1 -1
- package/dist/types/queries/use-site-domains-query.d.ts.map +1 -1
- package/dist/types/queries/use-site-query.d.ts +1 -1
- package/dist/types/queries/use-site-query.d.ts.map +1 -1
- package/dist/types/reader/index.d.ts +472 -40
- package/dist/types/reader/index.d.ts.map +1 -1
- package/dist/types/reader/queries/use-pending-post-subscriptions-query.d.ts +75 -7
- package/dist/types/reader/queries/use-pending-post-subscriptions-query.d.ts.map +1 -1
- package/dist/types/reader/queries/use-pending-site-subscriptions-query.d.ts +75 -7
- package/dist/types/reader/queries/use-pending-site-subscriptions-query.d.ts.map +1 -1
- package/dist/types/reader/queries/use-post-subscriptions-query.d.ts +143 -13
- package/dist/types/reader/queries/use-post-subscriptions-query.d.ts.map +1 -1
- package/dist/types/reader/queries/use-site-subscriptions-query.d.ts +103 -13
- package/dist/types/reader/queries/use-site-subscriptions-query.d.ts.map +1 -1
- package/dist/types/site/types.d.ts +2 -0
- package/dist/types/site/types.d.ts.map +1 -1
- package/dist/types/user/actions.d.ts +1 -1
- package/dist/types/user/reducer.d.ts +1 -1
- package/dist/types/user/resolvers.d.ts +2 -2
- package/dist/types/user/selectors.d.ts +2 -2
- package/dist/types/user/selectors.d.ts.map +1 -1
- package/dist/types/user/types.d.ts +2 -33
- package/dist/types/user/types.d.ts.map +1 -1
- package/package.json +4 -8
- package/src/contextual-help/admin-sections.ts +1 -1
- package/src/help-center/actions.ts +85 -50
- package/src/help-center/reducer.ts +27 -15
- package/src/help-center/resolvers.ts +15 -8
- package/src/help-center/selectors.ts +4 -2
- package/src/help-center/types.ts +1 -0
- package/src/index.ts +0 -3
- package/src/onboard/actions.ts +13 -1
- package/src/onboard/reducer.ts +26 -1
- package/src/onboard/selectors.ts +2 -0
- package/src/onboard/types.ts +1 -1
- package/src/plans/queries/use-plans.ts +29 -1
- package/src/purchases/lib/assembler.ts +10 -25
- package/src/purchases/types.ts +4 -116
- package/src/site/types.ts +2 -0
- package/src/user/types.ts +2 -38
- package/dist/cjs/domain-suggestions/actions.js +0 -33
- package/dist/cjs/domain-suggestions/actions.js.map +0 -1
- package/dist/cjs/domain-suggestions/constants.js +0 -12
- package/dist/cjs/domain-suggestions/constants.js.map +0 -1
- package/dist/cjs/domain-suggestions/index.js +0 -25
- package/dist/cjs/domain-suggestions/index.js.map +0 -1
- package/dist/cjs/domain-suggestions/queries.js +0 -78
- package/dist/cjs/domain-suggestions/queries.js.map +0 -1
- package/dist/cjs/domain-suggestions/reducer.js +0 -65
- package/dist/cjs/domain-suggestions/reducer.js.map +0 -1
- package/dist/cjs/domain-suggestions/resolvers.js +0 -91
- package/dist/cjs/domain-suggestions/resolvers.js.map +0 -1
- package/dist/cjs/domain-suggestions/selectors.js +0 -58
- package/dist/cjs/domain-suggestions/selectors.js.map +0 -1
- package/dist/cjs/domain-suggestions/types.js +0 -3
- package/dist/cjs/domain-suggestions/types.js.map +0 -1
- package/dist/cjs/domain-suggestions/utils.js +0 -47
- package/dist/cjs/domain-suggestions/utils.js.map +0 -1
- package/dist/esm/domain-suggestions/actions.js +0 -25
- package/dist/esm/domain-suggestions/actions.js.map +0 -1
- package/dist/esm/domain-suggestions/constants.js +0 -9
- package/dist/esm/domain-suggestions/constants.js.map +0 -1
- package/dist/esm/domain-suggestions/index.js +0 -20
- package/dist/esm/domain-suggestions/index.js.map +0 -1
- package/dist/esm/domain-suggestions/queries.js +0 -72
- package/dist/esm/domain-suggestions/queries.js.map +0 -1
- package/dist/esm/domain-suggestions/reducer.js +0 -61
- package/dist/esm/domain-suggestions/reducer.js.map +0 -1
- package/dist/esm/domain-suggestions/resolvers.js +0 -84
- package/dist/esm/domain-suggestions/resolvers.js.map +0 -1
- package/dist/esm/domain-suggestions/selectors.js +0 -47
- package/dist/esm/domain-suggestions/selectors.js.map +0 -1
- package/dist/esm/domain-suggestions/types.js +0 -2
- package/dist/esm/domain-suggestions/types.js.map +0 -1
- package/dist/esm/domain-suggestions/utils.js +0 -41
- package/dist/esm/domain-suggestions/utils.js.map +0 -1
- package/dist/types/domain-suggestions/actions.d.ts +0 -27
- package/dist/types/domain-suggestions/actions.d.ts.map +0 -1
- package/dist/types/domain-suggestions/constants.d.ts +0 -8
- package/dist/types/domain-suggestions/constants.d.ts.map +0 -1
- package/dist/types/domain-suggestions/index.d.ts +0 -10
- package/dist/types/domain-suggestions/index.d.ts.map +0 -1
- package/dist/types/domain-suggestions/queries.d.ts +0 -323
- package/dist/types/domain-suggestions/queries.d.ts.map +0 -1
- package/dist/types/domain-suggestions/reducer.d.ts +0 -16
- package/dist/types/domain-suggestions/reducer.d.ts.map +0 -1
- package/dist/types/domain-suggestions/resolvers.d.ts +0 -39
- package/dist/types/domain-suggestions/resolvers.d.ts.map +0 -1
- package/dist/types/domain-suggestions/selectors.d.ts +0 -18
- package/dist/types/domain-suggestions/selectors.d.ts.map +0 -1
- package/dist/types/domain-suggestions/types.d.ts +0 -206
- package/dist/types/domain-suggestions/types.d.ts.map +0 -1
- package/dist/types/domain-suggestions/utils.d.ts +0 -23
- package/dist/types/domain-suggestions/utils.d.ts.map +0 -1
- package/src/domain-suggestions/actions.ts +0 -51
- package/src/domain-suggestions/constants.ts +0 -8
- package/src/domain-suggestions/index.ts +0 -22
- package/src/domain-suggestions/queries.ts +0 -85
- package/src/domain-suggestions/reducer.ts +0 -77
- package/src/domain-suggestions/resolvers.ts +0 -110
- package/src/domain-suggestions/selectors.ts +0 -86
- package/src/domain-suggestions/test/reducer.ts +0 -105
- package/src/domain-suggestions/test/selectors.ts +0 -127
- package/src/domain-suggestions/types.ts +0 -254
- package/src/domain-suggestions/utils.ts +0 -50
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stringifyDomainQueryObject = void 0;
|
|
4
|
-
exports.getFormattedPrice = getFormattedPrice;
|
|
5
|
-
exports.normalizeDomainSuggestionQuery = normalizeDomainSuggestionQuery;
|
|
6
|
-
const tslib_1 = require("tslib");
|
|
7
|
-
const number_formatters_1 = require("@automattic/number-formatters");
|
|
8
|
-
const fast_json_stable_stringify_1 = tslib_1.__importDefault(require("fast-json-stable-stringify"));
|
|
9
|
-
/**
|
|
10
|
-
* Stable transform to an object key for storage and access.
|
|
11
|
-
*/
|
|
12
|
-
exports.stringifyDomainQueryObject = fast_json_stable_stringify_1.default;
|
|
13
|
-
/**
|
|
14
|
-
* Formats the domain suggestion price according to 'format-currency' package rules
|
|
15
|
-
* We use this for consistency in prices formats across plans and domains
|
|
16
|
-
* @param price the domain suggestion raw price
|
|
17
|
-
* @param currencyCode the currency code to be used when formatting price
|
|
18
|
-
*/
|
|
19
|
-
function getFormattedPrice(price, currencyCode) {
|
|
20
|
-
return (0, number_formatters_1.formatCurrency)(price, currencyCode, {
|
|
21
|
-
stripZeros: true,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Normalize domain query
|
|
26
|
-
*
|
|
27
|
-
* It's important to have a consistent, reproduceable representation of a domains query so that the result can be
|
|
28
|
-
* stored and retrieved.
|
|
29
|
-
* @param search Domain search string
|
|
30
|
-
* @param queryOptions Optional paramaters for the query
|
|
31
|
-
* @returns Normalized query object
|
|
32
|
-
*/
|
|
33
|
-
function normalizeDomainSuggestionQuery(search, queryOptions) {
|
|
34
|
-
return {
|
|
35
|
-
// Defaults
|
|
36
|
-
include_wordpressdotcom: queryOptions.only_wordpressdotcom || false,
|
|
37
|
-
include_dotblogsubdomain: false,
|
|
38
|
-
only_wordpressdotcom: false,
|
|
39
|
-
quantity: 5,
|
|
40
|
-
vendor: 'variation2_front',
|
|
41
|
-
// Merge options
|
|
42
|
-
...queryOptions,
|
|
43
|
-
// Add the search query
|
|
44
|
-
query: search.trim().toLocaleLowerCase(),
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/domain-suggestions/utils.ts"],"names":[],"mappings":";;;AAgBA,8CAIC;AAWD,wEAkBC;;AAjDD,qEAA+D;AAC/D,oGAAgE;AAGhE;;GAEG;AACU,QAAA,0BAA0B,GACtC,oCAAsB,CAAC;AAExB;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAE,KAAa,EAAE,YAAoB;IACrE,OAAO,IAAA,kCAAc,EAAE,KAAK,EAAE,YAAY,EAAE;QAC3C,UAAU,EAAE,IAAI;KAChB,CAAY,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,8BAA8B,CAC7C,MAAc,EACd,YAA6C;IAE7C,OAAO;QACN,WAAW;QACX,uBAAuB,EAAE,YAAY,CAAC,oBAAoB,IAAI,KAAK;QACnE,wBAAwB,EAAE,KAAK;QAC/B,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,kBAAkB;QAE1B,gBAAgB;QAChB,GAAG,YAAY;QAEf,uBAAuB;QACvB,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE;KACxC,CAAC;AACH,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export const receiveCategories = (categories) => ({
|
|
2
|
-
type: 'RECEIVE_CATEGORIES',
|
|
3
|
-
categories,
|
|
4
|
-
});
|
|
5
|
-
export const fetchDomainSuggestions = () => ({
|
|
6
|
-
type: 'FETCH_DOMAIN_SUGGESTIONS',
|
|
7
|
-
timeStamp: Date.now(),
|
|
8
|
-
});
|
|
9
|
-
export const receiveDomainAvailability = (domainName, availability) => ({
|
|
10
|
-
type: 'RECEIVE_DOMAIN_AVAILABILITY',
|
|
11
|
-
domainName,
|
|
12
|
-
availability,
|
|
13
|
-
});
|
|
14
|
-
export const receiveDomainSuggestionsSuccess = (queryObject, suggestions) => ({
|
|
15
|
-
type: 'RECEIVE_DOMAIN_SUGGESTIONS_SUCCESS',
|
|
16
|
-
queryObject,
|
|
17
|
-
suggestions,
|
|
18
|
-
timeStamp: Date.now(),
|
|
19
|
-
});
|
|
20
|
-
export const receiveDomainSuggestionsError = (errorMessage) => ({
|
|
21
|
-
type: 'RECEIVE_DOMAIN_SUGGESTIONS_ERROR',
|
|
22
|
-
errorMessage,
|
|
23
|
-
timeStamp: Date.now(),
|
|
24
|
-
});
|
|
25
|
-
//# sourceMappingURL=actions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/domain-suggestions/actions.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAE,UAA4B,EAAG,EAAE,CACnE,CAAE;IACD,IAAI,EAAE,oBAAoB;IAC1B,UAAU;CACV,CAAW,CAAC;AAEd,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAC1C,CAAE;IACD,IAAI,EAAE,0BAA0B;IAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;CACrB,CAAW,CAAC;AAEd,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAE,UAAkB,EAAE,YAAgC,EAAG,EAAE,CACnG,CAAE;IACD,IAAI,EAAE,6BAA6B;IACnC,UAAU;IACV,YAAY;CACZ,CAAW,CAAC;AAEd,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC9C,WAAkC,EAClC,WAA2C,EAC1C,EAAE,CACH,CAAE;IACD,IAAI,EAAE,oCAAoC;IAC1C,WAAW;IACX,WAAW;IACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;CACrB,CAAW,CAAC;AAEd,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAE,YAAoB,EAAG,EAAE,CACvE,CAAE;IACD,IAAI,EAAE,kCAAkC;IACxC,YAAY;IACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;CACrB,CAAW,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export const STORE_KEY = 'automattic/domains/suggestions';
|
|
2
|
-
export var DataStatus;
|
|
3
|
-
(function (DataStatus) {
|
|
4
|
-
DataStatus["Failure"] = "failure";
|
|
5
|
-
DataStatus["Pending"] = "pending";
|
|
6
|
-
DataStatus["Success"] = "success";
|
|
7
|
-
DataStatus["Uninitialized"] = "uninitialized";
|
|
8
|
-
})(DataStatus || (DataStatus = {}));
|
|
9
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/domain-suggestions/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,gCAAgC,CAAC;AAE1D,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACrB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,6CAA+B,CAAA;AAChC,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { register, createReduxStore } from '@wordpress/data';
|
|
2
|
-
import { controls } from '../wpcom-request-controls';
|
|
3
|
-
import * as actions from './actions';
|
|
4
|
-
import { STORE_KEY } from './constants';
|
|
5
|
-
import reducer from './reducer';
|
|
6
|
-
import * as resolvers from './resolvers';
|
|
7
|
-
import * as selectors from './selectors';
|
|
8
|
-
export * from './types';
|
|
9
|
-
export * from './constants';
|
|
10
|
-
export * from './queries';
|
|
11
|
-
export { getFormattedPrice } from './utils';
|
|
12
|
-
export const store = createReduxStore(STORE_KEY, {
|
|
13
|
-
actions,
|
|
14
|
-
controls,
|
|
15
|
-
reducer,
|
|
16
|
-
resolvers,
|
|
17
|
-
selectors,
|
|
18
|
-
});
|
|
19
|
-
register(store);
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain-suggestions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,OAAkB,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAEzC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C,MAAM,CAAC,MAAM,KAAK,GAAG,gBAAgB,CAAE,SAAS,EAAE;IACjD,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;IACT,SAAS;CACT,CAAE,CAAC;AACJ,QAAQ,CAAE,KAAK,CAAE,CAAC"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { useQuery, useQueryClient } from '@tanstack/react-query';
|
|
2
|
-
import { stringify } from 'qs';
|
|
3
|
-
import wpcomProxyRequest from 'wpcom-proxy-request';
|
|
4
|
-
import { getFormattedPrice, normalizeDomainSuggestionQuery } from './utils';
|
|
5
|
-
const STALE_TIME = 1000 * 60 * 5; // 5 minutes
|
|
6
|
-
export function useGetDomainSuggestions(search, searchOptions = {}, queryOptions = {}) {
|
|
7
|
-
const queryClient = useQueryClient();
|
|
8
|
-
const result = useQuery({
|
|
9
|
-
queryKey: ['domain-suggestions', search, searchOptions],
|
|
10
|
-
queryFn: async () => {
|
|
11
|
-
if (!search) {
|
|
12
|
-
return [];
|
|
13
|
-
}
|
|
14
|
-
const queryObject = normalizeDomainSuggestionQuery(search, searchOptions);
|
|
15
|
-
const suggestions = await wpcomProxyRequest({
|
|
16
|
-
apiVersion: '1.1',
|
|
17
|
-
path: '/domains/suggestions',
|
|
18
|
-
query: stringify(queryObject),
|
|
19
|
-
});
|
|
20
|
-
if (!Array.isArray(suggestions)) {
|
|
21
|
-
throw new Error('Invalid response from the server');
|
|
22
|
-
}
|
|
23
|
-
const processedSuggestions = suggestions.map((suggestion) => {
|
|
24
|
-
if (suggestion.unavailable) {
|
|
25
|
-
return suggestion;
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
...suggestion,
|
|
29
|
-
...(suggestion.raw_price &&
|
|
30
|
-
suggestion.currency_code && {
|
|
31
|
-
cost: getFormattedPrice(suggestion.raw_price, suggestion.currency_code),
|
|
32
|
-
}),
|
|
33
|
-
};
|
|
34
|
-
});
|
|
35
|
-
return processedSuggestions;
|
|
36
|
-
},
|
|
37
|
-
enabled: !!search,
|
|
38
|
-
staleTime: STALE_TIME,
|
|
39
|
-
...queryOptions,
|
|
40
|
-
});
|
|
41
|
-
return {
|
|
42
|
-
...result,
|
|
43
|
-
invalidateCache: () => queryClient.invalidateQueries({
|
|
44
|
-
queryKey: ['domain-suggestions', search, searchOptions],
|
|
45
|
-
}),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Returns the expected *.wordpress.com for a given domain name
|
|
50
|
-
*/
|
|
51
|
-
export function useGetWordPressSubdomain(paidDomainName) {
|
|
52
|
-
return useGetDomainSuggestions(paidDomainName, {
|
|
53
|
-
quantity: 1,
|
|
54
|
-
include_wordpressdotcom: true,
|
|
55
|
-
include_dotblogsubdomain: false,
|
|
56
|
-
only_wordpressdotcom: false,
|
|
57
|
-
vendor: 'dot',
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Returns a custom .com domain suggestion for a given query
|
|
62
|
-
*/
|
|
63
|
-
export function useGetSingleCustomDotComDomainSuggestion(query, locale) {
|
|
64
|
-
return useGetDomainSuggestions(query, {
|
|
65
|
-
quantity: 1,
|
|
66
|
-
include_wordpressdotcom: false,
|
|
67
|
-
include_dotblogsubdomain: false,
|
|
68
|
-
locale,
|
|
69
|
-
tlds: ['com'],
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=queries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/domain-suggestions/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAG5E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY;AAE9C,MAAM,UAAU,uBAAuB,CACtC,MAAsB,EACtB,gBAAiD,EAAE,EACnD,YAAY,GAAG,EAAE;IAEjB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAE;QACxB,QAAQ,EAAE,CAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,CAAE;QACzD,OAAO,EAAE,KAAK,IAAI,EAAE;YACnB,IAAK,CAAE,MAAM,EAAG,CAAC;gBAChB,OAAO,EAAE,CAAC;YACX,CAAC;YACD,MAAM,WAAW,GAAG,8BAA8B,CAAE,MAAM,EAAE,aAAa,CAAE,CAAC;YAE5E,MAAM,WAAW,GAAuB,MAAM,iBAAiB,CAAE;gBAChE,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,SAAS,CAAE,WAAW,CAAE;aAC/B,CAAE,CAAC;YACJ,IAAK,CAAE,KAAK,CAAC,OAAO,CAAE,WAAW,CAAE,EAAG,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAE,kCAAkC,CAAE,CAAC;YACvD,CAAC;YAED,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,CAAE,CAAE,UAA4B,EAAG,EAAE;gBAChF,IAAK,UAAU,CAAC,WAAW,EAAG,CAAC;oBAC9B,OAAO,UAAU,CAAC;gBACnB,CAAC;gBACD,OAAO;oBACN,GAAG,UAAU;oBACb,GAAG,CAAE,UAAU,CAAC,SAAS;wBACxB,UAAU,CAAC,aAAa,IAAI;wBAC3B,IAAI,EAAE,iBAAiB,CAAE,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,aAAa,CAAE;qBACzE,CAAE;iBACJ,CAAC;YACH,CAAC,CAAE,CAAC;YAEJ,OAAO,oBAAoB,CAAC;QAC7B,CAAC;QACD,OAAO,EAAE,CAAC,CAAE,MAAM;QAClB,SAAS,EAAE,UAAU;QACrB,GAAG,YAAY;KACf,CAAE,CAAC;IAEJ,OAAO;QACN,GAAG,MAAM;QACT,eAAe,EAAE,GAAG,EAAE,CACrB,WAAW,CAAC,iBAAiB,CAAE;YAC9B,QAAQ,EAAE,CAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,CAAE;SACzD,CAAE;KACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAE,cAA8B;IACvE,OAAO,uBAAuB,CAAE,cAAc,EAAE;QAC/C,QAAQ,EAAE,CAAC;QACX,uBAAuB,EAAE,IAAI;QAC7B,wBAAwB,EAAE,KAAK;QAC/B,oBAAoB,EAAE,KAAK;QAC3B,MAAM,EAAE,KAAK;KACb,CAAE,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wCAAwC,CAAE,KAAqB,EAAE,MAAe;IAC/F,OAAO,uBAAuB,CAAE,KAAK,EAAE;QACtC,QAAQ,EAAE,CAAC;QACX,uBAAuB,EAAE,KAAK;QAC9B,wBAAwB,EAAE,KAAK;QAC/B,MAAM;QACN,IAAI,EAAE,CAAE,KAAK,CAAE;KACf,CAAE,CAAC;AACL,CAAC"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { combineReducers } from '@wordpress/data';
|
|
2
|
-
import { DataStatus } from './constants';
|
|
3
|
-
import { stringifyDomainQueryObject } from './utils';
|
|
4
|
-
const initialDomainSuggestionState = {
|
|
5
|
-
state: DataStatus.Uninitialized,
|
|
6
|
-
data: {},
|
|
7
|
-
errorMessage: null,
|
|
8
|
-
lastUpdated: -Infinity,
|
|
9
|
-
pendingSince: undefined,
|
|
10
|
-
};
|
|
11
|
-
export const domainSuggestions = (state = initialDomainSuggestionState, action) => {
|
|
12
|
-
if (action.type === 'FETCH_DOMAIN_SUGGESTIONS') {
|
|
13
|
-
return {
|
|
14
|
-
...state,
|
|
15
|
-
state: DataStatus.Pending,
|
|
16
|
-
errorMessage: null,
|
|
17
|
-
pendingSince: action.timeStamp,
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
if (action.type === 'RECEIVE_DOMAIN_SUGGESTIONS_SUCCESS') {
|
|
21
|
-
return {
|
|
22
|
-
...state,
|
|
23
|
-
state: DataStatus.Success,
|
|
24
|
-
data: {
|
|
25
|
-
...state.data,
|
|
26
|
-
[stringifyDomainQueryObject(action.queryObject)]: action.suggestions,
|
|
27
|
-
},
|
|
28
|
-
errorMessage: null,
|
|
29
|
-
lastUpdated: action.timeStamp,
|
|
30
|
-
pendingSince: undefined,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
if (action.type === 'RECEIVE_DOMAIN_SUGGESTIONS_ERROR') {
|
|
34
|
-
return {
|
|
35
|
-
...state,
|
|
36
|
-
state: DataStatus.Failure,
|
|
37
|
-
errorMessage: action.errorMessage,
|
|
38
|
-
lastUpdated: action.timeStamp,
|
|
39
|
-
pendingSince: undefined,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
return state;
|
|
43
|
-
};
|
|
44
|
-
const categories = (state = [], action) => {
|
|
45
|
-
if (action.type === 'RECEIVE_CATEGORIES') {
|
|
46
|
-
return action.categories;
|
|
47
|
-
}
|
|
48
|
-
return state;
|
|
49
|
-
};
|
|
50
|
-
const availability = (state = {}, action) => {
|
|
51
|
-
if (action.type === 'RECEIVE_DOMAIN_AVAILABILITY') {
|
|
52
|
-
return {
|
|
53
|
-
...state,
|
|
54
|
-
[action.domainName]: action.availability,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
return state;
|
|
58
|
-
};
|
|
59
|
-
const reducer = combineReducers({ categories, domainSuggestions, availability });
|
|
60
|
-
export default reducer;
|
|
61
|
-
//# sourceMappingURL=reducer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../src/domain-suggestions/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAKrD,MAAM,4BAA4B,GAA0B;IAC3D,KAAK,EAAE,UAAU,CAAC,aAAa;IAC/B,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,CAAC,QAAQ;IACtB,YAAY,EAAE,SAAS;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAA6C,CAC1E,KAAK,GAAG,4BAA4B,EACpC,MAAM,EACL,EAAE;IACH,IAAK,MAAM,CAAC,IAAI,KAAK,0BAA0B,EAAG,CAAC;QAClD,OAAO;YACN,GAAG,KAAK;YACR,KAAK,EAAE,UAAU,CAAC,OAAO;YACzB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,MAAM,CAAC,SAAS;SAC9B,CAAC;IACH,CAAC;IAED,IAAK,MAAM,CAAC,IAAI,KAAK,oCAAoC,EAAG,CAAC;QAC5D,OAAO;YACN,GAAG,KAAK;YACR,KAAK,EAAE,UAAU,CAAC,OAAO;YACzB,IAAI,EAAE;gBACL,GAAG,KAAK,CAAC,IAAI;gBACb,CAAE,0BAA0B,CAAE,MAAM,CAAC,WAAW,CAAE,CAAE,EAAE,MAAM,CAAC,WAAW;aACxE;YACD,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,MAAM,CAAC,SAAS;YAC7B,YAAY,EAAE,SAAS;SACvB,CAAC;IACH,CAAC;IAED,IAAK,MAAM,CAAC,IAAI,KAAK,kCAAkC,EAAG,CAAC;QAC1D,OAAO;YACN,GAAG,KAAK;YACR,KAAK,EAAE,UAAU,CAAC,OAAO;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,SAAS;YAC7B,YAAY,EAAE,SAAS;SACvB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,UAAU,GAAwC,CAAE,KAAK,GAAG,EAAE,EAAE,MAAM,EAAG,EAAE;IAChF,IAAK,MAAM,CAAC,IAAI,KAAK,oBAAoB,EAAG,CAAC;QAC5C,OAAO,MAAM,CAAC,UAAU,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,YAAY,GAA4C,CAAE,KAAK,GAAG,EAAE,EAAE,MAAM,EAAG,EAAE;IACtF,IAAK,MAAM,CAAC,IAAI,KAAK,6BAA6B,EAAG,CAAC;QACrD,OAAO;YACN,GAAG,KAAK;YACR,CAAE,MAAM,CAAC,UAAU,CAAE,EAAE,MAAM,CAAC,YAAY;SAC1C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,eAAe,CAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAE,CAAC;AAInF,eAAe,OAAO,CAAC"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { translate } from 'i18n-calypso';
|
|
2
|
-
import { stringify } from 'qs';
|
|
3
|
-
import validator from 'validator';
|
|
4
|
-
import { fetchAndParse, wpcomRequest } from '../wpcom-request-controls';
|
|
5
|
-
import { receiveCategories, receiveDomainSuggestionsSuccess, receiveDomainSuggestionsError, fetchDomainSuggestions, receiveDomainAvailability, } from './actions';
|
|
6
|
-
import { getFormattedPrice } from './utils';
|
|
7
|
-
function getAvailabilityURL(domainName) {
|
|
8
|
-
return `https://public-api.wordpress.com/rest/v1.3/domains/${encodeURIComponent(domainName)}/is-available?is_cart_pre_check=true`;
|
|
9
|
-
}
|
|
10
|
-
function suggestionsLackThisFQDN(suggestions, domainName) {
|
|
11
|
-
return (validator.isFQDN(domainName) &&
|
|
12
|
-
!suggestions.some((s) => s.domain_name.toLowerCase() === domainName));
|
|
13
|
-
}
|
|
14
|
-
export const isAvailable = function* isAvailable(domainName) {
|
|
15
|
-
const url = getAvailabilityURL(domainName);
|
|
16
|
-
try {
|
|
17
|
-
const { body } = yield fetchAndParse(url);
|
|
18
|
-
return receiveDomainAvailability(domainName, body);
|
|
19
|
-
}
|
|
20
|
-
catch {
|
|
21
|
-
// the API returns a status of 'unknown' if it can not accurately determine
|
|
22
|
-
// availability, we will return the same status if the API request fails.
|
|
23
|
-
return receiveDomainAvailability(domainName, {
|
|
24
|
-
domain_name: domainName,
|
|
25
|
-
mappable: 'unknown',
|
|
26
|
-
status: 'unknown',
|
|
27
|
-
supports_privacy: false,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
export function* getCategories() {
|
|
32
|
-
const { body } = yield fetchAndParse('https://public-api.wordpress.com/wpcom/v2/onboarding/domains/categories');
|
|
33
|
-
return receiveCategories(body);
|
|
34
|
-
}
|
|
35
|
-
export function* __internalGetDomainSuggestions(queryObject) {
|
|
36
|
-
// If normalized search string (`query`) contains no alphanumerics, endpoint 404s
|
|
37
|
-
if (!queryObject.query) {
|
|
38
|
-
return receiveDomainSuggestionsError('Empty query');
|
|
39
|
-
}
|
|
40
|
-
yield fetchDomainSuggestions();
|
|
41
|
-
try {
|
|
42
|
-
const suggestions = yield wpcomRequest({
|
|
43
|
-
apiVersion: '1.1',
|
|
44
|
-
path: '/domains/suggestions',
|
|
45
|
-
query: stringify(queryObject),
|
|
46
|
-
});
|
|
47
|
-
if (!Array.isArray(suggestions)) {
|
|
48
|
-
// Other internal server errors
|
|
49
|
-
return receiveDomainSuggestionsError(translate('Invalid response from the server'));
|
|
50
|
-
}
|
|
51
|
-
// if the query is a FQDN and the results don't have it,
|
|
52
|
-
// this implies that the user is searching for an unavailable domain name
|
|
53
|
-
// TODO: query the availability endpoint to find the exact reason why it's unavailable
|
|
54
|
-
// all the possible responses can be found here https://github.com/Automattic/wp-calypso/blob/trunk/client/lib/domains/registration/availability-messages.js#L40-L390
|
|
55
|
-
if (suggestionsLackThisFQDN(suggestions, queryObject.query)) {
|
|
56
|
-
const unavailableSuggestion = {
|
|
57
|
-
domain_name: queryObject.query,
|
|
58
|
-
unavailable: true,
|
|
59
|
-
cost: '',
|
|
60
|
-
raw_price: 0,
|
|
61
|
-
currency_code: '',
|
|
62
|
-
};
|
|
63
|
-
suggestions.unshift(unavailableSuggestion);
|
|
64
|
-
}
|
|
65
|
-
const processedSuggestions = suggestions.map((suggestion) => {
|
|
66
|
-
if (suggestion.unavailable) {
|
|
67
|
-
return suggestion;
|
|
68
|
-
}
|
|
69
|
-
return {
|
|
70
|
-
...suggestion,
|
|
71
|
-
...(suggestion.raw_price &&
|
|
72
|
-
suggestion.currency_code && {
|
|
73
|
-
cost: getFormattedPrice(suggestion.raw_price, suggestion.currency_code),
|
|
74
|
-
}),
|
|
75
|
-
};
|
|
76
|
-
});
|
|
77
|
-
return receiveDomainSuggestionsSuccess(queryObject, processedSuggestions);
|
|
78
|
-
}
|
|
79
|
-
catch (e) {
|
|
80
|
-
// e.g. no connection, or JSON parsing error
|
|
81
|
-
return receiveDomainSuggestionsError(e.message || translate('Error while fetching server response'));
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=resolvers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../../src/domain-suggestions/resolvers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { select } from '@wordpress/data';
|
|
2
|
-
import { STORE_KEY } from './constants';
|
|
3
|
-
import { stringifyDomainQueryObject, normalizeDomainSuggestionQuery } from './utils';
|
|
4
|
-
export const getCategories = (state) => {
|
|
5
|
-
// Sort domain categories by tier, then by title.
|
|
6
|
-
return [
|
|
7
|
-
...state.categories
|
|
8
|
-
.filter(({ tier }) => tier !== null)
|
|
9
|
-
.sort((a, b) => (a > b ? 1 : -1)),
|
|
10
|
-
...state.categories
|
|
11
|
-
.filter(({ tier }) => tier === null)
|
|
12
|
-
.sort((a, b) => a.title.localeCompare(b.title)),
|
|
13
|
-
];
|
|
14
|
-
};
|
|
15
|
-
export const getDomainSuggestions = (_state, search, options = {}) => {
|
|
16
|
-
const normalizedQuery = normalizeDomainSuggestionQuery(search, options);
|
|
17
|
-
// We need to go through the `select` store to get the resolver action
|
|
18
|
-
return select(STORE_KEY).__internalGetDomainSuggestions(normalizedQuery);
|
|
19
|
-
};
|
|
20
|
-
export const getDomainState = (state) => {
|
|
21
|
-
return state.domainSuggestions.state;
|
|
22
|
-
};
|
|
23
|
-
export const getDomainErrorMessage = (state) => {
|
|
24
|
-
return state.domainSuggestions.errorMessage;
|
|
25
|
-
};
|
|
26
|
-
// TODO: reconcile this function with "Pending" status?
|
|
27
|
-
// It doesn't seem to be used
|
|
28
|
-
export const isLoadingDomainSuggestions = (_state, search, options = {}) => {
|
|
29
|
-
const normalizedQuery = normalizeDomainSuggestionQuery(search, options);
|
|
30
|
-
return select('core/data').isResolving(STORE_KEY, '__internalGetDomainSuggestions', [normalizedQuery]);
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Do not use this selector. It is for internal use.
|
|
34
|
-
* @param state Store state
|
|
35
|
-
* @param queryObject Normalized object representing the query
|
|
36
|
-
* @returns suggestions
|
|
37
|
-
*/
|
|
38
|
-
export const __internalGetDomainSuggestions = (state, queryObject) => {
|
|
39
|
-
return state.domainSuggestions.data[stringifyDomainQueryObject(queryObject)];
|
|
40
|
-
};
|
|
41
|
-
export const isAvailable = (state, domainName) => {
|
|
42
|
-
return state.availability[domainName];
|
|
43
|
-
};
|
|
44
|
-
export const getDomainAvailabilities = (state) => {
|
|
45
|
-
return state.availability;
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=selectors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../src/domain-suggestions/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAWrF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAE,KAAY,EAAqB,EAAE;IACjE,iDAAiD;IACjD,OAAO;QACN,GAAG,KAAK,CAAC,UAAU;aACjB,MAAM,CAAE,CAAE,EAAE,IAAI,EAAE,EAAG,EAAE,CAAC,IAAI,KAAK,IAAI,CAAE;aACvC,IAAI,CAAE,CAAE,CAAC,EAAE,CAAC,EAAG,EAAE,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAE;QACxC,GAAG,KAAK,CAAC,UAAU;aACjB,MAAM,CAAE,CAAE,EAAE,IAAI,EAAE,EAAG,EAAE,CAAC,IAAI,KAAK,IAAI,CAAE;aACvC,IAAI,CAAE,CAAE,CAAC,EAAE,CAAC,EAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAE,CAAC,CAAC,KAAK,CAAE,CAAE;KACtD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,MAAa,EACb,MAAc,EACd,UAA2C,EAAE,EACZ,EAAE;IACnC,MAAM,eAAe,GAAG,8BAA8B,CAAE,MAAM,EAAE,OAAO,CAAE,CAAC;IAE1E,sEAAsE;IACtE,OACC,MAAM,CAAE,SAAS,CAKhB,CAAC,8BAA8B,CAAE,eAAe,CAAE,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAE,KAAY,EAAe,EAAE;IAC5D,OAAO,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAE,KAAY,EAAkB,EAAE;IACtE,OAAO,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC;AAC7C,CAAC,CAAC;AAEF,uDAAuD;AACvD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,MAAa,EACb,MAAc,EACd,UAA2C,EAAE,EACnC,EAAE;IACZ,MAAM,eAAe,GAAG,8BAA8B,CAAE,MAAM,EAAE,OAAO,CAAE,CAAC;IAE1E,OACC,MAAM,CAAE,WAAW,CAGlB,CAAC,WAAW,CAAE,SAAS,EAAE,gCAAgC,EAAE,CAAE,eAAe,CAAE,CAAE,CAAC;AACpF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC7C,KAAY,EACZ,WAAkC,EACD,EAAE;IACnC,OAAO,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAE,0BAA0B,CAAE,WAAW,CAAE,CAAE,CAAC;AAClF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAE,KAAY,EAAE,UAAkB,EAAmC,EAAE;IACjG,OAAO,KAAK,CAAC,YAAY,CAAE,UAAU,CAAE,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAE,KAAY,EAAyB,EAAE;IAC/E,OAAO,KAAK,CAAC,YAAY,CAAC;AAC3B,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domain-suggestions/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { formatCurrency } from '@automattic/number-formatters';
|
|
2
|
-
import deterministicStringify from 'fast-json-stable-stringify';
|
|
3
|
-
/**
|
|
4
|
-
* Stable transform to an object key for storage and access.
|
|
5
|
-
*/
|
|
6
|
-
export const stringifyDomainQueryObject = deterministicStringify;
|
|
7
|
-
/**
|
|
8
|
-
* Formats the domain suggestion price according to 'format-currency' package rules
|
|
9
|
-
* We use this for consistency in prices formats across plans and domains
|
|
10
|
-
* @param price the domain suggestion raw price
|
|
11
|
-
* @param currencyCode the currency code to be used when formatting price
|
|
12
|
-
*/
|
|
13
|
-
export function getFormattedPrice(price, currencyCode) {
|
|
14
|
-
return formatCurrency(price, currencyCode, {
|
|
15
|
-
stripZeros: true,
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Normalize domain query
|
|
20
|
-
*
|
|
21
|
-
* It's important to have a consistent, reproduceable representation of a domains query so that the result can be
|
|
22
|
-
* stored and retrieved.
|
|
23
|
-
* @param search Domain search string
|
|
24
|
-
* @param queryOptions Optional paramaters for the query
|
|
25
|
-
* @returns Normalized query object
|
|
26
|
-
*/
|
|
27
|
-
export function normalizeDomainSuggestionQuery(search, queryOptions) {
|
|
28
|
-
return {
|
|
29
|
-
// Defaults
|
|
30
|
-
include_wordpressdotcom: queryOptions.only_wordpressdotcom || false,
|
|
31
|
-
include_dotblogsubdomain: false,
|
|
32
|
-
only_wordpressdotcom: false,
|
|
33
|
-
quantity: 5,
|
|
34
|
-
vendor: 'variation2_front',
|
|
35
|
-
// Merge options
|
|
36
|
-
...queryOptions,
|
|
37
|
-
// Add the search query
|
|
38
|
-
query: search.trim().toLocaleLowerCase(),
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/domain-suggestions/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,sBAAsB,MAAM,4BAA4B,CAAC;AAGhE;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GACtC,sBAAsB,CAAC;AAExB;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAE,KAAa,EAAE,YAAoB;IACrE,OAAO,cAAc,CAAE,KAAK,EAAE,YAAY,EAAE;QAC3C,UAAU,EAAE,IAAI;KAChB,CAAY,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,8BAA8B,CAC7C,MAAc,EACd,YAA6C;IAE7C,OAAO;QACN,WAAW;QACX,uBAAuB,EAAE,YAAY,CAAC,oBAAoB,IAAI,KAAK;QACnE,wBAAwB,EAAE,KAAK;QAC/B,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,kBAAkB;QAE1B,gBAAgB;QAChB,GAAG,YAAY;QAEf,uBAAuB;QACvB,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE;KACxC,CAAC;AACH,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { DomainSuggestion, DomainSuggestionQuery, DomainCategory, DomainAvailability } from './types';
|
|
2
|
-
export declare const receiveCategories: (categories: DomainCategory[]) => {
|
|
3
|
-
readonly type: "RECEIVE_CATEGORIES";
|
|
4
|
-
readonly categories: DomainCategory[];
|
|
5
|
-
};
|
|
6
|
-
export declare const fetchDomainSuggestions: () => {
|
|
7
|
-
readonly type: "FETCH_DOMAIN_SUGGESTIONS";
|
|
8
|
-
readonly timeStamp: number;
|
|
9
|
-
};
|
|
10
|
-
export declare const receiveDomainAvailability: (domainName: string, availability: DomainAvailability) => {
|
|
11
|
-
readonly type: "RECEIVE_DOMAIN_AVAILABILITY";
|
|
12
|
-
readonly domainName: string;
|
|
13
|
-
readonly availability: DomainAvailability;
|
|
14
|
-
};
|
|
15
|
-
export declare const receiveDomainSuggestionsSuccess: (queryObject: DomainSuggestionQuery, suggestions: DomainSuggestion[] | undefined) => {
|
|
16
|
-
readonly type: "RECEIVE_DOMAIN_SUGGESTIONS_SUCCESS";
|
|
17
|
-
readonly queryObject: DomainSuggestionQuery;
|
|
18
|
-
readonly suggestions: DomainSuggestion[] | undefined;
|
|
19
|
-
readonly timeStamp: number;
|
|
20
|
-
};
|
|
21
|
-
export declare const receiveDomainSuggestionsError: (errorMessage: string) => {
|
|
22
|
-
readonly type: "RECEIVE_DOMAIN_SUGGESTIONS_ERROR";
|
|
23
|
-
readonly errorMessage: string;
|
|
24
|
-
readonly timeStamp: number;
|
|
25
|
-
};
|
|
26
|
-
export type Action = ReturnType<typeof receiveCategories | typeof fetchDomainSuggestions | typeof receiveDomainSuggestionsSuccess | typeof receiveDomainSuggestionsError | typeof receiveDomainAvailability>;
|
|
27
|
-
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/domain-suggestions/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,iBAAiB,GAAK,YAAY,cAAc,EAAE;;;CAIlD,CAAC;AAEd,eAAO,MAAM,sBAAsB;;;CAItB,CAAC;AAEd,eAAO,MAAM,yBAAyB,GAAK,YAAY,MAAM,EAAE,cAAc,kBAAkB;;;;CAKlF,CAAC;AAEd,eAAO,MAAM,+BAA+B,GAC3C,aAAa,qBAAqB,EAClC,aAAa,gBAAgB,EAAE,GAAG,SAAS;;;;;CAO/B,CAAC;AAEd,eAAO,MAAM,6BAA6B,GAAK,cAAc,MAAM;;;;CAKtD,CAAC;AAEd,MAAM,MAAM,MAAM,GAAG,UAAU,CAC5B,OAAO,iBAAiB,GACxB,OAAO,sBAAsB,GAC7B,OAAO,+BAA+B,GACtC,OAAO,6BAA6B,GACpC,OAAO,yBAAyB,CAClC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/domain-suggestions/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,mCAAmC,CAAC;AAE1D,oBAAY,UAAU;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,aAAa,kBAAkB;CAC/B"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as actions from './actions';
|
|
2
|
-
import { State } from './reducer';
|
|
3
|
-
import * as selectors from './selectors';
|
|
4
|
-
export * from './types';
|
|
5
|
-
export * from './constants';
|
|
6
|
-
export * from './queries';
|
|
7
|
-
export { getFormattedPrice } from './utils';
|
|
8
|
-
export type { State };
|
|
9
|
-
export declare const store: import("@wordpress/data/build-types/types").StoreDescriptor<import("@wordpress/data/build-types/types").ReduxStoreConfig<unknown, typeof actions, typeof selectors>>;
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain-suggestions/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAgB,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAEzC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,YAAY,EAAE,KAAK,EAAE,CAAC;AAEtB,eAAO,MAAM,KAAK,sKAMf,CAAC"}
|