@cords/sdk 0.0.9 → 0.0.11
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/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +27 -12
- package/dist/index.mjs +27 -12
- package/package.json +1 -1
- package/src/index.ts +16 -12
package/dist/index.d.mts
CHANGED
|
@@ -89,7 +89,7 @@ type CordsError = {
|
|
|
89
89
|
};
|
|
90
90
|
|
|
91
91
|
declare const ResourceOptions: {};
|
|
92
|
-
declare const CordsAPI: ({ apiKey, version, referer, baseUrl, }: {
|
|
92
|
+
declare const CordsAPI: ({ apiKey, version, referer, baseUrl: customBaseUrl, }: {
|
|
93
93
|
apiKey: string;
|
|
94
94
|
version?: "production" | "dev";
|
|
95
95
|
referer?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -89,7 +89,7 @@ type CordsError = {
|
|
|
89
89
|
};
|
|
90
90
|
|
|
91
91
|
declare const ResourceOptions: {};
|
|
92
|
-
declare const CordsAPI: ({ apiKey, version, referer, baseUrl, }: {
|
|
92
|
+
declare const CordsAPI: ({ apiKey, version, referer, baseUrl: customBaseUrl, }: {
|
|
93
93
|
apiKey: string;
|
|
94
94
|
version?: "production" | "dev";
|
|
95
95
|
referer?: string;
|
package/dist/index.js
CHANGED
|
@@ -59,9 +59,9 @@ var CordsAPI = ({
|
|
|
59
59
|
apiKey,
|
|
60
60
|
version = "production",
|
|
61
61
|
referer,
|
|
62
|
-
baseUrl
|
|
62
|
+
baseUrl: customBaseUrl
|
|
63
63
|
}) => {
|
|
64
|
-
baseUrl =
|
|
64
|
+
const baseUrl = customBaseUrl ? customBaseUrl == null ? void 0 : customBaseUrl.replace(/\/$/, "") : version === "production" ? "https://api.cords.ai" : "https://api.cords.dev";
|
|
65
65
|
const request = async (input, init) => {
|
|
66
66
|
const res = await fetch(input, __spreadProps(__spreadValues({}, init), {
|
|
67
67
|
headers: __spreadValues(__spreadValues({
|
|
@@ -70,7 +70,9 @@ var CordsAPI = ({
|
|
|
70
70
|
}));
|
|
71
71
|
if (!res.ok) {
|
|
72
72
|
if (res.status === 403)
|
|
73
|
-
throw new Error(
|
|
73
|
+
throw new Error(
|
|
74
|
+
"Bad API key. Ensure you have a valid API key."
|
|
75
|
+
);
|
|
74
76
|
const data = await res.json();
|
|
75
77
|
if (data.detail) throw new Error(data.detail);
|
|
76
78
|
else throw new Error("An error occurred");
|
|
@@ -85,15 +87,18 @@ var CordsAPI = ({
|
|
|
85
87
|
"calculateCityFromSearchString",
|
|
86
88
|
"calculateProvinceFromSearchString"
|
|
87
89
|
]);
|
|
88
|
-
const url = new URL(
|
|
90
|
+
const url = new URL(baseUrl);
|
|
91
|
+
url.pathname += "/search";
|
|
89
92
|
const params = new URLSearchParams({
|
|
90
93
|
q
|
|
91
94
|
});
|
|
92
95
|
params.append("lat", options.lat.toString());
|
|
93
96
|
params.append("lng", options.lng.toString());
|
|
94
97
|
if (options.page) params.append("page", options.page.toString());
|
|
95
|
-
if (options.pageSize)
|
|
96
|
-
|
|
98
|
+
if (options.pageSize)
|
|
99
|
+
params.append("pageSize", options.pageSize.toString());
|
|
100
|
+
if (options.distance)
|
|
101
|
+
params.append("distance", options.distance.toString());
|
|
97
102
|
params.append(
|
|
98
103
|
"calculateProvinceFromSearchString",
|
|
99
104
|
calculateProvinceFromSearchString ? "true" : "false"
|
|
@@ -109,7 +114,10 @@ var CordsAPI = ({
|
|
|
109
114
|
}
|
|
110
115
|
if (options.delivery) {
|
|
111
116
|
for (const [key, value] of Object.entries(options.delivery)) {
|
|
112
|
-
params.append(
|
|
117
|
+
params.append(
|
|
118
|
+
`filter[delivery][${key}]`,
|
|
119
|
+
value ? "true" : "false"
|
|
120
|
+
);
|
|
113
121
|
}
|
|
114
122
|
}
|
|
115
123
|
const res = await request(`${url.toString()}?${params}`);
|
|
@@ -117,7 +125,8 @@ var CordsAPI = ({
|
|
|
117
125
|
return data;
|
|
118
126
|
};
|
|
119
127
|
const related = async (id) => {
|
|
120
|
-
const url = new URL(
|
|
128
|
+
const url = new URL(baseUrl);
|
|
129
|
+
url.pathname += `/resource/${id}/related`;
|
|
121
130
|
const res = await request(url.toString());
|
|
122
131
|
if (!res.ok) {
|
|
123
132
|
const data2 = await res.json();
|
|
@@ -127,7 +136,8 @@ var CordsAPI = ({
|
|
|
127
136
|
return data;
|
|
128
137
|
};
|
|
129
138
|
const resource = async (id) => {
|
|
130
|
-
const url = new URL(
|
|
139
|
+
const url = new URL(baseUrl);
|
|
140
|
+
url.pathname += `/resource/${id}`;
|
|
131
141
|
const res = await request(url.toString());
|
|
132
142
|
if (!res.ok) {
|
|
133
143
|
const data2 = await res.json();
|
|
@@ -143,18 +153,23 @@ var CordsAPI = ({
|
|
|
143
153
|
};
|
|
144
154
|
const params = new URLSearchParams();
|
|
145
155
|
ids.forEach((id, index) => params.append(`ids[${index}]`, id));
|
|
146
|
-
const url = new URL(
|
|
156
|
+
const url = new URL(baseUrl);
|
|
157
|
+
url.pathname += "/resource/list";
|
|
158
|
+
url.search = params.toString();
|
|
147
159
|
const res = await request(url.toString());
|
|
148
160
|
const data = await res.json();
|
|
149
161
|
return data;
|
|
150
162
|
};
|
|
151
163
|
const nearestNeighbour = async (id, options) => {
|
|
152
|
-
const url = new URL(
|
|
164
|
+
const url = new URL(baseUrl);
|
|
165
|
+
url.pathname += `/resource/${id}/nearest-neighbor`;
|
|
153
166
|
const params = new URLSearchParams({
|
|
154
167
|
lat: options.lat.toString(),
|
|
155
168
|
lng: options.lng.toString()
|
|
156
169
|
});
|
|
157
|
-
const res = await request(
|
|
170
|
+
const res = await request(
|
|
171
|
+
url.toString() + "?delivery=local&" + params.toString()
|
|
172
|
+
);
|
|
158
173
|
if (!res.ok) {
|
|
159
174
|
const data2 = await res.json();
|
|
160
175
|
throw new Error(data2.detail);
|
package/dist/index.mjs
CHANGED
|
@@ -36,9 +36,9 @@ var CordsAPI = ({
|
|
|
36
36
|
apiKey,
|
|
37
37
|
version = "production",
|
|
38
38
|
referer,
|
|
39
|
-
baseUrl
|
|
39
|
+
baseUrl: customBaseUrl
|
|
40
40
|
}) => {
|
|
41
|
-
baseUrl =
|
|
41
|
+
const baseUrl = customBaseUrl ? customBaseUrl == null ? void 0 : customBaseUrl.replace(/\/$/, "") : version === "production" ? "https://api.cords.ai" : "https://api.cords.dev";
|
|
42
42
|
const request = async (input, init) => {
|
|
43
43
|
const res = await fetch(input, __spreadProps(__spreadValues({}, init), {
|
|
44
44
|
headers: __spreadValues(__spreadValues({
|
|
@@ -47,7 +47,9 @@ var CordsAPI = ({
|
|
|
47
47
|
}));
|
|
48
48
|
if (!res.ok) {
|
|
49
49
|
if (res.status === 403)
|
|
50
|
-
throw new Error(
|
|
50
|
+
throw new Error(
|
|
51
|
+
"Bad API key. Ensure you have a valid API key."
|
|
52
|
+
);
|
|
51
53
|
const data = await res.json();
|
|
52
54
|
if (data.detail) throw new Error(data.detail);
|
|
53
55
|
else throw new Error("An error occurred");
|
|
@@ -62,15 +64,18 @@ var CordsAPI = ({
|
|
|
62
64
|
"calculateCityFromSearchString",
|
|
63
65
|
"calculateProvinceFromSearchString"
|
|
64
66
|
]);
|
|
65
|
-
const url = new URL(
|
|
67
|
+
const url = new URL(baseUrl);
|
|
68
|
+
url.pathname += "/search";
|
|
66
69
|
const params = new URLSearchParams({
|
|
67
70
|
q
|
|
68
71
|
});
|
|
69
72
|
params.append("lat", options.lat.toString());
|
|
70
73
|
params.append("lng", options.lng.toString());
|
|
71
74
|
if (options.page) params.append("page", options.page.toString());
|
|
72
|
-
if (options.pageSize)
|
|
73
|
-
|
|
75
|
+
if (options.pageSize)
|
|
76
|
+
params.append("pageSize", options.pageSize.toString());
|
|
77
|
+
if (options.distance)
|
|
78
|
+
params.append("distance", options.distance.toString());
|
|
74
79
|
params.append(
|
|
75
80
|
"calculateProvinceFromSearchString",
|
|
76
81
|
calculateProvinceFromSearchString ? "true" : "false"
|
|
@@ -86,7 +91,10 @@ var CordsAPI = ({
|
|
|
86
91
|
}
|
|
87
92
|
if (options.delivery) {
|
|
88
93
|
for (const [key, value] of Object.entries(options.delivery)) {
|
|
89
|
-
params.append(
|
|
94
|
+
params.append(
|
|
95
|
+
`filter[delivery][${key}]`,
|
|
96
|
+
value ? "true" : "false"
|
|
97
|
+
);
|
|
90
98
|
}
|
|
91
99
|
}
|
|
92
100
|
const res = await request(`${url.toString()}?${params}`);
|
|
@@ -94,7 +102,8 @@ var CordsAPI = ({
|
|
|
94
102
|
return data;
|
|
95
103
|
};
|
|
96
104
|
const related = async (id) => {
|
|
97
|
-
const url = new URL(
|
|
105
|
+
const url = new URL(baseUrl);
|
|
106
|
+
url.pathname += `/resource/${id}/related`;
|
|
98
107
|
const res = await request(url.toString());
|
|
99
108
|
if (!res.ok) {
|
|
100
109
|
const data2 = await res.json();
|
|
@@ -104,7 +113,8 @@ var CordsAPI = ({
|
|
|
104
113
|
return data;
|
|
105
114
|
};
|
|
106
115
|
const resource = async (id) => {
|
|
107
|
-
const url = new URL(
|
|
116
|
+
const url = new URL(baseUrl);
|
|
117
|
+
url.pathname += `/resource/${id}`;
|
|
108
118
|
const res = await request(url.toString());
|
|
109
119
|
if (!res.ok) {
|
|
110
120
|
const data2 = await res.json();
|
|
@@ -120,18 +130,23 @@ var CordsAPI = ({
|
|
|
120
130
|
};
|
|
121
131
|
const params = new URLSearchParams();
|
|
122
132
|
ids.forEach((id, index) => params.append(`ids[${index}]`, id));
|
|
123
|
-
const url = new URL(
|
|
133
|
+
const url = new URL(baseUrl);
|
|
134
|
+
url.pathname += "/resource/list";
|
|
135
|
+
url.search = params.toString();
|
|
124
136
|
const res = await request(url.toString());
|
|
125
137
|
const data = await res.json();
|
|
126
138
|
return data;
|
|
127
139
|
};
|
|
128
140
|
const nearestNeighbour = async (id, options) => {
|
|
129
|
-
const url = new URL(
|
|
141
|
+
const url = new URL(baseUrl);
|
|
142
|
+
url.pathname += `/resource/${id}/nearest-neighbor`;
|
|
130
143
|
const params = new URLSearchParams({
|
|
131
144
|
lat: options.lat.toString(),
|
|
132
145
|
lng: options.lng.toString()
|
|
133
146
|
});
|
|
134
|
-
const res = await request(
|
|
147
|
+
const res = await request(
|
|
148
|
+
url.toString() + "?delivery=local&" + params.toString()
|
|
149
|
+
);
|
|
135
150
|
if (!res.ok) {
|
|
136
151
|
const data2 = await res.json();
|
|
137
152
|
throw new Error(data2.detail);
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -13,7 +13,7 @@ export const CordsAPI = ({
|
|
|
13
13
|
apiKey,
|
|
14
14
|
version = "production",
|
|
15
15
|
referer,
|
|
16
|
-
baseUrl,
|
|
16
|
+
baseUrl: customBaseUrl,
|
|
17
17
|
}: {
|
|
18
18
|
apiKey: string;
|
|
19
19
|
version?: "production" | "dev";
|
|
@@ -21,13 +21,11 @@ export const CordsAPI = ({
|
|
|
21
21
|
baseUrl?: string;
|
|
22
22
|
}) => {
|
|
23
23
|
// Set the base URL for the Cords API
|
|
24
|
-
baseUrl =
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
const baseUrl = customBaseUrl
|
|
25
|
+
? customBaseUrl?.replace(/\/$/, "")
|
|
26
|
+
: version === "production"
|
|
27
27
|
? "https://api.cords.ai"
|
|
28
|
-
: "https://api.cords.dev"
|
|
29
|
-
|
|
30
|
-
baseUrl = baseUrl.replace(/\/$/, "");
|
|
28
|
+
: "https://api.cords.dev";
|
|
31
29
|
|
|
32
30
|
// Helper for making requests to the Cords API that applies the api key, referrer, and handles errors
|
|
33
31
|
const request = async (input: RequestInfo, init?: RequestInit) => {
|
|
@@ -60,7 +58,8 @@ export const CordsAPI = ({
|
|
|
60
58
|
...options
|
|
61
59
|
}: SearchOptions,
|
|
62
60
|
) => {
|
|
63
|
-
const url = new URL(
|
|
61
|
+
const url = new URL(baseUrl);
|
|
62
|
+
url.pathname += "/search";
|
|
64
63
|
const params = new URLSearchParams({
|
|
65
64
|
q,
|
|
66
65
|
});
|
|
@@ -112,7 +111,8 @@ export const CordsAPI = ({
|
|
|
112
111
|
|
|
113
112
|
// Get related to a resource
|
|
114
113
|
const related = async (id: string) => {
|
|
115
|
-
const url = new URL(
|
|
114
|
+
const url = new URL(baseUrl);
|
|
115
|
+
url.pathname += `/resource/${id}/related`;
|
|
116
116
|
|
|
117
117
|
const res = await request(url.toString());
|
|
118
118
|
if (!res.ok) {
|
|
@@ -125,7 +125,8 @@ export const CordsAPI = ({
|
|
|
125
125
|
|
|
126
126
|
// Get a single resource by id
|
|
127
127
|
const resource = async (id: string) => {
|
|
128
|
-
const url = new URL(
|
|
128
|
+
const url = new URL(baseUrl);
|
|
129
|
+
url.pathname += `/resource/${id}`;
|
|
129
130
|
|
|
130
131
|
const res = await request(url.toString());
|
|
131
132
|
if (!res.ok) {
|
|
@@ -147,7 +148,9 @@ export const CordsAPI = ({
|
|
|
147
148
|
const params = new URLSearchParams();
|
|
148
149
|
ids.forEach((id, index) => params.append(`ids[${index}]`, id));
|
|
149
150
|
|
|
150
|
-
const url = new URL(
|
|
151
|
+
const url = new URL(baseUrl);
|
|
152
|
+
url.pathname += "/resource/list";
|
|
153
|
+
url.search = params.toString();
|
|
151
154
|
|
|
152
155
|
const res = await request(url.toString());
|
|
153
156
|
const data = await res.json();
|
|
@@ -162,7 +165,8 @@ export const CordsAPI = ({
|
|
|
162
165
|
lng: number;
|
|
163
166
|
},
|
|
164
167
|
) => {
|
|
165
|
-
const url = new URL(
|
|
168
|
+
const url = new URL(baseUrl);
|
|
169
|
+
url.pathname += `/resource/${id}/nearest-neighbor`;
|
|
166
170
|
|
|
167
171
|
const params = new URLSearchParams({
|
|
168
172
|
lat: options.lat.toString(),
|