@cords/sdk 0.0.7 → 0.0.9

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 CHANGED
@@ -89,10 +89,11 @@ type CordsError = {
89
89
  };
90
90
 
91
91
  declare const ResourceOptions: {};
92
- declare const CordsAPI: ({ apiKey, version, referer, }: {
92
+ declare const CordsAPI: ({ apiKey, version, referer, baseUrl, }: {
93
93
  apiKey: string;
94
94
  version?: "production" | "dev";
95
95
  referer?: string;
96
+ baseUrl?: string;
96
97
  }) => {
97
98
  search: (q: string, { calculateCityFromSearchString, calculateProvinceFromSearchString, ...options }: SearchOptions) => Promise<{
98
99
  data: SearchResourceType[];
package/dist/index.d.ts CHANGED
@@ -89,10 +89,11 @@ type CordsError = {
89
89
  };
90
90
 
91
91
  declare const ResourceOptions: {};
92
- declare const CordsAPI: ({ apiKey, version, referer, }: {
92
+ declare const CordsAPI: ({ apiKey, version, referer, baseUrl, }: {
93
93
  apiKey: string;
94
94
  version?: "production" | "dev";
95
95
  referer?: string;
96
+ baseUrl?: string;
96
97
  }) => {
97
98
  search: (q: string, { calculateCityFromSearchString, calculateProvinceFromSearchString, ...options }: SearchOptions) => Promise<{
98
99
  data: SearchResourceType[];
package/dist/index.js CHANGED
@@ -45,26 +45,6 @@ var __copyProps = (to, from, except, desc) => {
45
45
  return to;
46
46
  };
47
47
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
48
- var __async = (__this, __arguments, generator) => {
49
- return new Promise((resolve, reject) => {
50
- var fulfilled = (value) => {
51
- try {
52
- step(generator.next(value));
53
- } catch (e) {
54
- reject(e);
55
- }
56
- };
57
- var rejected = (value) => {
58
- try {
59
- step(generator.throw(value));
60
- } catch (e) {
61
- reject(e);
62
- }
63
- };
64
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
65
- step((generator = generator.apply(__this, __arguments)).next());
66
- });
67
- };
68
48
 
69
49
  // src/index.ts
70
50
  var src_exports = {};
@@ -78,11 +58,12 @@ var ResourceOptions = {};
78
58
  var CordsAPI = ({
79
59
  apiKey,
80
60
  version = "production",
81
- referer
61
+ referer,
62
+ baseUrl
82
63
  }) => {
83
- const baseUrl = version === "production" ? "https://api.cords.ai" : "https://api.cords.dev";
84
- const request = (input, init) => __async(void 0, null, function* () {
85
- const res = yield fetch(input, __spreadProps(__spreadValues({}, init), {
64
+ baseUrl = baseUrl != null ? baseUrl : version === "production" ? "https://api.cords.ai" : "https://api.cords.dev";
65
+ const request = async (input, init) => {
66
+ const res = await fetch(input, __spreadProps(__spreadValues({}, init), {
86
67
  headers: __spreadValues(__spreadValues({
87
68
  "x-api-key": apiKey
88
69
  }, referer ? { referer } : {}), init == null ? void 0 : init.headers)
@@ -90,13 +71,13 @@ var CordsAPI = ({
90
71
  if (!res.ok) {
91
72
  if (res.status === 403)
92
73
  throw new Error("Bad API key. Ensure you have a valid API key.");
93
- const data = yield res.json();
74
+ const data = await res.json();
94
75
  if (data.detail) throw new Error(data.detail);
95
76
  else throw new Error("An error occurred");
96
77
  }
97
78
  return res;
98
- });
99
- const search = (q, _a) => __async(void 0, null, function* () {
79
+ };
80
+ const search = async (q, _a) => {
100
81
  var _b = _a, {
101
82
  calculateCityFromSearchString = true,
102
83
  calculateProvinceFromSearchString = true
@@ -131,31 +112,31 @@ var CordsAPI = ({
131
112
  params.append(`filter[delivery][${key}]`, value ? "true" : "false");
132
113
  }
133
114
  }
134
- const res = yield request(`${url.toString()}?${params}`);
135
- const data = yield res.json();
115
+ const res = await request(`${url.toString()}?${params}`);
116
+ const data = await res.json();
136
117
  return data;
137
- });
138
- const related = (id) => __async(void 0, null, function* () {
118
+ };
119
+ const related = async (id) => {
139
120
  const url = new URL(`/resource/${id}/related`, baseUrl);
140
- const res = yield request(url.toString());
121
+ const res = await request(url.toString());
141
122
  if (!res.ok) {
142
- const data2 = yield res.json();
123
+ const data2 = await res.json();
143
124
  throw new Error(data2.detail);
144
125
  }
145
- const data = yield res.json();
126
+ const data = await res.json();
146
127
  return data;
147
- });
148
- const resource = (id) => __async(void 0, null, function* () {
128
+ };
129
+ const resource = async (id) => {
149
130
  const url = new URL(`/resource/${id}`, baseUrl);
150
- const res = yield request(url.toString());
131
+ const res = await request(url.toString());
151
132
  if (!res.ok) {
152
- const data2 = yield res.json();
133
+ const data2 = await res.json();
153
134
  throw new Error(data2.detail);
154
135
  }
155
- const data = yield res.json();
136
+ const data = await res.json();
156
137
  return data;
157
- });
158
- const resourceList = (ids) => __async(void 0, null, function* () {
138
+ };
139
+ const resourceList = async (ids) => {
159
140
  if (ids.length === 0)
160
141
  return {
161
142
  data: []
@@ -163,24 +144,24 @@ var CordsAPI = ({
163
144
  const params = new URLSearchParams();
164
145
  ids.forEach((id, index) => params.append(`ids[${index}]`, id));
165
146
  const url = new URL(`/search?${params.toString()}`, baseUrl);
166
- const res = yield request(url.toString());
167
- const data = yield res.json();
147
+ const res = await request(url.toString());
148
+ const data = await res.json();
168
149
  return data;
169
- });
170
- const nearestNeighbour = (id, options) => __async(void 0, null, function* () {
150
+ };
151
+ const nearestNeighbour = async (id, options) => {
171
152
  const url = new URL(`/resource/${id}/nearest-neighbor`, baseUrl);
172
153
  const params = new URLSearchParams({
173
154
  lat: options.lat.toString(),
174
155
  lng: options.lng.toString()
175
156
  });
176
- const res = yield request(url.toString() + "?delivery=local&" + params.toString());
157
+ const res = await request(url.toString() + "?delivery=local&" + params.toString());
177
158
  if (!res.ok) {
178
- const data2 = yield res.json();
159
+ const data2 = await res.json();
179
160
  throw new Error(data2.detail);
180
161
  }
181
- const data = yield res.json();
162
+ const data = await res.json();
182
163
  return data;
183
- });
164
+ };
184
165
  return {
185
166
  search,
186
167
  related,
package/dist/index.mjs CHANGED
@@ -29,37 +29,18 @@ var __objRest = (source, exclude) => {
29
29
  }
30
30
  return target;
31
31
  };
32
- var __async = (__this, __arguments, generator) => {
33
- return new Promise((resolve, reject) => {
34
- var fulfilled = (value) => {
35
- try {
36
- step(generator.next(value));
37
- } catch (e) {
38
- reject(e);
39
- }
40
- };
41
- var rejected = (value) => {
42
- try {
43
- step(generator.throw(value));
44
- } catch (e) {
45
- reject(e);
46
- }
47
- };
48
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
49
- step((generator = generator.apply(__this, __arguments)).next());
50
- });
51
- };
52
32
 
53
33
  // src/index.ts
54
34
  var ResourceOptions = {};
55
35
  var CordsAPI = ({
56
36
  apiKey,
57
37
  version = "production",
58
- referer
38
+ referer,
39
+ baseUrl
59
40
  }) => {
60
- const baseUrl = version === "production" ? "https://api.cords.ai" : "https://api.cords.dev";
61
- const request = (input, init) => __async(void 0, null, function* () {
62
- const res = yield fetch(input, __spreadProps(__spreadValues({}, init), {
41
+ baseUrl = baseUrl != null ? baseUrl : version === "production" ? "https://api.cords.ai" : "https://api.cords.dev";
42
+ const request = async (input, init) => {
43
+ const res = await fetch(input, __spreadProps(__spreadValues({}, init), {
63
44
  headers: __spreadValues(__spreadValues({
64
45
  "x-api-key": apiKey
65
46
  }, referer ? { referer } : {}), init == null ? void 0 : init.headers)
@@ -67,13 +48,13 @@ var CordsAPI = ({
67
48
  if (!res.ok) {
68
49
  if (res.status === 403)
69
50
  throw new Error("Bad API key. Ensure you have a valid API key.");
70
- const data = yield res.json();
51
+ const data = await res.json();
71
52
  if (data.detail) throw new Error(data.detail);
72
53
  else throw new Error("An error occurred");
73
54
  }
74
55
  return res;
75
- });
76
- const search = (q, _a) => __async(void 0, null, function* () {
56
+ };
57
+ const search = async (q, _a) => {
77
58
  var _b = _a, {
78
59
  calculateCityFromSearchString = true,
79
60
  calculateProvinceFromSearchString = true
@@ -108,31 +89,31 @@ var CordsAPI = ({
108
89
  params.append(`filter[delivery][${key}]`, value ? "true" : "false");
109
90
  }
110
91
  }
111
- const res = yield request(`${url.toString()}?${params}`);
112
- const data = yield res.json();
92
+ const res = await request(`${url.toString()}?${params}`);
93
+ const data = await res.json();
113
94
  return data;
114
- });
115
- const related = (id) => __async(void 0, null, function* () {
95
+ };
96
+ const related = async (id) => {
116
97
  const url = new URL(`/resource/${id}/related`, baseUrl);
117
- const res = yield request(url.toString());
98
+ const res = await request(url.toString());
118
99
  if (!res.ok) {
119
- const data2 = yield res.json();
100
+ const data2 = await res.json();
120
101
  throw new Error(data2.detail);
121
102
  }
122
- const data = yield res.json();
103
+ const data = await res.json();
123
104
  return data;
124
- });
125
- const resource = (id) => __async(void 0, null, function* () {
105
+ };
106
+ const resource = async (id) => {
126
107
  const url = new URL(`/resource/${id}`, baseUrl);
127
- const res = yield request(url.toString());
108
+ const res = await request(url.toString());
128
109
  if (!res.ok) {
129
- const data2 = yield res.json();
110
+ const data2 = await res.json();
130
111
  throw new Error(data2.detail);
131
112
  }
132
- const data = yield res.json();
113
+ const data = await res.json();
133
114
  return data;
134
- });
135
- const resourceList = (ids) => __async(void 0, null, function* () {
115
+ };
116
+ const resourceList = async (ids) => {
136
117
  if (ids.length === 0)
137
118
  return {
138
119
  data: []
@@ -140,24 +121,24 @@ var CordsAPI = ({
140
121
  const params = new URLSearchParams();
141
122
  ids.forEach((id, index) => params.append(`ids[${index}]`, id));
142
123
  const url = new URL(`/search?${params.toString()}`, baseUrl);
143
- const res = yield request(url.toString());
144
- const data = yield res.json();
124
+ const res = await request(url.toString());
125
+ const data = await res.json();
145
126
  return data;
146
- });
147
- const nearestNeighbour = (id, options) => __async(void 0, null, function* () {
127
+ };
128
+ const nearestNeighbour = async (id, options) => {
148
129
  const url = new URL(`/resource/${id}/nearest-neighbor`, baseUrl);
149
130
  const params = new URLSearchParams({
150
131
  lat: options.lat.toString(),
151
132
  lng: options.lng.toString()
152
133
  });
153
- const res = yield request(url.toString() + "?delivery=local&" + params.toString());
134
+ const res = await request(url.toString() + "?delivery=local&" + params.toString());
154
135
  if (!res.ok) {
155
- const data2 = yield res.json();
136
+ const data2 = await res.json();
156
137
  throw new Error(data2.detail);
157
138
  }
158
- const data = yield res.json();
139
+ const data = await res.json();
159
140
  return data;
160
- });
141
+ };
161
142
  return {
162
143
  search,
163
144
  related,
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "main": "./dist/index.js",
4
4
  "module": "./dist/index.mjs",
5
5
  "types": "./dist/index.d.ts",
6
- "version": "0.0.7",
6
+ "version": "0.0.9",
7
7
  "private": false,
8
8
  "publishConfig": {
9
9
  "access": "public"
package/src/index.ts CHANGED
@@ -13,13 +13,21 @@ export const CordsAPI = ({
13
13
  apiKey,
14
14
  version = "production",
15
15
  referer,
16
+ baseUrl,
16
17
  }: {
17
18
  apiKey: string;
18
19
  version?: "production" | "dev";
19
20
  referer?: string;
21
+ baseUrl?: string;
20
22
  }) => {
21
23
  // Set the base URL for the Cords API
22
- const baseUrl = version === "production" ? "https://api.cords.ai" : "https://api.cords.dev";
24
+ baseUrl =
25
+ baseUrl ??
26
+ (version === "production"
27
+ ? "https://api.cords.ai"
28
+ : "https://api.cords.dev");
29
+
30
+ baseUrl = baseUrl.replace(/\/$/, "");
23
31
 
24
32
  // Helper for making requests to the Cords API that applies the api key, referrer, and handles errors
25
33
  const request = async (input: RequestInfo, init?: RequestInit) => {
@@ -33,7 +41,9 @@ export const CordsAPI = ({
33
41
  });
34
42
  if (!res.ok) {
35
43
  if (res.status === 403)
36
- throw new Error("Bad API key. Ensure you have a valid API key.");
44
+ throw new Error(
45
+ "Bad API key. Ensure you have a valid API key.",
46
+ );
37
47
  const data: CordsError = await res.json();
38
48
  if (data.detail) throw new Error(data.detail);
39
49
  else throw new Error("An error occurred");
@@ -48,9 +58,9 @@ export const CordsAPI = ({
48
58
  calculateCityFromSearchString = true,
49
59
  calculateProvinceFromSearchString = true,
50
60
  ...options
51
- }: SearchOptions
61
+ }: SearchOptions,
52
62
  ) => {
53
- const url = new URL("/search", baseUrl);
63
+ const url = new URL(`${baseUrl}/search`);
54
64
  const params = new URLSearchParams({
55
65
  q,
56
66
  });
@@ -60,17 +70,19 @@ export const CordsAPI = ({
60
70
 
61
71
  // Add top-level parameters
62
72
  if (options.page) params.append("page", options.page.toString());
63
- if (options.pageSize) params.append("pageSize", options.pageSize.toString());
64
- if (options.distance) params.append("distance", options.distance.toString());
73
+ if (options.pageSize)
74
+ params.append("pageSize", options.pageSize.toString());
75
+ if (options.distance)
76
+ params.append("distance", options.distance.toString());
65
77
 
66
78
  // Add boolean parameters
67
79
  params.append(
68
80
  "calculateProvinceFromSearchString",
69
- calculateProvinceFromSearchString ? "true" : "false"
81
+ calculateProvinceFromSearchString ? "true" : "false",
70
82
  );
71
83
  params.append(
72
84
  "calculateCityFromSearchString",
73
- calculateCityFromSearchString ? "true" : "false"
85
+ calculateCityFromSearchString ? "true" : "false",
74
86
  );
75
87
 
76
88
  // Add partner parameters
@@ -83,7 +95,10 @@ export const CordsAPI = ({
83
95
  // Add delivery parameters
84
96
  if (options.delivery) {
85
97
  for (const [key, value] of Object.entries(options.delivery)) {
86
- params.append(`filter[delivery][${key}]`, value ? "true" : "false");
98
+ params.append(
99
+ `filter[delivery][${key}]`,
100
+ value ? "true" : "false",
101
+ );
87
102
  }
88
103
  }
89
104
 
@@ -97,7 +112,7 @@ export const CordsAPI = ({
97
112
 
98
113
  // Get related to a resource
99
114
  const related = async (id: string) => {
100
- const url = new URL(`/resource/${id}/related`, baseUrl);
115
+ const url = new URL(`${baseUrl}/resource/${id}/related`);
101
116
 
102
117
  const res = await request(url.toString());
103
118
  if (!res.ok) {
@@ -110,7 +125,7 @@ export const CordsAPI = ({
110
125
 
111
126
  // Get a single resource by id
112
127
  const resource = async (id: string) => {
113
- const url = new URL(`/resource/${id}`, baseUrl);
128
+ const url = new URL(`${baseUrl}/resource/${id}`);
114
129
 
115
130
  const res = await request(url.toString());
116
131
  if (!res.ok) {
@@ -122,7 +137,9 @@ export const CordsAPI = ({
122
137
  };
123
138
 
124
139
  // Get a list of resources by id
125
- const resourceList = async (ids: string[]): Promise<{ data: ResourceType[] }> => {
140
+ const resourceList = async (
141
+ ids: string[],
142
+ ): Promise<{ data: ResourceType[] }> => {
126
143
  if (ids.length === 0)
127
144
  return {
128
145
  data: [],
@@ -130,7 +147,7 @@ export const CordsAPI = ({
130
147
  const params = new URLSearchParams();
131
148
  ids.forEach((id, index) => params.append(`ids[${index}]`, id));
132
149
 
133
- const url = new URL(`/search?${params.toString()}`, baseUrl);
150
+ const url = new URL(`${baseUrl}/search?${params.toString()}`);
134
151
 
135
152
  const res = await request(url.toString());
136
153
  const data = await res.json();
@@ -143,16 +160,18 @@ export const CordsAPI = ({
143
160
  options: {
144
161
  lat: number;
145
162
  lng: number;
146
- }
163
+ },
147
164
  ) => {
148
- const url = new URL(`/resource/${id}/nearest-neighbor`, baseUrl);
165
+ const url = new URL(`${baseUrl}/resource/${id}/nearest-neighbor`);
149
166
 
150
167
  const params = new URLSearchParams({
151
168
  lat: options.lat.toString(),
152
169
  lng: options.lng.toString(),
153
170
  });
154
171
 
155
- const res = await request(url.toString() + "?delivery=local&" + params.toString());
172
+ const res = await request(
173
+ url.toString() + "?delivery=local&" + params.toString(),
174
+ );
156
175
  if (!res.ok) {
157
176
  const data: CordsError = await res.json();
158
177
  throw new Error(data.detail);
package/tsconfig.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "ES2016",
3
+ "target": "ES2017",
4
4
  "module": "CommonJS",
5
5
  "esModuleInterop": true,
6
6
  "forceConsistentCasingInFileNames": true,