@automattic/data-stores 3.1.1 → 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/README.md +10 -9
- package/dist/cjs/add-ons/hooks/use-add-on-prices.js +3 -3
- package/dist/cjs/add-ons/hooks/use-add-on-prices.js.map +1 -1
- package/dist/cjs/add-ons/icons/custom-design.js +1 -1
- package/dist/cjs/add-ons/icons/custom-design.js.map +1 -1
- package/dist/cjs/add-ons/icons/unlimited-themes.js +1 -1
- package/dist/cjs/add-ons/icons/unlimited-themes.js.map +1 -1
- package/dist/cjs/contextual-help/admin-sections.js +2 -2
- package/dist/cjs/contextual-help/admin-sections.js.map +1 -1
- package/dist/cjs/help-center/actions.js +89 -62
- package/dist/cjs/help-center/actions.js.map +1 -1
- package/dist/cjs/help-center/index.js +13 -12
- package/dist/cjs/help-center/index.js.map +1 -1
- package/dist/cjs/help-center/reducer.js +32 -16
- package/dist/cjs/help-center/reducer.js.map +1 -1
- package/dist/cjs/help-center/resolvers.js +6 -1
- package/dist/cjs/help-center/resolvers.js.map +1 -1
- package/dist/cjs/help-center/selectors.js +11 -7
- package/dist/cjs/help-center/selectors.js.map +1 -1
- package/dist/cjs/index.js +3 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/onboard/actions.js +10 -10
- package/dist/cjs/onboard/actions.js.map +1 -1
- package/dist/cjs/onboard/index.js +0 -1
- package/dist/cjs/onboard/index.js.map +1 -1
- package/dist/cjs/onboard/reducer.js +18 -16
- package/dist/cjs/onboard/reducer.js.map +1 -1
- package/dist/cjs/onboard/selectors.js +5 -5
- 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/plans/resolvers.js +4 -4
- package/dist/cjs/plans/resolvers.js.map +1 -1
- package/dist/cjs/purchases/lib/assembler.js +7 -13
- package/dist/cjs/purchases/lib/assembler.js.map +1 -1
- package/dist/cjs/purchases/queries/lib/use-query-keys-factory.js +1 -0
- package/dist/cjs/purchases/queries/lib/use-query-keys-factory.js.map +1 -1
- package/dist/cjs/purchases/queries/use-get-jetpack-transferred-license-purchases.js +33 -0
- package/dist/cjs/purchases/queries/use-get-jetpack-transferred-license-purchases.js.map +1 -0
- package/dist/cjs/queries/use-launchpad.js +3 -2
- package/dist/cjs/queries/use-launchpad.js.map +1 -1
- package/dist/cjs/queries/use-site-domains-query.js.map +1 -1
- package/dist/cjs/queries/use-site-intent.js.map +1 -1
- package/dist/cjs/reader/mutations/use-site-subscribe-mutation.js +1 -1
- package/dist/cjs/reader/mutations/use-site-subscribe-mutation.js.map +1 -1
- package/dist/cjs/reader/mutations/use-site-unsubscribe-mutation.js +4 -0
- package/dist/cjs/reader/mutations/use-site-unsubscribe-mutation.js.map +1 -1
- package/dist/cjs/site/actions.js +1 -1
- package/dist/cjs/site/actions.js.map +1 -1
- package/dist/cjs/site/constants.js +2 -1
- package/dist/cjs/site/constants.js.map +1 -1
- package/dist/cjs/site/types.js.map +1 -1
- package/dist/esm/add-ons/hooks/use-add-on-prices.js +1 -1
- package/dist/esm/add-ons/hooks/use-add-on-prices.js.map +1 -1
- package/dist/esm/add-ons/icons/custom-design.js +2 -2
- package/dist/esm/add-ons/icons/custom-design.js.map +1 -1
- package/dist/esm/add-ons/icons/unlimited-themes.js +2 -2
- package/dist/esm/add-ons/icons/unlimited-themes.js.map +1 -1
- package/dist/esm/contextual-help/admin-sections.js +2 -2
- package/dist/esm/contextual-help/admin-sections.js.map +1 -1
- package/dist/esm/help-center/actions.js +81 -57
- package/dist/esm/help-center/actions.js.map +1 -1
- package/dist/esm/help-center/index.js +11 -10
- package/dist/esm/help-center/index.js.map +1 -1
- package/dist/esm/help-center/reducer.js +32 -16
- package/dist/esm/help-center/reducer.js.map +1 -1
- package/dist/esm/help-center/resolvers.js +6 -1
- package/dist/esm/help-center/resolvers.js.map +1 -1
- package/dist/esm/help-center/selectors.js +5 -3
- package/dist/esm/help-center/selectors.js.map +1 -1
- package/dist/esm/index.js +2 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/onboard/actions.js +7 -7
- package/dist/esm/onboard/actions.js.map +1 -1
- package/dist/esm/onboard/index.js +0 -1
- package/dist/esm/onboard/index.js.map +1 -1
- package/dist/esm/onboard/reducer.js +15 -15
- package/dist/esm/onboard/reducer.js.map +1 -1
- package/dist/esm/onboard/selectors.js +2 -2
- 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/plans/resolvers.js +1 -1
- package/dist/esm/plans/resolvers.js.map +1 -1
- package/dist/esm/purchases/lib/assembler.js +7 -13
- package/dist/esm/purchases/lib/assembler.js.map +1 -1
- package/dist/esm/purchases/queries/lib/use-query-keys-factory.js +1 -0
- package/dist/esm/purchases/queries/lib/use-query-keys-factory.js.map +1 -1
- package/dist/esm/purchases/queries/use-get-jetpack-transferred-license-purchases.js +29 -0
- package/dist/esm/purchases/queries/use-get-jetpack-transferred-license-purchases.js.map +1 -0
- package/dist/esm/queries/use-launchpad.js +2 -2
- package/dist/esm/queries/use-launchpad.js.map +1 -1
- package/dist/esm/queries/use-site-domains-query.js.map +1 -1
- package/dist/esm/queries/use-site-intent.js.map +1 -1
- package/dist/esm/reader/mutations/use-site-subscribe-mutation.js +1 -1
- package/dist/esm/reader/mutations/use-site-subscribe-mutation.js.map +1 -1
- package/dist/esm/reader/mutations/use-site-unsubscribe-mutation.js +4 -0
- package/dist/esm/reader/mutations/use-site-unsubscribe-mutation.js.map +1 -1
- package/dist/esm/site/actions.js +1 -1
- package/dist/esm/site/actions.js.map +1 -1
- package/dist/esm/site/constants.js +1 -0
- package/dist/esm/site/constants.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/add-ons/icons/custom-design.d.ts.map +1 -1
- package/dist/types/add-ons/icons/unlimited-themes.d.ts.map +1 -1
- package/dist/types/help-center/actions.d.ts +53 -30
- package/dist/types/help-center/actions.d.ts.map +1 -1
- package/dist/types/help-center/index.d.ts +1 -1
- package/dist/types/help-center/index.d.ts.map +1 -1
- package/dist/types/help-center/reducer.d.ts +14 -7
- package/dist/types/help-center/reducer.d.ts.map +1 -1
- package/dist/types/help-center/resolvers.d.ts +22 -3
- package/dist/types/help-center/resolvers.d.ts.map +1 -1
- package/dist/types/help-center/selectors.d.ts +8 -3
- package/dist/types/help-center/selectors.d.ts.map +1 -1
- package/dist/types/help-center/types.d.ts +3 -1
- package/dist/types/help-center/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +478 -46
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/onboard/actions.d.ts +13 -24
- package/dist/types/onboard/actions.d.ts.map +1 -1
- package/dist/types/onboard/index.d.ts.map +1 -1
- package/dist/types/onboard/reducer.d.ts +7 -5
- package/dist/types/onboard/reducer.d.ts.map +1 -1
- package/dist/types/onboard/selectors.d.ts +6 -6
- 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/queries/lib/use-query-keys-factory.d.ts +1 -0
- package/dist/types/purchases/queries/lib/use-query-keys-factory.d.ts.map +1 -1
- package/dist/types/purchases/queries/use-get-jetpack-transferred-license-purchases.d.ts +18 -0
- package/dist/types/purchases/queries/use-get-jetpack-transferred-license-purchases.d.ts.map +1 -0
- package/dist/types/purchases/types.d.ts +16 -106
- 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-launchpad.d.ts +1 -0
- package/dist/types/queries/use-launchpad.d.ts.map +1 -1
- package/dist/types/queries/use-site-domains-query.d.ts +2 -1
- package/dist/types/queries/use-site-domains-query.d.ts.map +1 -1
- package/dist/types/queries/use-site-intent.d.ts +2 -1
- package/dist/types/queries/use-site-intent.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 +475 -41
- package/dist/types/reader/index.d.ts.map +1 -1
- package/dist/types/reader/mutations/use-site-subscribe-mutation.d.ts +1 -1
- package/dist/types/reader/mutations/use-site-subscribe-mutation.d.ts.map +1 -1
- package/dist/types/reader/mutations/use-site-unsubscribe-mutation.d.ts +2 -0
- package/dist/types/reader/mutations/use-site-unsubscribe-mutation.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/actions.d.ts.map +1 -1
- package/dist/types/site/constants.d.ts +1 -0
- package/dist/types/site/constants.d.ts.map +1 -1
- package/dist/types/site/types.d.ts +12 -2
- 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 -31
- package/dist/types/user/types.d.ts.map +1 -1
- package/package.json +28 -21
- package/src/add-ons/hooks/use-add-on-prices.ts +1 -1
- package/src/add-ons/icons/custom-design.tsx +3 -11
- package/src/add-ons/icons/unlimited-themes.tsx +3 -12
- package/src/contextual-help/admin-sections.ts +2 -2
- package/src/help-center/actions.ts +101 -65
- package/src/help-center/index.ts +10 -8
- package/src/help-center/reducer.ts +45 -24
- package/src/help-center/resolvers.ts +20 -3
- package/src/help-center/selectors.ts +6 -3
- package/src/help-center/types.ts +3 -1
- package/src/index.ts +6 -6
- package/src/newsletter-categories/test/index.tsx +5 -7
- package/src/onboard/actions.ts +11 -24
- package/src/onboard/index.ts +0 -1
- package/src/onboard/reducer.ts +18 -19
- package/src/onboard/selectors.ts +2 -2
- package/src/onboard/types.ts +1 -1
- package/src/plans/queries/use-plans.ts +29 -1
- package/src/plans/resolvers.ts +1 -1
- package/src/purchases/lib/assembler.ts +11 -21
- package/src/purchases/queries/lib/use-query-keys-factory.ts +1 -0
- package/src/purchases/queries/use-get-jetpack-transferred-license-purchases.tsx +43 -0
- package/src/purchases/types.ts +21 -113
- package/src/queries/use-launchpad.ts +2 -2
- package/src/queries/use-site-domains-query.ts +1 -0
- package/src/queries/use-site-intent.ts +2 -1
- package/src/reader/mutations/use-site-subscribe-mutation.ts +2 -2
- package/src/reader/mutations/use-site-unsubscribe-mutation.ts +7 -0
- package/src/reader/queries/test/use-read-feed-search-query.tsx +1 -1
- package/src/site/actions.ts +1 -1
- package/src/site/constants.ts +1 -0
- package/src/site/test/selectors.ts +0 -1
- package/src/site/types.ts +12 -2
- package/src/user/types.ts +2 -36
- package/dist/cjs/analyzer/actions.js +0 -38
- package/dist/cjs/analyzer/actions.js.map +0 -1
- package/dist/cjs/analyzer/constants.js +0 -5
- package/dist/cjs/analyzer/constants.js.map +0 -1
- package/dist/cjs/analyzer/index.js +0 -19
- package/dist/cjs/analyzer/index.js.map +0 -1
- package/dist/cjs/analyzer/reducers.js +0 -27
- package/dist/cjs/analyzer/reducers.js.map +0 -1
- package/dist/cjs/analyzer/selectors.js +0 -15
- package/dist/cjs/analyzer/selectors.js.map +0 -1
- package/dist/cjs/analyzer/types.js +0 -3
- package/dist/cjs/analyzer/types.js.map +0 -1
- 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/analyzer/actions.js +0 -35
- package/dist/esm/analyzer/actions.js.map +0 -1
- package/dist/esm/analyzer/constants.js +0 -2
- package/dist/esm/analyzer/constants.js.map +0 -1
- package/dist/esm/analyzer/index.js +0 -15
- package/dist/esm/analyzer/index.js.map +0 -1
- package/dist/esm/analyzer/reducers.js +0 -25
- package/dist/esm/analyzer/reducers.js.map +0 -1
- package/dist/esm/analyzer/selectors.js +0 -9
- package/dist/esm/analyzer/selectors.js.map +0 -1
- package/dist/esm/analyzer/types.js +0 -2
- package/dist/esm/analyzer/types.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/analyzer/actions.d.ts +0 -37
- package/dist/types/analyzer/actions.d.ts.map +0 -1
- package/dist/types/analyzer/constants.d.ts +0 -2
- package/dist/types/analyzer/constants.d.ts.map +0 -1
- package/dist/types/analyzer/index.d.ts +0 -38
- package/dist/types/analyzer/index.d.ts.map +0 -1
- package/dist/types/analyzer/reducers.d.ts +0 -11
- package/dist/types/analyzer/reducers.d.ts.map +0 -1
- package/dist/types/analyzer/selectors.d.ts +0 -7
- package/dist/types/analyzer/selectors.d.ts.map +0 -1
- package/dist/types/analyzer/types.d.ts +0 -35
- package/dist/types/analyzer/types.d.ts.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/analyzer/actions.ts +0 -49
- package/src/analyzer/constants.ts +0 -1
- package/src/analyzer/index.ts +0 -17
- package/src/analyzer/reducers.ts +0 -36
- package/src/analyzer/selectors.ts +0 -11
- package/src/analyzer/types.ts +0 -37
- 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,206 +0,0 @@
|
|
|
1
|
-
import type { DataStatus } from './constants';
|
|
2
|
-
export interface DomainSuggestionQuery {
|
|
3
|
-
/**
|
|
4
|
-
* True to include .blog subdomain suggestions
|
|
5
|
-
* @example
|
|
6
|
-
* example.photo.blog
|
|
7
|
-
*/
|
|
8
|
-
include_dotblogsubdomain: boolean;
|
|
9
|
-
/**
|
|
10
|
-
* True to include WordPress.com subdomain suggestions
|
|
11
|
-
* @example
|
|
12
|
-
* example.wordpress.com
|
|
13
|
-
*/
|
|
14
|
-
include_wordpressdotcom: boolean;
|
|
15
|
-
/**
|
|
16
|
-
* True to include domains registered with wpcom in the response
|
|
17
|
-
*/
|
|
18
|
-
include_internal_move_eligible?: boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Localizes domain results, e.g., price format
|
|
21
|
-
*/
|
|
22
|
-
locale?: string;
|
|
23
|
-
/**
|
|
24
|
-
* True to only provide a wordpress.com subdomain
|
|
25
|
-
* @example
|
|
26
|
-
* example.wordpress.com
|
|
27
|
-
*/
|
|
28
|
-
only_wordpressdotcom: boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Desired number of results
|
|
31
|
-
*/
|
|
32
|
-
quantity: number;
|
|
33
|
-
/**
|
|
34
|
-
* Domain search term
|
|
35
|
-
*/
|
|
36
|
-
query: string;
|
|
37
|
-
recommendation_context?: string;
|
|
38
|
-
/**
|
|
39
|
-
* Vendor
|
|
40
|
-
*/
|
|
41
|
-
vendor: string;
|
|
42
|
-
/**
|
|
43
|
-
* The vertical id or slug
|
|
44
|
-
*/
|
|
45
|
-
vertical?: string;
|
|
46
|
-
/**
|
|
47
|
-
* An array of tlds
|
|
48
|
-
*/
|
|
49
|
-
tlds?: readonly string[];
|
|
50
|
-
/**
|
|
51
|
-
* Domain category slug
|
|
52
|
-
*/
|
|
53
|
-
category_slug?: string;
|
|
54
|
-
}
|
|
55
|
-
export type DomainName = string;
|
|
56
|
-
export interface DomainSuggestion {
|
|
57
|
-
/**
|
|
58
|
-
* The domain name
|
|
59
|
-
* @example "example.com"
|
|
60
|
-
*/
|
|
61
|
-
domain_name: DomainName;
|
|
62
|
-
/**
|
|
63
|
-
* Rendered formatted cost
|
|
64
|
-
* @example "Free" or "€15.00"
|
|
65
|
-
*/
|
|
66
|
-
cost: string;
|
|
67
|
-
/**
|
|
68
|
-
* Raw price
|
|
69
|
-
* @example 40
|
|
70
|
-
*/
|
|
71
|
-
raw_price: number;
|
|
72
|
-
/**
|
|
73
|
-
* Currency code
|
|
74
|
-
* @example USD
|
|
75
|
-
*/
|
|
76
|
-
currency_code: string;
|
|
77
|
-
/**
|
|
78
|
-
* Relevance as a percent: 0 <= relevance <= 1
|
|
79
|
-
* @example 0.9
|
|
80
|
-
*/
|
|
81
|
-
relevance?: number;
|
|
82
|
-
/**
|
|
83
|
-
* Whether the domain supports privacy
|
|
84
|
-
*/
|
|
85
|
-
supports_privacy?: boolean;
|
|
86
|
-
/**
|
|
87
|
-
* The domain vendor
|
|
88
|
-
*/
|
|
89
|
-
vendor?: string;
|
|
90
|
-
/**
|
|
91
|
-
* Reasons for suggestion the domain
|
|
92
|
-
* @example [ "exact-match" ]
|
|
93
|
-
*/
|
|
94
|
-
match_reasons?: readonly string[];
|
|
95
|
-
/**
|
|
96
|
-
* The product ID
|
|
97
|
-
*/
|
|
98
|
-
product_id?: number;
|
|
99
|
-
/**
|
|
100
|
-
* The product slug
|
|
101
|
-
*/
|
|
102
|
-
product_slug?: string;
|
|
103
|
-
/**
|
|
104
|
-
* Whether the domain is free
|
|
105
|
-
*/
|
|
106
|
-
is_free?: boolean;
|
|
107
|
-
/**
|
|
108
|
-
* Whether the domain requires HSTS
|
|
109
|
-
*/
|
|
110
|
-
hsts_required?: boolean;
|
|
111
|
-
/**
|
|
112
|
-
* Whether the domain requires to show the notice for .gay tld
|
|
113
|
-
*/
|
|
114
|
-
is_dot_gay_notice_required?: boolean;
|
|
115
|
-
/**
|
|
116
|
-
* Whether the domain is unavailable
|
|
117
|
-
*/
|
|
118
|
-
unavailable: boolean;
|
|
119
|
-
isRecommended?: boolean;
|
|
120
|
-
isBestAlternative?: boolean;
|
|
121
|
-
is_premium?: boolean;
|
|
122
|
-
}
|
|
123
|
-
export interface DomainCategory {
|
|
124
|
-
/**
|
|
125
|
-
* The domain category title
|
|
126
|
-
*/
|
|
127
|
-
title: string;
|
|
128
|
-
/**
|
|
129
|
-
* The domain category slug
|
|
130
|
-
*/
|
|
131
|
-
slug: string;
|
|
132
|
-
/**
|
|
133
|
-
* The domain category tier
|
|
134
|
-
*/
|
|
135
|
-
tier: number | null;
|
|
136
|
-
}
|
|
137
|
-
export interface DomainAvailability {
|
|
138
|
-
/**
|
|
139
|
-
* The domain name the availability was checked for.
|
|
140
|
-
*/
|
|
141
|
-
domain_name: string;
|
|
142
|
-
/**
|
|
143
|
-
* The mappability status of the domain.
|
|
144
|
-
*/
|
|
145
|
-
mappable: string;
|
|
146
|
-
/**
|
|
147
|
-
* The availability status of the domain.
|
|
148
|
-
*/
|
|
149
|
-
status: string;
|
|
150
|
-
/**
|
|
151
|
-
* Whether the domain supports privacy.
|
|
152
|
-
*/
|
|
153
|
-
supports_privacy: boolean;
|
|
154
|
-
/**
|
|
155
|
-
* ID of the product
|
|
156
|
-
*/
|
|
157
|
-
product_id?: number;
|
|
158
|
-
/**
|
|
159
|
-
* The product slug
|
|
160
|
-
*/
|
|
161
|
-
product_slug?: string;
|
|
162
|
-
/**
|
|
163
|
-
* Rendered cost with currency
|
|
164
|
-
* @example "€15.00"
|
|
165
|
-
*/
|
|
166
|
-
cost?: string;
|
|
167
|
-
/**
|
|
168
|
-
* Vendor
|
|
169
|
-
*/
|
|
170
|
-
vendor?: string;
|
|
171
|
-
/**
|
|
172
|
-
* Whether the domain requires HSTS
|
|
173
|
-
*/
|
|
174
|
-
hsts_required?: boolean;
|
|
175
|
-
/**
|
|
176
|
-
* Whether the domain requires to show the notice for .gay tld
|
|
177
|
-
*/
|
|
178
|
-
is_dot_gay_notice_required?: boolean;
|
|
179
|
-
}
|
|
180
|
-
export type TimestampMS = ReturnType<typeof Date.now>;
|
|
181
|
-
export type DomainSuggestions = Record<string, DomainSuggestion[] | undefined>;
|
|
182
|
-
export interface DomainSuggestionState {
|
|
183
|
-
/**
|
|
184
|
-
* The state of the DomainSuggestions e.g. pending, failure etc
|
|
185
|
-
*/
|
|
186
|
-
state: DataStatus;
|
|
187
|
-
/**
|
|
188
|
-
* Domain suggestion data typically returned from the API
|
|
189
|
-
*/
|
|
190
|
-
data: DomainSuggestions;
|
|
191
|
-
/**
|
|
192
|
-
* Error message
|
|
193
|
-
*/
|
|
194
|
-
errorMessage: string | null;
|
|
195
|
-
/**
|
|
196
|
-
* Timestamp from last updated attempt
|
|
197
|
-
*/
|
|
198
|
-
lastUpdated: TimestampMS;
|
|
199
|
-
/**
|
|
200
|
-
* Pending timestamp
|
|
201
|
-
*/
|
|
202
|
-
pendingSince: TimestampMS | undefined;
|
|
203
|
-
}
|
|
204
|
-
export type DomainAvailabilities = Record<string, DomainAvailability | undefined>;
|
|
205
|
-
export type DomainSuggestionSelectorOptions = Partial<Exclude<DomainSuggestionQuery, 'query'>>;
|
|
206
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domain-suggestions/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { DomainSuggestionQuery, DomainSuggestionSelectorOptions } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Stable transform to an object key for storage and access.
|
|
4
|
-
*/
|
|
5
|
-
export declare const stringifyDomainQueryObject: (q: DomainSuggestionQuery) => string;
|
|
6
|
-
/**
|
|
7
|
-
* Formats the domain suggestion price according to 'format-currency' package rules
|
|
8
|
-
* We use this for consistency in prices formats across plans and domains
|
|
9
|
-
* @param price the domain suggestion raw price
|
|
10
|
-
* @param currencyCode the currency code to be used when formatting price
|
|
11
|
-
*/
|
|
12
|
-
export declare function getFormattedPrice(price: number, currencyCode: string): string;
|
|
13
|
-
/**
|
|
14
|
-
* Normalize domain query
|
|
15
|
-
*
|
|
16
|
-
* It's important to have a consistent, reproduceable representation of a domains query so that the result can be
|
|
17
|
-
* stored and retrieved.
|
|
18
|
-
* @param search Domain search string
|
|
19
|
-
* @param queryOptions Optional paramaters for the query
|
|
20
|
-
* @returns Normalized query object
|
|
21
|
-
*/
|
|
22
|
-
export declare function normalizeDomainSuggestionQuery(search: string, queryOptions: DomainSuggestionSelectorOptions): DomainSuggestionQuery;
|
|
23
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/domain-suggestions/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAEtF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,CAAE,CAAC,EAAE,qBAAqB,KAAM,MAClD,CAAC;AAExB;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAI,MAAM,CAI/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,+BAA+B,GAC3C,qBAAqB,CAevB"}
|
package/src/analyzer/actions.ts
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { wpcomRequest } from '../wpcom-request-controls';
|
|
2
|
-
import { AnalyzeColorsResponse } from './types';
|
|
3
|
-
|
|
4
|
-
export function createActions() {
|
|
5
|
-
const colorsAnalyzeStart = ( url: string ) => ( {
|
|
6
|
-
type: 'COLORS_ANALYZE_START' as const,
|
|
7
|
-
url,
|
|
8
|
-
} );
|
|
9
|
-
|
|
10
|
-
const colorsAnalyzeSuccess = ( url: string, data: AnalyzeColorsResponse ) => ( {
|
|
11
|
-
type: 'COLORS_ANALYZE_SUCCESS' as const,
|
|
12
|
-
data: { url, colors: data.colors },
|
|
13
|
-
} );
|
|
14
|
-
|
|
15
|
-
const colorsAnalyzeFailed = ( url: string ) => ( {
|
|
16
|
-
type: 'COLORS_ANALYZE_FAILED' as const,
|
|
17
|
-
url,
|
|
18
|
-
} );
|
|
19
|
-
|
|
20
|
-
function* analyzeColors( url: string ) {
|
|
21
|
-
yield colorsAnalyzeStart( url );
|
|
22
|
-
|
|
23
|
-
try {
|
|
24
|
-
const data: AnalyzeColorsResponse = yield wpcomRequest( {
|
|
25
|
-
path: '/imports/url-analyzer/colors/?url=' + encodeURIComponent( url ),
|
|
26
|
-
apiNamespace: 'wpcom/v2',
|
|
27
|
-
} );
|
|
28
|
-
|
|
29
|
-
yield colorsAnalyzeSuccess( url, data );
|
|
30
|
-
} catch ( err ) {
|
|
31
|
-
yield colorsAnalyzeFailed( url );
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return {
|
|
36
|
-
colorsAnalyzeStart,
|
|
37
|
-
colorsAnalyzeSuccess,
|
|
38
|
-
colorsAnalyzeFailed,
|
|
39
|
-
analyzeColors,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export type ActionCreators = ReturnType< typeof createActions >;
|
|
44
|
-
|
|
45
|
-
export type Action = ReturnType<
|
|
46
|
-
| ActionCreators[ 'colorsAnalyzeStart' ]
|
|
47
|
-
| ActionCreators[ 'colorsAnalyzeSuccess' ]
|
|
48
|
-
| ActionCreators[ 'colorsAnalyzeFailed' ]
|
|
49
|
-
>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const STORE_KEY = 'automattic/analyzer';
|
package/src/analyzer/index.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { register, createReduxStore } from '@wordpress/data';
|
|
2
|
-
import { controls } from '../wpcom-request-controls';
|
|
3
|
-
import { createActions } from './actions';
|
|
4
|
-
import { STORE_KEY } from './constants';
|
|
5
|
-
import reducer, { State } from './reducers';
|
|
6
|
-
import * as selectors from './selectors';
|
|
7
|
-
export * from './types';
|
|
8
|
-
export type { State };
|
|
9
|
-
|
|
10
|
-
export const store = createReduxStore( STORE_KEY, {
|
|
11
|
-
actions: createActions(),
|
|
12
|
-
controls: controls,
|
|
13
|
-
reducer: reducer,
|
|
14
|
-
selectors,
|
|
15
|
-
} );
|
|
16
|
-
|
|
17
|
-
register( store );
|
package/src/analyzer/reducers.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { combineReducers } from '@wordpress/data';
|
|
2
|
-
import type { Action } from './actions';
|
|
3
|
-
import type { ColorsState } from './types';
|
|
4
|
-
import type { Reducer } from 'redux';
|
|
5
|
-
|
|
6
|
-
const analyzer: Reducer< ColorsState, Action > = ( state = {}, action ) => {
|
|
7
|
-
if ( action.type === 'COLORS_ANALYZE_START' ) {
|
|
8
|
-
return {
|
|
9
|
-
analyzing: true,
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
if ( action.type === 'COLORS_ANALYZE_SUCCESS' ) {
|
|
14
|
-
const colors = { ...state.colors };
|
|
15
|
-
colors[ action.data.url ] = action.data.colors;
|
|
16
|
-
|
|
17
|
-
return {
|
|
18
|
-
analyzing: false,
|
|
19
|
-
colors,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
if ( action.type === 'COLORS_ANALYZE_FAILED' ) {
|
|
24
|
-
return {
|
|
25
|
-
analyzing: false,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
return state;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const reducers = combineReducers( { analyzer } );
|
|
33
|
-
|
|
34
|
-
export type State = ReturnType< typeof reducers >;
|
|
35
|
-
|
|
36
|
-
export default reducers;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { State } from './reducers';
|
|
2
|
-
|
|
3
|
-
export const getState = ( state: State ) => state;
|
|
4
|
-
export const isSiteColorsInAnalysis = ( state: State ) => state.analyzer.analyzing;
|
|
5
|
-
export const getSiteColors = ( state: State, url: null | string ) => {
|
|
6
|
-
if ( ! url ) {
|
|
7
|
-
return null;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
return state.analyzer.colors?.[ url ];
|
|
11
|
-
};
|
package/src/analyzer/types.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import * as actions from './actions';
|
|
2
|
-
import type { DispatchFromMap } from '../mapped-types';
|
|
3
|
-
|
|
4
|
-
interface Color {
|
|
5
|
-
name: string;
|
|
6
|
-
hex: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface ColorsData {
|
|
10
|
-
link: Color[];
|
|
11
|
-
text: Color[];
|
|
12
|
-
background: Color[];
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface PreferredPalettes {
|
|
16
|
-
preferred_palettes: {
|
|
17
|
-
link: Color;
|
|
18
|
-
text: Color;
|
|
19
|
-
background: Color;
|
|
20
|
-
}[];
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export interface AnalyzeColorsResponse {
|
|
24
|
-
url: string;
|
|
25
|
-
status: string;
|
|
26
|
-
colors: ColorsData & PreferredPalettes;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
type SiteUrl = string;
|
|
30
|
-
export type ColorsState = {
|
|
31
|
-
analyzing?: boolean;
|
|
32
|
-
colors?: { [ key: SiteUrl ]: ColorsData & PreferredPalettes };
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export interface Dispatch {
|
|
36
|
-
dispatch: DispatchFromMap< typeof actions >;
|
|
37
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
DomainSuggestion,
|
|
3
|
-
DomainSuggestionQuery,
|
|
4
|
-
DomainCategory,
|
|
5
|
-
DomainAvailability,
|
|
6
|
-
} from './types';
|
|
7
|
-
|
|
8
|
-
export const receiveCategories = ( categories: DomainCategory[] ) =>
|
|
9
|
-
( {
|
|
10
|
-
type: 'RECEIVE_CATEGORIES',
|
|
11
|
-
categories,
|
|
12
|
-
} ) as const;
|
|
13
|
-
|
|
14
|
-
export const fetchDomainSuggestions = () =>
|
|
15
|
-
( {
|
|
16
|
-
type: 'FETCH_DOMAIN_SUGGESTIONS',
|
|
17
|
-
timeStamp: Date.now(),
|
|
18
|
-
} ) as const;
|
|
19
|
-
|
|
20
|
-
export const receiveDomainAvailability = ( domainName: string, availability: DomainAvailability ) =>
|
|
21
|
-
( {
|
|
22
|
-
type: 'RECEIVE_DOMAIN_AVAILABILITY',
|
|
23
|
-
domainName,
|
|
24
|
-
availability,
|
|
25
|
-
} ) as const;
|
|
26
|
-
|
|
27
|
-
export const receiveDomainSuggestionsSuccess = (
|
|
28
|
-
queryObject: DomainSuggestionQuery,
|
|
29
|
-
suggestions: DomainSuggestion[] | undefined
|
|
30
|
-
) =>
|
|
31
|
-
( {
|
|
32
|
-
type: 'RECEIVE_DOMAIN_SUGGESTIONS_SUCCESS',
|
|
33
|
-
queryObject,
|
|
34
|
-
suggestions,
|
|
35
|
-
timeStamp: Date.now(),
|
|
36
|
-
} ) as const;
|
|
37
|
-
|
|
38
|
-
export const receiveDomainSuggestionsError = ( errorMessage: string ) =>
|
|
39
|
-
( {
|
|
40
|
-
type: 'RECEIVE_DOMAIN_SUGGESTIONS_ERROR',
|
|
41
|
-
errorMessage,
|
|
42
|
-
timeStamp: Date.now(),
|
|
43
|
-
} ) as const;
|
|
44
|
-
|
|
45
|
-
export type Action = ReturnType<
|
|
46
|
-
| typeof receiveCategories
|
|
47
|
-
| typeof fetchDomainSuggestions
|
|
48
|
-
| typeof receiveDomainSuggestionsSuccess
|
|
49
|
-
| typeof receiveDomainSuggestionsError
|
|
50
|
-
| typeof receiveDomainAvailability
|
|
51
|
-
>;
|
|
@@ -1,22 +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, { State } from './reducer';
|
|
6
|
-
import * as resolvers from './resolvers';
|
|
7
|
-
import * as selectors from './selectors';
|
|
8
|
-
|
|
9
|
-
export * from './types';
|
|
10
|
-
export * from './constants';
|
|
11
|
-
export * from './queries';
|
|
12
|
-
export { getFormattedPrice } from './utils';
|
|
13
|
-
export type { State };
|
|
14
|
-
|
|
15
|
-
export const store = createReduxStore( STORE_KEY, {
|
|
16
|
-
actions,
|
|
17
|
-
controls,
|
|
18
|
-
reducer,
|
|
19
|
-
resolvers,
|
|
20
|
-
selectors,
|
|
21
|
-
} );
|
|
22
|
-
register( store );
|
|
@@ -1,85 +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
|
-
import type { DomainSuggestion, DomainSuggestionSelectorOptions } from './types';
|
|
6
|
-
|
|
7
|
-
const STALE_TIME = 1000 * 60 * 5; // 5 minutes
|
|
8
|
-
|
|
9
|
-
export function useGetDomainSuggestions(
|
|
10
|
-
search?: string | null,
|
|
11
|
-
searchOptions: DomainSuggestionSelectorOptions = {},
|
|
12
|
-
queryOptions = {}
|
|
13
|
-
) {
|
|
14
|
-
const queryClient = useQueryClient();
|
|
15
|
-
const result = useQuery( {
|
|
16
|
-
queryKey: [ 'domain-suggestions', search, searchOptions ],
|
|
17
|
-
queryFn: async () => {
|
|
18
|
-
if ( ! search ) {
|
|
19
|
-
return [];
|
|
20
|
-
}
|
|
21
|
-
const queryObject = normalizeDomainSuggestionQuery( search, searchOptions );
|
|
22
|
-
|
|
23
|
-
const suggestions: DomainSuggestion[] = await wpcomProxyRequest( {
|
|
24
|
-
apiVersion: '1.1',
|
|
25
|
-
path: '/domains/suggestions',
|
|
26
|
-
query: stringify( queryObject ),
|
|
27
|
-
} );
|
|
28
|
-
if ( ! Array.isArray( suggestions ) ) {
|
|
29
|
-
throw new Error( 'Invalid response from the server' );
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const processedSuggestions = suggestions.map( ( suggestion: DomainSuggestion ) => {
|
|
33
|
-
if ( suggestion.unavailable ) {
|
|
34
|
-
return suggestion;
|
|
35
|
-
}
|
|
36
|
-
return {
|
|
37
|
-
...suggestion,
|
|
38
|
-
...( suggestion.raw_price &&
|
|
39
|
-
suggestion.currency_code && {
|
|
40
|
-
cost: getFormattedPrice( suggestion.raw_price, suggestion.currency_code ),
|
|
41
|
-
} ),
|
|
42
|
-
};
|
|
43
|
-
} );
|
|
44
|
-
|
|
45
|
-
return processedSuggestions;
|
|
46
|
-
},
|
|
47
|
-
enabled: !! search,
|
|
48
|
-
staleTime: STALE_TIME,
|
|
49
|
-
...queryOptions,
|
|
50
|
-
} );
|
|
51
|
-
|
|
52
|
-
return {
|
|
53
|
-
...result,
|
|
54
|
-
invalidateCache: () =>
|
|
55
|
-
queryClient.invalidateQueries( {
|
|
56
|
-
queryKey: [ 'domain-suggestions', search, searchOptions ],
|
|
57
|
-
} ),
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Returns the expected *.wordpress.com for a given domain name
|
|
63
|
-
*/
|
|
64
|
-
export function useGetWordPressSubdomain( paidDomainName?: string | null ) {
|
|
65
|
-
return useGetDomainSuggestions( paidDomainName, {
|
|
66
|
-
quantity: 1,
|
|
67
|
-
include_wordpressdotcom: true,
|
|
68
|
-
include_dotblogsubdomain: false,
|
|
69
|
-
only_wordpressdotcom: false,
|
|
70
|
-
vendor: 'dot',
|
|
71
|
-
} );
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Returns a custom .com domain suggestion for a given query
|
|
76
|
-
*/
|
|
77
|
-
export function useGetSingleCustomDotComDomainSuggestion( query?: string | null, locale?: string ) {
|
|
78
|
-
return useGetDomainSuggestions( query, {
|
|
79
|
-
quantity: 1,
|
|
80
|
-
include_wordpressdotcom: false,
|
|
81
|
-
include_dotblogsubdomain: false,
|
|
82
|
-
locale,
|
|
83
|
-
tlds: [ 'com' ],
|
|
84
|
-
} );
|
|
85
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { combineReducers } from '@wordpress/data';
|
|
2
|
-
import { DataStatus } from './constants';
|
|
3
|
-
import { stringifyDomainQueryObject } from './utils';
|
|
4
|
-
import type { Action } from './actions';
|
|
5
|
-
import type { DomainCategory, DomainSuggestionState, DomainAvailabilities } from './types';
|
|
6
|
-
import type { Reducer } from 'redux';
|
|
7
|
-
|
|
8
|
-
const initialDomainSuggestionState: DomainSuggestionState = {
|
|
9
|
-
state: DataStatus.Uninitialized,
|
|
10
|
-
data: {},
|
|
11
|
-
errorMessage: null,
|
|
12
|
-
lastUpdated: -Infinity,
|
|
13
|
-
pendingSince: undefined,
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
export const domainSuggestions: Reducer< DomainSuggestionState, Action > = (
|
|
17
|
-
state = initialDomainSuggestionState,
|
|
18
|
-
action
|
|
19
|
-
) => {
|
|
20
|
-
if ( action.type === 'FETCH_DOMAIN_SUGGESTIONS' ) {
|
|
21
|
-
return {
|
|
22
|
-
...state,
|
|
23
|
-
state: DataStatus.Pending,
|
|
24
|
-
errorMessage: null,
|
|
25
|
-
pendingSince: action.timeStamp,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if ( action.type === 'RECEIVE_DOMAIN_SUGGESTIONS_SUCCESS' ) {
|
|
30
|
-
return {
|
|
31
|
-
...state,
|
|
32
|
-
state: DataStatus.Success,
|
|
33
|
-
data: {
|
|
34
|
-
...state.data,
|
|
35
|
-
[ stringifyDomainQueryObject( action.queryObject ) ]: action.suggestions,
|
|
36
|
-
},
|
|
37
|
-
errorMessage: null,
|
|
38
|
-
lastUpdated: action.timeStamp,
|
|
39
|
-
pendingSince: undefined,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if ( action.type === 'RECEIVE_DOMAIN_SUGGESTIONS_ERROR' ) {
|
|
44
|
-
return {
|
|
45
|
-
...state,
|
|
46
|
-
state: DataStatus.Failure,
|
|
47
|
-
errorMessage: action.errorMessage,
|
|
48
|
-
lastUpdated: action.timeStamp,
|
|
49
|
-
pendingSince: undefined,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return state;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
const categories: Reducer< DomainCategory[], Action > = ( state = [], action ) => {
|
|
57
|
-
if ( action.type === 'RECEIVE_CATEGORIES' ) {
|
|
58
|
-
return action.categories;
|
|
59
|
-
}
|
|
60
|
-
return state;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const availability: Reducer< DomainAvailabilities, Action > = ( state = {}, action ) => {
|
|
64
|
-
if ( action.type === 'RECEIVE_DOMAIN_AVAILABILITY' ) {
|
|
65
|
-
return {
|
|
66
|
-
...state,
|
|
67
|
-
[ action.domainName ]: action.availability,
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
return state;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
const reducer = combineReducers( { categories, domainSuggestions, availability } );
|
|
74
|
-
|
|
75
|
-
export type State = ReturnType< typeof reducer >;
|
|
76
|
-
|
|
77
|
-
export default reducer;
|