@mapcreator/api 5.0.0-alpha.58 → 5.0.0-alpha.59

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.
@@ -0,0 +1,37 @@
1
+ import { type ApiCommonData, type ApiError, type ApiSuccess, type Flatten } from '../utils.js';
2
+ export type InsetMap = {
3
+ id: number;
4
+ description: string;
5
+ jsonFilename: string;
6
+ latMin: number;
7
+ lngMin: number;
8
+ latMax: number;
9
+ lngMax: number;
10
+ };
11
+ export type ApiInsetMap = {
12
+ data: {
13
+ id: number;
14
+ description: string;
15
+ json_filename: string;
16
+ lat_min: number;
17
+ lng_min: number;
18
+ lat_max: number;
19
+ lng_max: number;
20
+ } & ApiCommonData;
21
+ } & Omit<ApiSuccess, 'data'> | ApiError;
22
+ export type ApiInsetMapData = Flatten<Exclude<ApiInsetMap, ApiError>['data']>;
23
+ type Boundary = {
24
+ topLeft: {
25
+ lat: number;
26
+ lng: number;
27
+ };
28
+ bottomRight: {
29
+ lat: number;
30
+ lng: number;
31
+ };
32
+ };
33
+ export declare function listInsetMaps(boundary: Boundary): Promise<InsetMap[]>;
34
+ export declare function getInsetMap(insetMapId: number): Promise<InsetMap>;
35
+ export declare function getInsetMapTopoJson<TopoJSON>(insetMapId: number): Promise<TopoJSON>;
36
+ export {};
37
+ //# sourceMappingURL=insetMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insetMap.d.ts","sourceRoot":"","sources":["../../src/api/insetMap.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,OAAO,EAIb,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,aAAa,CAAC;CACnB,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9E,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,EAAE;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,wBAAsB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAQ3E;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAIvE;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgCzF"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listInsetMaps = listInsetMaps;
4
+ exports.getInsetMap = getInsetMap;
5
+ exports.getInsetMapTopoJson = getInsetMapTopoJson;
6
+ const oauth_js_1 = require("../oauth.js");
7
+ const utils_js_1 = require("../utils.js");
8
+ async function listInsetMaps(boundary) {
9
+ const path = `/v1/inset-maps/for-boundary`;
10
+ return (0, utils_js_1.request)(path, boundary);
11
+ }
12
+ async function getInsetMap(insetMapId) {
13
+ const path = `/v1/inset-maps/${insetMapId}`;
14
+ return (0, utils_js_1.request)(path);
15
+ }
16
+ async function getInsetMapTopoJson(insetMapId) {
17
+ const href = `${oauth_js_1.apiHost}/v1/inset-maps/${insetMapId}/json`;
18
+ const headers = Object.assign({ Accept: 'application/json' }, (oauth_js_1.token ? { Authorization: oauth_js_1.token.toString() } : null));
19
+ const response = await fetch(href, { headers }).catch((error) => {
20
+ var _a;
21
+ throw new utils_js_1.NetworkError((_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : error);
22
+ });
23
+ if (response.ok) {
24
+ return response.json().catch(() => {
25
+ throw new utils_js_1.APIError({
26
+ success: false,
27
+ error: { type: 'SyntaxError', message: 'Malformed JSON response' },
28
+ });
29
+ });
30
+ }
31
+ else {
32
+ // eslint-disable-next-line default-case
33
+ switch (response.status) {
34
+ case 401:
35
+ await (0, oauth_js_1.authenticate)();
36
+ break; // NO-OP
37
+ case 403:
38
+ case 404:
39
+ case 406:
40
+ case 429:
41
+ throw new utils_js_1.APIError({
42
+ success: false,
43
+ error: { type: 'HttpException', message: response.statusText },
44
+ });
45
+ }
46
+ throw new utils_js_1.HTTPError(response);
47
+ }
48
+ }
49
+ //# sourceMappingURL=insetMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insetMap.js","sourceRoot":"","sources":["../../src/api/insetMap.ts"],"names":[],"mappings":";;AA+CA,sCAQC;AAED,kCAIC;AAED,kDAgCC;AA/FD,0CAA2D;AAC3D,0CASqB;AAqCd,KAAK,UAAU,aAAa,CAAC,QAAkB;IACpD,MAAM,IAAI,GAAG,6BAA6B,CAAC;IAM3C,OAAO,IAAA,kBAAO,EAA6B,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,MAAM,IAAI,GAAG,kBAAkB,UAAU,EAAE,CAAC;IAE5C,OAAO,IAAA,kBAAO,EAAwB,IAAI,CAAC,CAAC;AAC9C,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAW,UAAkB;IACpE,MAAM,IAAI,GAAG,GAAG,kBAAO,kBAAkB,UAAU,OAAO,CAAC;IAC3D,MAAM,OAAO,mBAAK,MAAM,EAAE,kBAAkB,IAAK,CAAC,gBAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,gBAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAE,CAAC;IACxG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;;QACrE,MAAM,IAAI,uBAAY,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,IAAI,mBAAQ,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,yBAAyB,EAAE;aACnE,CAAC,CAAC;QACL,CAAC,CAAsB,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,wCAAwC;QACxC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,GAAG;gBACN,MAAM,IAAA,uBAAY,GAAE,CAAC;gBACrB,MAAM,CAAC,QAAQ;YACjB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,MAAM,IAAI,mBAAQ,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE;iBAC/D,CAAC,CAAC;QACP,CAAC;QAED,MAAM,IAAI,oBAAS,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
package/cjs/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export * from './api/feature.js';
6
6
  export * from './api/font.js';
7
7
  export * from './api/fontFamily.js';
8
8
  export * from './api/highlight.js';
9
+ export * from './api/insetMap.js';
9
10
  export * from './api/job.js';
10
11
  export * from './api/jobResult.js';
11
12
  export * from './api/jobRevision.js';
@@ -1 +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,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"}
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/cjs/index.js CHANGED
@@ -23,6 +23,7 @@ __exportStar(require("./api/feature.js"), exports);
23
23
  __exportStar(require("./api/font.js"), exports);
24
24
  __exportStar(require("./api/fontFamily.js"), exports);
25
25
  __exportStar(require("./api/highlight.js"), exports);
26
+ __exportStar(require("./api/insetMap.js"), exports);
26
27
  __exportStar(require("./api/job.js"), exports);
27
28
  __exportStar(require("./api/jobResult.js"), exports);
28
29
  __exportStar(require("./api/jobRevision.js"), exports);
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,iDAA+B;AAC/B,qDAAmC;AACnC,wDAAsC;AACtC,mDAAiC;AACjC,gDAA8B;AAC9B,sDAAoC;AACpC,qDAAmC;AACnC,+CAA6B;AAC7B,qDAAmC;AACnC,uDAAqC;AACrC,oDAAkC;AAClC,mDAAiC;AACjC,oDAAkC;AAClC,iDAA+B;AAC/B,oDAAkC;AAClC,sDAAoC;AACpC,uDAAqC;AACrC,mDAAiC;AACjC,wDAAsC;AACtC,qDAAmC;AACnC,+CAA6B;AAC7B,kDAAgC;AAChC,gDAA8B;AAE9B,uCAgBoB;AARlB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,kGAAA,MAAM,OAAA;AACN,oGAAA,QAAQ,OAAA;AACR,qGAAA,SAAS,OAAA;AACT,wGAAA,YAAY,OAAA;AACZ,2GAAA,eAAe,OAAA;AACf,mGAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,iDAA+B;AAC/B,qDAAmC;AACnC,wDAAsC;AACtC,mDAAiC;AACjC,gDAA8B;AAC9B,sDAAoC;AACpC,qDAAmC;AACnC,oDAAkC;AAClC,+CAA6B;AAC7B,qDAAmC;AACnC,uDAAqC;AACrC,oDAAkC;AAClC,mDAAiC;AACjC,oDAAkC;AAClC,iDAA+B;AAC/B,oDAAkC;AAClC,sDAAoC;AACpC,uDAAqC;AACrC,mDAAiC;AACjC,wDAAsC;AACtC,qDAAmC;AACnC,+CAA6B;AAC7B,kDAAgC;AAChC,gDAA8B;AAE9B,uCAgBoB;AARlB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,kGAAA,MAAM,OAAA;AACN,oGAAA,QAAQ,OAAA;AACR,qGAAA,SAAS,OAAA;AACT,wGAAA,YAAY,OAAA;AACZ,2GAAA,eAAe,OAAA;AACf,mGAAA,OAAO,OAAA"}
@@ -0,0 +1,37 @@
1
+ import { type ApiCommonData, type ApiError, type ApiSuccess, type Flatten } from '../utils.js';
2
+ export type InsetMap = {
3
+ id: number;
4
+ description: string;
5
+ jsonFilename: string;
6
+ latMin: number;
7
+ lngMin: number;
8
+ latMax: number;
9
+ lngMax: number;
10
+ };
11
+ export type ApiInsetMap = {
12
+ data: {
13
+ id: number;
14
+ description: string;
15
+ json_filename: string;
16
+ lat_min: number;
17
+ lng_min: number;
18
+ lat_max: number;
19
+ lng_max: number;
20
+ } & ApiCommonData;
21
+ } & Omit<ApiSuccess, 'data'> | ApiError;
22
+ export type ApiInsetMapData = Flatten<Exclude<ApiInsetMap, ApiError>['data']>;
23
+ type Boundary = {
24
+ topLeft: {
25
+ lat: number;
26
+ lng: number;
27
+ };
28
+ bottomRight: {
29
+ lat: number;
30
+ lng: number;
31
+ };
32
+ };
33
+ export declare function listInsetMaps(boundary: Boundary): Promise<InsetMap[]>;
34
+ export declare function getInsetMap(insetMapId: number): Promise<InsetMap>;
35
+ export declare function getInsetMapTopoJson<TopoJSON>(insetMapId: number): Promise<TopoJSON>;
36
+ export {};
37
+ //# sourceMappingURL=insetMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insetMap.d.ts","sourceRoot":"","sources":["../../src/api/insetMap.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,OAAO,EAIb,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,aAAa,CAAC;CACnB,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9E,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,EAAE;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,wBAAsB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAQ3E;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAIvE;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgCzF"}
@@ -0,0 +1,44 @@
1
+ import { apiHost, authenticate, token } from '../oauth.js';
2
+ import { APIError, HTTPError, NetworkError, request, } from '../utils.js';
3
+ export async function listInsetMaps(boundary) {
4
+ const path = `/v1/inset-maps/for-boundary`;
5
+ return request(path, boundary);
6
+ }
7
+ export async function getInsetMap(insetMapId) {
8
+ const path = `/v1/inset-maps/${insetMapId}`;
9
+ return request(path);
10
+ }
11
+ export async function getInsetMapTopoJson(insetMapId) {
12
+ const href = `${apiHost}/v1/inset-maps/${insetMapId}/json`;
13
+ const headers = Object.assign({ Accept: 'application/json' }, (token ? { Authorization: token.toString() } : null));
14
+ const response = await fetch(href, { headers }).catch((error) => {
15
+ var _a;
16
+ throw new NetworkError((_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : error);
17
+ });
18
+ if (response.ok) {
19
+ return response.json().catch(() => {
20
+ throw new APIError({
21
+ success: false,
22
+ error: { type: 'SyntaxError', message: 'Malformed JSON response' },
23
+ });
24
+ });
25
+ }
26
+ else {
27
+ // eslint-disable-next-line default-case
28
+ switch (response.status) {
29
+ case 401:
30
+ await authenticate();
31
+ break; // NO-OP
32
+ case 403:
33
+ case 404:
34
+ case 406:
35
+ case 429:
36
+ throw new APIError({
37
+ success: false,
38
+ error: { type: 'HttpException', message: response.statusText },
39
+ });
40
+ }
41
+ throw new HTTPError(response);
42
+ }
43
+ }
44
+ //# sourceMappingURL=insetMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insetMap.js","sourceRoot":"","sources":["../../src/api/insetMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,QAAQ,EAKR,SAAS,EACT,YAAY,EACZ,OAAO,GACR,MAAM,aAAa,CAAC;AAqCrB,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAkB;IACpD,MAAM,IAAI,GAAG,6BAA6B,CAAC;IAM3C,OAAO,OAAO,CAA6B,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,MAAM,IAAI,GAAG,kBAAkB,UAAU,EAAE,CAAC;IAE5C,OAAO,OAAO,CAAwB,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAW,UAAkB;IACpE,MAAM,IAAI,GAAG,GAAG,OAAO,kBAAkB,UAAU,OAAO,CAAC;IAC3D,MAAM,OAAO,mBAAK,MAAM,EAAE,kBAAkB,IAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAE,CAAC;IACxG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;;QACrE,MAAM,IAAI,YAAY,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,yBAAyB,EAAE;aACnE,CAAC,CAAC;QACL,CAAC,CAAsB,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,wCAAwC;QACxC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,GAAG;gBACN,MAAM,YAAY,EAAE,CAAC;gBACrB,MAAM,CAAC,QAAQ;YACjB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,MAAM,IAAI,QAAQ,CAAC;oBACjB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE;iBAC/D,CAAC,CAAC;QACP,CAAC;QAED,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
package/esm/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export * from './api/feature.js';
6
6
  export * from './api/font.js';
7
7
  export * from './api/fontFamily.js';
8
8
  export * from './api/highlight.js';
9
+ export * from './api/insetMap.js';
9
10
  export * from './api/job.js';
10
11
  export * from './api/jobResult.js';
11
12
  export * from './api/jobRevision.js';
@@ -1 +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,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"}
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 CHANGED
@@ -6,6 +6,7 @@ export * from './api/feature.js';
6
6
  export * from './api/font.js';
7
7
  export * from './api/fontFamily.js';
8
8
  export * from './api/highlight.js';
9
+ export * from './api/insetMap.js';
9
10
  export * from './api/job.js';
10
11
  export * from './api/jobResult.js';
11
12
  export * from './api/jobRevision.js';
package/esm/index.js.map CHANGED
@@ -1 +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,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"}
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mapcreator/api",
3
- "version": "5.0.0-alpha.58",
3
+ "version": "5.0.0-alpha.59",
4
4
  "description": "Mapcreator JavaScript API",
5
5
  "license": "BSD-3-Clause",
6
6
  "main": "./cjs/index.js",
@@ -75,6 +75,6 @@
75
75
  "@typescript-eslint/eslint-plugin": "~6.15",
76
76
  "@typescript-eslint/parser": "~6.15",
77
77
  "eslint": "~8.57",
78
- "typescript": "~5.6.3"
78
+ "typescript": "~5.8.3"
79
79
  }
80
80
  }
