anilink-api-wrapper 1.22.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/AniLink.js CHANGED
@@ -55,6 +55,7 @@ const SaveListActivity_1 = require("./apis/anilist/mutation/SaveListActivity");
55
55
  const DeleteActivity_1 = require("./apis/anilist/mutation/DeleteActivity");
56
56
  const ToggleActivitySubscription_1 = require("./apis/anilist/mutation/ToggleActivitySubscription");
57
57
  const ToggleActivityPin_1 = require("./apis/anilist/mutation/ToggleActivityPin");
58
+ const SaveActivityReply_1 = require("./apis/anilist/mutation/SaveActivityReply");
58
59
  /**
59
60
  * `AniLink` is a class for interacting with the APIs.
60
61
  * It provides methods for querying and mutating data.
@@ -126,6 +127,7 @@ class AniLink {
126
127
  const deleteActivityMutationInstance = new DeleteActivity_1.DeleteActivityMutation(authToken);
127
128
  const toggleActivityPinMutationInstance = new ToggleActivityPin_1.ToggleActivityPinMutation(authToken);
128
129
  const toggleActivitySubscriptionMutationInstance = new ToggleActivitySubscription_1.ToggleActivitySubscriptionMutation(authToken);
130
+ const saveActivityReplyMutationInstance = new SaveActivityReply_1.SaveActivityReplyMutation(authToken);
129
131
  this.anilist = {
130
132
  query: {
131
133
  user: userQueryInstance.user.bind(userQueryInstance),
@@ -185,7 +187,8 @@ class AniLink {
185
187
  saveListActivity: saveListActivityMutationInstance.saveListActivity.bind(saveListActivityMutationInstance),
186
188
  deleteActivity: deleteActivityMutationInstance.deleteActivity.bind(deleteActivityMutationInstance),
187
189
  toggleActivityPin: toggleActivityPinMutationInstance.toggleActivityPin.bind(toggleActivityPinMutationInstance),
188
- toggleActivitySubscription: toggleActivitySubscriptionMutationInstance.toggleActivitySubscription.bind(toggleActivitySubscriptionMutationInstance)
190
+ toggleActivitySubscription: toggleActivitySubscriptionMutationInstance.toggleActivitySubscription.bind(toggleActivitySubscriptionMutationInstance),
191
+ saveActivityReply: saveActivityReplyMutationInstance.saveActivityReply.bind(saveActivityReplyMutationInstance)
189
192
  }
190
193
  };
191
194
  }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SaveActivityReplyMutation = void 0;
13
+ const APIWrapper_1 = require("../../../base/APIWrapper");
14
+ const RequestHandler_1 = require("../../../base/RequestHandler");
15
+ const ValidateVariables_1 = require("../../../base/ValidateVariables");
16
+ const ActivityReply_1 = require("../interfaces/ActivityReply");
17
+ /**
18
+ * `SaveActivityReplyMutation` is a class representing a mutation to save an activity reply.
19
+ * It includes a method to save an activity reply
20
+ */
21
+ class SaveActivityReplyMutation extends APIWrapper_1.APIWrapper {
22
+ /**
23
+ * Constructs a new `SaveActivityReplyMutation` instance.
24
+ *
25
+ * @param authToken - The authentication token.
26
+ */
27
+ constructor(authToken) {
28
+ super('https://graphql.anilist.co');
29
+ this.authToken = authToken;
30
+ }
31
+ /**
32
+ * `SaveActivityReply` is a method that sends a mutation request to save an activity reply.
33
+ *
34
+ * @param variables - An object of type `SaveActivityReplyVariables` representing the variables for the mutation.
35
+ * @returns A Promise that resolves to the response from the mutation request.
36
+ * @throws Will throw an error if the mutation request fails or if the provided variables do not pass the validation checks.
37
+ * */
38
+ saveActivityReply(variables) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ if (!this.authToken) {
41
+ throw new Error('SaveActivityReplyMutation requires an authentication token. Create a new instance of AniLink and pass the token as an argument.');
42
+ }
43
+ if (!variables.id && !variables.text) {
44
+ throw new Error('id or text variable is required');
45
+ }
46
+ const variableTypeMappings = {
47
+ id: 'number',
48
+ activityId: 'number',
49
+ text: 'string',
50
+ asMod: 'boolean',
51
+ asHtml: 'boolean'
52
+ };
53
+ (0, ValidateVariables_1.validateVariables)(variables, variableTypeMappings);
54
+ const mutation = `
55
+ mutation ($id: Int, $activityId: Int, $text: String, $asMod: Boolean, $asHtml: Boolean) {
56
+ SaveActivityReply (id: $id, activityId: $activityId, text: $text, asMod: $asMod) {
57
+ ${ActivityReply_1.ActivityReplySchema}
58
+ }
59
+ }
60
+ `;
61
+ const data = { query: mutation, variables };
62
+ return yield (0, RequestHandler_1.sendRequest)(this.baseURL, 'POST', data, this.authToken);
63
+ });
64
+ }
65
+ }
66
+ exports.SaveActivityReplyMutation = SaveActivityReplyMutation;
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "anilink-api-wrapper",
3
- "version": "1.22.0",
3
+ "version": "1.23.0",
4
4
  "description": "API wrapper for AniManga sites such as Anilist, MyAnimeList, Kitsu.",
5
5
  "main": "dist/AniLink.js",
6
6
  "scripts": {
7
7
  "test": "jest",
8
- "build": "tsc",
8
+ "build": "rimraf dist && tsc",
9
9
  "generate-docs": "typedoc --entryPoints ./src --entryPointStrategy expand --out docs --plugin typedoc-theme-hierarchy --theme hierarchy && node add-ga.js",
10
10
  "prepublishOnly": "npm run build"
11
11
  },
@@ -33,6 +33,7 @@
33
33
  "eslint-plugin-n": "^15.7.0",
34
34
  "eslint-plugin-promise": "^6.1.1",
35
35
  "jest": "^29.7.0",
36
+ "rimraf": "^5.0.5",
36
37
  "standard": "^17.1.0",
37
38
  "ts-jest": "^29.1.2",
38
39
  "typedoc": "^0.25.13",