@automattic/launchpad 1.2.4 → 1.3.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 +9 -0
- package/README.md +1 -1
- package/dist/cjs/action-components/share-site-modal/index.js +2 -2
- package/dist/cjs/action-components/share-site-modal/index.js.map +1 -1
- package/dist/cjs/checklist-item/style.scss +3 -1
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/launchpad-internal.js +2 -2
- package/dist/cjs/launchpad-internal.js.map +1 -1
- package/dist/cjs/launchpad.js +5 -9
- package/dist/cjs/launchpad.js.map +1 -1
- package/dist/cjs/setup-actions.js +3 -3
- package/dist/cjs/setup-actions.js.map +1 -1
- package/dist/cjs/site-type.js +3 -0
- package/dist/cjs/site-type.js.map +1 -0
- package/dist/cjs/use-launchpad.js +151 -0
- package/dist/cjs/use-launchpad.js.map +1 -0
- package/dist/cjs/use-site.js +38 -0
- package/dist/cjs/use-site.js.map +1 -0
- package/dist/cjs/wpcom-request.js +24 -0
- package/dist/cjs/wpcom-request.js.map +1 -0
- package/dist/esm/action-components/share-site-modal/index.js +1 -1
- package/dist/esm/action-components/share-site-modal/index.js.map +1 -1
- package/dist/esm/checklist-item/style.scss +3 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/launchpad-internal.js +1 -1
- package/dist/esm/launchpad-internal.js.map +1 -1
- package/dist/esm/launchpad.js +3 -6
- package/dist/esm/launchpad.js.map +1 -1
- package/dist/esm/setup-actions.js +1 -1
- package/dist/esm/setup-actions.js.map +1 -1
- package/dist/esm/site-type.js +2 -0
- package/dist/esm/site-type.js.map +1 -0
- package/dist/esm/use-launchpad.js +140 -0
- package/dist/esm/use-launchpad.js.map +1 -0
- package/dist/esm/use-site.js +33 -0
- package/dist/esm/use-site.js.map +1 -0
- package/dist/esm/wpcom-request.js +18 -0
- package/dist/esm/wpcom-request.js.map +1 -0
- package/dist/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/action-components/share-site-modal/index.d.ts +2 -2
- package/dist/types/action-components/share-site-modal/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/launchpad-internal.d.ts +3 -2
- package/dist/types/launchpad-internal.d.ts.map +1 -1
- package/dist/types/launchpad.d.ts +0 -1
- package/dist/types/launchpad.d.ts.map +1 -1
- package/dist/types/site-type.d.ts +10 -0
- package/dist/types/site-type.d.ts.map +1 -0
- package/dist/types/use-launchpad.d.ts +65 -0
- package/dist/types/use-launchpad.d.ts.map +1 -0
- package/dist/types/use-site.d.ts +8 -0
- package/dist/types/use-site.d.ts.map +1 -0
- package/dist/types/use-tracking/index.d.ts +2 -2
- package/dist/types/use-tracking/index.d.ts.map +1 -1
- package/dist/types/wpcom-request.d.ts +7 -0
- package/dist/types/wpcom-request.d.ts.map +1 -0
- package/package.json +11 -9
- package/src/action-components/share-site-modal/index.tsx +5 -5
- package/src/checklist-item/style.scss +3 -1
- package/src/index.ts +2 -0
- package/src/launchpad-internal.tsx +3 -3
- package/src/launchpad.tsx +3 -15
- package/src/setup-actions.ts +1 -1
- package/src/site-type.ts +9 -0
- package/src/test/launchpad.tsx +3 -1
- package/src/test/lib/fixtures.ts +1 -2
- package/src/test/setup-actions.ts +1 -1
- package/src/test/use-site.ts +60 -0
- package/src/use-launchpad.ts +249 -0
- package/src/use-site.ts +36 -0
- package/src/use-tracking/index.tsx +2 -2
- package/src/use-tracking/test/index.tsx +3 -3
- package/src/wpcom-request.ts +26 -0
- package/tsconfig.json +1 -5
package/dist/esm/launchpad.js
CHANGED
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { recordTracksEvent } from '@automattic/calypso-analytics';
|
|
3
|
-
import { Site, defaultSuccessCallback, useSortedLaunchpadTasks, } from '@automattic/data-stores';
|
|
4
|
-
import { useSelect } from '@wordpress/data';
|
|
5
3
|
import { useState } from 'react';
|
|
6
4
|
import { ShareSiteModal } from './action-components';
|
|
7
5
|
import LaunchpadInternal from './launchpad-internal';
|
|
8
6
|
import { setUpActionsForTasks } from './setup-actions';
|
|
9
|
-
|
|
7
|
+
import { defaultSuccessCallback, useSortedLaunchpadTasks } from './use-launchpad';
|
|
8
|
+
import { useSite } from './use-site';
|
|
10
9
|
const Launchpad = ({ siteSlug, checklistSlug, launchpadContext, onSiteLaunched, onTaskClick, onPostFilterTasks, highlightNextAction, }) => {
|
|
11
10
|
const { data: { checklist }, } = useSortedLaunchpadTasks(siteSlug, checklistSlug, launchpadContext);
|
|
12
11
|
const tasklistCompleted = checklist?.every((task) => task.completed) || false;
|
|
13
12
|
const tracksData = { recordTracksEvent, checklistSlug, tasklistCompleted, launchpadContext };
|
|
14
|
-
const site =
|
|
15
|
-
return siteSlug ? select(SITE_STORE).getSite(siteSlug) : null;
|
|
16
|
-
}, [siteSlug]);
|
|
13
|
+
const site = useSite(siteSlug);
|
|
17
14
|
const [shareSiteModalIsOpen, setShareSiteModalIsOpen] = useState(false);
|
|
18
15
|
const taskFilter = (tasks) => {
|
|
19
16
|
const baseTasks = setUpActionsForTasks({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launchpad.js","sourceRoot":"","sources":["../../src/launchpad.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"launchpad.js","sourceRoot":"","sources":["../../src/launchpad.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAarC,MAAM,SAAS,GAAG,CAAE,EACnB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACH,EAAG,EAAE;IACrB,MAAM,EACL,IAAI,EAAE,EAAE,SAAS,EAAE,GACnB,GAAG,uBAAuB,CAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,CAAE,CAAC;IAEzE,MAAM,iBAAiB,GAAG,SAAS,EAAE,KAAK,CAAE,CAAE,IAAU,EAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAE,IAAI,KAAK,CAAC;IAExF,MAAM,UAAU,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAE7F,MAAM,IAAI,GAAG,OAAO,CAAE,QAAQ,CAAE,CAAC;IACjC,MAAM,CAAE,oBAAoB,EAAE,uBAAuB,CAAE,GAAG,QAAQ,CAAE,KAAK,CAAE,CAAC;IAE5E,MAAM,UAAU,GAAG,CAAE,KAAa,EAAG,EAAE;QACtC,MAAM,SAAS,GAAG,oBAAoB,CAAE;YACvC,KAAK;YACL,QAAQ;YACR,UAAU;YACV,YAAY,EAAE;gBACb,uBAAuB;aACvB;YACD,aAAa,EAAE;gBACd,cAAc;gBACd,WAAW;aACX;SACD,CAAE,CAAC;QAEJ,IAAK,iBAAiB,EAAG,CAAC;YACzB,OAAO,iBAAiB,CAAE,SAAS,CAAE,CAAC;QACvC,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG;QACxB,SAAS,EAAE,sBAAsB;KACjC,CAAC;IAEF,IAAK,CAAE,gBAAgB,EAAG,CAAC;QAC1B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,aAAa,GAAG,SAAS,EAAE,IAAI,CAAE,CAAE,IAAU,EAAG,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,YAAY,CAAE,IAAI,IAAI,CAAC;IAC5F,OAAO,CACN,8BACG,oBAAoB,IAAI,IAAI,IAAI,CACjC,KAAC,cAAc,IACd,cAAc,EAAG,uBAAuB,EACxC,IAAI,EAAG,IAAI,EACX,IAAI,EAAG,aAAa,GACnB,CACF,EACD,KAAC,iBAAiB,IACjB,IAAI,EAAG,IAAI,EACX,QAAQ,EAAG,QAAQ,EACnB,aAAa,EAAG,aAAa,EAC7B,UAAU,EAAG,UAAU,EACvB,mBAAmB,EAAG,gBAAgB,EACtC,gBAAgB,EAAG,gBAAgB,EACnC,mBAAmB,EAAG,mBAAmB,GACxC,IACA,CACH,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { updateLaunchpadSettings } from '@automattic/data-stores';
|
|
2
1
|
import { localizeUrl } from '@automattic/i18n-utils';
|
|
3
2
|
import { isMobile } from '@automattic/viewport';
|
|
4
3
|
import wpcomRequest from 'wpcom-proxy-request';
|
|
4
|
+
import { updateLaunchpadSettings } from './use-launchpad';
|
|
5
5
|
const TASKS_TO_COMPLETE_ON_CLICK = [
|
|
6
6
|
'add_about_page',
|
|
7
7
|
'add_first_subscribers',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-actions.js","sourceRoot":"","sources":["../../src/setup-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"setup-actions.js","sourceRoot":"","sources":["../../src/setup-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-type.js","sourceRoot":"","sources":["../../src/site-type.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { recordTracksEvent } from '@automattic/calypso-analytics';
|
|
2
|
+
import * as oauthToken from '@automattic/oauth-token';
|
|
3
|
+
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
4
|
+
import apiFetch from '@wordpress/api-fetch';
|
|
5
|
+
import { addQueryArgs } from '@wordpress/url';
|
|
6
|
+
import wpcomRequest, { canAccessWpcomApis } from './wpcom-request';
|
|
7
|
+
export const fetchLaunchpad = (siteSlug, checklistSlug, launchpadContext) => {
|
|
8
|
+
const slug = encodeURIComponent(siteSlug);
|
|
9
|
+
const checklistSlugEncoded = checklistSlug ? encodeURIComponent(checklistSlug) : null;
|
|
10
|
+
const launchpadContextEncoded = launchpadContext ? encodeURIComponent(launchpadContext) : null;
|
|
11
|
+
const queryArgs = {
|
|
12
|
+
_locale: 'user',
|
|
13
|
+
...(checklistSlug && { checklist_slug: checklistSlugEncoded }),
|
|
14
|
+
...(launchpadContext && { launchpad_context: launchpadContextEncoded }),
|
|
15
|
+
};
|
|
16
|
+
const token = oauthToken.getToken();
|
|
17
|
+
return canAccessWpcomApis()
|
|
18
|
+
? wpcomRequest({
|
|
19
|
+
path: addQueryArgs(`/sites/${slug}/launchpad`, queryArgs),
|
|
20
|
+
apiNamespace: 'wpcom/v2',
|
|
21
|
+
method: 'GET',
|
|
22
|
+
token: typeof token === 'string' ? token : undefined,
|
|
23
|
+
})
|
|
24
|
+
: apiFetch({
|
|
25
|
+
global: true,
|
|
26
|
+
path: addQueryArgs('/wpcom/v2/launchpad', queryArgs),
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
const getKey = (siteSlug, checklistSlug) => {
|
|
30
|
+
return ['launchpad', siteSlug, checklistSlug];
|
|
31
|
+
};
|
|
32
|
+
const addOrderToTask = (task, index) => {
|
|
33
|
+
task.order = index;
|
|
34
|
+
return task;
|
|
35
|
+
};
|
|
36
|
+
export function sortLaunchpadTasksByCompletionStatus(response) {
|
|
37
|
+
const tasks = response.checklist || [];
|
|
38
|
+
const completedTasks = tasks.filter((task) => task.completed);
|
|
39
|
+
const incompleteTasks = tasks.filter((task) => !task.completed);
|
|
40
|
+
response.checklist = [...completedTasks, ...incompleteTasks].map(addOrderToTask);
|
|
41
|
+
return response;
|
|
42
|
+
}
|
|
43
|
+
export function defaultSuccessCallback(response) {
|
|
44
|
+
const tasks = response.checklist || [];
|
|
45
|
+
response.checklist = tasks.map(addOrderToTask);
|
|
46
|
+
return response;
|
|
47
|
+
}
|
|
48
|
+
export const useLaunchpad = (siteSlug, checklistSlug, options, launchpad_context) => {
|
|
49
|
+
const key = getKey(siteSlug, checklistSlug);
|
|
50
|
+
const onSuccessCallback = options?.onSuccess || defaultSuccessCallback;
|
|
51
|
+
return useQuery({
|
|
52
|
+
queryKey: key,
|
|
53
|
+
queryFn: () => fetchLaunchpad(siteSlug, checklistSlug, launchpad_context).then(onSuccessCallback),
|
|
54
|
+
retry: 3,
|
|
55
|
+
initialData: {
|
|
56
|
+
site_intent: '',
|
|
57
|
+
launchpad_screen: undefined,
|
|
58
|
+
checklist_statuses: {},
|
|
59
|
+
checklist: null,
|
|
60
|
+
is_enabled: false,
|
|
61
|
+
is_dismissed: false,
|
|
62
|
+
is_dismissible: false,
|
|
63
|
+
title: null,
|
|
64
|
+
},
|
|
65
|
+
enabled: Boolean(siteSlug),
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
export const useSortedLaunchpadTasks = (siteSlug, checklistSlug, launchpadContext) => {
|
|
69
|
+
const launchpadOptions = {
|
|
70
|
+
onSuccess: sortLaunchpadTasksByCompletionStatus,
|
|
71
|
+
};
|
|
72
|
+
return useLaunchpad(siteSlug, checklistSlug, launchpadOptions, launchpadContext);
|
|
73
|
+
};
|
|
74
|
+
export const updateLaunchpadSettings = (siteSlug, settings = {}) => {
|
|
75
|
+
const slug = siteSlug ? encodeURIComponent(siteSlug) : null;
|
|
76
|
+
const token = oauthToken.getToken();
|
|
77
|
+
return canAccessWpcomApis()
|
|
78
|
+
? wpcomRequest({
|
|
79
|
+
path: `/sites/${slug}/launchpad`,
|
|
80
|
+
apiNamespace: 'wpcom/v2',
|
|
81
|
+
method: 'PUT',
|
|
82
|
+
body: settings,
|
|
83
|
+
token: typeof token === 'string' ? token : undefined,
|
|
84
|
+
})
|
|
85
|
+
: apiFetch({
|
|
86
|
+
global: true,
|
|
87
|
+
path: '/wpcom/v2/launchpad',
|
|
88
|
+
method: 'PUT',
|
|
89
|
+
data: settings,
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
const isPermanentDismiss = (settings) => 'isDismissed' in settings;
|
|
93
|
+
const isTemporaryDismiss = (settings) => 'dismissBy' in settings;
|
|
94
|
+
const getDismissParams = (settings) => {
|
|
95
|
+
if (isPermanentDismiss(settings)) {
|
|
96
|
+
return {
|
|
97
|
+
is_dismissed: settings.isDismissed,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
if (isTemporaryDismiss(settings)) {
|
|
101
|
+
return {
|
|
102
|
+
dismiss_by: settings.dismissBy,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
export const useLaunchpadDismisser = (siteSlug, checklistSlug, launchpadContext) => {
|
|
107
|
+
const queryClient = useQueryClient();
|
|
108
|
+
const key = getKey(siteSlug, checklistSlug);
|
|
109
|
+
return useMutation({
|
|
110
|
+
mutationFn: (settings) => {
|
|
111
|
+
return updateLaunchpadSettings(siteSlug, {
|
|
112
|
+
is_checklist_dismissed: {
|
|
113
|
+
slug: checklistSlug,
|
|
114
|
+
...getDismissParams(settings),
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
},
|
|
118
|
+
onMutate: async () => {
|
|
119
|
+
await queryClient.cancelQueries({ queryKey: key });
|
|
120
|
+
const previous = queryClient.getQueryData(key);
|
|
121
|
+
queryClient.setQueryData(key, {
|
|
122
|
+
...previous,
|
|
123
|
+
is_dismissed: true,
|
|
124
|
+
});
|
|
125
|
+
return { previous };
|
|
126
|
+
},
|
|
127
|
+
onSuccess: () => {
|
|
128
|
+
recordTracksEvent('calypso_launchpad_dismiss_guide', {
|
|
129
|
+
checklist_slug: checklistSlug,
|
|
130
|
+
context: launchpadContext,
|
|
131
|
+
});
|
|
132
|
+
},
|
|
133
|
+
onError: (_, _2, context) => {
|
|
134
|
+
if (context?.previous) {
|
|
135
|
+
queryClient.setQueryData(key, context?.previous);
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
//# sourceMappingURL=use-launchpad.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-launchpad.js","sourceRoot":"","sources":["../../src/use-launchpad.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useQuery } from '@tanstack/react-query';
|
|
2
|
+
import wpcomRequest, { canAccessWpcomApis } from './wpcom-request';
|
|
3
|
+
/**
|
|
4
|
+
* Fetches the site fields Launchpad reads. The response is the full site; only these
|
|
5
|
+
* fields are cached. Skipped where the proxy is unavailable, since there is no REST
|
|
6
|
+
* fallback, and kept for the session — both matching the site store this replaces.
|
|
7
|
+
*/
|
|
8
|
+
export const useSite = (siteSlug) => {
|
|
9
|
+
const { data } = useQuery({
|
|
10
|
+
queryKey: ['launchpad-site', siteSlug],
|
|
11
|
+
queryFn: async () => {
|
|
12
|
+
const site = await wpcomRequest({
|
|
13
|
+
path: `/sites/${encodeURIComponent(siteSlug)}`,
|
|
14
|
+
apiVersion: '1.1',
|
|
15
|
+
query: 'force=wpcom',
|
|
16
|
+
});
|
|
17
|
+
return {
|
|
18
|
+
slug: site?.slug,
|
|
19
|
+
URL: site?.URL,
|
|
20
|
+
options: {
|
|
21
|
+
site_intent: site?.options?.site_intent,
|
|
22
|
+
site_goals: site?.options?.site_goals,
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
},
|
|
26
|
+
enabled: Boolean(siteSlug) && canAccessWpcomApis(),
|
|
27
|
+
staleTime: Infinity,
|
|
28
|
+
gcTime: Infinity,
|
|
29
|
+
meta: { persist: false },
|
|
30
|
+
});
|
|
31
|
+
return data ?? null;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=use-site.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-site.js","sourceRoot":"","sources":["../../src/use-site.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,YAAY,EAAE,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAE,QAAuB,EAAG,EAAE;IACpD,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAA0B;QAClD,QAAQ,EAAE,CAAE,gBAAgB,EAAE,QAAQ,CAAE;QACxC,OAAO,EAAE,KAAK,IAAI,EAAE;YACnB,MAAM,IAAI,GAAG,MAAM,YAAY,CAA0B;gBACxD,IAAI,EAAE,UAAW,kBAAkB,CAAE,QAAkB,CAAG,EAAE;gBAC5D,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,aAAa;aACpB,CAAE,CAAC;YAEJ,OAAO;gBACN,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,GAAG,EAAE,IAAI,EAAE,GAAG;gBACd,OAAO,EAAE;oBACR,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW;oBACvC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU;iBACrC;aACD,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,CAAE,QAAQ,CAAE,IAAI,kBAAkB,EAAE;QACpD,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KACxB,CAAE,CAAC;IAEJ,OAAO,IAAI,IAAI,IAAI,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import wpcomProxyRequest, { canAccessWpcomApis as originalCanAccessWpcomApis, } from 'wpcom-proxy-request';
|
|
2
|
+
let customRequester = null;
|
|
3
|
+
export function setRequester(requester) {
|
|
4
|
+
customRequester = requester;
|
|
5
|
+
}
|
|
6
|
+
export default function wpcomRequest(params) {
|
|
7
|
+
if (customRequester) {
|
|
8
|
+
return customRequester(params);
|
|
9
|
+
}
|
|
10
|
+
return wpcomProxyRequest(params);
|
|
11
|
+
}
|
|
12
|
+
export function canAccessWpcomApis() {
|
|
13
|
+
if (customRequester) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
return originalCanAccessWpcomApis();
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=wpcom-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wpcom-request.js","sourceRoot":"","sources":["../../src/wpcom-request.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,EAAE,EAEzB,kBAAkB,IAAI,0BAA0B,GAChD,MAAM,qBAAqB,CAAC;AAI7B,IAAI,eAAe,GAA0B,IAAI,CAAC;AAElD,MAAM,UAAU,YAAY,CAAE,SAAyB;IACtD,eAAe,GAAG,SAAS,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAO,MAA0B;IACpE,IAAK,eAAe,EAAG,CAAC;QACvB,OAAO,eAAe,CAAE,MAAM,CAAE,CAAC;IAClC,CAAC;IACD,OAAO,iBAAiB,CAAE,MAAM,CAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB;IACjC,IAAK,eAAe,EAAG,CAAC;QACvB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,0BAA0B,EAAE,CAAC;AACrC,CAAC"}
|