audible-api-ts 0.1.0 → 0.2.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/README.md +79 -22
- package/dist/catalog.d.ts +17 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/catalog.int.test.d.ts +2 -0
- package/dist/catalog.int.test.d.ts.map +1 -0
- package/dist/categories.d.ts +12 -0
- package/dist/categories.d.ts.map +1 -0
- package/dist/client.d.ts +5 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.int.test.d.ts +2 -0
- package/dist/client.int.test.d.ts.map +1 -0
- package/dist/client.unit.test.d.ts +2 -0
- package/dist/client.unit.test.d.ts.map +1 -0
- package/dist/credentials.d.ts +9 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/fetch.d.ts +22 -0
- package/dist/fetch.d.ts.map +1 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1903 -79
- package/dist/library.d.ts +9 -6
- package/dist/library.d.ts.map +1 -1
- package/dist/library.int.test.d.ts +2 -0
- package/dist/library.int.test.d.ts.map +1 -0
- package/dist/locales.unit.test.d.ts +2 -0
- package/dist/locales.unit.test.d.ts.map +1 -0
- package/dist/schemas.d.ts +581 -2
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.unit.test.d.ts +2 -0
- package/dist/schemas.unit.test.d.ts.map +1 -0
- package/dist/types.d.ts +77 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.unit.test.d.ts +2 -0
- package/dist/utils.unit.test.d.ts.map +1 -0
- package/package.json +6 -2
package/dist/types.d.ts
CHANGED
|
@@ -16,10 +16,58 @@ export type AudibleCredentials = {
|
|
|
16
16
|
locale: AudibleLocale;
|
|
17
17
|
expiresAt: Date;
|
|
18
18
|
};
|
|
19
|
-
/**
|
|
19
|
+
/** Rating distribution for a single dimension (overall, performance, or story) */
|
|
20
|
+
export type RatingDistribution = {
|
|
21
|
+
averageRating: number;
|
|
22
|
+
displayAverageRating: string;
|
|
23
|
+
displayStars: number;
|
|
24
|
+
numRatings: number;
|
|
25
|
+
numFiveStarRatings: number;
|
|
26
|
+
numFourStarRatings: number;
|
|
27
|
+
numThreeStarRatings: number;
|
|
28
|
+
numTwoStarRatings: number;
|
|
29
|
+
numOneStarRatings: number;
|
|
30
|
+
};
|
|
31
|
+
/** Full rating data for an audiobook */
|
|
32
|
+
export type AudibleRating = {
|
|
33
|
+
numReviews: number;
|
|
34
|
+
overallDistribution?: RatingDistribution;
|
|
35
|
+
performanceDistribution?: RatingDistribution;
|
|
36
|
+
storyDistribution?: RatingDistribution;
|
|
37
|
+
};
|
|
38
|
+
/** A category in the Audible taxonomy */
|
|
39
|
+
export type AudibleCategory = {
|
|
40
|
+
id: string;
|
|
41
|
+
name: string;
|
|
42
|
+
};
|
|
43
|
+
/** A category path from root to leaf */
|
|
44
|
+
export type CategoryLadder = {
|
|
45
|
+
root: string;
|
|
46
|
+
categories: AudibleCategory[];
|
|
47
|
+
};
|
|
48
|
+
/** A relationship to another Audible product */
|
|
49
|
+
export type AudibleRelationship = {
|
|
50
|
+
asin: string;
|
|
51
|
+
relationshipToProduct: string;
|
|
52
|
+
relationshipType: string;
|
|
53
|
+
title?: string;
|
|
54
|
+
sort?: string;
|
|
55
|
+
url?: string;
|
|
56
|
+
};
|
|
57
|
+
/** Listening progress for a library item */
|
|
58
|
+
export type ListeningStatus = {
|
|
59
|
+
finishedAt?: Date;
|
|
60
|
+
isFinished?: boolean;
|
|
61
|
+
percentComplete?: number;
|
|
62
|
+
timeRemainingSeconds?: number;
|
|
63
|
+
};
|
|
64
|
+
/** An audiobook item from Audible */
|
|
20
65
|
export type AudibleItem = {
|
|
21
66
|
asin: string;
|
|
22
67
|
title: string;
|
|
68
|
+
subtitle?: string;
|
|
69
|
+
isbn?: string;
|
|
70
|
+
sku?: string;
|
|
23
71
|
authors: string[];
|
|
24
72
|
narrators: string[];
|
|
25
73
|
durationMinutes: number;
|
|
@@ -27,11 +75,38 @@ export type AudibleItem = {
|
|
|
27
75
|
language?: string;
|
|
28
76
|
releaseDate?: Date;
|
|
29
77
|
coverUrl?: string;
|
|
78
|
+
summary?: string;
|
|
79
|
+
description?: string;
|
|
80
|
+
merchandisingSummary?: string;
|
|
81
|
+
copyright?: string;
|
|
82
|
+
formatType?: string;
|
|
83
|
+
contentType?: string;
|
|
84
|
+
contentDeliveryType?: string;
|
|
85
|
+
programParticipation?: string;
|
|
30
86
|
series?: {
|
|
31
87
|
name: string;
|
|
32
88
|
position?: number;
|
|
33
89
|
};
|
|
34
|
-
|
|
90
|
+
categories: CategoryLadder[];
|
|
91
|
+
keywords: string[];
|
|
92
|
+
rating?: AudibleRating;
|
|
93
|
+
listeningStatus?: ListeningStatus;
|
|
94
|
+
purchaseDate?: Date;
|
|
95
|
+
dateAdded?: Date;
|
|
96
|
+
relationships: AudibleRelationship[];
|
|
97
|
+
isAdultProduct: boolean;
|
|
98
|
+
productImages: Record<string, string>;
|
|
99
|
+
socialMediaImages: Record<string, string>;
|
|
100
|
+
};
|
|
101
|
+
/** Options for searching the Audible catalog */
|
|
102
|
+
export type CatalogOptions = {
|
|
103
|
+
category?: import('./categories.js').AudibleGenre;
|
|
104
|
+
categoryId?: string;
|
|
105
|
+
sortBy?: 'MostVoted' | 'BestSellers' | 'AvgRating' | 'Relevance' | 'ReleaseDate' | '-ReleaseDate' | 'Title';
|
|
106
|
+
limit?: number | 'all';
|
|
107
|
+
keywords?: string;
|
|
108
|
+
author?: string;
|
|
109
|
+
narrator?: string;
|
|
35
110
|
};
|
|
36
111
|
/** PKCE auth session — returned by generateLoginUrl, passed back to registerDevice */
|
|
37
112
|
export type AuthSession = {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,MAAM,aAAa,GACrB,IAAI,GACJ,KAAK,GACL,OAAO,GACP,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,QAAQ,GACR,IAAI,GACJ,OAAO,CAAA;AAEX,mDAAmD;AACnD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,qDAAqD;AACrD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,aAAa,CAAA;IACrB,SAAS,EAAE,IAAI,CAAA;CAChB,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.unit.test.d.ts","sourceRoot":"","sources":["../src/utils.unit.test.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "audible-api-ts",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "A fully typed TypeScript client for the Audible API — authentication, library, and
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "A fully typed TypeScript client for the Audible API — authentication, library, wishlist, and catalog search",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
"build:js": "bun build ./src/index.ts --outdir ./dist --target node --format esm --splitting",
|
|
18
18
|
"build:types": "tsc -p tsconfig.build.json",
|
|
19
19
|
"test": "bun test",
|
|
20
|
+
"test:unit": "bun test unit",
|
|
21
|
+
"test:int": "bun test int",
|
|
20
22
|
"lint": "bunx biome check",
|
|
21
23
|
"lint:fix": "bunx biome check --write",
|
|
22
24
|
"docs:dev": "cd docs && bun run dev",
|
|
@@ -48,11 +50,13 @@
|
|
|
48
50
|
"node": ">=18.0.0"
|
|
49
51
|
},
|
|
50
52
|
"dependencies": {
|
|
53
|
+
"lodash-es": "^4.17.23",
|
|
51
54
|
"zod": "^3.24.0"
|
|
52
55
|
},
|
|
53
56
|
"devDependencies": {
|
|
54
57
|
"@biomejs/biome": "^1.9.0",
|
|
55
58
|
"@types/bun": "^1.2.0",
|
|
59
|
+
"@types/lodash-es": "^4.17.12",
|
|
56
60
|
"typescript": "^5.7.0"
|
|
57
61
|
}
|
|
58
62
|
}
|