@mapcreator/api 0.0.0-fonts.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/LICENSE +29 -0
- package/README.md +86 -0
- package/cjs/api/apiCommon.d.ts +7 -0
- package/cjs/api/apiCommon.d.ts.map +1 -0
- package/cjs/api/apiCommon.js +31 -0
- package/cjs/api/apiCommon.js.map +1 -0
- package/cjs/api/choropleth.d.ts +61 -0
- package/cjs/api/choropleth.d.ts.map +1 -0
- package/cjs/api/choropleth.js +32 -0
- package/cjs/api/choropleth.js.map +1 -0
- package/cjs/api/color.d.ts +16 -0
- package/cjs/api/color.d.ts.map +1 -0
- package/cjs/api/color.js +8 -0
- package/cjs/api/color.js.map +1 -0
- package/cjs/api/dimension.d.ts +25 -0
- package/cjs/api/dimension.d.ts.map +1 -0
- package/cjs/api/dimension.js +14 -0
- package/cjs/api/dimension.js.map +1 -0
- package/cjs/api/dimensionSet.d.ts +15 -0
- package/cjs/api/dimensionSet.d.ts.map +1 -0
- package/cjs/api/dimensionSet.js +7 -0
- package/cjs/api/dimensionSet.js.map +1 -0
- package/cjs/api/feature.d.ts +16 -0
- package/cjs/api/feature.d.ts.map +1 -0
- package/cjs/api/feature.js +8 -0
- package/cjs/api/feature.js.map +1 -0
- package/cjs/api/font.d.ts +31 -0
- package/cjs/api/font.d.ts.map +1 -0
- package/cjs/api/font.js +16 -0
- package/cjs/api/font.js.map +1 -0
- package/cjs/api/fontFamily.d.ts +17 -0
- package/cjs/api/fontFamily.d.ts.map +1 -0
- package/cjs/api/fontFamily.js +17 -0
- package/cjs/api/fontFamily.js.map +1 -0
- package/cjs/api/highlight.d.ts +41 -0
- package/cjs/api/highlight.d.ts.map +1 -0
- package/cjs/api/highlight.js +25 -0
- package/cjs/api/highlight.js.map +1 -0
- package/cjs/api/insetMap.d.ts +37 -0
- package/cjs/api/insetMap.d.ts.map +1 -0
- package/cjs/api/insetMap.js +49 -0
- package/cjs/api/insetMap.js.map +1 -0
- package/cjs/api/job.d.ts +42 -0
- package/cjs/api/job.d.ts.map +1 -0
- package/cjs/api/job.js +71 -0
- package/cjs/api/job.js.map +1 -0
- package/cjs/api/jobResult.d.ts +40 -0
- package/cjs/api/jobResult.d.ts.map +1 -0
- package/cjs/api/jobResult.js +35 -0
- package/cjs/api/jobResult.js.map +1 -0
- package/cjs/api/jobRevision.d.ts +76 -0
- package/cjs/api/jobRevision.d.ts.map +1 -0
- package/cjs/api/jobRevision.js +132 -0
- package/cjs/api/jobRevision.js.map +1 -0
- package/cjs/api/jobShare.d.ts +26 -0
- package/cjs/api/jobShare.d.ts.map +1 -0
- package/cjs/api/jobShare.js +9 -0
- package/cjs/api/jobShare.js.map +1 -0
- package/cjs/api/jobType.d.ts +17 -0
- package/cjs/api/jobType.d.ts.map +1 -0
- package/cjs/api/jobType.js +11 -0
- package/cjs/api/jobType.js.map +1 -0
- package/cjs/api/language.d.ts +17 -0
- package/cjs/api/language.d.ts.map +1 -0
- package/cjs/api/language.js +3 -0
- package/cjs/api/language.js.map +1 -0
- package/cjs/api/layer.d.ts +26 -0
- package/cjs/api/layer.d.ts.map +1 -0
- package/cjs/api/layer.js +14 -0
- package/cjs/api/layer.js.map +1 -0
- package/cjs/api/layerFaq.d.ts +27 -0
- package/cjs/api/layerFaq.d.ts.map +1 -0
- package/cjs/api/layerFaq.js +16 -0
- package/cjs/api/layerFaq.js.map +1 -0
- package/cjs/api/layerGroup.d.ts +16 -0
- package/cjs/api/layerGroup.d.ts.map +1 -0
- package/cjs/api/layerGroup.js +36 -0
- package/cjs/api/layerGroup.js.map +1 -0
- package/cjs/api/mapstyleSet.d.ts +31 -0
- package/cjs/api/mapstyleSet.d.ts.map +1 -0
- package/cjs/api/mapstyleSet.js +19 -0
- package/cjs/api/mapstyleSet.js.map +1 -0
- package/cjs/api/message.d.ts +32 -0
- package/cjs/api/message.d.ts.map +1 -0
- package/cjs/api/message.js +37 -0
- package/cjs/api/message.js.map +1 -0
- package/cjs/api/organisation.d.ts +41 -0
- package/cjs/api/organisation.d.ts.map +1 -0
- package/cjs/api/organisation.js +41 -0
- package/cjs/api/organisation.js.map +1 -0
- package/cjs/api/resources.d.ts +65 -0
- package/cjs/api/resources.d.ts.map +1 -0
- package/cjs/api/resources.js +61 -0
- package/cjs/api/resources.js.map +1 -0
- package/cjs/api/svg.d.ts +21 -0
- package/cjs/api/svg.d.ts.map +1 -0
- package/cjs/api/svg.js +15 -0
- package/cjs/api/svg.js.map +1 -0
- package/cjs/api/svgSet.d.ts +22 -0
- package/cjs/api/svgSet.d.ts.map +1 -0
- package/cjs/api/svgSet.js +25 -0
- package/cjs/api/svgSet.js.map +1 -0
- package/cjs/api/user.d.ts +128 -0
- package/cjs/api/user.d.ts.map +1 -0
- package/cjs/api/user.js +146 -0
- package/cjs/api/user.js.map +1 -0
- package/cjs/index.d.ts +27 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +52 -0
- package/cjs/index.js.map +1 -0
- package/cjs/oauth.d.ts +27 -0
- package/cjs/oauth.d.ts.map +1 -0
- package/cjs/oauth.js +245 -0
- package/cjs/oauth.js.map +1 -0
- package/cjs/utils.d.ts +72 -0
- package/cjs/utils.d.ts.map +1 -0
- package/cjs/utils.js +220 -0
- package/cjs/utils.js.map +1 -0
- package/esm/api/apiCommon.d.ts +7 -0
- package/esm/api/apiCommon.d.ts.map +1 -0
- package/esm/api/apiCommon.js +28 -0
- package/esm/api/apiCommon.js.map +1 -0
- package/esm/api/choropleth.d.ts +61 -0
- package/esm/api/choropleth.d.ts.map +1 -0
- package/esm/api/choropleth.js +27 -0
- package/esm/api/choropleth.js.map +1 -0
- package/esm/api/color.d.ts +16 -0
- package/esm/api/color.d.ts.map +1 -0
- package/esm/api/color.js +5 -0
- package/esm/api/color.js.map +1 -0
- package/esm/api/dimension.d.ts +25 -0
- package/esm/api/dimension.d.ts.map +1 -0
- package/esm/api/dimension.js +11 -0
- package/esm/api/dimension.js.map +1 -0
- package/esm/api/dimensionSet.d.ts +15 -0
- package/esm/api/dimensionSet.d.ts.map +1 -0
- package/esm/api/dimensionSet.js +4 -0
- package/esm/api/dimensionSet.js.map +1 -0
- package/esm/api/feature.d.ts +16 -0
- package/esm/api/feature.d.ts.map +1 -0
- package/esm/api/feature.js +5 -0
- package/esm/api/feature.js.map +1 -0
- package/esm/api/font.d.ts +31 -0
- package/esm/api/font.d.ts.map +1 -0
- package/esm/api/font.js +12 -0
- package/esm/api/font.js.map +1 -0
- package/esm/api/fontFamily.d.ts +17 -0
- package/esm/api/fontFamily.d.ts.map +1 -0
- package/esm/api/fontFamily.js +13 -0
- package/esm/api/fontFamily.js.map +1 -0
- package/esm/api/highlight.d.ts +41 -0
- package/esm/api/highlight.d.ts.map +1 -0
- package/esm/api/highlight.js +21 -0
- package/esm/api/highlight.js.map +1 -0
- package/esm/api/insetMap.d.ts +37 -0
- package/esm/api/insetMap.d.ts.map +1 -0
- package/esm/api/insetMap.js +44 -0
- package/esm/api/insetMap.js.map +1 -0
- package/esm/api/job.d.ts +42 -0
- package/esm/api/job.d.ts.map +1 -0
- package/esm/api/job.js +59 -0
- package/esm/api/job.js.map +1 -0
- package/esm/api/jobResult.d.ts +40 -0
- package/esm/api/jobResult.d.ts.map +1 -0
- package/esm/api/jobResult.js +30 -0
- package/esm/api/jobResult.js.map +1 -0
- package/esm/api/jobRevision.d.ts +76 -0
- package/esm/api/jobRevision.d.ts.map +1 -0
- package/esm/api/jobRevision.js +120 -0
- package/esm/api/jobRevision.js.map +1 -0
- package/esm/api/jobShare.d.ts +26 -0
- package/esm/api/jobShare.d.ts.map +1 -0
- package/esm/api/jobShare.js +6 -0
- package/esm/api/jobShare.js.map +1 -0
- package/esm/api/jobType.d.ts +17 -0
- package/esm/api/jobType.d.ts.map +1 -0
- package/esm/api/jobType.js +8 -0
- package/esm/api/jobType.js.map +1 -0
- package/esm/api/language.d.ts +17 -0
- package/esm/api/language.d.ts.map +1 -0
- package/esm/api/language.js +2 -0
- package/esm/api/language.js.map +1 -0
- package/esm/api/layer.d.ts +26 -0
- package/esm/api/layer.d.ts.map +1 -0
- package/esm/api/layer.js +11 -0
- package/esm/api/layer.js.map +1 -0
- package/esm/api/layerFaq.d.ts +27 -0
- package/esm/api/layerFaq.d.ts.map +1 -0
- package/esm/api/layerFaq.js +12 -0
- package/esm/api/layerFaq.js.map +1 -0
- package/esm/api/layerGroup.d.ts +16 -0
- package/esm/api/layerGroup.d.ts.map +1 -0
- package/esm/api/layerGroup.js +33 -0
- package/esm/api/layerGroup.js.map +1 -0
- package/esm/api/mapstyleSet.d.ts +31 -0
- package/esm/api/mapstyleSet.d.ts.map +1 -0
- package/esm/api/mapstyleSet.js +16 -0
- package/esm/api/mapstyleSet.js.map +1 -0
- package/esm/api/message.d.ts +32 -0
- package/esm/api/message.d.ts.map +1 -0
- package/esm/api/message.js +32 -0
- package/esm/api/message.js.map +1 -0
- package/esm/api/organisation.d.ts +41 -0
- package/esm/api/organisation.d.ts.map +1 -0
- package/esm/api/organisation.js +35 -0
- package/esm/api/organisation.js.map +1 -0
- package/esm/api/resources.d.ts +65 -0
- package/esm/api/resources.d.ts.map +1 -0
- package/esm/api/resources.js +55 -0
- package/esm/api/resources.js.map +1 -0
- package/esm/api/svg.d.ts +21 -0
- package/esm/api/svg.d.ts.map +1 -0
- package/esm/api/svg.js +11 -0
- package/esm/api/svg.js.map +1 -0
- package/esm/api/svgSet.d.ts +22 -0
- package/esm/api/svgSet.d.ts.map +1 -0
- package/esm/api/svgSet.js +21 -0
- package/esm/api/svgSet.js.map +1 -0
- package/esm/api/user.d.ts +128 -0
- package/esm/api/user.d.ts.map +1 -0
- package/esm/api/user.js +127 -0
- package/esm/api/user.js.map +1 -0
- package/esm/index.d.ts +27 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +27 -0
- package/esm/index.js.map +1 -0
- package/esm/oauth.d.ts +27 -0
- package/esm/oauth.d.ts.map +1 -0
- package/esm/oauth.js +237 -0
- package/esm/oauth.js.map +1 -0
- package/esm/utils.d.ts +72 -0
- package/esm/utils.d.ts.map +1 -0
- package/esm/utils.js +206 -0
- package/esm/utils.js.map +1 -0
- package/package.json +80 -0
- package/src/README.md +126 -0
- package/src/api/apiCommon.ts +70 -0
- package/src/api/choropleth.ts +132 -0
- package/src/api/color.ts +22 -0
- package/src/api/dimension.ts +44 -0
- package/src/api/dimensionSet.ts +20 -0
- package/src/api/feature.ts +22 -0
- package/src/api/font.ts +49 -0
- package/src/api/fontFamily.ts +43 -0
- package/src/api/highlight.ts +87 -0
- package/src/api/insetMap.ts +96 -0
- package/src/api/job.ts +130 -0
- package/src/api/jobResult.ts +95 -0
- package/src/api/jobRevision.ts +279 -0
- package/src/api/jobShare.ts +35 -0
- package/src/api/jobType.ts +26 -0
- package/src/api/language.ts +19 -0
- package/src/api/layer.ts +38 -0
- package/src/api/layerFaq.ts +53 -0
- package/src/api/layerGroup.ts +69 -0
- package/src/api/mapstyleSet.ts +48 -0
- package/src/api/message.ts +80 -0
- package/src/api/organisation.ts +95 -0
- package/src/api/resources.ts +153 -0
- package/src/api/svg.ts +33 -0
- package/src/api/svgSet.ts +56 -0
- package/src/api/user.ts +327 -0
- package/src/index.ts +43 -0
- package/src/oauth.ts +314 -0
- package/src/utils.ts +342 -0
package/esm/api/user.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { fontFamilyRevivers } from './fontFamily.js';
|
|
2
|
+
import { svgSetRevivers } from './svgSet.js';
|
|
3
|
+
import { layerRevivers } from './layer.js';
|
|
4
|
+
import { svgRevivers } from './svg.js';
|
|
5
|
+
import { listJobs } from './apiCommon.js';
|
|
6
|
+
import { defaultListHeader, deletedNoneParam, getSearchParams, myUser, request, toApiType, } from '../utils.js';
|
|
7
|
+
export const userRevivers = {
|
|
8
|
+
organisation_id: undefined,
|
|
9
|
+
hide_messages: undefined,
|
|
10
|
+
phone: undefined,
|
|
11
|
+
profession: undefined,
|
|
12
|
+
country: undefined,
|
|
13
|
+
city: undefined,
|
|
14
|
+
address: undefined,
|
|
15
|
+
tips: undefined,
|
|
16
|
+
tags: undefined,
|
|
17
|
+
newsletter_consent: undefined,
|
|
18
|
+
registration_complete: undefined,
|
|
19
|
+
notifications_checked_at: undefined,
|
|
20
|
+
referral: undefined,
|
|
21
|
+
delete_requested: undefined,
|
|
22
|
+
delete_request_notified: undefined,
|
|
23
|
+
stripe_ref: undefined,
|
|
24
|
+
pm_type: undefined,
|
|
25
|
+
pm_last_four: undefined,
|
|
26
|
+
trial_ends_at: undefined,
|
|
27
|
+
settings: undefined,
|
|
28
|
+
permissions: undefined,
|
|
29
|
+
roles: undefined,
|
|
30
|
+
trialExpiresAt: (data) => { var _a; return (_a = data.trial_expires_at) !== null && _a !== void 0 ? _a : undefined; },
|
|
31
|
+
stripeId: (data) => { var _a; return (_a = data.stripe_id) !== null && _a !== void 0 ? _a : undefined; },
|
|
32
|
+
};
|
|
33
|
+
export async function getUser() {
|
|
34
|
+
const path = `/v1/users/${myUser}`;
|
|
35
|
+
const options = { revivers: userRevivers };
|
|
36
|
+
return request(path, null, null, options);
|
|
37
|
+
}
|
|
38
|
+
export async function updateUser(userId, fields) {
|
|
39
|
+
const path = `/v1/users/${userId}`;
|
|
40
|
+
const body = toApiType(fields);
|
|
41
|
+
return request(path, body, null, { method: 'PATCH' });
|
|
42
|
+
}
|
|
43
|
+
export async function deleteUser(userId) {
|
|
44
|
+
const path = `/v1/users/${userId}`;
|
|
45
|
+
return request(path, null, null, { method: 'DELETE' });
|
|
46
|
+
}
|
|
47
|
+
export async function listUserFontFamilies() {
|
|
48
|
+
const pathname = `/v1/users/${myUser}/font-families`;
|
|
49
|
+
const query = getSearchParams({ sort: 'order' });
|
|
50
|
+
const path = `${pathname}?${query}`;
|
|
51
|
+
const options = { revivers: fontFamilyRevivers };
|
|
52
|
+
return request(path, null, defaultListHeader, options);
|
|
53
|
+
}
|
|
54
|
+
export async function listUserHatchingSvgs() {
|
|
55
|
+
const pathname = `/v1/users/${myUser}/hatching-svgs`;
|
|
56
|
+
const query = getSearchParams({ sort: 'order' });
|
|
57
|
+
const path = `${pathname}?${query}`;
|
|
58
|
+
const options = { revivers: svgRevivers };
|
|
59
|
+
return request(path, null, defaultListHeader, options);
|
|
60
|
+
}
|
|
61
|
+
export async function listUserJobs(userId, title, page, options) {
|
|
62
|
+
return listJobs(`/v1/users/${userId}/jobs`, title, page, options);
|
|
63
|
+
}
|
|
64
|
+
export async function listUserFolders() {
|
|
65
|
+
const path = `/v1/users/${myUser}/folders`;
|
|
66
|
+
return request(path);
|
|
67
|
+
}
|
|
68
|
+
export async function createUserFolder(name) {
|
|
69
|
+
const path = `/v1/users/${myUser}/folders`;
|
|
70
|
+
const body = { name };
|
|
71
|
+
return request(path, body);
|
|
72
|
+
}
|
|
73
|
+
export async function deleteUserFolder(folderId) {
|
|
74
|
+
const path = `/v1/users/${myUser}/folders/${folderId}`;
|
|
75
|
+
return request(path, null, null, { method: 'DELETE' });
|
|
76
|
+
}
|
|
77
|
+
export async function renameUserFolder(folderId, name) {
|
|
78
|
+
const path = `/v1/users/${myUser}/folders/${folderId}`;
|
|
79
|
+
const body = { name };
|
|
80
|
+
return request(path, body, null, { method: 'PATCH' });
|
|
81
|
+
}
|
|
82
|
+
export async function listUserLayers() {
|
|
83
|
+
const pathname = `/v1/users/${myUser}/layers`;
|
|
84
|
+
const query = getSearchParams({
|
|
85
|
+
search: {
|
|
86
|
+
pangaea_ready: '1',
|
|
87
|
+
},
|
|
88
|
+
sort: 'order',
|
|
89
|
+
});
|
|
90
|
+
const path = `${pathname}?${query}`;
|
|
91
|
+
const options = { revivers: layerRevivers };
|
|
92
|
+
return request(path, null, defaultListHeader, options);
|
|
93
|
+
}
|
|
94
|
+
export async function listUserSvgSets() {
|
|
95
|
+
const pathname = `/v1/users/${myUser}/svg-sets`;
|
|
96
|
+
const query = getSearchParams({
|
|
97
|
+
search: {
|
|
98
|
+
supports_mapcreator: '1',
|
|
99
|
+
type: '!:sprite',
|
|
100
|
+
},
|
|
101
|
+
sort: 'order',
|
|
102
|
+
});
|
|
103
|
+
const path = `${pathname}?${query}`;
|
|
104
|
+
const options = { revivers: svgSetRevivers };
|
|
105
|
+
return request(path, null, defaultListHeader, options);
|
|
106
|
+
}
|
|
107
|
+
export async function findJobShares(jobId) {
|
|
108
|
+
const pathname = `/v1/users/${myUser}/job-shares`;
|
|
109
|
+
const query = getSearchParams({ search: { job_id: jobId } });
|
|
110
|
+
const path = `${pathname}?${query}`;
|
|
111
|
+
return request(path);
|
|
112
|
+
}
|
|
113
|
+
export async function createUserTrial(userId, data) {
|
|
114
|
+
const pathname = `/v1/users/${userId}/trial`;
|
|
115
|
+
const path = `${pathname}?${deletedNoneParam}`;
|
|
116
|
+
const body = toApiType(data);
|
|
117
|
+
return request(path, body);
|
|
118
|
+
}
|
|
119
|
+
export async function sendUserConfirmationEmail(userId) {
|
|
120
|
+
const path = `/v1/users/${userId}/confirm`;
|
|
121
|
+
return request(path, null, null, { method: 'POST' });
|
|
122
|
+
}
|
|
123
|
+
export async function getUserBillingPortalUrl(userId) {
|
|
124
|
+
const path = `/v1/users/${userId}/billing-portal-url`;
|
|
125
|
+
return request(path).then(({ billingPortalUrl }) => billingPortalUrl);
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/api/user.ts"],"names":[],"mappings":"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"}
|
package/esm/index.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export * from './api/choropleth.js';
|
|
2
|
+
export * from './api/color.js';
|
|
3
|
+
export * from './api/dimension.js';
|
|
4
|
+
export * from './api/dimensionSet.js';
|
|
5
|
+
export * from './api/feature.js';
|
|
6
|
+
export * from './api/font.js';
|
|
7
|
+
export * from './api/fontFamily.js';
|
|
8
|
+
export * from './api/highlight.js';
|
|
9
|
+
export * from './api/insetMap.js';
|
|
10
|
+
export * from './api/job.js';
|
|
11
|
+
export * from './api/jobResult.js';
|
|
12
|
+
export * from './api/jobRevision.js';
|
|
13
|
+
export * from './api/jobShare.js';
|
|
14
|
+
export * from './api/jobType.js';
|
|
15
|
+
export * from './api/language.js';
|
|
16
|
+
export * from './api/layer.js';
|
|
17
|
+
export * from './api/layerFaq.js';
|
|
18
|
+
export * from './api/layerGroup.js';
|
|
19
|
+
export * from './api/mapstyleSet.js';
|
|
20
|
+
export * from './api/message.js';
|
|
21
|
+
export * from './api/organisation.js';
|
|
22
|
+
export * from './api/resources.js';
|
|
23
|
+
export * from './api/svg.js';
|
|
24
|
+
export * from './api/svgSet.js';
|
|
25
|
+
export * from './api/user.js';
|
|
26
|
+
export { type ApiCommon, type ApiCommonData, type ApiError, type ApiSuccess, type ExtraOptions, type Flatten, type Revivers, lastJobRevision, myOrganisations, myUser, APIError, HTTPError, NetworkError, getSearchParams, request, } from './utils.js';
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,eAAe,EACf,eAAe,EACf,MAAM,EACN,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,OAAO,GACR,MAAM,YAAY,CAAC"}
|
package/esm/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export * from './api/choropleth.js';
|
|
2
|
+
export * from './api/color.js';
|
|
3
|
+
export * from './api/dimension.js';
|
|
4
|
+
export * from './api/dimensionSet.js';
|
|
5
|
+
export * from './api/feature.js';
|
|
6
|
+
export * from './api/font.js';
|
|
7
|
+
export * from './api/fontFamily.js';
|
|
8
|
+
export * from './api/highlight.js';
|
|
9
|
+
export * from './api/insetMap.js';
|
|
10
|
+
export * from './api/job.js';
|
|
11
|
+
export * from './api/jobResult.js';
|
|
12
|
+
export * from './api/jobRevision.js';
|
|
13
|
+
export * from './api/jobShare.js';
|
|
14
|
+
export * from './api/jobType.js';
|
|
15
|
+
export * from './api/language.js';
|
|
16
|
+
export * from './api/layer.js';
|
|
17
|
+
export * from './api/layerFaq.js';
|
|
18
|
+
export * from './api/layerGroup.js';
|
|
19
|
+
export * from './api/mapstyleSet.js';
|
|
20
|
+
export * from './api/message.js';
|
|
21
|
+
export * from './api/organisation.js';
|
|
22
|
+
export * from './api/resources.js';
|
|
23
|
+
export * from './api/svg.js';
|
|
24
|
+
export * from './api/svgSet.js';
|
|
25
|
+
export * from './api/user.js';
|
|
26
|
+
export { lastJobRevision, myOrganisations, myUser, APIError, HTTPError, NetworkError, getSearchParams, request, } from './utils.js';
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,OAAO,EAQL,eAAe,EACf,eAAe,EACf,MAAM,EACN,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,OAAO,GACR,MAAM,YAAY,CAAC"}
|
package/esm/oauth.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare let apiHost: string;
|
|
2
|
+
export declare let token: {
|
|
3
|
+
type: string;
|
|
4
|
+
token: string;
|
|
5
|
+
expires: Date;
|
|
6
|
+
toString: () => string;
|
|
7
|
+
} | null;
|
|
8
|
+
/**
|
|
9
|
+
* Setup internal structures to use dummy authentication flow
|
|
10
|
+
*
|
|
11
|
+
* @param {string} apiUrl - Full API URL
|
|
12
|
+
* @param {string} oauthToken - OAuth Token
|
|
13
|
+
*/
|
|
14
|
+
export declare function initDummyFlow(apiUrl: string, oauthToken: string): void;
|
|
15
|
+
/**
|
|
16
|
+
* Setup internal structures to use implicit authentication flow
|
|
17
|
+
*
|
|
18
|
+
* @param {string} apiUrl - Full API URL
|
|
19
|
+
* @param {string} clientId - OAuth client id
|
|
20
|
+
* @param {string} [redirectUrl] - Callback URL
|
|
21
|
+
* @param {string[]} [scopes] - A list of required scopes
|
|
22
|
+
*/
|
|
23
|
+
export declare function initImplicitFlow(apiUrl: string, clientId: string, redirectUrl?: string, scopes?: string[]): void;
|
|
24
|
+
export declare function authenticate(): Promise<string> | never;
|
|
25
|
+
export declare function authenticated(): boolean;
|
|
26
|
+
export declare function logout(): Promise<void>;
|
|
27
|
+
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,eAAO,IAAI,OAAO,QAAK,CAAC;AAExB,eAAO,IAAI,KAAK,EAAE;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,IAAI,CAAC;IAEd,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB,GAAG,IAAW,CAAC;AAuBhB;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAatE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,SAAK,EAAE,MAAM,WAAQ,GAAG,IAAI,CA+EzG;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAY5D;AAED,wBAAgB,aAAa,IAAI,OAAO,CAKvC;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAY5C"}
|
package/esm/oauth.js
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
export let apiHost = '';
|
|
2
|
+
export let token = null;
|
|
3
|
+
let apiClientId = '';
|
|
4
|
+
let callbackUrl = '';
|
|
5
|
+
let oauthScopes = ['*'];
|
|
6
|
+
const anchorParams = ['access_token', 'token_type', 'expires_in', 'state'];
|
|
7
|
+
const storagePrefix = '_m4n_';
|
|
8
|
+
const statePrefix = 'oauth_state_';
|
|
9
|
+
const storageName = 'api_token';
|
|
10
|
+
const dummyTokenExpires = new Date('2100-01-01T01:00:00');
|
|
11
|
+
const titleCase = (str) => String(str).toLowerCase().replace(/\b\w/g, c => c.toUpperCase());
|
|
12
|
+
/**
|
|
13
|
+
* Setup internal structures to use dummy authentication flow
|
|
14
|
+
*
|
|
15
|
+
* @param {string} apiUrl - Full API URL
|
|
16
|
+
* @param {string} oauthToken - OAuth Token
|
|
17
|
+
*/
|
|
18
|
+
export function initDummyFlow(apiUrl, oauthToken) {
|
|
19
|
+
const parts = oauthToken.includes(' ') ? oauthToken.split(' ', 2) : ['Bearer', oauthToken];
|
|
20
|
+
apiHost = apiUrl.replace(/\/+$/, '');
|
|
21
|
+
token = {
|
|
22
|
+
type: titleCase(parts[0]),
|
|
23
|
+
token: parts[1],
|
|
24
|
+
expires: dummyTokenExpires,
|
|
25
|
+
toString() {
|
|
26
|
+
return `${this.type} ${this.token}`;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Setup internal structures to use implicit authentication flow
|
|
32
|
+
*
|
|
33
|
+
* @param {string} apiUrl - Full API URL
|
|
34
|
+
* @param {string} clientId - OAuth client id
|
|
35
|
+
* @param {string} [redirectUrl] - Callback URL
|
|
36
|
+
* @param {string[]} [scopes] - A list of required scopes
|
|
37
|
+
*/
|
|
38
|
+
export function initImplicitFlow(apiUrl, clientId, redirectUrl = '', scopes = ['*']) {
|
|
39
|
+
apiHost = apiUrl.replace(/\/+$/, '');
|
|
40
|
+
apiClientId = String(clientId);
|
|
41
|
+
callbackUrl = String(redirectUrl || window.location.href.split('#')[0]);
|
|
42
|
+
oauthScopes = scopes;
|
|
43
|
+
{
|
|
44
|
+
const key = `${storagePrefix}${storageName}`;
|
|
45
|
+
const data = window.localStorage.getItem(key);
|
|
46
|
+
if (data) {
|
|
47
|
+
try {
|
|
48
|
+
const obj = JSON.parse(data);
|
|
49
|
+
if (typeof obj.type === 'string' &&
|
|
50
|
+
typeof obj.token === 'string' &&
|
|
51
|
+
typeof obj.expires === 'string' &&
|
|
52
|
+
new Date(obj.expires) > new Date()) {
|
|
53
|
+
token = {
|
|
54
|
+
type: titleCase(obj.type),
|
|
55
|
+
token: obj.token,
|
|
56
|
+
expires: new Date(obj.expires),
|
|
57
|
+
toString() {
|
|
58
|
+
return `${this.type} ${this.token}`;
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
window.localStorage.removeItem(key);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
/* */
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
{
|
|
72
|
+
const obj = getAnchorToken();
|
|
73
|
+
if (isAnchorToken(obj)) {
|
|
74
|
+
// We'll not go there if anchor contains error and/or message
|
|
75
|
+
// This means that anchor parameters will be preserved for the next processing
|
|
76
|
+
cleanAnchorParams();
|
|
77
|
+
const expires = new Date(Date.now() + Number(obj.expires_in) * 1000);
|
|
78
|
+
if (isValidState(obj.state) && expires > new Date()) {
|
|
79
|
+
token = {
|
|
80
|
+
type: titleCase(obj.token_type),
|
|
81
|
+
token: obj.access_token,
|
|
82
|
+
expires,
|
|
83
|
+
toString() {
|
|
84
|
+
return `${this.type} ${this.token}`;
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
const key = `${storagePrefix}${storageName}`;
|
|
88
|
+
const data = { type: token.type, token: token.token, expires: expires.toUTCString() };
|
|
89
|
+
window.localStorage.setItem(key, JSON.stringify(data));
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
// TODO: add some logic to handle this
|
|
93
|
+
// throw Error('Invalid state in url');
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (authenticated()) {
|
|
98
|
+
const href = sessionStorage.getItem('redirect-url');
|
|
99
|
+
if (href) {
|
|
100
|
+
sessionStorage.removeItem('redirect-url');
|
|
101
|
+
window.history.replaceState(null, document.title, href);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export async function authenticate() {
|
|
106
|
+
return new Promise(() => {
|
|
107
|
+
if (anchorContainsError()) {
|
|
108
|
+
console.error(getError());
|
|
109
|
+
cleanAnchorParams();
|
|
110
|
+
}
|
|
111
|
+
forget();
|
|
112
|
+
sessionStorage.setItem('redirect-url', window.location.href);
|
|
113
|
+
window.location.assign(buildRedirectUrl());
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
export function authenticated() {
|
|
117
|
+
return token != null && token.expires > new Date() && (token.expires.valueOf() === dummyTokenExpires.valueOf() ||
|
|
118
|
+
!!window.localStorage.getItem(`${storagePrefix}${storageName}`));
|
|
119
|
+
}
|
|
120
|
+
export async function logout() {
|
|
121
|
+
if (token) {
|
|
122
|
+
await fetch(`${apiHost}/oauth/logout`, {
|
|
123
|
+
method: 'POST',
|
|
124
|
+
headers: {
|
|
125
|
+
Accept: 'application/json',
|
|
126
|
+
Authorization: token.toString(),
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
forget();
|
|
131
|
+
}
|
|
132
|
+
function forget() {
|
|
133
|
+
for (let i = 0; i < window.localStorage.length; ++i) {
|
|
134
|
+
const key = window.localStorage.key(i);
|
|
135
|
+
if (key === null || key === void 0 ? void 0 : key.startsWith(storagePrefix)) {
|
|
136
|
+
window.localStorage.removeItem(key);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
token = null;
|
|
140
|
+
}
|
|
141
|
+
function buildRedirectUrl() {
|
|
142
|
+
const queryParams = new URLSearchParams({
|
|
143
|
+
client_id: apiClientId,
|
|
144
|
+
redirect_uri: callbackUrl,
|
|
145
|
+
response_type: 'token',
|
|
146
|
+
scope: oauthScopes.join(' '),
|
|
147
|
+
state: generateState(),
|
|
148
|
+
});
|
|
149
|
+
return `${apiHost}/oauth/authorize?${queryParams}`;
|
|
150
|
+
}
|
|
151
|
+
function getAnchorQuery() {
|
|
152
|
+
return window.location.hash.replace(/^#\/?/, '');
|
|
153
|
+
}
|
|
154
|
+
function getAnchorParams() {
|
|
155
|
+
const query = getAnchorQuery();
|
|
156
|
+
// eslint-disable-next-line @stylistic/padding-line-between-statements,@typescript-eslint/no-unsafe-return
|
|
157
|
+
return Object.fromEntries(query.split('&').map(pair => pair.split('=').map(decodeURIComponent)));
|
|
158
|
+
}
|
|
159
|
+
function getAnchorToken() {
|
|
160
|
+
const params = getAnchorParams();
|
|
161
|
+
return Object.fromEntries(Object.entries(params).filter(([key]) => anchorParams.includes(key)));
|
|
162
|
+
}
|
|
163
|
+
function isAnchorToken(anchorToken) {
|
|
164
|
+
const queryKeys = Object.keys(anchorToken);
|
|
165
|
+
return anchorParams.every(key => queryKeys.includes(key));
|
|
166
|
+
}
|
|
167
|
+
function cleanAnchorParams() {
|
|
168
|
+
const query = window.location.hash.replace(/^#\/?/, '');
|
|
169
|
+
const targets = [...anchorParams, 'error', 'message'];
|
|
170
|
+
const newHash = query
|
|
171
|
+
.split('&')
|
|
172
|
+
.filter(pair => !targets.includes(decodeURIComponent(pair.split('=')[0])))
|
|
173
|
+
.join('&');
|
|
174
|
+
if (newHash) {
|
|
175
|
+
window.location.hash = newHash;
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
const { origin, pathname, search } = window.location;
|
|
179
|
+
window.history.replaceState(null, document.title, `${origin}${pathname}${search}`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
function isValidState(state) {
|
|
183
|
+
const key = `${storagePrefix}${statePrefix}${state}`;
|
|
184
|
+
const found = window.localStorage.getItem(key) != null;
|
|
185
|
+
if (found) {
|
|
186
|
+
window.localStorage.removeItem(key);
|
|
187
|
+
}
|
|
188
|
+
return found;
|
|
189
|
+
}
|
|
190
|
+
function anchorContainsError() {
|
|
191
|
+
return 'error' in getAnchorParams();
|
|
192
|
+
}
|
|
193
|
+
function generateState() {
|
|
194
|
+
// @ts-expect-error TS2365
|
|
195
|
+
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
|
196
|
+
const state = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, // @ts-expect-error TS2362
|
|
197
|
+
// @ts-expect-error TS2362
|
|
198
|
+
c => (c ^ ((Math.random() * 256) & (0x0f >>> (c >>> 2)))).toString(16));
|
|
199
|
+
const key = `${storagePrefix}${statePrefix}${state}`;
|
|
200
|
+
window.localStorage.setItem(key, `${Date.now()}`);
|
|
201
|
+
return state;
|
|
202
|
+
}
|
|
203
|
+
class OAuthError extends Error {
|
|
204
|
+
constructor(message, error) {
|
|
205
|
+
super(message);
|
|
206
|
+
this.error = String(error);
|
|
207
|
+
}
|
|
208
|
+
toString() {
|
|
209
|
+
let error = this.error;
|
|
210
|
+
if (error.includes('_')) {
|
|
211
|
+
error = error.replace('_', ' ').replace(/^./, c => c.toUpperCase());
|
|
212
|
+
}
|
|
213
|
+
return this.message ? `${error}: ${this.message}` : error;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
function getError() {
|
|
217
|
+
const params = getAnchorParams();
|
|
218
|
+
return params.message
|
|
219
|
+
? new OAuthError(params.message, params.error)
|
|
220
|
+
: new OAuthError(titleCase(params.error), params.error);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Our goal is to support even obsolete platforms (ES2017+ / Node.js 8.10+).
|
|
224
|
+
* This is a small polyfill for possibly missing method used in our codebase.
|
|
225
|
+
*/
|
|
226
|
+
if (!Object.fromEntries) { // eslint-disable-next-line arrow-body-style
|
|
227
|
+
Object.fromEntries = (entries) => {
|
|
228
|
+
return Array.from(entries).reduce((object, entry) => {
|
|
229
|
+
if (!Array.isArray(entry)) {
|
|
230
|
+
throw new TypeError(`Iterator value ${entry} is not an entry object.`);
|
|
231
|
+
}
|
|
232
|
+
object[`${entry[0]}`] = entry[1];
|
|
233
|
+
return object;
|
|
234
|
+
}, {});
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=oauth.js.map
|
package/esm/oauth.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
|
package/esm/utils.d.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { CamelCasedProperties, SnakeCasedProperties } from 'type-fest';
|
|
2
|
+
export type Flatten<Type> = Type extends Array<infer Item> ? Item : Type;
|
|
3
|
+
export type ApiCommonData = {
|
|
4
|
+
created_at: string | null;
|
|
5
|
+
deleted_at: string | null;
|
|
6
|
+
updated_at: string | null;
|
|
7
|
+
};
|
|
8
|
+
export interface ApiSuccess {
|
|
9
|
+
success: true;
|
|
10
|
+
data?: Record<string, unknown> | Array<Record<string, unknown>> | string | string[];
|
|
11
|
+
}
|
|
12
|
+
export interface ApiError {
|
|
13
|
+
success: false;
|
|
14
|
+
error: {
|
|
15
|
+
type: string;
|
|
16
|
+
message: string;
|
|
17
|
+
validation_errors?: Record<string, string[]>;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export type ApiCommon = ApiSuccess | ApiError;
|
|
21
|
+
export declare const myUser = "me";
|
|
22
|
+
export declare const myOrganisations = "mine";
|
|
23
|
+
export declare const lastJobRevision = "last";
|
|
24
|
+
export declare const defaultListHeader: {
|
|
25
|
+
'X-Per-Page': string;
|
|
26
|
+
};
|
|
27
|
+
export declare const deletedNoneParam: URLSearchParams;
|
|
28
|
+
export declare const keysToRemove: string[];
|
|
29
|
+
export declare const staticContext: {
|
|
30
|
+
keysToRemove: Set<string>;
|
|
31
|
+
keysToAdd: never[];
|
|
32
|
+
revivers: {};
|
|
33
|
+
};
|
|
34
|
+
export declare class NetworkError extends Error {
|
|
35
|
+
}
|
|
36
|
+
export declare class HTTPError extends Error {
|
|
37
|
+
statusCode: number;
|
|
38
|
+
constructor(response: Response);
|
|
39
|
+
}
|
|
40
|
+
export declare class APIError extends Error {
|
|
41
|
+
code: string;
|
|
42
|
+
constructor(apiError: ApiError);
|
|
43
|
+
}
|
|
44
|
+
export declare function getSearchParams(search: Record<string, unknown>): URLSearchParams;
|
|
45
|
+
export type Revivers<I extends ApiCommon, O extends Record<string, unknown>, R = Exclude<Flatten<Exclude<Exclude<I, ApiError>['data'], string | undefined>>, string>> = {
|
|
46
|
+
[K in keyof O | keyof R]?: K extends keyof O & keyof R ? ((data: R) => O[K]) | undefined : K extends Exclude<keyof O, keyof R> ? (data: R) => O[K] : K extends Exclude<keyof R, keyof O> ? undefined : never;
|
|
47
|
+
};
|
|
48
|
+
export interface ExtraOptions<I extends ApiCommon, O extends Record<string, unknown> | string> {
|
|
49
|
+
method?: 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
50
|
+
revivers?: O extends Record<string, unknown> ? Revivers<I, O> : never;
|
|
51
|
+
sendNull?: boolean;
|
|
52
|
+
withMeta?: boolean;
|
|
53
|
+
}
|
|
54
|
+
export declare class APIMeta<I extends ApiCommon, O extends Record<string, unknown> | string, A = Exclude<I, ApiError>['data'] extends unknown[] ? true : false> extends Error {
|
|
55
|
+
data: A extends true ? O[] : O;
|
|
56
|
+
status: number;
|
|
57
|
+
headers: Headers;
|
|
58
|
+
constructor(data: A extends true ? O[] : O, headers: Headers, status: number);
|
|
59
|
+
}
|
|
60
|
+
export declare function request<I extends ApiCommon, O extends Record<string, unknown> | string, A = Exclude<I, ApiError>['data'] extends unknown[] ? true : false>(path: string, body?: XMLHttpRequestBodyInit | Record<string | number, unknown> | null, extraHeaders?: Record<string, string> | null, extraOptions?: ExtraOptions<I, O>): Promise<A extends true ? O[] : O>;
|
|
61
|
+
interface Context<I extends ApiCommon, O extends Record<string, unknown>> {
|
|
62
|
+
keysToRemove: Set<string>;
|
|
63
|
+
keysToAdd: string[];
|
|
64
|
+
revivers: Revivers<I, O>;
|
|
65
|
+
}
|
|
66
|
+
export declare function getContext<I extends ApiCommon, O extends Record<string, unknown>>(revivers: Revivers<I, O>, keys?: string[]): Context<I, O>;
|
|
67
|
+
export declare function processData<I extends ApiCommon, O extends Record<string, unknown>>(this: Context<I, O>, data: Exclude<Flatten<Exclude<Exclude<I, ApiError>['data'], string | undefined>>, string>): O;
|
|
68
|
+
export declare function toApiType<T extends Record<string, unknown>>(body: T): SnakeCasedProperties<T>;
|
|
69
|
+
export declare function toAppType<T extends Record<string, unknown>>(body: T): CamelCasedProperties<T>;
|
|
70
|
+
export declare function ensureArray<T extends Record<string, unknown>>(data: T | T[]): T[];
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|