audible-api-ts 0.3.0 → 0.4.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.
- package/README.md +1 -0
- package/dist/fetch.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +212 -65
- package/dist/library.d.ts +13 -1
- package/dist/library.d.ts.map +1 -1
- package/dist/library.unit.test.d.ts +2 -0
- package/dist/library.unit.test.d.ts.map +1 -0
- package/dist/schemas.d.ts +66 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +4 -0
- package/dist/utils.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -118,6 +118,7 @@ Available genres: `'science-fiction'`, `'fantasy'`, `'thriller'`, `'romance'`, `
|
|
|
118
118
|
| `refresh(credentials)` | Manually refresh an access token (usually not needed — auto-refresh is built-in) |
|
|
119
119
|
| `library(credentials)` | Fetch all library audiobooks |
|
|
120
120
|
| `wishlist(credentials)` | Fetch all wishlist audiobooks |
|
|
121
|
+
| `lastPositions(credentials, asins)` | Where the reader last stopped in each title, the reliable progress signal |
|
|
121
122
|
| `catalog(credentials, options)` | Search catalog by category with sorting |
|
|
122
123
|
| `verify(credentials)` | Check if credentials are valid |
|
|
123
124
|
|
package/dist/fetch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAG5B,OAAO,EAA4B,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAqC,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAG5B,OAAO,EAA4B,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAqC,MAAM,YAAY,CAAA;AAWpG,eAAO,MAAM,YAAY,GAAU,CAAC,EAClC,MAAM,MAAM,EACZ,aAAa,kBAAkB,EAC/B,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;UAmBY,CAAC;;;;;;;;;;EAC5C,CAAA;AA2CD,eAAO,MAAM,aAAa,GAAI,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,KAAG,WAwDzE,CAAA;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,EAAE,KAAG,WAAW,EACW,CAAA;AAEpE,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EACZ,aAAa,kBAAkB,EAC/B,gBAAgB,MAAM,EACtB,cAAa,WAAW,EAAO,EAC/B,aAAQ,KACP,OAAO,CAAC;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,WAAW,EAAE,kBAAkB,CAAA;CAAE,CAiBnE,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { catalog } from './catalog.js';
|
|
|
2
2
|
export type { AudibleGenre } from './categories.js';
|
|
3
3
|
export { GENRE_CATEGORIES, resolveGenreId } from './categories.js';
|
|
4
4
|
export { login, refresh, register } from './client.js';
|
|
5
|
-
export { library, verify, wishlist } from './library.js';
|
|
5
|
+
export { lastPositions, library, verify, wishlist } from './library.js';
|
|
6
6
|
export { AUDIBLE_LOCALES } from './locales.js';
|
|
7
|
-
export type { AudibleCategory, AudibleCookie, AudibleCredentials, AudibleItem, AudibleLocale, AudibleRating, AudibleRelationship, AuthSession, CatalogOptions, CategoryLadder, ListeningStatus, LocaleConfig, RatingDistribution, } from './types.js';
|
|
7
|
+
export type { AudibleCategory, AudibleCookie, AudibleCredentials, AudibleItem, AudibleLocale, AudibleRating, AudibleRelationship, AuthSession, CatalogOptions, CategoryLadder, LastPosition, ListeningStatus, LocaleConfig, RatingDistribution, } from './types.js';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,YAAY,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,kBAAkB,GACnB,MAAM,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -12,19 +12,31 @@ var __export = (target, all) => {
|
|
|
12
12
|
set: __exportSetter.bind(all, name)
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
|
-
// node_modules/lodash-es/
|
|
16
|
-
function
|
|
17
|
-
var index = -1, length = array
|
|
15
|
+
// node_modules/lodash-es/_baseSlice.js
|
|
16
|
+
function baseSlice(array, start, end) {
|
|
17
|
+
var index = -1, length = array.length;
|
|
18
|
+
if (start < 0) {
|
|
19
|
+
start = -start > length ? 0 : length + start;
|
|
20
|
+
}
|
|
21
|
+
end = end > length ? length : end;
|
|
22
|
+
if (end < 0) {
|
|
23
|
+
end += length;
|
|
24
|
+
}
|
|
25
|
+
length = start > end ? 0 : end - start >>> 0;
|
|
26
|
+
start >>>= 0;
|
|
27
|
+
var result = Array(length);
|
|
18
28
|
while (++index < length) {
|
|
19
|
-
result[index] =
|
|
29
|
+
result[index] = array[index + start];
|
|
20
30
|
}
|
|
21
31
|
return result;
|
|
22
32
|
}
|
|
23
|
-
var
|
|
33
|
+
var _baseSlice_default = baseSlice;
|
|
24
34
|
|
|
25
|
-
// node_modules/lodash-es/
|
|
26
|
-
|
|
27
|
-
|
|
35
|
+
// node_modules/lodash-es/eq.js
|
|
36
|
+
function eq(value, other) {
|
|
37
|
+
return value === other || value !== value && other !== other;
|
|
38
|
+
}
|
|
39
|
+
var eq_default = eq;
|
|
28
40
|
|
|
29
41
|
// node_modules/lodash-es/_freeGlobal.js
|
|
30
42
|
var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
|
|
@@ -82,6 +94,79 @@ function baseGetTag(value) {
|
|
|
82
94
|
}
|
|
83
95
|
var _baseGetTag_default = baseGetTag;
|
|
84
96
|
|
|
97
|
+
// node_modules/lodash-es/isObject.js
|
|
98
|
+
function isObject(value) {
|
|
99
|
+
var type = typeof value;
|
|
100
|
+
return value != null && (type == "object" || type == "function");
|
|
101
|
+
}
|
|
102
|
+
var isObject_default = isObject;
|
|
103
|
+
|
|
104
|
+
// node_modules/lodash-es/isFunction.js
|
|
105
|
+
var asyncTag = "[object AsyncFunction]";
|
|
106
|
+
var funcTag = "[object Function]";
|
|
107
|
+
var genTag = "[object GeneratorFunction]";
|
|
108
|
+
var proxyTag = "[object Proxy]";
|
|
109
|
+
function isFunction(value) {
|
|
110
|
+
if (!isObject_default(value)) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
var tag = _baseGetTag_default(value);
|
|
114
|
+
return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
|
|
115
|
+
}
|
|
116
|
+
var isFunction_default = isFunction;
|
|
117
|
+
|
|
118
|
+
// node_modules/lodash-es/isLength.js
|
|
119
|
+
var MAX_SAFE_INTEGER = 9007199254740991;
|
|
120
|
+
function isLength(value) {
|
|
121
|
+
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
|
122
|
+
}
|
|
123
|
+
var isLength_default = isLength;
|
|
124
|
+
|
|
125
|
+
// node_modules/lodash-es/isArrayLike.js
|
|
126
|
+
function isArrayLike(value) {
|
|
127
|
+
return value != null && isLength_default(value.length) && !isFunction_default(value);
|
|
128
|
+
}
|
|
129
|
+
var isArrayLike_default = isArrayLike;
|
|
130
|
+
|
|
131
|
+
// node_modules/lodash-es/_isIndex.js
|
|
132
|
+
var MAX_SAFE_INTEGER2 = 9007199254740991;
|
|
133
|
+
var reIsUint = /^(?:0|[1-9]\d*)$/;
|
|
134
|
+
function isIndex(value, length) {
|
|
135
|
+
var type = typeof value;
|
|
136
|
+
length = length == null ? MAX_SAFE_INTEGER2 : length;
|
|
137
|
+
return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
|
|
138
|
+
}
|
|
139
|
+
var _isIndex_default = isIndex;
|
|
140
|
+
|
|
141
|
+
// node_modules/lodash-es/_isIterateeCall.js
|
|
142
|
+
function isIterateeCall(value, index, object) {
|
|
143
|
+
if (!isObject_default(object)) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
var type = typeof index;
|
|
147
|
+
if (type == "number" ? isArrayLike_default(object) && _isIndex_default(index, object.length) : type == "string" && (index in object)) {
|
|
148
|
+
return eq_default(object[index], value);
|
|
149
|
+
}
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
var _isIterateeCall_default = isIterateeCall;
|
|
153
|
+
|
|
154
|
+
// node_modules/lodash-es/_trimmedEndIndex.js
|
|
155
|
+
var reWhitespace = /\s/;
|
|
156
|
+
function trimmedEndIndex(string) {
|
|
157
|
+
var index = string.length;
|
|
158
|
+
while (index-- && reWhitespace.test(string.charAt(index))) {}
|
|
159
|
+
return index;
|
|
160
|
+
}
|
|
161
|
+
var _trimmedEndIndex_default = trimmedEndIndex;
|
|
162
|
+
|
|
163
|
+
// node_modules/lodash-es/_baseTrim.js
|
|
164
|
+
var reTrimStart = /^\s+/;
|
|
165
|
+
function baseTrim(string) {
|
|
166
|
+
return string ? string.slice(0, _trimmedEndIndex_default(string) + 1).replace(reTrimStart, "") : string;
|
|
167
|
+
}
|
|
168
|
+
var _baseTrim_default = baseTrim;
|
|
169
|
+
|
|
85
170
|
// node_modules/lodash-es/isObjectLike.js
|
|
86
171
|
function isObjectLike(value) {
|
|
87
172
|
return value != null && typeof value == "object";
|
|
@@ -95,6 +180,89 @@ function isSymbol(value) {
|
|
|
95
180
|
}
|
|
96
181
|
var isSymbol_default = isSymbol;
|
|
97
182
|
|
|
183
|
+
// node_modules/lodash-es/toNumber.js
|
|
184
|
+
var NAN = 0 / 0;
|
|
185
|
+
var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
|
|
186
|
+
var reIsBinary = /^0b[01]+$/i;
|
|
187
|
+
var reIsOctal = /^0o[0-7]+$/i;
|
|
188
|
+
var freeParseInt = parseInt;
|
|
189
|
+
function toNumber(value) {
|
|
190
|
+
if (typeof value == "number") {
|
|
191
|
+
return value;
|
|
192
|
+
}
|
|
193
|
+
if (isSymbol_default(value)) {
|
|
194
|
+
return NAN;
|
|
195
|
+
}
|
|
196
|
+
if (isObject_default(value)) {
|
|
197
|
+
var other = typeof value.valueOf == "function" ? value.valueOf() : value;
|
|
198
|
+
value = isObject_default(other) ? other + "" : other;
|
|
199
|
+
}
|
|
200
|
+
if (typeof value != "string") {
|
|
201
|
+
return value === 0 ? value : +value;
|
|
202
|
+
}
|
|
203
|
+
value = _baseTrim_default(value);
|
|
204
|
+
var isBinary = reIsBinary.test(value);
|
|
205
|
+
return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
|
|
206
|
+
}
|
|
207
|
+
var toNumber_default = toNumber;
|
|
208
|
+
|
|
209
|
+
// node_modules/lodash-es/toFinite.js
|
|
210
|
+
var INFINITY = 1 / 0;
|
|
211
|
+
var MAX_INTEGER = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
|
|
212
|
+
function toFinite(value) {
|
|
213
|
+
if (!value) {
|
|
214
|
+
return value === 0 ? value : 0;
|
|
215
|
+
}
|
|
216
|
+
value = toNumber_default(value);
|
|
217
|
+
if (value === INFINITY || value === -INFINITY) {
|
|
218
|
+
var sign = value < 0 ? -1 : 1;
|
|
219
|
+
return sign * MAX_INTEGER;
|
|
220
|
+
}
|
|
221
|
+
return value === value ? value : 0;
|
|
222
|
+
}
|
|
223
|
+
var toFinite_default = toFinite;
|
|
224
|
+
|
|
225
|
+
// node_modules/lodash-es/toInteger.js
|
|
226
|
+
function toInteger(value) {
|
|
227
|
+
var result = toFinite_default(value), remainder = result % 1;
|
|
228
|
+
return result === result ? remainder ? result - remainder : result : 0;
|
|
229
|
+
}
|
|
230
|
+
var toInteger_default = toInteger;
|
|
231
|
+
|
|
232
|
+
// node_modules/lodash-es/chunk.js
|
|
233
|
+
var nativeCeil = Math.ceil;
|
|
234
|
+
var nativeMax = Math.max;
|
|
235
|
+
function chunk(array, size, guard) {
|
|
236
|
+
if (guard ? _isIterateeCall_default(array, size, guard) : size === undefined) {
|
|
237
|
+
size = 1;
|
|
238
|
+
} else {
|
|
239
|
+
size = nativeMax(toInteger_default(size), 0);
|
|
240
|
+
}
|
|
241
|
+
var length = array == null ? 0 : array.length;
|
|
242
|
+
if (!length || size < 1) {
|
|
243
|
+
return [];
|
|
244
|
+
}
|
|
245
|
+
var index = 0, resIndex = 0, result = Array(nativeCeil(length / size));
|
|
246
|
+
while (index < length) {
|
|
247
|
+
result[resIndex++] = _baseSlice_default(array, index, index += size);
|
|
248
|
+
}
|
|
249
|
+
return result;
|
|
250
|
+
}
|
|
251
|
+
var chunk_default = chunk;
|
|
252
|
+
// node_modules/lodash-es/_arrayMap.js
|
|
253
|
+
function arrayMap(array, iteratee) {
|
|
254
|
+
var index = -1, length = array == null ? 0 : array.length, result = Array(length);
|
|
255
|
+
while (++index < length) {
|
|
256
|
+
result[index] = iteratee(array[index], index, array);
|
|
257
|
+
}
|
|
258
|
+
return result;
|
|
259
|
+
}
|
|
260
|
+
var _arrayMap_default = arrayMap;
|
|
261
|
+
|
|
262
|
+
// node_modules/lodash-es/isArray.js
|
|
263
|
+
var isArray = Array.isArray;
|
|
264
|
+
var isArray_default = isArray;
|
|
265
|
+
|
|
98
266
|
// node_modules/lodash-es/_isKey.js
|
|
99
267
|
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
|
|
100
268
|
var reIsPlainProp = /^\w*$/;
|
|
@@ -110,27 +278,6 @@ function isKey(value, object) {
|
|
|
110
278
|
}
|
|
111
279
|
var _isKey_default = isKey;
|
|
112
280
|
|
|
113
|
-
// node_modules/lodash-es/isObject.js
|
|
114
|
-
function isObject(value) {
|
|
115
|
-
var type = typeof value;
|
|
116
|
-
return value != null && (type == "object" || type == "function");
|
|
117
|
-
}
|
|
118
|
-
var isObject_default = isObject;
|
|
119
|
-
|
|
120
|
-
// node_modules/lodash-es/isFunction.js
|
|
121
|
-
var asyncTag = "[object AsyncFunction]";
|
|
122
|
-
var funcTag = "[object Function]";
|
|
123
|
-
var genTag = "[object GeneratorFunction]";
|
|
124
|
-
var proxyTag = "[object Proxy]";
|
|
125
|
-
function isFunction(value) {
|
|
126
|
-
if (!isObject_default(value)) {
|
|
127
|
-
return false;
|
|
128
|
-
}
|
|
129
|
-
var tag = _baseGetTag_default(value);
|
|
130
|
-
return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
|
|
131
|
-
}
|
|
132
|
-
var isFunction_default = isFunction;
|
|
133
|
-
|
|
134
281
|
// node_modules/lodash-es/_coreJsData.js
|
|
135
282
|
var coreJsData = _root_default["__core-js_shared__"];
|
|
136
283
|
var _coreJsData_default = coreJsData;
|
|
@@ -266,12 +413,6 @@ function listCacheClear() {
|
|
|
266
413
|
}
|
|
267
414
|
var _listCacheClear_default = listCacheClear;
|
|
268
415
|
|
|
269
|
-
// node_modules/lodash-es/eq.js
|
|
270
|
-
function eq(value, other) {
|
|
271
|
-
return value === other || value !== value && other !== other;
|
|
272
|
-
}
|
|
273
|
-
var eq_default = eq;
|
|
274
|
-
|
|
275
416
|
// node_modules/lodash-es/_assocIndexOf.js
|
|
276
417
|
function assocIndexOf(array, key) {
|
|
277
418
|
var length = array.length;
|
|
@@ -470,7 +611,7 @@ var stringToPath = _memoizeCapped_default(function(string) {
|
|
|
470
611
|
var _stringToPath_default = stringToPath;
|
|
471
612
|
|
|
472
613
|
// node_modules/lodash-es/_baseToString.js
|
|
473
|
-
var
|
|
614
|
+
var INFINITY2 = 1 / 0;
|
|
474
615
|
var symbolProto = _Symbol_default ? _Symbol_default.prototype : undefined;
|
|
475
616
|
var symbolToString = symbolProto ? symbolProto.toString : undefined;
|
|
476
617
|
function baseToString(value) {
|
|
@@ -484,7 +625,7 @@ function baseToString(value) {
|
|
|
484
625
|
return symbolToString ? symbolToString.call(value) : "";
|
|
485
626
|
}
|
|
486
627
|
var result = value + "";
|
|
487
|
-
return result == "0" && 1 / value == -
|
|
628
|
+
return result == "0" && 1 / value == -INFINITY2 ? "-0" : result;
|
|
488
629
|
}
|
|
489
630
|
var _baseToString_default = baseToString;
|
|
490
631
|
|
|
@@ -504,13 +645,13 @@ function castPath(value, object) {
|
|
|
504
645
|
var _castPath_default = castPath;
|
|
505
646
|
|
|
506
647
|
// node_modules/lodash-es/_toKey.js
|
|
507
|
-
var
|
|
648
|
+
var INFINITY3 = 1 / 0;
|
|
508
649
|
function toKey(value) {
|
|
509
650
|
if (typeof value == "string" || isSymbol_default(value)) {
|
|
510
651
|
return value;
|
|
511
652
|
}
|
|
512
653
|
var result = value + "";
|
|
513
|
-
return result == "0" && 1 / value == -
|
|
654
|
+
return result == "0" && 1 / value == -INFINITY3 ? "-0" : result;
|
|
514
655
|
}
|
|
515
656
|
var _toKey_default = toKey;
|
|
516
657
|
|
|
@@ -863,23 +1004,6 @@ var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : undefined;
|
|
|
863
1004
|
var isBuffer = nativeIsBuffer || stubFalse_default;
|
|
864
1005
|
var isBuffer_default = isBuffer;
|
|
865
1006
|
|
|
866
|
-
// node_modules/lodash-es/_isIndex.js
|
|
867
|
-
var MAX_SAFE_INTEGER = 9007199254740991;
|
|
868
|
-
var reIsUint = /^(?:0|[1-9]\d*)$/;
|
|
869
|
-
function isIndex(value, length) {
|
|
870
|
-
var type = typeof value;
|
|
871
|
-
length = length == null ? MAX_SAFE_INTEGER : length;
|
|
872
|
-
return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
|
|
873
|
-
}
|
|
874
|
-
var _isIndex_default = isIndex;
|
|
875
|
-
|
|
876
|
-
// node_modules/lodash-es/isLength.js
|
|
877
|
-
var MAX_SAFE_INTEGER2 = 9007199254740991;
|
|
878
|
-
function isLength(value) {
|
|
879
|
-
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER2;
|
|
880
|
-
}
|
|
881
|
-
var isLength_default = isLength;
|
|
882
|
-
|
|
883
1007
|
// node_modules/lodash-es/_baseIsTypedArray.js
|
|
884
1008
|
var argsTag2 = "[object Arguments]";
|
|
885
1009
|
var arrayTag = "[object Array]";
|
|
@@ -997,12 +1121,6 @@ function baseKeys(object) {
|
|
|
997
1121
|
}
|
|
998
1122
|
var _baseKeys_default = baseKeys;
|
|
999
1123
|
|
|
1000
|
-
// node_modules/lodash-es/isArrayLike.js
|
|
1001
|
-
function isArrayLike(value) {
|
|
1002
|
-
return value != null && isLength_default(value.length) && !isFunction_default(value);
|
|
1003
|
-
}
|
|
1004
|
-
var isArrayLike_default = isArrayLike;
|
|
1005
|
-
|
|
1006
1124
|
// node_modules/lodash-es/keys.js
|
|
1007
1125
|
function keys(object) {
|
|
1008
1126
|
return isArrayLike_default(object) ? _arrayLikeKeys_default(object) : _baseKeys_default(object);
|
|
@@ -1543,8 +1661,8 @@ function noop() {}
|
|
|
1543
1661
|
var noop_default = noop;
|
|
1544
1662
|
|
|
1545
1663
|
// node_modules/lodash-es/_createSet.js
|
|
1546
|
-
var
|
|
1547
|
-
var createSet = !(_Set_default && 1 / _setToArray_default(new _Set_default([, -0]))[1] ==
|
|
1664
|
+
var INFINITY4 = 1 / 0;
|
|
1665
|
+
var createSet = !(_Set_default && 1 / _setToArray_default(new _Set_default([, -0]))[1] == INFINITY4) ? noop_default : function(values) {
|
|
1548
1666
|
return new _Set_default(values);
|
|
1549
1667
|
};
|
|
1550
1668
|
var _createSet_default = createSet;
|
|
@@ -1719,6 +1837,7 @@ import { Buffer as Buffer3 } from "node:buffer";
|
|
|
1719
1837
|
var base64url = (buffer) => buffer.toString("base64").replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
1720
1838
|
var base64nopad = (buffer) => buffer.toString("base64").replace(/=+$/, "");
|
|
1721
1839
|
var toHexString = (input) => Buffer3.from(input, "utf-8").toString("hex");
|
|
1840
|
+
var toQueryString = (query) => Object.entries(query).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join("&");
|
|
1722
1841
|
|
|
1723
1842
|
// src/client.ts
|
|
1724
1843
|
var DEVICE_TYPE = "A2CZJZGLK2JJVM";
|
|
@@ -5696,6 +5815,16 @@ var relationshipSchema = objectType({
|
|
|
5696
5815
|
sort: optionalString,
|
|
5697
5816
|
url: optionalString
|
|
5698
5817
|
});
|
|
5818
|
+
var lastPositionsSchema = objectType({
|
|
5819
|
+
asin_last_position_heard_annots: arrayType(objectType({
|
|
5820
|
+
asin: stringType(),
|
|
5821
|
+
last_position_heard: objectType({
|
|
5822
|
+
status: stringType(),
|
|
5823
|
+
position_ms: numberType().nullish(),
|
|
5824
|
+
last_updated: stringType().nullish()
|
|
5825
|
+
})
|
|
5826
|
+
})).nullish().transform((v) => v ?? [])
|
|
5827
|
+
});
|
|
5699
5828
|
var audibleRawItemSchema = objectType({
|
|
5700
5829
|
asin: stringType().min(1),
|
|
5701
5830
|
title: stringType().min(1),
|
|
@@ -5768,7 +5897,7 @@ var audibleFetch = async (path, credentials, query) => {
|
|
|
5768
5897
|
const fresh = await ensureFresh(credentials);
|
|
5769
5898
|
const config = AUDIBLE_LOCALES[fresh.locale];
|
|
5770
5899
|
const fullPath = `/1.0${path}`;
|
|
5771
|
-
const queryString = query ? `?${
|
|
5900
|
+
const queryString = query ? `?${toQueryString(query)}` : "";
|
|
5772
5901
|
const signPath = `${fullPath}${queryString}`;
|
|
5773
5902
|
const headers = signRequest("GET", signPath, "", fresh);
|
|
5774
5903
|
const fetchUrl = `https://api.audible.${config.domain}${fullPath}${queryString}`;
|
|
@@ -5914,6 +6043,23 @@ var catalog = async (credentials, options) => {
|
|
|
5914
6043
|
var RESPONSE_GROUPS = "product_details,contributors,media,product_attrs,listening_status,series,rating,category_ladders,product_desc,product_extended_attrs,relationships";
|
|
5915
6044
|
var library = async (credentials) => fetchAllPages("/library", credentials, RESPONSE_GROUPS);
|
|
5916
6045
|
var wishlist = async (credentials) => fetchAllPages("/wishlist", credentials, RESPONSE_GROUPS);
|
|
6046
|
+
var POSITIONS_BATCH_SIZE = 25;
|
|
6047
|
+
var utcDateOf = (value) => new Date(`${value.replace(" ", "T")}Z`);
|
|
6048
|
+
var fetchPositionBatches = async (batches, credentials, accumulated = []) => {
|
|
6049
|
+
const [batch, ...rest] = batches;
|
|
6050
|
+
if (!batch)
|
|
6051
|
+
return { positions: accumulated, credentials };
|
|
6052
|
+
const { data, credentials: fresh } = await audibleFetch("/annotations/lastpositions", credentials, { asins: batch.join(",") });
|
|
6053
|
+
const heard = lastPositionsSchema.parse(data).asin_last_position_heard_annots.flatMap(({ asin, last_position_heard: position }) => position.status === "Exists" && position.last_updated ? [
|
|
6054
|
+
{
|
|
6055
|
+
asin,
|
|
6056
|
+
positionMs: position.position_ms ?? 0,
|
|
6057
|
+
lastUpdatedAt: utcDateOf(position.last_updated)
|
|
6058
|
+
}
|
|
6059
|
+
] : []);
|
|
6060
|
+
return fetchPositionBatches(rest, fresh, [...accumulated, ...heard]);
|
|
6061
|
+
};
|
|
6062
|
+
var lastPositions = async (credentials, asins) => fetchPositionBatches(chunk_default([...asins], POSITIONS_BATCH_SIZE), credentials);
|
|
5917
6063
|
var verify = async (credentials) => {
|
|
5918
6064
|
await audibleFetch("/library", credentials, {
|
|
5919
6065
|
num_results: "1",
|
|
@@ -5925,6 +6071,7 @@ export {
|
|
|
5925
6071
|
AUDIBLE_LOCALES,
|
|
5926
6072
|
GENRE_CATEGORIES,
|
|
5927
6073
|
catalog,
|
|
6074
|
+
lastPositions,
|
|
5928
6075
|
library,
|
|
5929
6076
|
login,
|
|
5930
6077
|
refresh,
|
package/dist/library.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AudibleCredentials } from './types.js';
|
|
1
|
+
import type { AudibleCredentials, LastPosition } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Fetch the user's entire Audible library with automatic pagination.
|
|
4
4
|
* Credentials are auto-refreshed if expired.
|
|
@@ -19,6 +19,18 @@ export declare const wishlist: (credentials: AudibleCredentials) => Promise<{
|
|
|
19
19
|
items: import("./types.js").AudibleItem[];
|
|
20
20
|
credentials: AudibleCredentials;
|
|
21
21
|
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Fetch where the reader last stopped in each of the given titles.
|
|
24
|
+
* Asked in batches of 25, the most Audible accepts per call. A title the
|
|
25
|
+
* reader never opened is left out of the answer.
|
|
26
|
+
* Credentials are auto-refreshed if expired.
|
|
27
|
+
*
|
|
28
|
+
* @returns The last positions and the (potentially refreshed) credentials
|
|
29
|
+
*/
|
|
30
|
+
export declare const lastPositions: (credentials: AudibleCredentials, asins: readonly string[]) => Promise<{
|
|
31
|
+
positions: LastPosition[];
|
|
32
|
+
credentials: AudibleCredentials;
|
|
33
|
+
}>;
|
|
22
34
|
/**
|
|
23
35
|
* Verify that credentials are valid by making a minimal API call.
|
|
24
36
|
* Credentials are auto-refreshed if expired.
|
package/dist/library.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../src/library.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../src/library.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAKlE;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAU,aAAa,kBAAkB;;;EACJ,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAU,aAAa,kBAAkB;;;EACJ,CAAA;AAsC1D;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAU,aAAa,kBAAkB,EAAE,OAAO,SAAS,MAAM,EAAE;eAlCrE,YAAY,EAAE;iBAAe,kBAAkB;EAmCK,CAAA;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAU,aAAa,kBAAkB,kBAM3D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library.unit.test.d.ts","sourceRoot":"","sources":["../src/library.unit.test.ts"],"names":[],"mappings":""}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -166,6 +166,72 @@ export declare const audibleRatingSchema: z.ZodOptional<z.ZodNullable<z.ZodObjec
|
|
|
166
166
|
} | null | undefined;
|
|
167
167
|
}>>>;
|
|
168
168
|
/** Zod schema for parsing raw Audible API item responses */
|
|
169
|
+
/** `GET /1.0/annotations/lastpositions`: where the reader last stopped in each
|
|
170
|
+
* asked title. A title never opened answers `DoesNotExist` and nothing else. */
|
|
171
|
+
export declare const lastPositionsSchema: z.ZodObject<{
|
|
172
|
+
asin_last_position_heard_annots: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
173
|
+
asin: z.ZodString;
|
|
174
|
+
last_position_heard: z.ZodObject<{
|
|
175
|
+
status: z.ZodString;
|
|
176
|
+
position_ms: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
177
|
+
last_updated: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
178
|
+
}, "strip", z.ZodTypeAny, {
|
|
179
|
+
status: string;
|
|
180
|
+
position_ms?: number | null | undefined;
|
|
181
|
+
last_updated?: string | null | undefined;
|
|
182
|
+
}, {
|
|
183
|
+
status: string;
|
|
184
|
+
position_ms?: number | null | undefined;
|
|
185
|
+
last_updated?: string | null | undefined;
|
|
186
|
+
}>;
|
|
187
|
+
}, "strip", z.ZodTypeAny, {
|
|
188
|
+
asin: string;
|
|
189
|
+
last_position_heard: {
|
|
190
|
+
status: string;
|
|
191
|
+
position_ms?: number | null | undefined;
|
|
192
|
+
last_updated?: string | null | undefined;
|
|
193
|
+
};
|
|
194
|
+
}, {
|
|
195
|
+
asin: string;
|
|
196
|
+
last_position_heard: {
|
|
197
|
+
status: string;
|
|
198
|
+
position_ms?: number | null | undefined;
|
|
199
|
+
last_updated?: string | null | undefined;
|
|
200
|
+
};
|
|
201
|
+
}>, "many">>>, {
|
|
202
|
+
asin: string;
|
|
203
|
+
last_position_heard: {
|
|
204
|
+
status: string;
|
|
205
|
+
position_ms?: number | null | undefined;
|
|
206
|
+
last_updated?: string | null | undefined;
|
|
207
|
+
};
|
|
208
|
+
}[], {
|
|
209
|
+
asin: string;
|
|
210
|
+
last_position_heard: {
|
|
211
|
+
status: string;
|
|
212
|
+
position_ms?: number | null | undefined;
|
|
213
|
+
last_updated?: string | null | undefined;
|
|
214
|
+
};
|
|
215
|
+
}[] | null | undefined>;
|
|
216
|
+
}, "strip", z.ZodTypeAny, {
|
|
217
|
+
asin_last_position_heard_annots: {
|
|
218
|
+
asin: string;
|
|
219
|
+
last_position_heard: {
|
|
220
|
+
status: string;
|
|
221
|
+
position_ms?: number | null | undefined;
|
|
222
|
+
last_updated?: string | null | undefined;
|
|
223
|
+
};
|
|
224
|
+
}[];
|
|
225
|
+
}, {
|
|
226
|
+
asin_last_position_heard_annots?: {
|
|
227
|
+
asin: string;
|
|
228
|
+
last_position_heard: {
|
|
229
|
+
status: string;
|
|
230
|
+
position_ms?: number | null | undefined;
|
|
231
|
+
last_updated?: string | null | undefined;
|
|
232
|
+
};
|
|
233
|
+
}[] | null | undefined;
|
|
234
|
+
}>;
|
|
169
235
|
export declare const audibleRawItemSchema: z.ZodObject<{
|
|
170
236
|
asin: z.ZodString;
|
|
171
237
|
title: z.ZodString;
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkBvB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOpB,CAAA;AAuBZ,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiG/B,CAAA"}
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkBvB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOpB,CAAA;AAuBZ,4DAA4D;AAC5D;iFACiF;AACjF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc9B,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiG/B,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -61,6 +61,18 @@ export type ListeningStatus = {
|
|
|
61
61
|
percentComplete?: number;
|
|
62
62
|
timeRemainingSeconds?: number;
|
|
63
63
|
};
|
|
64
|
+
/** Where the reader last stopped in a library item.
|
|
65
|
+
*
|
|
66
|
+
* This is the reliable progress signal: `ListeningStatus.percentComplete` on a
|
|
67
|
+
* library item is often stale (0 on a title two hours in), while the position
|
|
68
|
+
* is what the player itself saves. */
|
|
69
|
+
export type LastPosition = {
|
|
70
|
+
asin: string;
|
|
71
|
+
/** Milliseconds from the start of the recording. */
|
|
72
|
+
positionMs: number;
|
|
73
|
+
/** When the player last saved the position, in UTC. */
|
|
74
|
+
lastUpdatedAt: Date;
|
|
75
|
+
};
|
|
64
76
|
/** An audiobook item from Audible */
|
|
65
77
|
export type AudibleItem = {
|
|
66
78
|
asin: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -2,4 +2,8 @@ import { Buffer } from 'node:buffer';
|
|
|
2
2
|
export declare const base64url: (buffer: Buffer) => string;
|
|
3
3
|
export declare const base64nopad: (buffer: Buffer) => string;
|
|
4
4
|
export declare const toHexString: (input: string) => string;
|
|
5
|
+
/** The query string of a request, every key and value URL-encoded: a keyword
|
|
6
|
+
* or an author name with a space or an accent would otherwise make an invalid
|
|
7
|
+
* URL, whose signature Audible refuses with a 403. */
|
|
8
|
+
export declare const toQueryString: (query: Record<string, string>) => string;
|
|
5
9
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,WAC8C,CAAA;AAEtF,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,WAAiD,CAAA;AAE3F,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,WAAgD,CAAA"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,WAC8C,CAAA;AAEtF,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,WAAiD,CAAA;AAE3F,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,WAAgD,CAAA;AAEzF;;uDAEuD;AACvD,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAG7C,CAAA"}
|
package/package.json
CHANGED