@@ -0,0 +1,96 @@
1
+ import { apiHost, authenticate, token } from '../oauth.js';
2
+ import {
3
+ APIError,
4
+ type ApiCommonData,
5
+ type ApiError,
6
+ type ApiSuccess,
7
+ type Flatten,
8
+ HTTPError,
9
+ NetworkError,
10
+ request,
11
+ } from '../utils.js';
12
+
13
+ export type InsetMap = {
14
+ id: number;
15
+ description: string;
16
+ jsonFilename: string;
17
+ latMin: number;
18
+ lngMin: number;
19
+ latMax: number;
20
+ lngMax: number;
21
+ };
22
+
23
+ export type ApiInsetMap = {
24
+ data: {
25
+ id: number;
26
+ description: string;
27
+ json_filename: string;
28
+ lat_min: number;
29
+ lng_min: number;
30
+ lat_max: number;
31
+ lng_max: number;
32
+ } & ApiCommonData;
33
+ } & Omit<ApiSuccess, 'data'> | ApiError;
34
+
35
+ export type ApiInsetMapData = Flatten<Exclude<ApiInsetMap, ApiError>['data']>;
36
+
37
+ type Boundary = {
38
+ topLeft: {
39
+ lat: number;
40
+ lng: number;
41
+ };
42
+ bottomRight: {
43
+ lat: number;
44
+ lng: number;
45
+ };
46
+ };
47
+
48
+ export async function listInsetMaps(boundary: Boundary): Promise<InsetMap[]> {
49
+ const path = `/v1/inset-maps/for-boundary`;
50
+
51
+ type ApiInsetMapArray = {
52
+ data: ApiInsetMapData[];
53
+ } & Omit<ApiSuccess, 'data'> | ApiError;
54
+
55
+ return request<ApiInsetMapArray, InsetMap>(path, boundary);
56
+ }
57
+
58
+ export async function getInsetMap(insetMapId: number): Promise<InsetMap> {
59
+ const path = `/v1/inset-maps/${insetMapId}`;
60
+
61
+ return request<ApiInsetMap, InsetMap>(path);
62
+ }
63
+
64
+ export async function getInsetMapTopoJson<TopoJSON>(insetMapId: number): Promise<TopoJSON> {
65
+ const href = `${apiHost}/v1/inset-maps/${insetMapId}/json`;
66
+ const headers = { Accept: 'application/json', ...(token ? { Authorization: token.toString() } : null) };
67
+ const response = await fetch(href, { headers }).catch((error: Error) => {
68
+ throw new NetworkError(error?.message ?? error);
69
+ });
70
+
71
+ if (response.ok) {
72
+ return response.json().catch(() => {
73
+ throw new APIError({
74
+ success: false,
75
+ error: { type: 'SyntaxError', message: 'Malformed JSON response' },
76
+ });
77
+ }) as Promise<TopoJSON>;
78
+ } else {
79
+ // eslint-disable-next-line default-case
80
+ switch (response.status) {
81
+ case 401:
82
+ await authenticate();
83
+ break; // NO-OP
84
+ case 403:
85
+ case 404:
86
+ case 406:
87
+ case 429:
88
+ throw new APIError({
89
+ success: false,
90
+ error: { type: 'HttpException', message: response.statusText },
91
+ });
92
+ }
93
+
94
+ throw new HTTPError(response);
95
+ }
96
+ }
package/src/index.ts CHANGED
@@ -6,6 +6,7 @@ export * from './api/feature.js';
6
6
  export * from './api/font.js';
7
7
  export * from './api/fontFamily.js';
8
8
  export * from './api/highlight.js';
9
+ export * from './api/insetMap.js';
9
10
  export * from './api/job.js';
10
11
  export * from './api/jobResult.js';
11
12
  export * from './api/jobRevision.js';