lavalink-client 1.1.2 → 1.1.3

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.
@@ -112,7 +112,7 @@ class ManagerUitls {
112
112
  return false;
113
113
  if (data[exports.UnresolvedTrackSymbol] === true)
114
114
  return true;
115
- return typeof data === "object" && "info" in data && typeof data.info.title === "string" && typeof data.resolve === "function";
115
+ return typeof data === "object" && (("info" in data && typeof data.info.title === "string") || typeof data.encoded === "string") && typeof data.resolve === "function";
116
116
  }
117
117
  /**
118
118
  * Checks if the provided argument is a valid UnresolvedTrack.
@@ -134,7 +134,7 @@ class ManagerUitls {
134
134
  throw new RangeError('Argument "query" must be present.');
135
135
  const unresolvedTrack = {
136
136
  encoded: query.encoded || undefined,
137
- info: query.info ?? query,
137
+ info: query.info ? query.info : query.title ? query : undefined,
138
138
  requester: typeof this.manager.options?.playerOptions?.requesterTransformer === "function" ? this.manager.options?.playerOptions?.requesterTransformer((query?.requester || requester)) : requester,
139
139
  async resolve(player) {
140
140
  const closest = await getClosestTrack(this, player, player.LavalinkManager.utils);
@@ -145,6 +145,8 @@ class ManagerUitls {
145
145
  return;
146
146
  }
147
147
  };
148
+ if (!this.isUnresolvedTrack(unresolvedTrack))
149
+ throw SyntaxError("Could not build Unresolved Track");
148
150
  Object.defineProperty(unresolvedTrack, exports.UnresolvedTrackSymbol, { configurable: true, value: true });
149
151
  return unresolvedTrack;
150
152
  }
@@ -322,8 +324,8 @@ async function getClosestTrack(data, player, utils) {
322
324
  return utils.buildTrack(data, data.requester);
323
325
  if (!utils.isUnresolvedTrack(data))
324
326
  throw new RangeError("Track is not an unresolved Track");
325
- if (!data?.info?.title)
326
- throw new SyntaxError("the track title is required for unresolved tracks");
327
+ if (!data?.info?.title && typeof data.encoded !== "string" && !data.info.uri)
328
+ throw new SyntaxError("the track uri / title / encoded Base64 string is required for unresolved tracks");
327
329
  if (!data.requester)
328
330
  throw new SyntaxError("The requester is required");
329
331
  // try to decode the track, if possible
@@ -109,7 +109,7 @@ export class ManagerUitls {
109
109
  return false;
110
110
  if (data[UnresolvedTrackSymbol] === true)
111
111
  return true;
112
- return typeof data === "object" && "info" in data && typeof data.info.title === "string" && typeof data.resolve === "function";
112
+ return typeof data === "object" && (("info" in data && typeof data.info.title === "string") || typeof data.encoded === "string") && typeof data.resolve === "function";
113
113
  }
114
114
  /**
115
115
  * Checks if the provided argument is a valid UnresolvedTrack.
@@ -131,7 +131,7 @@ export class ManagerUitls {
131
131
  throw new RangeError('Argument "query" must be present.');
132
132
  const unresolvedTrack = {
133
133
  encoded: query.encoded || undefined,
134
- info: query.info ?? query,
134
+ info: query.info ? query.info : query.title ? query : undefined,
135
135
  requester: typeof this.manager.options?.playerOptions?.requesterTransformer === "function" ? this.manager.options?.playerOptions?.requesterTransformer((query?.requester || requester)) : requester,
136
136
  async resolve(player) {
137
137
  const closest = await getClosestTrack(this, player, player.LavalinkManager.utils);
@@ -142,6 +142,8 @@ export class ManagerUitls {
142
142
  return;
143
143
  }
144
144
  };
145
+ if (!this.isUnresolvedTrack(unresolvedTrack))
146
+ throw SyntaxError("Could not build Unresolved Track");
145
147
  Object.defineProperty(unresolvedTrack, UnresolvedTrackSymbol, { configurable: true, value: true });
146
148
  return unresolvedTrack;
147
149
  }
@@ -316,8 +318,8 @@ async function getClosestTrack(data, player, utils) {
316
318
  return utils.buildTrack(data, data.requester);
317
319
  if (!utils.isUnresolvedTrack(data))
318
320
  throw new RangeError("Track is not an unresolved Track");
319
- if (!data?.info?.title)
320
- throw new SyntaxError("the track title is required for unresolved tracks");
321
+ if (!data?.info?.title && typeof data.encoded !== "string" && !data.info.uri)
322
+ throw new SyntaxError("the track uri / title / encoded Base64 string is required for unresolved tracks");
321
323
  if (!data.requester)
322
324
  throw new SyntaxError("The requester is required");
323
325
  // try to decode the track, if possible
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lavalink-client",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "Easy and advanced lavalink client. Use it with lavalink plugins as well as latest lavalink versions",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",