comic-vine-sdk 1.0.4 → 1.1.1

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.
Files changed (104) hide show
  1. package/README.md +37 -7
  2. package/dist/cjs/comic-vine.d.ts +2 -1
  3. package/dist/cjs/comic-vine.js +4 -2
  4. package/dist/cjs/comic-vine.js.map +1 -1
  5. package/dist/cjs/errors/{comic-vine-error.d.ts → base-error.d.ts} +1 -1
  6. package/dist/cjs/errors/{comic-vine-error.js → base-error.js} +4 -4
  7. package/dist/cjs/errors/base-error.js.map +1 -0
  8. package/dist/cjs/errors/custom-error.d.ts +2 -0
  9. package/dist/cjs/errors/custom-error.js +12 -0
  10. package/dist/cjs/errors/custom-error.js.map +1 -0
  11. package/dist/cjs/errors/filter-error.d.ts +2 -2
  12. package/dist/cjs/errors/filter-error.js +2 -2
  13. package/dist/cjs/errors/filter-error.js.map +1 -1
  14. package/dist/cjs/errors/generic-error.d.ts +2 -2
  15. package/dist/cjs/errors/generic-error.js +5 -5
  16. package/dist/cjs/errors/generic-error.js.map +1 -1
  17. package/dist/cjs/errors/generic-request-error.d.ts +7 -0
  18. package/dist/cjs/errors/generic-request-error.js +20 -0
  19. package/dist/cjs/errors/generic-request-error.js.map +1 -0
  20. package/dist/cjs/errors/index.d.ts +3 -0
  21. package/dist/cjs/errors/index.js +3 -0
  22. package/dist/cjs/errors/index.js.map +1 -1
  23. package/dist/cjs/errors/jsonp-callback-missing-error.d.ts +2 -2
  24. package/dist/cjs/errors/jsonp-callback-missing-error.js +2 -2
  25. package/dist/cjs/errors/jsonp-callback-missing-error.js.map +1 -1
  26. package/dist/cjs/errors/object-not-found-error.d.ts +2 -2
  27. package/dist/cjs/errors/object-not-found-error.js +2 -2
  28. package/dist/cjs/errors/object-not-found-error.js.map +1 -1
  29. package/dist/cjs/errors/options-validation-error.d.ts +4 -0
  30. package/dist/cjs/errors/options-validation-error.js +14 -0
  31. package/dist/cjs/errors/options-validation-error.js.map +1 -0
  32. package/dist/cjs/errors/subscriber-only-error.d.ts +2 -2
  33. package/dist/cjs/errors/subscriber-only-error.js +2 -2
  34. package/dist/cjs/errors/subscriber-only-error.js.map +1 -1
  35. package/dist/cjs/errors/unauthorized-error.d.ts +2 -2
  36. package/dist/cjs/errors/unauthorized-error.js +2 -2
  37. package/dist/cjs/errors/unauthorized-error.js.map +1 -1
  38. package/dist/cjs/errors/url-format-error.d.ts +2 -2
  39. package/dist/cjs/errors/url-format-error.js +2 -2
  40. package/dist/cjs/errors/url-format-error.js.map +1 -1
  41. package/dist/cjs/http-client/http-client-factory.d.ts +1 -1
  42. package/dist/cjs/http-client/http-client-factory.js +2 -2
  43. package/dist/cjs/http-client/http-client-factory.js.map +1 -1
  44. package/dist/cjs/http-client/http-client.js +3 -3
  45. package/dist/cjs/http-client/http-client.js.map +1 -1
  46. package/dist/cjs/http-client/url-builder.d.ts +1 -1
  47. package/dist/cjs/http-client/url-builder.js +2 -2
  48. package/dist/cjs/http-client/url-builder.js.map +1 -1
  49. package/dist/cjs/options/index.d.ts +16 -0
  50. package/dist/cjs/options/index.js +26 -0
  51. package/dist/cjs/options/index.js.map +1 -0
  52. package/dist/mjs/comic-vine.d.ts +2 -1
  53. package/dist/mjs/comic-vine.js +4 -2
  54. package/dist/mjs/comic-vine.js.map +1 -1
  55. package/dist/mjs/errors/{comic-vine-error.d.ts → base-error.d.ts} +1 -1
  56. package/dist/mjs/errors/{comic-vine-error.js → base-error.js} +2 -2
  57. package/dist/mjs/errors/base-error.js.map +1 -0
  58. package/dist/mjs/errors/custom-error.d.ts +2 -0
  59. package/dist/mjs/errors/custom-error.js +8 -0
  60. package/dist/mjs/errors/custom-error.js.map +1 -0
  61. package/dist/mjs/errors/filter-error.d.ts +2 -2
  62. package/dist/mjs/errors/filter-error.js +2 -2
  63. package/dist/mjs/errors/filter-error.js.map +1 -1
  64. package/dist/mjs/errors/generic-error.d.ts +2 -2
  65. package/dist/mjs/errors/generic-error.js +3 -3
  66. package/dist/mjs/errors/generic-error.js.map +1 -1
  67. package/dist/mjs/errors/generic-request-error.d.ts +7 -0
  68. package/dist/mjs/errors/generic-request-error.js +15 -0
  69. package/dist/mjs/errors/generic-request-error.js.map +1 -0
  70. package/dist/mjs/errors/index.d.ts +3 -0
  71. package/dist/mjs/errors/index.js +3 -0
  72. package/dist/mjs/errors/index.js.map +1 -1
  73. package/dist/mjs/errors/jsonp-callback-missing-error.d.ts +2 -2
  74. package/dist/mjs/errors/jsonp-callback-missing-error.js +2 -2
  75. package/dist/mjs/errors/jsonp-callback-missing-error.js.map +1 -1
  76. package/dist/mjs/errors/object-not-found-error.d.ts +2 -2
  77. package/dist/mjs/errors/object-not-found-error.js +2 -2
  78. package/dist/mjs/errors/object-not-found-error.js.map +1 -1
  79. package/dist/mjs/errors/options-validation-error.d.ts +4 -0
  80. package/dist/mjs/errors/options-validation-error.js +10 -0
  81. package/dist/mjs/errors/options-validation-error.js.map +1 -0
  82. package/dist/mjs/errors/subscriber-only-error.d.ts +2 -2
  83. package/dist/mjs/errors/subscriber-only-error.js +2 -2
  84. package/dist/mjs/errors/subscriber-only-error.js.map +1 -1
  85. package/dist/mjs/errors/unauthorized-error.d.ts +2 -2
  86. package/dist/mjs/errors/unauthorized-error.js +2 -2
  87. package/dist/mjs/errors/unauthorized-error.js.map +1 -1
  88. package/dist/mjs/errors/url-format-error.d.ts +2 -2
  89. package/dist/mjs/errors/url-format-error.js +2 -2
  90. package/dist/mjs/errors/url-format-error.js.map +1 -1
  91. package/dist/mjs/http-client/http-client-factory.d.ts +1 -1
  92. package/dist/mjs/http-client/http-client-factory.js +2 -2
  93. package/dist/mjs/http-client/http-client-factory.js.map +1 -1
  94. package/dist/mjs/http-client/http-client.js +4 -4
  95. package/dist/mjs/http-client/http-client.js.map +1 -1
  96. package/dist/mjs/http-client/url-builder.d.ts +1 -1
  97. package/dist/mjs/http-client/url-builder.js +3 -2
  98. package/dist/mjs/http-client/url-builder.js.map +1 -1
  99. package/dist/mjs/options/index.d.ts +16 -0
  100. package/dist/mjs/options/index.js +22 -0
  101. package/dist/mjs/options/index.js.map +1 -0
  102. package/package.json +6 -2
  103. package/dist/cjs/errors/comic-vine-error.js.map +0 -1
  104. package/dist/mjs/errors/comic-vine-error.js.map +0 -1
package/README.md CHANGED
@@ -5,11 +5,11 @@ The Comic Vine SDK provides convenient access to the [Comic Vine API][comic-vine
5
5
  ## Table of Contents
6
6
 
7
7
  - [Installation](#installation)
8
- - [Browser Support](#browser-support)
9
8
  - [Roadmap](#roadmap)
10
9
  - [Comic Vine Resources](#comic-vine-resources)
11
10
  - [Usage/Examples](#usageexamples)
12
11
  - [Initialization](#initialization)
12
+ - [Options](#options)
13
13
  - [Fetch a single resource](#fetch-a-single-resource)
14
14
  - [Fetch a resource list](#fetch-a-resource-list)
15
15
  - [Limit the fields in the response payload](#limit-the-fields-in-the-response-payload)
@@ -27,18 +27,12 @@ npm install comic-vine-sdk
27
27
  yarn add comic-vine-sdk
28
28
  ```
29
29
 
30
- ## Browser support
31
-
32
- This package does not currently work in a web browser, the Comic Vine API does not allow [cross-origin](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) requests. The recommended approach would be to use it server side, however, in a future update an option to set the baseUrl will be added. This option could be used to proxy the request assuming you have some safe way for the web client to fetch your api key, you don't want to send the api key to the browser in your JS bundle.
33
-
34
30
  ## TypeScript Typings
35
31
 
36
32
  There's a good change you may find an issue with the typings in the API response objects. They were generated using sample data from the API, if you find a problem [open an issue](https://github.com/AllyMurray/comic-vine/issues/new) detailing the problem along with the request details so I can add that request to the sample dataset. While you wait for it to be fixed add `// @ts-expect-error` above the line causing the problem. This will allow you to compile in the meantime but will flag when the problem has been fixed.
37
33
 
38
34
  ## Roadmap
39
35
 
40
- - Add option to set baseUrl when initializing the library
41
-
42
36
  - Automatic Pagination
43
37
 
44
38
  - Expandable responses
@@ -109,6 +103,42 @@ const comicVine = new ComicVine('your-api-key-here');
109
103
  })();
110
104
  ```
111
105
 
106
+ ### Options
107
+
108
+ The second parameter of the constructor accepts options to configure the library
109
+
110
+ ```js
111
+ new ComicVine('your-api-key-here', options);
112
+ ```
113
+
114
+ ### `baseUrl`
115
+
116
+ **Type: <code>string | undefined</code>**
117
+
118
+ **Default: https://comicvine.gamespot.com/api/**
119
+
120
+ If using the package in node then leave this as the default value. The Comic Vine API does not allow [cross-origin](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) requests. This option could be used to proxy the request assuming you have some safe way for the web client to fetch your api key, you don't want to send the api key to the browser in your JS bundle.
121
+
122
+ ```js
123
+ import ComicVine from 'comic-vine-sdk';
124
+
125
+ // This is just an example, to try it out you would
126
+ // have to visit (https://cors-anywhere.herokuapp.com)
127
+ // to request temporary access.
128
+ const comicVine = new ComicVine('your-api-key-here', {
129
+ baseUrl: 'https://cors-anywhere.herokuapp.com/https://www.comicvine.com/api/',
130
+ });
131
+
132
+ (async () => {
133
+ try {
134
+ const publisher = await comicVine.publisher.retrieve(1859);
135
+ console.log(publisher.name);
136
+ } catch (error) {
137
+ console.error(error);
138
+ }
139
+ })();
140
+ ```
141
+
112
142
  ### Fetch a single resource
113
143
 
114
144
  All resources have a retrieve method, the following example retrieves a publisher
@@ -1,3 +1,4 @@
1
+ import { userOptions } from './options';
1
2
  export declare class ComicVine {
2
3
  private _character;
3
4
  private _concept;
@@ -18,7 +19,7 @@ export declare class ComicVine {
18
19
  private _videoCategory;
19
20
  private _videoType;
20
21
  private _volume;
21
- constructor(key: string);
22
+ constructor(key: string, options?: userOptions);
22
23
  get character(): import("./resources/character").Character;
23
24
  get concept(): import("./resources/concept").Concept;
24
25
  get episode(): import("./resources/episode").Episode;
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ComicVine = void 0;
4
+ const options_1 = require("./options");
4
5
  const http_client_1 = require("./http-client");
5
6
  const resources_1 = require("./resources");
6
7
  class ComicVine {
7
- constructor(key) {
8
+ constructor(key, options) {
9
+ const _options = (0, options_1.loadOptions)(options);
8
10
  const httpClient = http_client_1.HttpClientFactory.createClient();
9
- const urlBuilder = http_client_1.HttpClientFactory.createUrlBuilder(key);
11
+ const urlBuilder = http_client_1.HttpClientFactory.createUrlBuilder(key, _options.baseUrl);
10
12
  const resourceFactory = new resources_1.ResourceFactory(httpClient, urlBuilder);
11
13
  this._character = resourceFactory.create('Character');
12
14
  this._concept = resourceFactory.create('Concept');
@@ -1 +1 @@
1
- {"version":3,"file":"comic-vine.js","sourceRoot":"","sources":["../../src/comic-vine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comic-vine.js","sourceRoot":"","sources":["../../src/comic-vine.ts"],"names":[],"mappings":";;;AAAA,uCAAqD;AACrD,+CAAkD;AAClD,2CAA8C;AAE9C,MAAa,SAAS;IAqBpB,YAAY,GAAW,EAAE,OAAqB;QAC5C,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,OAAO,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,+BAAiB,CAAC,YAAY,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,+BAAiB,CAAC,gBAAgB,CACnD,GAAG,EACH,QAAQ,CAAC,OAAO,CACjB,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,2BAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AA9HD,8BA8HC"}
@@ -2,7 +2,7 @@ interface ErrorDetails {
2
2
  message: string;
3
3
  help: string;
4
4
  }
5
- export declare abstract class ComicVineError extends Error {
5
+ export declare abstract class BaseError extends Error {
6
6
  help: string;
7
7
  constructor(details: ErrorDetails);
8
8
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ComicVineError = void 0;
4
- class ComicVineError extends Error {
3
+ exports.BaseError = void 0;
4
+ class BaseError extends Error {
5
5
  constructor(details) {
6
6
  super(details.message);
7
7
  this.name = this.constructor.name;
@@ -11,5 +11,5 @@ class ComicVineError extends Error {
11
11
  this.help = details.help;
12
12
  }
13
13
  }
14
- exports.ComicVineError = ComicVineError;
15
- //# sourceMappingURL=comic-vine-error.js.map
14
+ exports.BaseError = BaseError;
15
+ //# sourceMappingURL=base-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-error.js","sourceRoot":"","sources":["../../../src/errors/base-error.ts"],"names":[],"mappings":";;;AAKA,MAAsB,SAAU,SAAQ,KAAK;IAG3C,YAAY,OAAqB;QAE/B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAGlC,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAC3B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SACjD;QAGD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAhBD,8BAgBC"}
@@ -0,0 +1,2 @@
1
+ import { GenericError } from './generic-error';
2
+ export declare const customError: (error: unknown) => GenericError;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.customError = void 0;
4
+ const generic_error_1 = require("./generic-error");
5
+ const customError = (error) => {
6
+ if (error instanceof Error) {
7
+ return new generic_error_1.GenericError(error.message);
8
+ }
9
+ return new generic_error_1.GenericError();
10
+ };
11
+ exports.customError = customError;
12
+ //# sourceMappingURL=custom-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-error.js","sourceRoot":"","sources":["../../../src/errors/custom-error.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAExC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE;IAC5C,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,IAAI,4BAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACxC;IACD,OAAO,IAAI,4BAAY,EAAE,CAAC;AAC5B,CAAC,CAAC;AALW,QAAA,WAAW,eAKtB"}
@@ -1,4 +1,4 @@
1
- import { ComicVineError } from './comic-vine-error';
2
- export declare class ComicVineFilterError extends ComicVineError {
1
+ import { BaseError } from './base-error';
2
+ export declare class ComicVineFilterError extends BaseError {
3
3
  constructor();
4
4
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ComicVineFilterError = void 0;
4
- const comic_vine_error_1 = require("./comic-vine-error");
5
- class ComicVineFilterError extends comic_vine_error_1.ComicVineError {
4
+ const base_error_1 = require("./base-error");
5
+ class ComicVineFilterError extends base_error_1.BaseError {
6
6
  constructor() {
7
7
  super({
8
8
  message: 'There was a problem trying to filter the API results',
@@ -1 +1 @@
1
- {"version":3,"file":"filter-error.js","sourceRoot":"","sources":["../../../src/errors/filter-error.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAEpD,MAAa,oBAAqB,SAAQ,iCAAc;IACtD;QACE,KAAK,CAAC;YACJ,OAAO,EAAE,sDAAsD;YAC/D,IAAI,EAAE,qGAAqG;SAC5G,CAAC,CAAC;IACL,CAAC;CACF;AAPD,oDAOC"}
1
+ {"version":3,"file":"filter-error.js","sourceRoot":"","sources":["../../../src/errors/filter-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,MAAa,oBAAqB,SAAQ,sBAAS;IACjD;QACE,KAAK,CAAC;YACJ,OAAO,EAAE,sDAAsD;YAC/D,IAAI,EAAE,qGAAqG;SAC5G,CAAC,CAAC;IACL,CAAC;CACF;AAPD,oDAOC"}
@@ -1,4 +1,4 @@
1
- import { ComicVineError } from './comic-vine-error';
2
- export declare class ComicVineGenericError extends ComicVineError {
1
+ import { BaseError } from './base-error';
2
+ export declare class GenericError extends BaseError {
3
3
  constructor(message?: string);
4
4
  }
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ComicVineGenericError = void 0;
4
- const comic_vine_error_1 = require("./comic-vine-error");
5
- class ComicVineGenericError extends comic_vine_error_1.ComicVineError {
3
+ exports.GenericError = void 0;
4
+ const base_error_1 = require("./base-error");
5
+ class GenericError extends base_error_1.BaseError {
6
6
  constructor(message) {
7
7
  super({
8
- message: `Request to comic vine failed: ${message !== null && message !== void 0 ? message : 'Unknown Error'}`,
8
+ message: `An unexpected error occurred: ${message || 'Unknown Error'}`,
9
9
  help: 'Please open a Github issue with steps to reproduce: https://github.com/AllyMurray/comic-vine/issues',
10
10
  });
11
11
  }
12
12
  }
13
- exports.ComicVineGenericError = ComicVineGenericError;
13
+ exports.GenericError = GenericError;
14
14
  //# sourceMappingURL=generic-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generic-error.js","sourceRoot":"","sources":["../../../src/errors/generic-error.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAEpD,MAAa,qBAAsB,SAAQ,iCAAc;IACvD,YAAY,OAAgB;QAC1B,KAAK,CAAC;YACJ,OAAO,EAAE,iCAAiC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,eAAe,EAAE;YACtE,IAAI,EAAE,qGAAqG;SAC5G,CAAC,CAAC;IACL,CAAC;CACF;AAPD,sDAOC"}
1
+ {"version":3,"file":"generic-error.js","sourceRoot":"","sources":["../../../src/errors/generic-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,MAAa,YAAa,SAAQ,sBAAS;IACzC,YAAY,OAAgB;QAC1B,KAAK,CAAC;YACJ,OAAO,EAAE,iCAAiC,OAAO,IAAI,eAAe,EAAE;YACtE,IAAI,EAAE,qGAAqG;SAC5G,CAAC,CAAC;IACL,CAAC;CACF;AAPD,oCAOC"}
@@ -0,0 +1,7 @@
1
+ import { BaseError } from './base-error';
2
+ export declare class ComicVineGenericError extends BaseError {
3
+ constructor(message?: string);
4
+ }
5
+ export declare class ComicVineGenericRequestError extends ComicVineGenericError {
6
+ constructor(message?: string);
7
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComicVineGenericRequestError = exports.ComicVineGenericError = void 0;
4
+ const base_error_1 = require("./base-error");
5
+ class ComicVineGenericError extends base_error_1.BaseError {
6
+ constructor(message) {
7
+ super({
8
+ message: `Request to comic vine failed: ${message !== null && message !== void 0 ? message : 'Unknown Error'}`,
9
+ help: 'Please open a Github issue with steps to reproduce: https://github.com/AllyMurray/comic-vine/issues',
10
+ });
11
+ }
12
+ }
13
+ exports.ComicVineGenericError = ComicVineGenericError;
14
+ class ComicVineGenericRequestError extends ComicVineGenericError {
15
+ constructor(message) {
16
+ super(message);
17
+ }
18
+ }
19
+ exports.ComicVineGenericRequestError = ComicVineGenericRequestError;
20
+ //# sourceMappingURL=generic-request-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-request-error.js","sourceRoot":"","sources":["../../../src/errors/generic-request-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAKzC,MAAa,qBAAsB,SAAQ,sBAAS;IAClD,YAAY,OAAgB;QAC1B,KAAK,CAAC;YACJ,OAAO,EAAE,iCAAiC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,eAAe,EAAE;YACtE,IAAI,EAAE,qGAAqG;SAC5G,CAAC,CAAC;IACL,CAAC;CACF;AAPD,sDAOC;AAED,MAAa,4BAA6B,SAAQ,qBAAqB;IACrE,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAJD,oEAIC"}
@@ -1,7 +1,10 @@
1
+ export * from './custom-error';
1
2
  export * from './filter-error';
2
3
  export * from './generic-error';
4
+ export * from './generic-request-error';
3
5
  export * from './jsonp-callback-missing-error';
4
6
  export * from './object-not-found-error';
7
+ export * from './options-validation-error';
5
8
  export * from './subscriber-only-error';
6
9
  export * from './unauthorized-error';
7
10
  export * from './url-format-error';
@@ -14,10 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./custom-error"), exports);
17
18
  __exportStar(require("./filter-error"), exports);
18
19
  __exportStar(require("./generic-error"), exports);
20
+ __exportStar(require("./generic-request-error"), exports);
19
21
  __exportStar(require("./jsonp-callback-missing-error"), exports);
20
22
  __exportStar(require("./object-not-found-error"), exports);
23
+ __exportStar(require("./options-validation-error"), exports);
21
24
  __exportStar(require("./subscriber-only-error"), exports);
22
25
  __exportStar(require("./unauthorized-error"), exports);
23
26
  __exportStar(require("./url-format-error"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kDAAgC;AAChC,iEAA+C;AAC/C,2DAAyC;AACzC,0DAAwC;AACxC,uDAAqC;AACrC,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,kDAAgC;AAChC,0DAAwC;AACxC,iEAA+C;AAC/C,2DAAyC;AACzC,6DAA2C;AAC3C,0DAAwC;AACxC,uDAAqC;AACrC,qDAAmC"}
@@ -1,4 +1,4 @@
1
- import { ComicVineError } from './comic-vine-error';
2
- export declare class ComicJsonpCallbackMissingError extends ComicVineError {
1
+ import { BaseError } from './base-error';
2
+ export declare class ComicJsonpCallbackMissingError extends BaseError {
3
3
  constructor();
4
4
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ComicJsonpCallbackMissingError = void 0;
4
- const comic_vine_error_1 = require("./comic-vine-error");
5
- class ComicJsonpCallbackMissingError extends comic_vine_error_1.ComicVineError {
4
+ const base_error_1 = require("./base-error");
5
+ class ComicJsonpCallbackMissingError extends base_error_1.BaseError {
6
6
  constructor() {
7
7
  super({
8
8
  message: 'JSONP format requires a callback',
@@ -1 +1 @@
1
- {"version":3,"file":"jsonp-callback-missing-error.js","sourceRoot":"","sources":["../../../src/errors/jsonp-callback-missing-error.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAEpD,MAAa,8BAA+B,SAAQ,iCAAc;IAChE;QACE,KAAK,CAAC;YACJ,OAAO,EAAE,kCAAkC;YAC3C,IAAI,EAAE,sIAAsI;SAC7I,CAAC,CAAC;IACL,CAAC;CACF;AAPD,wEAOC"}
1
+ {"version":3,"file":"jsonp-callback-missing-error.js","sourceRoot":"","sources":["../../../src/errors/jsonp-callback-missing-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,MAAa,8BAA+B,SAAQ,sBAAS;IAC3D;QACE,KAAK,CAAC;YACJ,OAAO,EAAE,kCAAkC;YAC3C,IAAI,EAAE,sIAAsI;SAC7I,CAAC,CAAC;IACL,CAAC;CACF;AAPD,wEAOC"}
@@ -1,4 +1,4 @@
1
- import { ComicVineError } from './comic-vine-error';
2
- export declare class ComicVineObjectNotFoundError extends ComicVineError {
1
+ import { BaseError } from './base-error';
2
+ export declare class ComicVineObjectNotFoundError extends BaseError {
3
3
  constructor();
4
4
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ComicVineObjectNotFoundError = void 0;
4
- const comic_vine_error_1 = require("./comic-vine-error");
5
- class ComicVineObjectNotFoundError extends comic_vine_error_1.ComicVineError {
4
+ const base_error_1 = require("./base-error");
5
+ class ComicVineObjectNotFoundError extends base_error_1.BaseError {
6
6
  constructor() {
7
7
  super({
8
8
  message: 'The requested resource could not be found in the Comic Vine API',
@@ -1 +1 @@
1
- {"version":3,"file":"object-not-found-error.js","sourceRoot":"","sources":["../../../src/errors/object-not-found-error.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAEpD,MAAa,4BAA6B,SAAQ,iCAAc;IAC9D;QACE,KAAK,CAAC;YACJ,OAAO,EACL,iEAAiE;YACnE,IAAI,EAAE,0CAA0C;SACjD,CAAC,CAAC;IACL,CAAC;CACF;AARD,oEAQC"}
1
+ {"version":3,"file":"object-not-found-error.js","sourceRoot":"","sources":["../../../src/errors/object-not-found-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,MAAa,4BAA6B,SAAQ,sBAAS;IACzD;QACE,KAAK,CAAC;YACJ,OAAO,EACL,iEAAiE;YACnE,IAAI,EAAE,0CAA0C;SACjD,CAAC,CAAC;IACL,CAAC;CACF;AARD,oEAQC"}
@@ -0,0 +1,4 @@
1
+ import { BaseError } from './base-error';
2
+ export declare class OptionsValidationError extends BaseError {
3
+ constructor(path: Array<string | number>, message: string);
4
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OptionsValidationError = void 0;
4
+ const base_error_1 = require("./base-error");
5
+ class OptionsValidationError extends base_error_1.BaseError {
6
+ constructor(path, message) {
7
+ super({
8
+ message: `Property: ${path.join('.')}, Problem: ${message}`,
9
+ help: 'If the error message does not provide enough information or you believe there is a bug, please open a Github issue with steps to reproduce: https://github.com/AllyMurray/comic-vine/issues',
10
+ });
11
+ }
12
+ }
13
+ exports.OptionsValidationError = OptionsValidationError;
14
+ //# sourceMappingURL=options-validation-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options-validation-error.js","sourceRoot":"","sources":["../../../src/errors/options-validation-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,MAAa,sBAAuB,SAAQ,sBAAS;IACnD,YAAY,IAA4B,EAAE,OAAe;QACvD,KAAK,CAAC;YACJ,OAAO,EAAE,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE;YAC3D,IAAI,EAAE,6LAA6L;SACpM,CAAC,CAAC;IACL,CAAC;CACF;AAPD,wDAOC"}
@@ -1,4 +1,4 @@
1
- import { ComicVineError } from './comic-vine-error';
2
- export declare class ComicVineSubscriberOnlyError extends ComicVineError {
1
+ import { BaseError } from './base-error';
2
+ export declare class ComicVineSubscriberOnlyError extends BaseError {
3
3
  constructor();
4
4
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ComicVineSubscriberOnlyError = void 0;
4
- const comic_vine_error_1 = require("./comic-vine-error");
5
- class ComicVineSubscriberOnlyError extends comic_vine_error_1.ComicVineError {
4
+ const base_error_1 = require("./base-error");
5
+ class ComicVineSubscriberOnlyError extends base_error_1.BaseError {
6
6
  constructor() {
7
7
  super({
8
8
  message: 'The requested video is for subscribers only',
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber-only-error.js","sourceRoot":"","sources":["../../../src/errors/subscriber-only-error.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAEpD,MAAa,4BAA6B,SAAQ,iCAAc;IAC9D;QACE,KAAK,CAAC;YACJ,OAAO,EAAE,6CAA6C;YACtD,IAAI,EAAE,kIAAkI;SACzI,CAAC,CAAC;IACL,CAAC;CACF;AAPD,oEAOC"}
1
+ {"version":3,"file":"subscriber-only-error.js","sourceRoot":"","sources":["../../../src/errors/subscriber-only-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,MAAa,4BAA6B,SAAQ,sBAAS;IACzD;QACE,KAAK,CAAC;YACJ,OAAO,EAAE,6CAA6C;YACtD,IAAI,EAAE,kIAAkI;SACzI,CAAC,CAAC;IACL,CAAC;CACF;AAPD,oEAOC"}
@@ -1,4 +1,4 @@
1
- import { ComicVineError } from './comic-vine-error';
2
- export declare class ComicVineUnauthorizedError extends ComicVineError {
1
+ import { BaseError } from './base-error';
2
+ export declare class ComicVineUnauthorizedError extends BaseError {
3
3
  constructor();
4
4
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ComicVineUnauthorizedError = void 0;
4
- const comic_vine_error_1 = require("./comic-vine-error");
5
- class ComicVineUnauthorizedError extends comic_vine_error_1.ComicVineError {
4
+ const base_error_1 = require("./base-error");
5
+ class ComicVineUnauthorizedError extends base_error_1.BaseError {
6
6
  constructor() {
7
7
  super({
8
8
  message: 'Unauthorized response received when calling the Comic Vine API',
@@ -1 +1 @@
1
- {"version":3,"file":"unauthorized-error.js","sourceRoot":"","sources":["../../../src/errors/unauthorized-error.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAEpD,MAAa,0BAA2B,SAAQ,iCAAc;IAC5D;QACE,KAAK,CAAC;YACJ,OAAO,EAAE,gEAAgE;YACzE,IAAI,EAAE,4FAA4F;SACnG,CAAC,CAAC;IACL,CAAC;CACF;AAPD,gEAOC"}
1
+ {"version":3,"file":"unauthorized-error.js","sourceRoot":"","sources":["../../../src/errors/unauthorized-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,MAAa,0BAA2B,SAAQ,sBAAS;IACvD;QACE,KAAK,CAAC;YACJ,OAAO,EAAE,gEAAgE;YACzE,IAAI,EAAE,4FAA4F;SACnG,CAAC,CAAC;IACL,CAAC;CACF;AAPD,gEAOC"}
@@ -1,4 +1,4 @@
1
- import { ComicVineError } from './comic-vine-error';
2
- export declare class ComicVineUrlFormatError extends ComicVineError {
1
+ import { BaseError } from './base-error';
2
+ export declare class ComicVineUrlFormatError extends BaseError {
3
3
  constructor();
4
4
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ComicVineUrlFormatError = void 0;
4
- const comic_vine_error_1 = require("./comic-vine-error");
5
- class ComicVineUrlFormatError extends comic_vine_error_1.ComicVineError {
4
+ const base_error_1 = require("./base-error");
5
+ class ComicVineUrlFormatError extends base_error_1.BaseError {
6
6
  constructor() {
7
7
  super({
8
8
  message: 'The url for the request was not in the correct format',
@@ -1 +1 @@
1
- {"version":3,"file":"url-format-error.js","sourceRoot":"","sources":["../../../src/errors/url-format-error.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAEpD,MAAa,uBAAwB,SAAQ,iCAAc;IACzD;QACE,KAAK,CAAC;YACJ,OAAO,EAAE,uDAAuD;YAChE,IAAI,EAAE,qGAAqG;SAC5G,CAAC,CAAC;IACL,CAAC;CACF;AAPD,0DAOC"}
1
+ {"version":3,"file":"url-format-error.js","sourceRoot":"","sources":["../../../src/errors/url-format-error.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAEzC,MAAa,uBAAwB,SAAQ,sBAAS;IACpD;QACE,KAAK,CAAC;YACJ,OAAO,EAAE,uDAAuD;YAChE,IAAI,EAAE,qGAAqG;SAC5G,CAAC,CAAC;IACL,CAAC;CACF;AAPD,0DAOC"}
@@ -2,5 +2,5 @@ import { HttpClient } from './http-client';
2
2
  import { UrlBuilder } from './url-builder';
3
3
  export declare class HttpClientFactory {
4
4
  static createClient(): HttpClient;
5
- static createUrlBuilder(apiKey: string): UrlBuilder;
5
+ static createUrlBuilder(apiKey: string, baseUrl: string): UrlBuilder;
6
6
  }
@@ -7,8 +7,8 @@ class HttpClientFactory {
7
7
  static createClient() {
8
8
  return new http_client_1.HttpClient();
9
9
  }
10
- static createUrlBuilder(apiKey) {
11
- return new url_builder_1.UrlBuilder(apiKey);
10
+ static createUrlBuilder(apiKey, baseUrl) {
11
+ return new url_builder_1.UrlBuilder(apiKey, baseUrl);
12
12
  }
13
13
  }
14
14
  exports.HttpClientFactory = HttpClientFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"http-client-factory.js","sourceRoot":"","sources":["../../../src/http-client/http-client-factory.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,+CAA2C;AAE3C,MAAa,iBAAiB;IACrB,MAAM,CAAC,YAAY;QACxB,OAAO,IAAI,wBAAU,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,MAAc;QAC3C,OAAO,IAAI,wBAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF;AARD,8CAQC"}
1
+ {"version":3,"file":"http-client-factory.js","sourceRoot":"","sources":["../../../src/http-client/http-client-factory.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,+CAA2C;AAE3C,MAAa,iBAAiB;IACrB,MAAM,CAAC,YAAY;QACxB,OAAO,IAAI,wBAAU,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,OAAe;QAC5D,OAAO,IAAI,wBAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CACF;AARD,8CAQC"}
@@ -17,7 +17,7 @@ const axios_1 = __importDefault(require("axios"));
17
17
  const utils_1 = require("../utils");
18
18
  const status_code_1 = require("./status-code");
19
19
  const errors_1 = require("../errors");
20
- const comic_vine_error_1 = require("../errors/comic-vine-error");
20
+ const base_error_1 = require("../errors/base-error");
21
21
  class HttpClient {
22
22
  constructor() {
23
23
  this._http = axios_1.default.create({
@@ -44,7 +44,7 @@ class HttpClient {
44
44
  }
45
45
  generateClientError(err) {
46
46
  var _a, _b, _c;
47
- if (err instanceof comic_vine_error_1.ComicVineError) {
47
+ if (err instanceof base_error_1.BaseError) {
48
48
  return err;
49
49
  }
50
50
  const error = err;
@@ -52,7 +52,7 @@ class HttpClient {
52
52
  return new errors_1.ComicVineUnauthorizedError();
53
53
  }
54
54
  const errorMessage = (_c = (_b = error.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.message;
55
- return new errors_1.ComicVineGenericError(`${error.message}${errorMessage ? `, ${errorMessage}` : ''}`);
55
+ return new errors_1.ComicVineGenericRequestError(`${error.message}${errorMessage ? `, ${errorMessage}` : ''}`);
56
56
  }
57
57
  get(url) {
58
58
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/http-client/http-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAAyD;AAEzD,oCAAuD;AACvD,+CAA2C;AAC3C,sCAQmB;AACnB,iEAA4D;AAE5D,MAAa,UAAU;IAGrB;QACE,IAAI,CAAC,KAAK,GAAG,eAAK,CAAC,MAAM,CAAC;YACxB,iBAAiB,EAAE,CAAC,IAAS,EAAE,EAAE;gBAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAA,mCAA2B,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAS,QAAyC;QACtE,QAAQ,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE;YAChC,KAAK,wBAAU,CAAC,WAAW;gBACzB,MAAM,IAAI,6BAAoB,EAAE,CAAC;YACnC,KAAK,wBAAU,CAAC,oBAAoB;gBAClC,MAAM,IAAI,uCAA8B,EAAE,CAAC;YAC7C,KAAK,wBAAU,CAAC,cAAc;gBAC5B,MAAM,IAAI,qCAA4B,EAAE,CAAC;YAC3C,KAAK,wBAAU,CAAC,mBAAmB;gBACjC,MAAM,IAAI,qCAA4B,EAAE,CAAC;YAC3C,KAAK,wBAAU,CAAC,cAAc;gBAC5B,MAAM,IAAI,gCAAuB,EAAE,CAAC;YACtC;gBACE,OAAO,QAAQ,CAAC,IAAI,CAAC;SACxB;IACH,CAAC;IAEO,mBAAmB,CAAC,GAAQ;;QAClC,IAAI,GAAG,YAAY,iCAAc,EAAE;YACjC,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,KAAK,GAAG,GAAsB,CAAC;QACrC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YAClC,OAAO,IAAI,mCAA0B,EAAE,CAAC;SACzC;QAED,MAAM,YAAY,GAAG,MAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,0CAAE,OAAO,CAAC;QACnD,OAAO,IAAI,8BAAqB,CAC9B,GAAG,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7D,CAAC;IACJ,CAAC;IAEK,GAAG,CAAS,GAAW;;YAC3B,IAAI;gBACF,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,GAAG,CAAC,CAAC,CAAC;aACzE;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;aACvC;QACH,CAAC;KAAA;CACF;AAnDD,gCAmDC"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/http-client/http-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAAyD;AAEzD,oCAAuD;AACvD,+CAA2C;AAC3C,sCAQmB;AACnB,qDAAiD;AAEjD,MAAa,UAAU;IAGrB;QACE,IAAI,CAAC,KAAK,GAAG,eAAK,CAAC,MAAM,CAAC;YACxB,iBAAiB,EAAE,CAAC,IAAS,EAAE,EAAE;gBAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAA,mCAA2B,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAS,QAAyC;QACtE,QAAQ,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE;YAChC,KAAK,wBAAU,CAAC,WAAW;gBACzB,MAAM,IAAI,6BAAoB,EAAE,CAAC;YACnC,KAAK,wBAAU,CAAC,oBAAoB;gBAClC,MAAM,IAAI,uCAA8B,EAAE,CAAC;YAC7C,KAAK,wBAAU,CAAC,cAAc;gBAC5B,MAAM,IAAI,qCAA4B,EAAE,CAAC;YAC3C,KAAK,wBAAU,CAAC,mBAAmB;gBACjC,MAAM,IAAI,qCAA4B,EAAE,CAAC;YAC3C,KAAK,wBAAU,CAAC,cAAc;gBAC5B,MAAM,IAAI,gCAAuB,EAAE,CAAC;YACtC;gBACE,OAAO,QAAQ,CAAC,IAAI,CAAC;SACxB;IACH,CAAC;IAEO,mBAAmB,CAAC,GAAQ;;QAClC,IAAI,GAAG,YAAY,sBAAS,EAAE;YAC5B,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,KAAK,GAAG,GAAsB,CAAC;QACrC,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YAClC,OAAO,IAAI,mCAA0B,EAAE,CAAC;SACzC;QAED,MAAM,YAAY,GAAG,MAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,0CAAE,OAAO,CAAC;QACnD,OAAO,IAAI,qCAA4B,CACrC,GAAG,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7D,CAAC;IACJ,CAAC;IAEK,GAAG,CAAS,GAAW;;YAC3B,IAAI;gBACF,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,GAAG,CAAC,CAAC,CAAC;aACzE;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;aACvC;QACH,CAAC;KAAA;CACF;AAnDD,gCAmDC"}
@@ -3,7 +3,7 @@ import { RetrieveOptions, ListOptions } from '../types';
3
3
  export declare class UrlBuilder {
4
4
  private apiKey;
5
5
  private baseUrl;
6
- constructor(apiKey: string);
6
+ constructor(apiKey: string, baseUrl: string);
7
7
  private getParam;
8
8
  private getFormatParm;
9
9
  private getApiKeyParm;
@@ -7,9 +7,9 @@ const isDefined = (value) => {
7
7
  return value != null;
8
8
  };
9
9
  class UrlBuilder {
10
- constructor(apiKey) {
10
+ constructor(apiKey, baseUrl) {
11
11
  this.apiKey = apiKey;
12
- this.baseUrl = 'https://comicvine.gamespot.com/api/';
12
+ this.baseUrl = baseUrl;
13
13
  }
14
14
  getParam(key, value) {
15
15
  if (value) {
@@ -1 +1 @@
1
- {"version":3,"file":"url-builder.js","sourceRoot":"","sources":["../../../src/http-client/url-builder.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAEzD,oCAAoE;AAEpE,MAAM,SAAS,GAAG,CAAI,KAAQ,EAA2B,EAAE;IACzD,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC,CAAC;AAOF,MAAa,UAAU;IAGrB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAF1B,YAAO,GAAG,qCAAqC,CAAC;IAEnB,CAAC;IAE9B,QAAQ,CAAC,GAAW,EAAE,KAAkC;QAC9D,IAAI,KAAK,EAAE;YACT,OAAO,EAAE,IAAI,EAAE,IAAA,mBAAW,EAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;SAC1C;IACH,CAAC;IAEO,aAAa;QACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3C,CAAC;IAEO,aAAa;QACnB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACjD,CAAC;IAEO,YAAY,CAAC,IAAW;QAC9B,IAAI,IAAI,EAAE;YACR,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;SACnE;IACH,CAAC;IAEO,aAAa,CAAC,KAAc;QAClC,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACtC;IACH,CAAC;IAEO,cAAc,CAAC,MAAe;QACpC,IAAI,MAAM,EAAE;YACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SACxC;IACH,CAAC;IAEO,kBAAkB,CAAM,SAA4B;QAC1D,IAAI,SAAS,EAAE;YACb,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,SAAS;qBACb,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,KAA0B,CAAC,CAAC;qBACvD,IAAI,CAAC,GAAG,CAAC;aACb,CAAC;SACH;IACH,CAAC;IAEO,eAAe,CAAa,MAA8B;QAChE,IAAI,MAAM,EAAE;YACV,MAAM,eAAe,GAAG,IAAA,mCAA2B,EAAM,MAAM,CAAC,CAAC;YACjE,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAM,eAAe,CAAC,CAAC,GAAG,CAC3D,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CACpC,CAAC;YAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;SAC1D;IACH,CAAC;IAEO,QAAQ,CACd,QAAgB,EAChB,WAA0C;QAE1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,IAAI,eAAe,CACzC,WAAW;aACR,MAAM,CAAC,SAAS,CAAC;aACjB,GAAG,CAAmB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAC1E,CAAC;QAEF,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;QAExC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAQD,QAAQ,CACN,YAA0B,EAC1B,EAAU,EACV,OAA8B;QAE9B,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,UAAU,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG;YAClB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,kBAAkB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC;SAC5C,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAOD,IAAI,CACF,YAA0B,EAC1B,OAA2C;QAE3C,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,YAAY,CAAC,CAAC,QAAQ,CAAC;QACpD,MAAM,WAAW,GAAG;YAClB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC;YAClC,IAAI,CAAC,cAAc,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;YAChC,IAAI,CAAC,kBAAkB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC;YAC3C,IAAI,CAAC,eAAe,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC;SACtC,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;CACF;AArHD,gCAqHC"}
1
+ {"version":3,"file":"url-builder.js","sourceRoot":"","sources":["../../../src/http-client/url-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ declare const options: z.ZodObject<{
3
+ baseUrl: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4
+ }, "strip", z.ZodTypeAny, {
5
+ baseUrl: string;
6
+ }, {
7
+ baseUrl?: string | undefined;
8
+ }>;
9
+ export declare type userOptions = z.input<typeof options>;
10
+ export declare type Options = z.output<typeof options>;
11
+ export declare const loadOptions: (userOptions?: {
12
+ baseUrl?: string | undefined;
13
+ } | undefined) => {
14
+ baseUrl: string;
15
+ };
16
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadOptions = void 0;
4
+ const zod_1 = require("zod");
5
+ const errors_1 = require("../errors");
6
+ const options = zod_1.z.object({
7
+ baseUrl: zod_1.z
8
+ .string()
9
+ .url()
10
+ .optional()
11
+ .default('https://comicvine.gamespot.com/api/'),
12
+ });
13
+ const loadOptions = (userOptions) => {
14
+ try {
15
+ return options.parse(userOptions !== null && userOptions !== void 0 ? userOptions : {});
16
+ }
17
+ catch (error) {
18
+ if (error instanceof zod_1.ZodError) {
19
+ const validationError = error.issues[0];
20
+ throw new errors_1.OptionsValidationError(validationError.path, validationError.message);
21
+ }
22
+ throw (0, errors_1.customError)(error);
23
+ }
24
+ };
25
+ exports.loadOptions = loadOptions;
26
+ //# sourceMappingURL=index.js.map