@internetarchive/metadata-service 0.0.1-alpha.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/.editorconfig +29 -0
- package/.eslintrc.js +14 -0
- package/.github/workflows/ci.yml +26 -0
- package/LICENSE +661 -0
- package/README.md +64 -0
- package/demo/app-root.ts +80 -0
- package/demo/index.html +27 -0
- package/dist/demo/app-root.d.ts +11 -0
- package/dist/demo/app-root.js +71 -0
- package/dist/demo/app-root.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/src/backend/default-metadata-backend.d.ts +27 -0
- package/dist/src/backend/default-metadata-backend.js +101 -0
- package/dist/src/backend/default-metadata-backend.js.map +1 -0
- package/dist/src/backend/metadata-backend-interface.d.ts +20 -0
- package/dist/src/backend/metadata-backend-interface.js +2 -0
- package/dist/src/backend/metadata-backend-interface.js.map +1 -0
- package/dist/src/metadata-service-error.d.ts +11 -0
- package/dist/src/metadata-service-error.js +18 -0
- package/dist/src/metadata-service-error.js.map +1 -0
- package/dist/src/metadata-service-interface.d.ts +44 -0
- package/dist/src/metadata-service-interface.js +2 -0
- package/dist/src/metadata-service-interface.js.map +1 -0
- package/dist/src/metadata-service.d.ts +18 -0
- package/dist/src/metadata-service.js +43 -0
- package/dist/src/metadata-service.js.map +1 -0
- package/dist/src/models/file.d.ts +29 -0
- package/dist/src/models/file.js +95 -0
- package/dist/src/models/file.js.map +1 -0
- package/dist/src/models/metadata-fields/field-types/boolean.d.ts +5 -0
- package/dist/src/models/metadata-fields/field-types/boolean.js +8 -0
- package/dist/src/models/metadata-fields/field-types/boolean.js.map +1 -0
- package/dist/src/models/metadata-fields/field-types/byte.d.ts +13 -0
- package/dist/src/models/metadata-fields/field-types/byte.js +16 -0
- package/dist/src/models/metadata-fields/field-types/byte.js.map +1 -0
- package/dist/src/models/metadata-fields/field-types/date.d.ts +5 -0
- package/dist/src/models/metadata-fields/field-types/date.js +8 -0
- package/dist/src/models/metadata-fields/field-types/date.js.map +1 -0
- package/dist/src/models/metadata-fields/field-types/duration.d.ts +14 -0
- package/dist/src/models/metadata-fields/field-types/duration.js +17 -0
- package/dist/src/models/metadata-fields/field-types/duration.js.map +1 -0
- package/dist/src/models/metadata-fields/field-types/list.d.ts +25 -0
- package/dist/src/models/metadata-fields/field-types/list.js +34 -0
- package/dist/src/models/metadata-fields/field-types/list.js.map +1 -0
- package/dist/src/models/metadata-fields/field-types/mediatype.d.ts +5 -0
- package/dist/src/models/metadata-fields/field-types/mediatype.js +8 -0
- package/dist/src/models/metadata-fields/field-types/mediatype.js.map +1 -0
- package/dist/src/models/metadata-fields/field-types/number.d.ts +5 -0
- package/dist/src/models/metadata-fields/field-types/number.js +8 -0
- package/dist/src/models/metadata-fields/field-types/number.js.map +1 -0
- package/dist/src/models/metadata-fields/field-types/page-progression.d.ts +5 -0
- package/dist/src/models/metadata-fields/field-types/page-progression.js +8 -0
- package/dist/src/models/metadata-fields/field-types/page-progression.js.map +1 -0
- package/dist/src/models/metadata-fields/field-types/string.d.ts +5 -0
- package/dist/src/models/metadata-fields/field-types/string.js +8 -0
- package/dist/src/models/metadata-fields/field-types/string.js.map +1 -0
- package/dist/src/models/metadata-fields/metadata-field.d.ts +70 -0
- package/dist/src/models/metadata-fields/metadata-field.js +67 -0
- package/dist/src/models/metadata-fields/metadata-field.js.map +1 -0
- package/dist/src/models/metadata.d.ts +168 -0
- package/dist/src/models/metadata.js +618 -0
- package/dist/src/models/metadata.js.map +1 -0
- package/dist/src/models/review.d.ts +10 -0
- package/dist/src/models/review.js +43 -0
- package/dist/src/models/review.js.map +1 -0
- package/dist/src/models/speech-music-asr-entry.d.ts +10 -0
- package/dist/src/models/speech-music-asr-entry.js +2 -0
- package/dist/src/models/speech-music-asr-entry.js.map +1 -0
- package/dist/src/responses/metadata-response.d.ts +28 -0
- package/dist/src/responses/metadata-response.js +31 -0
- package/dist/src/responses/metadata-response.js.map +1 -0
- package/dist/test/default-metadata-backend.test.d.ts +1 -0
- package/dist/test/default-metadata-backend.test.js +91 -0
- package/dist/test/default-metadata-backend.test.js.map +1 -0
- package/dist/test/metadata-service.test.d.ts +1 -0
- package/dist/test/metadata-service.test.js +99 -0
- package/dist/test/metadata-service.test.js.map +1 -0
- package/dist/test/mock-response-generator.d.ts +3 -0
- package/dist/test/mock-response-generator.js +62 -0
- package/dist/test/mock-response-generator.js.map +1 -0
- package/dist/test/models/file.test.d.ts +1 -0
- package/dist/test/models/file.test.js +9 -0
- package/dist/test/models/file.test.js.map +1 -0
- package/dist/test/models/metadata-fields/list-field.test.d.ts +1 -0
- package/dist/test/models/metadata-fields/list-field.test.js +52 -0
- package/dist/test/models/metadata-fields/list-field.test.js.map +1 -0
- package/dist/test/models/metadata-fields/metadata-field.test.d.ts +1 -0
- package/dist/test/models/metadata-fields/metadata-field.test.js +121 -0
- package/dist/test/models/metadata-fields/metadata-field.test.js.map +1 -0
- package/dist/test/models/metadata.test.d.ts +1 -0
- package/dist/test/models/metadata.test.js +10 -0
- package/dist/test/models/metadata.test.js.map +1 -0
- package/index.ts +32 -0
- package/package.json +77 -0
- package/src/backend/default-metadata-backend.ts +141 -0
- package/src/backend/metadata-backend-interface.ts +25 -0
- package/src/metadata-service-error.ts +21 -0
- package/src/metadata-service-interface.ts +51 -0
- package/src/metadata-service.ts +63 -0
- package/src/models/file.ts +105 -0
- package/src/models/metadata-fields/field-types/boolean.ts +8 -0
- package/src/models/metadata-fields/field-types/byte.ts +16 -0
- package/src/models/metadata-fields/field-types/date.ts +8 -0
- package/src/models/metadata-fields/field-types/duration.ts +17 -0
- package/src/models/metadata-fields/field-types/list.ts +44 -0
- package/src/models/metadata-fields/field-types/mediatype.ts +8 -0
- package/src/models/metadata-fields/field-types/number.ts +8 -0
- package/src/models/metadata-fields/field-types/page-progression.ts +14 -0
- package/src/models/metadata-fields/field-types/string.ts +8 -0
- package/src/models/metadata-fields/metadata-field.ts +108 -0
- package/src/models/metadata.ts +457 -0
- package/src/models/review.ts +41 -0
- package/src/models/speech-music-asr-entry.ts +10 -0
- package/src/responses/metadata-response.ts +61 -0
- package/test/default-metadata-backend.test.ts +101 -0
- package/test/metadata-service.test.ts +150 -0
- package/test/mock-response-generator.ts +62 -0
- package/test/models/file.test.ts +10 -0
- package/test/models/metadata-fields/list-field.test.ts +64 -0
- package/test/models/metadata-fields/metadata-field.test.ts +151 -0
- package/test/models/metadata.test.ts +11 -0
- package/tsconfig.json +22 -0
- package/web-test-runner.config.mjs +7 -0
|
@@ -0,0 +1,618 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
import { Memoize } from 'typescript-memoize';
|
|
4
|
+
import { BooleanField } from './metadata-fields/field-types/boolean';
|
|
5
|
+
import { DateField } from './metadata-fields/field-types/date';
|
|
6
|
+
import { DurationField } from './metadata-fields/field-types/duration';
|
|
7
|
+
import { NumberField } from './metadata-fields/field-types/number';
|
|
8
|
+
import { StringField } from './metadata-fields/field-types/string';
|
|
9
|
+
import { PageProgressionField } from './metadata-fields/field-types/page-progression';
|
|
10
|
+
import { ByteField } from './metadata-fields/field-types/byte';
|
|
11
|
+
import { MediaTypeField } from './metadata-fields/field-types/mediatype';
|
|
12
|
+
import { StringListField } from './metadata-fields/field-types/list';
|
|
13
|
+
/**
|
|
14
|
+
* Metadata is an expansive model that describes an Item.
|
|
15
|
+
*
|
|
16
|
+
* The fields in here get casted to their respective field types. See `metadata-fields/field-type`.
|
|
17
|
+
*
|
|
18
|
+
* Add additional fields as needed.
|
|
19
|
+
*
|
|
20
|
+
* @export
|
|
21
|
+
* @class Metadata
|
|
22
|
+
*/
|
|
23
|
+
export class Metadata {
|
|
24
|
+
constructor(json) {
|
|
25
|
+
this.rawMetadata = json;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The item identifier.
|
|
29
|
+
*
|
|
30
|
+
* _Note_ This is a plain string instead of a `MetadataField` since it's
|
|
31
|
+
* the primary key of the item.
|
|
32
|
+
*
|
|
33
|
+
* @type {string}
|
|
34
|
+
* @memberof Metadata
|
|
35
|
+
*/
|
|
36
|
+
get identifier() {
|
|
37
|
+
var _a;
|
|
38
|
+
return (_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.identifier;
|
|
39
|
+
}
|
|
40
|
+
get addeddate() {
|
|
41
|
+
var _a;
|
|
42
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.addeddate)
|
|
43
|
+
? new DateField(this.rawMetadata.addeddate)
|
|
44
|
+
: undefined;
|
|
45
|
+
}
|
|
46
|
+
get audio_codec() {
|
|
47
|
+
var _a;
|
|
48
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.audio_codec)
|
|
49
|
+
? new StringField(this.rawMetadata.audio_codec)
|
|
50
|
+
: undefined;
|
|
51
|
+
}
|
|
52
|
+
get audio_sample_rate() {
|
|
53
|
+
var _a;
|
|
54
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.audio_sample_rate)
|
|
55
|
+
? new NumberField(this.rawMetadata.audio_sample_rate)
|
|
56
|
+
: undefined;
|
|
57
|
+
}
|
|
58
|
+
get avg_rating() {
|
|
59
|
+
var _a;
|
|
60
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.avg_rating)
|
|
61
|
+
? new NumberField(this.rawMetadata.avg_rating)
|
|
62
|
+
: undefined;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* All of the collections that an Item is in, including
|
|
66
|
+
* all of the side-loaded collections from the ListAPI
|
|
67
|
+
* and SimpleListsAPI like `fav-*`
|
|
68
|
+
*
|
|
69
|
+
* @type {StringField}
|
|
70
|
+
* @memberof Metadata
|
|
71
|
+
*/
|
|
72
|
+
get collection() {
|
|
73
|
+
var _a;
|
|
74
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.collection)
|
|
75
|
+
? new StringField(this.rawMetadata.collection)
|
|
76
|
+
: undefined;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* The "natural" collections for an item before augmentation
|
|
80
|
+
* by side-loaded collections like ListsAPI and SimpleLists
|
|
81
|
+
*
|
|
82
|
+
* The `collection` field above includes things like all of
|
|
83
|
+
* the `fav-*` collections, whereas this is only the collections
|
|
84
|
+
* that have been directly added in the hierarchy.
|
|
85
|
+
*
|
|
86
|
+
* @type {StringField}
|
|
87
|
+
* @memberof Metadata
|
|
88
|
+
*/
|
|
89
|
+
get collections_raw() {
|
|
90
|
+
var _a;
|
|
91
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.collections_raw)
|
|
92
|
+
? new StringField(this.rawMetadata.collections_raw)
|
|
93
|
+
: undefined;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The size of a collection in bytes
|
|
97
|
+
*
|
|
98
|
+
* @type {ByteField}
|
|
99
|
+
* @memberof Metadata
|
|
100
|
+
*/
|
|
101
|
+
get collection_size() {
|
|
102
|
+
var _a;
|
|
103
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.collection_size)
|
|
104
|
+
? new ByteField(this.rawMetadata.collection_size)
|
|
105
|
+
: undefined;
|
|
106
|
+
}
|
|
107
|
+
get contributor() {
|
|
108
|
+
var _a;
|
|
109
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.contributor)
|
|
110
|
+
? new StringField(this.rawMetadata.contributor)
|
|
111
|
+
: undefined;
|
|
112
|
+
}
|
|
113
|
+
get coverage() {
|
|
114
|
+
var _a;
|
|
115
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.coverage)
|
|
116
|
+
? new StringField(this.rawMetadata.coverage)
|
|
117
|
+
: undefined;
|
|
118
|
+
}
|
|
119
|
+
get creator() {
|
|
120
|
+
var _a;
|
|
121
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.creator)
|
|
122
|
+
? new StringField(this.rawMetadata.creator)
|
|
123
|
+
: undefined;
|
|
124
|
+
}
|
|
125
|
+
get date() {
|
|
126
|
+
var _a;
|
|
127
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.date)
|
|
128
|
+
? new DateField(this.rawMetadata.date)
|
|
129
|
+
: undefined;
|
|
130
|
+
}
|
|
131
|
+
get description() {
|
|
132
|
+
var _a;
|
|
133
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.description)
|
|
134
|
+
? new StringField(this.rawMetadata.description)
|
|
135
|
+
: undefined;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* All time download count
|
|
139
|
+
*
|
|
140
|
+
* @type {NumberField}
|
|
141
|
+
* @memberof Metadata
|
|
142
|
+
*/
|
|
143
|
+
get downloads() {
|
|
144
|
+
var _a;
|
|
145
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.downloads)
|
|
146
|
+
? new NumberField(this.rawMetadata.downloads)
|
|
147
|
+
: undefined;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The item duration in seconds
|
|
151
|
+
*
|
|
152
|
+
* @type {DurationField}
|
|
153
|
+
* @memberof Metadata
|
|
154
|
+
*/
|
|
155
|
+
get duration() {
|
|
156
|
+
var _a;
|
|
157
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.duration)
|
|
158
|
+
? new DurationField(this.rawMetadata.duration)
|
|
159
|
+
: undefined;
|
|
160
|
+
}
|
|
161
|
+
get 'external-identifier'() {
|
|
162
|
+
var _a, _b;
|
|
163
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a['external-identifier'])
|
|
164
|
+
? new StringField((_b = this.rawMetadata) === null || _b === void 0 ? void 0 : _b['external-identifier'])
|
|
165
|
+
: undefined;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* The number of files in an item
|
|
169
|
+
*
|
|
170
|
+
* @type {NumberField}
|
|
171
|
+
* @memberof Metadata
|
|
172
|
+
*/
|
|
173
|
+
get files_count() {
|
|
174
|
+
var _a;
|
|
175
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.files_count)
|
|
176
|
+
? new NumberField(this.rawMetadata.files_count)
|
|
177
|
+
: undefined;
|
|
178
|
+
}
|
|
179
|
+
get indexdate() {
|
|
180
|
+
var _a;
|
|
181
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.indexdate)
|
|
182
|
+
? new DateField(this.rawMetadata.indexdate)
|
|
183
|
+
: undefined;
|
|
184
|
+
}
|
|
185
|
+
get isbn() {
|
|
186
|
+
var _a;
|
|
187
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.isbn)
|
|
188
|
+
? new StringField(this.rawMetadata.isbn)
|
|
189
|
+
: undefined;
|
|
190
|
+
}
|
|
191
|
+
get issue() {
|
|
192
|
+
var _a;
|
|
193
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.issue)
|
|
194
|
+
? new StringField(this.rawMetadata.issue)
|
|
195
|
+
: undefined;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* For collections, the number of items in the collection
|
|
199
|
+
*
|
|
200
|
+
* @type {NumberField}
|
|
201
|
+
* @memberof Metadata
|
|
202
|
+
*/
|
|
203
|
+
get item_count() {
|
|
204
|
+
var _a;
|
|
205
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.item_count)
|
|
206
|
+
? new NumberField(this.rawMetadata.item_count)
|
|
207
|
+
: undefined;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* The size of the item in bytes
|
|
211
|
+
*
|
|
212
|
+
* @type {NumberField}
|
|
213
|
+
* @memberof Metadata
|
|
214
|
+
*/
|
|
215
|
+
get item_size() {
|
|
216
|
+
var _a;
|
|
217
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.item_size)
|
|
218
|
+
? new ByteField(this.rawMetadata.item_size)
|
|
219
|
+
: undefined;
|
|
220
|
+
}
|
|
221
|
+
get language() {
|
|
222
|
+
var _a;
|
|
223
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.language)
|
|
224
|
+
? new StringField(this.rawMetadata.language)
|
|
225
|
+
: undefined;
|
|
226
|
+
}
|
|
227
|
+
get length() {
|
|
228
|
+
var _a;
|
|
229
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.length)
|
|
230
|
+
? new DurationField(this.rawMetadata.length)
|
|
231
|
+
: undefined;
|
|
232
|
+
}
|
|
233
|
+
get lineage() {
|
|
234
|
+
var _a;
|
|
235
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.lineage)
|
|
236
|
+
? new StringField(this.rawMetadata.lineage)
|
|
237
|
+
: undefined;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* The number of downloads in the last month
|
|
241
|
+
*
|
|
242
|
+
* @type {NumberField}
|
|
243
|
+
* @memberof Metadata
|
|
244
|
+
*/
|
|
245
|
+
get month() {
|
|
246
|
+
var _a;
|
|
247
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.month)
|
|
248
|
+
? new NumberField(this.rawMetadata.month)
|
|
249
|
+
: undefined;
|
|
250
|
+
}
|
|
251
|
+
get mediatype() {
|
|
252
|
+
var _a;
|
|
253
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.mediatype)
|
|
254
|
+
? new MediaTypeField(this.rawMetadata.mediatype)
|
|
255
|
+
: undefined;
|
|
256
|
+
}
|
|
257
|
+
get noindex() {
|
|
258
|
+
var _a;
|
|
259
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.noindex)
|
|
260
|
+
? new BooleanField(this.rawMetadata.noindex)
|
|
261
|
+
: undefined;
|
|
262
|
+
}
|
|
263
|
+
get notes() {
|
|
264
|
+
var _a;
|
|
265
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.notes)
|
|
266
|
+
? new StringField(this.rawMetadata.notes)
|
|
267
|
+
: undefined;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* The number of users that have favorited the item
|
|
271
|
+
*
|
|
272
|
+
* @type {NumberField}
|
|
273
|
+
* @memberof Metadata
|
|
274
|
+
*/
|
|
275
|
+
get num_favorites() {
|
|
276
|
+
var _a;
|
|
277
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.num_favorites)
|
|
278
|
+
? new NumberField(this.rawMetadata.num_favorites)
|
|
279
|
+
: undefined;
|
|
280
|
+
}
|
|
281
|
+
get num_reviews() {
|
|
282
|
+
var _a;
|
|
283
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.num_reviews)
|
|
284
|
+
? new NumberField(this.rawMetadata.num_reviews)
|
|
285
|
+
: undefined;
|
|
286
|
+
}
|
|
287
|
+
get openlibrary_edition() {
|
|
288
|
+
var _a;
|
|
289
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.openlibrary_edition)
|
|
290
|
+
? new StringField(this.rawMetadata.openlibrary_edition)
|
|
291
|
+
: undefined;
|
|
292
|
+
}
|
|
293
|
+
get openlibrary_work() {
|
|
294
|
+
var _a;
|
|
295
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.openlibrary_work)
|
|
296
|
+
? new StringField(this.rawMetadata.openlibrary_work)
|
|
297
|
+
: undefined;
|
|
298
|
+
}
|
|
299
|
+
get page_progression() {
|
|
300
|
+
var _a;
|
|
301
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.page_progression)
|
|
302
|
+
? new PageProgressionField(this.rawMetadata.page_progression)
|
|
303
|
+
: undefined;
|
|
304
|
+
}
|
|
305
|
+
get partner() {
|
|
306
|
+
var _a;
|
|
307
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.partner)
|
|
308
|
+
? new StringField(this.rawMetadata.partner)
|
|
309
|
+
: undefined;
|
|
310
|
+
}
|
|
311
|
+
get ppi() {
|
|
312
|
+
var _a;
|
|
313
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.ppi)
|
|
314
|
+
? new NumberField(this.rawMetadata.ppi)
|
|
315
|
+
: undefined;
|
|
316
|
+
}
|
|
317
|
+
get publicdate() {
|
|
318
|
+
var _a;
|
|
319
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.publicdate)
|
|
320
|
+
? new DateField(this.rawMetadata.publicdate)
|
|
321
|
+
: undefined;
|
|
322
|
+
}
|
|
323
|
+
get publisher() {
|
|
324
|
+
var _a;
|
|
325
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.publisher)
|
|
326
|
+
? new StringField(this.rawMetadata.publisher)
|
|
327
|
+
: undefined;
|
|
328
|
+
}
|
|
329
|
+
get reviewdate() {
|
|
330
|
+
var _a;
|
|
331
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.reviewdate)
|
|
332
|
+
? new DateField(this.rawMetadata.reviewdate)
|
|
333
|
+
: undefined;
|
|
334
|
+
}
|
|
335
|
+
get runtime() {
|
|
336
|
+
var _a;
|
|
337
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.runtime)
|
|
338
|
+
? new DurationField(this.rawMetadata.runtime)
|
|
339
|
+
: undefined;
|
|
340
|
+
}
|
|
341
|
+
get scanner() {
|
|
342
|
+
var _a;
|
|
343
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.scanner)
|
|
344
|
+
? new StringField(this.rawMetadata.scanner)
|
|
345
|
+
: undefined;
|
|
346
|
+
}
|
|
347
|
+
get source() {
|
|
348
|
+
var _a;
|
|
349
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.source)
|
|
350
|
+
? new StringField(this.rawMetadata.source)
|
|
351
|
+
: undefined;
|
|
352
|
+
}
|
|
353
|
+
get start_localtime() {
|
|
354
|
+
var _a;
|
|
355
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.start_localtime)
|
|
356
|
+
? new DateField(this.rawMetadata.start_localtime)
|
|
357
|
+
: undefined;
|
|
358
|
+
}
|
|
359
|
+
get start_time() {
|
|
360
|
+
var _a;
|
|
361
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.start_time)
|
|
362
|
+
? new DateField(this.rawMetadata.start_time)
|
|
363
|
+
: undefined;
|
|
364
|
+
}
|
|
365
|
+
get stop_time() {
|
|
366
|
+
var _a;
|
|
367
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.stop_time)
|
|
368
|
+
? new DateField(this.rawMetadata.stop_time)
|
|
369
|
+
: undefined;
|
|
370
|
+
}
|
|
371
|
+
get subject() {
|
|
372
|
+
var _a;
|
|
373
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.subject)
|
|
374
|
+
? new StringListField(this.rawMetadata.subject)
|
|
375
|
+
: undefined;
|
|
376
|
+
}
|
|
377
|
+
get taper() {
|
|
378
|
+
var _a;
|
|
379
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.taper)
|
|
380
|
+
? new StringField(this.rawMetadata.taper)
|
|
381
|
+
: undefined;
|
|
382
|
+
}
|
|
383
|
+
get title() {
|
|
384
|
+
var _a;
|
|
385
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.title)
|
|
386
|
+
? new StringField(this.rawMetadata.title)
|
|
387
|
+
: undefined;
|
|
388
|
+
}
|
|
389
|
+
get transferer() {
|
|
390
|
+
var _a;
|
|
391
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.transferer)
|
|
392
|
+
? new StringField(this.rawMetadata.transferer)
|
|
393
|
+
: undefined;
|
|
394
|
+
}
|
|
395
|
+
get track() {
|
|
396
|
+
var _a;
|
|
397
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.track)
|
|
398
|
+
? new NumberField(this.rawMetadata.track)
|
|
399
|
+
: undefined;
|
|
400
|
+
}
|
|
401
|
+
get type() {
|
|
402
|
+
var _a;
|
|
403
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.type)
|
|
404
|
+
? new StringField(this.rawMetadata.type)
|
|
405
|
+
: undefined;
|
|
406
|
+
}
|
|
407
|
+
get uploader() {
|
|
408
|
+
var _a;
|
|
409
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.uploader)
|
|
410
|
+
? new StringField(this.rawMetadata.uploader)
|
|
411
|
+
: undefined;
|
|
412
|
+
}
|
|
413
|
+
get utc_offset() {
|
|
414
|
+
var _a;
|
|
415
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.utc_offset)
|
|
416
|
+
? new NumberField(this.rawMetadata.utc_offset)
|
|
417
|
+
: undefined;
|
|
418
|
+
}
|
|
419
|
+
get venue() {
|
|
420
|
+
var _a;
|
|
421
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.venue)
|
|
422
|
+
? new StringField(this.rawMetadata.venue)
|
|
423
|
+
: undefined;
|
|
424
|
+
}
|
|
425
|
+
get volume() {
|
|
426
|
+
var _a;
|
|
427
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.volume)
|
|
428
|
+
? new StringField(this.rawMetadata.volume)
|
|
429
|
+
: undefined;
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* The number of downloads in the last week
|
|
433
|
+
*
|
|
434
|
+
* @type {NumberField}
|
|
435
|
+
* @memberof Metadata
|
|
436
|
+
*/
|
|
437
|
+
get week() {
|
|
438
|
+
var _a;
|
|
439
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.week)
|
|
440
|
+
? new NumberField(this.rawMetadata.week)
|
|
441
|
+
: undefined;
|
|
442
|
+
}
|
|
443
|
+
get year() {
|
|
444
|
+
var _a;
|
|
445
|
+
return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.year)
|
|
446
|
+
? new DateField(this.rawMetadata.year)
|
|
447
|
+
: undefined;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
__decorate([
|
|
451
|
+
Memoize()
|
|
452
|
+
], Metadata.prototype, "addeddate", null);
|
|
453
|
+
__decorate([
|
|
454
|
+
Memoize()
|
|
455
|
+
], Metadata.prototype, "audio_codec", null);
|
|
456
|
+
__decorate([
|
|
457
|
+
Memoize()
|
|
458
|
+
], Metadata.prototype, "audio_sample_rate", null);
|
|
459
|
+
__decorate([
|
|
460
|
+
Memoize()
|
|
461
|
+
], Metadata.prototype, "avg_rating", null);
|
|
462
|
+
__decorate([
|
|
463
|
+
Memoize()
|
|
464
|
+
], Metadata.prototype, "collection", null);
|
|
465
|
+
__decorate([
|
|
466
|
+
Memoize()
|
|
467
|
+
], Metadata.prototype, "collections_raw", null);
|
|
468
|
+
__decorate([
|
|
469
|
+
Memoize()
|
|
470
|
+
], Metadata.prototype, "collection_size", null);
|
|
471
|
+
__decorate([
|
|
472
|
+
Memoize()
|
|
473
|
+
], Metadata.prototype, "contributor", null);
|
|
474
|
+
__decorate([
|
|
475
|
+
Memoize()
|
|
476
|
+
], Metadata.prototype, "coverage", null);
|
|
477
|
+
__decorate([
|
|
478
|
+
Memoize()
|
|
479
|
+
], Metadata.prototype, "creator", null);
|
|
480
|
+
__decorate([
|
|
481
|
+
Memoize()
|
|
482
|
+
], Metadata.prototype, "date", null);
|
|
483
|
+
__decorate([
|
|
484
|
+
Memoize()
|
|
485
|
+
], Metadata.prototype, "description", null);
|
|
486
|
+
__decorate([
|
|
487
|
+
Memoize()
|
|
488
|
+
], Metadata.prototype, "downloads", null);
|
|
489
|
+
__decorate([
|
|
490
|
+
Memoize()
|
|
491
|
+
], Metadata.prototype, "duration", null);
|
|
492
|
+
__decorate([
|
|
493
|
+
Memoize()
|
|
494
|
+
], Metadata.prototype, "external-identifier", null);
|
|
495
|
+
__decorate([
|
|
496
|
+
Memoize()
|
|
497
|
+
], Metadata.prototype, "files_count", null);
|
|
498
|
+
__decorate([
|
|
499
|
+
Memoize()
|
|
500
|
+
], Metadata.prototype, "indexdate", null);
|
|
501
|
+
__decorate([
|
|
502
|
+
Memoize()
|
|
503
|
+
], Metadata.prototype, "isbn", null);
|
|
504
|
+
__decorate([
|
|
505
|
+
Memoize()
|
|
506
|
+
], Metadata.prototype, "issue", null);
|
|
507
|
+
__decorate([
|
|
508
|
+
Memoize()
|
|
509
|
+
], Metadata.prototype, "item_count", null);
|
|
510
|
+
__decorate([
|
|
511
|
+
Memoize()
|
|
512
|
+
], Metadata.prototype, "item_size", null);
|
|
513
|
+
__decorate([
|
|
514
|
+
Memoize()
|
|
515
|
+
], Metadata.prototype, "language", null);
|
|
516
|
+
__decorate([
|
|
517
|
+
Memoize()
|
|
518
|
+
], Metadata.prototype, "length", null);
|
|
519
|
+
__decorate([
|
|
520
|
+
Memoize()
|
|
521
|
+
], Metadata.prototype, "lineage", null);
|
|
522
|
+
__decorate([
|
|
523
|
+
Memoize()
|
|
524
|
+
], Metadata.prototype, "month", null);
|
|
525
|
+
__decorate([
|
|
526
|
+
Memoize()
|
|
527
|
+
], Metadata.prototype, "mediatype", null);
|
|
528
|
+
__decorate([
|
|
529
|
+
Memoize()
|
|
530
|
+
], Metadata.prototype, "noindex", null);
|
|
531
|
+
__decorate([
|
|
532
|
+
Memoize()
|
|
533
|
+
], Metadata.prototype, "notes", null);
|
|
534
|
+
__decorate([
|
|
535
|
+
Memoize()
|
|
536
|
+
], Metadata.prototype, "num_favorites", null);
|
|
537
|
+
__decorate([
|
|
538
|
+
Memoize()
|
|
539
|
+
], Metadata.prototype, "num_reviews", null);
|
|
540
|
+
__decorate([
|
|
541
|
+
Memoize()
|
|
542
|
+
], Metadata.prototype, "openlibrary_edition", null);
|
|
543
|
+
__decorate([
|
|
544
|
+
Memoize()
|
|
545
|
+
], Metadata.prototype, "openlibrary_work", null);
|
|
546
|
+
__decorate([
|
|
547
|
+
Memoize()
|
|
548
|
+
], Metadata.prototype, "page_progression", null);
|
|
549
|
+
__decorate([
|
|
550
|
+
Memoize()
|
|
551
|
+
], Metadata.prototype, "partner", null);
|
|
552
|
+
__decorate([
|
|
553
|
+
Memoize()
|
|
554
|
+
], Metadata.prototype, "ppi", null);
|
|
555
|
+
__decorate([
|
|
556
|
+
Memoize()
|
|
557
|
+
], Metadata.prototype, "publicdate", null);
|
|
558
|
+
__decorate([
|
|
559
|
+
Memoize()
|
|
560
|
+
], Metadata.prototype, "publisher", null);
|
|
561
|
+
__decorate([
|
|
562
|
+
Memoize()
|
|
563
|
+
], Metadata.prototype, "reviewdate", null);
|
|
564
|
+
__decorate([
|
|
565
|
+
Memoize()
|
|
566
|
+
], Metadata.prototype, "runtime", null);
|
|
567
|
+
__decorate([
|
|
568
|
+
Memoize()
|
|
569
|
+
], Metadata.prototype, "scanner", null);
|
|
570
|
+
__decorate([
|
|
571
|
+
Memoize()
|
|
572
|
+
], Metadata.prototype, "source", null);
|
|
573
|
+
__decorate([
|
|
574
|
+
Memoize()
|
|
575
|
+
], Metadata.prototype, "start_localtime", null);
|
|
576
|
+
__decorate([
|
|
577
|
+
Memoize()
|
|
578
|
+
], Metadata.prototype, "start_time", null);
|
|
579
|
+
__decorate([
|
|
580
|
+
Memoize()
|
|
581
|
+
], Metadata.prototype, "stop_time", null);
|
|
582
|
+
__decorate([
|
|
583
|
+
Memoize()
|
|
584
|
+
], Metadata.prototype, "subject", null);
|
|
585
|
+
__decorate([
|
|
586
|
+
Memoize()
|
|
587
|
+
], Metadata.prototype, "taper", null);
|
|
588
|
+
__decorate([
|
|
589
|
+
Memoize()
|
|
590
|
+
], Metadata.prototype, "title", null);
|
|
591
|
+
__decorate([
|
|
592
|
+
Memoize()
|
|
593
|
+
], Metadata.prototype, "transferer", null);
|
|
594
|
+
__decorate([
|
|
595
|
+
Memoize()
|
|
596
|
+
], Metadata.prototype, "track", null);
|
|
597
|
+
__decorate([
|
|
598
|
+
Memoize()
|
|
599
|
+
], Metadata.prototype, "type", null);
|
|
600
|
+
__decorate([
|
|
601
|
+
Memoize()
|
|
602
|
+
], Metadata.prototype, "uploader", null);
|
|
603
|
+
__decorate([
|
|
604
|
+
Memoize()
|
|
605
|
+
], Metadata.prototype, "utc_offset", null);
|
|
606
|
+
__decorate([
|
|
607
|
+
Memoize()
|
|
608
|
+
], Metadata.prototype, "venue", null);
|
|
609
|
+
__decorate([
|
|
610
|
+
Memoize()
|
|
611
|
+
], Metadata.prototype, "volume", null);
|
|
612
|
+
__decorate([
|
|
613
|
+
Memoize()
|
|
614
|
+
], Metadata.prototype, "week", null);
|
|
615
|
+
__decorate([
|
|
616
|
+
Memoize()
|
|
617
|
+
], Metadata.prototype, "year", null);
|
|
618
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/models/metadata.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE;;;;;;;;;GASG;AACH,MAAM,OAAO,QAAQ;IA+anB,YAAY,IAAyB;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAxaD;;;;;;;;OAQG;IACH,IAAI,UAAU;;QACZ,OAAO,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU,CAAC;IACtC,CAAC;IAEU,IAAI,SAAS;;QACtB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS;YAChC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,WAAW;;QACxB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,WAAW;YAClC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,iBAAiB;;QAC9B,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,iBAAiB;YACxC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,UAAU;;QACvB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU;YACjC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACQ,IAAI,UAAU;;QACvB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU;YACjC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACQ,IAAI,eAAe;;QAC5B,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,eAAe;YACtC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACQ,IAAI,eAAe;;QAC5B,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,eAAe;YACtC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,WAAW;;QACxB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,WAAW;YAClC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,QAAQ;;QACrB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,QAAQ;YAC/B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,OAAO;;QACpB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO;YAC9B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,IAAI;;QACjB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI;YAC3B,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,WAAW;;QACxB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,WAAW;YAClC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACQ,IAAI,SAAS;;QACtB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS;YAChC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACQ,IAAI,QAAQ;;QACrB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,QAAQ;YAC/B,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,qBAAqB;;QAClC,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAG,qBAAqB,CAAC;YAC9C,CAAC,CAAC,IAAI,WAAW,CAAC,MAAA,IAAI,CAAC,WAAW,0CAAG,qBAAqB,CAAC,CAAC;YAC5D,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACQ,IAAI,WAAW;;QACxB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,WAAW;YAClC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,SAAS;;QACtB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS;YAChC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,IAAI;;QACjB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI;YAC3B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,KAAK;;QAClB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK;YAC5B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACQ,IAAI,UAAU;;QACvB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU;YACjC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACQ,IAAI,SAAS;;QACtB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS;YAChC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,QAAQ;;QACrB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,QAAQ;YAC/B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,MAAM;;QACnB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM;YAC7B,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,OAAO;;QACpB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO;YAC9B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACQ,IAAI,KAAK;;QAClB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK;YAC5B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,SAAS;;QACtB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS;YAChC,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,OAAO;;QACpB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO;YAC9B,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,KAAK;;QAClB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK;YAC5B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACQ,IAAI,aAAa;;QAC1B,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,aAAa;YACpC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,WAAW;;QACxB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,WAAW;YAClC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,mBAAmB;;QAChC,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,mBAAmB;YAC1C,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,gBAAgB;;QAC7B,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,gBAAgB;YACvC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,gBAAgB;;QAC7B,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,gBAAgB;YACvC,CAAC,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,OAAO;;QACpB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO;YAC9B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,GAAG;;QAChB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,GAAG;YAC1B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YACvC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,UAAU;;QACvB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU;YACjC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,SAAS;;QACtB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS;YAChC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,UAAU;;QACvB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU;YACjC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,OAAO;;QACpB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO;YAC9B,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,OAAO;;QACpB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO;YAC9B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,MAAM;;QACnB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM;YAC7B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,eAAe;;QAC5B,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,eAAe;YACtC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,UAAU;;QACvB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU;YACjC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,SAAS;;QACtB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS;YAChC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,OAAO;;QACpB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO;YAC9B,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,KAAK;;QAClB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK;YAC5B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,KAAK;;QAClB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK;YAC5B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,UAAU;;QACvB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU;YACjC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,KAAK;;QAClB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK;YAC5B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,IAAI;;QACjB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI;YAC3B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,QAAQ;;QACrB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,QAAQ;YAC/B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,UAAU;;QACvB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU;YACjC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,KAAK;;QAClB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK;YAC5B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,MAAM;;QACnB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,MAAM;YAC7B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACQ,IAAI,IAAI;;QACjB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI;YAC3B,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,IAAI;;QACjB,OAAO,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI;YAC3B,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;CAKF;AA5ZY;IAAV,OAAO,EAAE;yCAIT;AAEU;IAAV,OAAO,EAAE;2CAIT;AAEU;IAAV,OAAO,EAAE;iDAIT;AAEU;IAAV,OAAO,EAAE;0CAIT;AAUU;IAAV,OAAO,EAAE;0CAIT;AAaU;IAAV,OAAO,EAAE;+CAIT;AAQU;IAAV,OAAO,EAAE;+CAIT;AAEU;IAAV,OAAO,EAAE;2CAIT;AAEU;IAAV,OAAO,EAAE;wCAIT;AAEU;IAAV,OAAO,EAAE;uCAIT;AAEU;IAAV,OAAO,EAAE;oCAIT;AAEU;IAAV,OAAO,EAAE;2CAIT;AAQU;IAAV,OAAO,EAAE;yCAIT;AAQU;IAAV,OAAO,EAAE;wCAIT;AAEU;IAAV,OAAO,EAAE;mDAIT;AAQU;IAAV,OAAO,EAAE;2CAIT;AAEU;IAAV,OAAO,EAAE;yCAIT;AAEU;IAAV,OAAO,EAAE;oCAIT;AAEU;IAAV,OAAO,EAAE;qCAIT;AAQU;IAAV,OAAO,EAAE;0CAIT;AAQU;IAAV,OAAO,EAAE;yCAIT;AAEU;IAAV,OAAO,EAAE;wCAIT;AAEU;IAAV,OAAO,EAAE;sCAIT;AAEU;IAAV,OAAO,EAAE;uCAIT;AAQU;IAAV,OAAO,EAAE;qCAIT;AAEU;IAAV,OAAO,EAAE;yCAIT;AAEU;IAAV,OAAO,EAAE;uCAIT;AAEU;IAAV,OAAO,EAAE;qCAIT;AAQU;IAAV,OAAO,EAAE;6CAIT;AAEU;IAAV,OAAO,EAAE;2CAIT;AAEU;IAAV,OAAO,EAAE;mDAIT;AAEU;IAAV,OAAO,EAAE;gDAIT;AAEU;IAAV,OAAO,EAAE;gDAIT;AAEU;IAAV,OAAO,EAAE;uCAIT;AAEU;IAAV,OAAO,EAAE;mCAIT;AAEU;IAAV,OAAO,EAAE;0CAIT;AAEU;IAAV,OAAO,EAAE;yCAIT;AAEU;IAAV,OAAO,EAAE;0CAIT;AAEU;IAAV,OAAO,EAAE;uCAIT;AAEU;IAAV,OAAO,EAAE;uCAIT;AAEU;IAAV,OAAO,EAAE;sCAIT;AAEU;IAAV,OAAO,EAAE;+CAIT;AAEU;IAAV,OAAO,EAAE;0CAIT;AAEU;IAAV,OAAO,EAAE;yCAIT;AAEU;IAAV,OAAO,EAAE;uCAIT;AAEU;IAAV,OAAO,EAAE;qCAIT;AAEU;IAAV,OAAO,EAAE;qCAIT;AAEU;IAAV,OAAO,EAAE;0CAIT;AAEU;IAAV,OAAO,EAAE;qCAIT;AAEU;IAAV,OAAO,EAAE;oCAIT;AAEU;IAAV,OAAO,EAAE;wCAIT;AAEU;IAAV,OAAO,EAAE;0CAIT;AAEU;IAAV,OAAO,EAAE;qCAIT;AAEU;IAAV,OAAO,EAAE;sCAIT;AAQU;IAAV,OAAO,EAAE;oCAIT;AAEU;IAAV,OAAO,EAAE;oCAIT","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Memoize } from 'typescript-memoize';\nimport { BooleanField } from './metadata-fields/field-types/boolean';\nimport { DateField } from './metadata-fields/field-types/date';\nimport { DurationField } from './metadata-fields/field-types/duration';\nimport { NumberField } from './metadata-fields/field-types/number';\nimport { StringField } from './metadata-fields/field-types/string';\nimport { PageProgressionField } from './metadata-fields/field-types/page-progression';\nimport { ByteField } from './metadata-fields/field-types/byte';\nimport { MediaTypeField } from './metadata-fields/field-types/mediatype';\nimport { StringListField } from './metadata-fields/field-types/list';\n\n/**\n * Metadata is an expansive model that describes an Item.\n *\n * The fields in here get casted to their respective field types. See `metadata-fields/field-type`.\n *\n * Add additional fields as needed.\n *\n * @export\n * @class Metadata\n */\nexport class Metadata {\n /**\n * This is the raw metadata reponse; useful for inspecting the raw data returned from the server.\n *\n * @type { string: any }\n * @memberof Metadata\n */\n rawMetadata?: Record<string, any>;\n\n /**\n * The item identifier.\n *\n * _Note_ This is a plain string instead of a `MetadataField` since it's\n * the primary key of the item.\n *\n * @type {string}\n * @memberof Metadata\n */\n get identifier(): string | undefined {\n return this.rawMetadata?.identifier;\n }\n\n @Memoize() get addeddate(): DateField | undefined {\n return this.rawMetadata?.addeddate\n ? new DateField(this.rawMetadata.addeddate)\n : undefined;\n }\n\n @Memoize() get audio_codec(): StringField | undefined {\n return this.rawMetadata?.audio_codec\n ? new StringField(this.rawMetadata.audio_codec)\n : undefined;\n }\n\n @Memoize() get audio_sample_rate(): NumberField | undefined {\n return this.rawMetadata?.audio_sample_rate\n ? new NumberField(this.rawMetadata.audio_sample_rate)\n : undefined;\n }\n\n @Memoize() get avg_rating(): NumberField | undefined {\n return this.rawMetadata?.avg_rating\n ? new NumberField(this.rawMetadata.avg_rating)\n : undefined;\n }\n\n /**\n * All of the collections that an Item is in, including\n * all of the side-loaded collections from the ListAPI\n * and SimpleListsAPI like `fav-*`\n *\n * @type {StringField}\n * @memberof Metadata\n */\n @Memoize() get collection(): StringField | undefined {\n return this.rawMetadata?.collection\n ? new StringField(this.rawMetadata.collection)\n : undefined;\n }\n\n /**\n * The \"natural\" collections for an item before augmentation\n * by side-loaded collections like ListsAPI and SimpleLists\n *\n * The `collection` field above includes things like all of\n * the `fav-*` collections, whereas this is only the collections\n * that have been directly added in the hierarchy.\n *\n * @type {StringField}\n * @memberof Metadata\n */\n @Memoize() get collections_raw(): StringField | undefined {\n return this.rawMetadata?.collections_raw\n ? new StringField(this.rawMetadata.collections_raw)\n : undefined;\n }\n\n /**\n * The size of a collection in bytes\n *\n * @type {ByteField}\n * @memberof Metadata\n */\n @Memoize() get collection_size(): ByteField | undefined {\n return this.rawMetadata?.collection_size\n ? new ByteField(this.rawMetadata.collection_size)\n : undefined;\n }\n\n @Memoize() get contributor(): StringField | undefined {\n return this.rawMetadata?.contributor\n ? new StringField(this.rawMetadata.contributor)\n : undefined;\n }\n\n @Memoize() get coverage(): StringField | undefined {\n return this.rawMetadata?.coverage\n ? new StringField(this.rawMetadata.coverage)\n : undefined;\n }\n\n @Memoize() get creator(): StringField | undefined {\n return this.rawMetadata?.creator\n ? new StringField(this.rawMetadata.creator)\n : undefined;\n }\n\n @Memoize() get date(): DateField | undefined {\n return this.rawMetadata?.date\n ? new DateField(this.rawMetadata.date)\n : undefined;\n }\n\n @Memoize() get description(): StringField | undefined {\n return this.rawMetadata?.description\n ? new StringField(this.rawMetadata.description)\n : undefined;\n }\n\n /**\n * All time download count\n *\n * @type {NumberField}\n * @memberof Metadata\n */\n @Memoize() get downloads(): NumberField | undefined {\n return this.rawMetadata?.downloads\n ? new NumberField(this.rawMetadata.downloads)\n : undefined;\n }\n\n /**\n * The item duration in seconds\n *\n * @type {DurationField}\n * @memberof Metadata\n */\n @Memoize() get duration(): DurationField | undefined {\n return this.rawMetadata?.duration\n ? new DurationField(this.rawMetadata.duration)\n : undefined;\n }\n\n @Memoize() get 'external-identifier'(): StringField | undefined {\n return this.rawMetadata?.['external-identifier']\n ? new StringField(this.rawMetadata?.['external-identifier'])\n : undefined;\n }\n\n /**\n * The number of files in an item\n *\n * @type {NumberField}\n * @memberof Metadata\n */\n @Memoize() get files_count(): NumberField | undefined {\n return this.rawMetadata?.files_count\n ? new NumberField(this.rawMetadata.files_count)\n : undefined;\n }\n\n @Memoize() get indexdate(): DateField | undefined {\n return this.rawMetadata?.indexdate\n ? new DateField(this.rawMetadata.indexdate)\n : undefined;\n }\n\n @Memoize() get isbn(): StringField | undefined {\n return this.rawMetadata?.isbn\n ? new StringField(this.rawMetadata.isbn)\n : undefined;\n }\n\n @Memoize() get issue(): StringField | undefined {\n return this.rawMetadata?.issue\n ? new StringField(this.rawMetadata.issue)\n : undefined;\n }\n\n /**\n * For collections, the number of items in the collection\n *\n * @type {NumberField}\n * @memberof Metadata\n */\n @Memoize() get item_count(): NumberField | undefined {\n return this.rawMetadata?.item_count\n ? new NumberField(this.rawMetadata.item_count)\n : undefined;\n }\n\n /**\n * The size of the item in bytes\n *\n * @type {NumberField}\n * @memberof Metadata\n */\n @Memoize() get item_size(): ByteField | undefined {\n return this.rawMetadata?.item_size\n ? new ByteField(this.rawMetadata.item_size)\n : undefined;\n }\n\n @Memoize() get language(): StringField | undefined {\n return this.rawMetadata?.language\n ? new StringField(this.rawMetadata.language)\n : undefined;\n }\n\n @Memoize() get length(): DurationField | undefined {\n return this.rawMetadata?.length\n ? new DurationField(this.rawMetadata.length)\n : undefined;\n }\n\n @Memoize() get lineage(): StringField | undefined {\n return this.rawMetadata?.lineage\n ? new StringField(this.rawMetadata.lineage)\n : undefined;\n }\n\n /**\n * The number of downloads in the last month\n *\n * @type {NumberField}\n * @memberof Metadata\n */\n @Memoize() get month(): NumberField | undefined {\n return this.rawMetadata?.month\n ? new NumberField(this.rawMetadata.month)\n : undefined;\n }\n\n @Memoize() get mediatype(): MediaTypeField | undefined {\n return this.rawMetadata?.mediatype\n ? new MediaTypeField(this.rawMetadata.mediatype)\n : undefined;\n }\n\n @Memoize() get noindex(): BooleanField | undefined {\n return this.rawMetadata?.noindex\n ? new BooleanField(this.rawMetadata.noindex)\n : undefined;\n }\n\n @Memoize() get notes(): StringField | undefined {\n return this.rawMetadata?.notes\n ? new StringField(this.rawMetadata.notes)\n : undefined;\n }\n\n /**\n * The number of users that have favorited the item\n *\n * @type {NumberField}\n * @memberof Metadata\n */\n @Memoize() get num_favorites(): NumberField | undefined {\n return this.rawMetadata?.num_favorites\n ? new NumberField(this.rawMetadata.num_favorites)\n : undefined;\n }\n\n @Memoize() get num_reviews(): NumberField | undefined {\n return this.rawMetadata?.num_reviews\n ? new NumberField(this.rawMetadata.num_reviews)\n : undefined;\n }\n\n @Memoize() get openlibrary_edition(): StringField | undefined {\n return this.rawMetadata?.openlibrary_edition\n ? new StringField(this.rawMetadata.openlibrary_edition)\n : undefined;\n }\n\n @Memoize() get openlibrary_work(): StringField | undefined {\n return this.rawMetadata?.openlibrary_work\n ? new StringField(this.rawMetadata.openlibrary_work)\n : undefined;\n }\n\n @Memoize() get page_progression(): PageProgressionField | undefined {\n return this.rawMetadata?.page_progression\n ? new PageProgressionField(this.rawMetadata.page_progression)\n : undefined;\n }\n\n @Memoize() get partner(): StringField | undefined {\n return this.rawMetadata?.partner\n ? new StringField(this.rawMetadata.partner)\n : undefined;\n }\n\n @Memoize() get ppi(): NumberField | undefined {\n return this.rawMetadata?.ppi\n ? new NumberField(this.rawMetadata.ppi)\n : undefined;\n }\n\n @Memoize() get publicdate(): DateField | undefined {\n return this.rawMetadata?.publicdate\n ? new DateField(this.rawMetadata.publicdate)\n : undefined;\n }\n\n @Memoize() get publisher(): StringField | undefined {\n return this.rawMetadata?.publisher\n ? new StringField(this.rawMetadata.publisher)\n : undefined;\n }\n\n @Memoize() get reviewdate(): DateField | undefined {\n return this.rawMetadata?.reviewdate\n ? new DateField(this.rawMetadata.reviewdate)\n : undefined;\n }\n\n @Memoize() get runtime(): DurationField | undefined {\n return this.rawMetadata?.runtime\n ? new DurationField(this.rawMetadata.runtime)\n : undefined;\n }\n\n @Memoize() get scanner(): StringField | undefined {\n return this.rawMetadata?.scanner\n ? new StringField(this.rawMetadata.scanner)\n : undefined;\n }\n\n @Memoize() get source(): StringField | undefined {\n return this.rawMetadata?.source\n ? new StringField(this.rawMetadata.source)\n : undefined;\n }\n\n @Memoize() get start_localtime(): DateField | undefined {\n return this.rawMetadata?.start_localtime\n ? new DateField(this.rawMetadata.start_localtime)\n : undefined;\n }\n\n @Memoize() get start_time(): DateField | undefined {\n return this.rawMetadata?.start_time\n ? new DateField(this.rawMetadata.start_time)\n : undefined;\n }\n\n @Memoize() get stop_time(): DateField | undefined {\n return this.rawMetadata?.stop_time\n ? new DateField(this.rawMetadata.stop_time)\n : undefined;\n }\n\n @Memoize() get subject(): StringListField | undefined {\n return this.rawMetadata?.subject\n ? new StringListField(this.rawMetadata.subject)\n : undefined;\n }\n\n @Memoize() get taper(): StringField | undefined {\n return this.rawMetadata?.taper\n ? new StringField(this.rawMetadata.taper)\n : undefined;\n }\n\n @Memoize() get title(): StringField | undefined {\n return this.rawMetadata?.title\n ? new StringField(this.rawMetadata.title)\n : undefined;\n }\n\n @Memoize() get transferer(): StringField | undefined {\n return this.rawMetadata?.transferer\n ? new StringField(this.rawMetadata.transferer)\n : undefined;\n }\n\n @Memoize() get track(): NumberField | undefined {\n return this.rawMetadata?.track\n ? new NumberField(this.rawMetadata.track)\n : undefined;\n }\n\n @Memoize() get type(): StringField | undefined {\n return this.rawMetadata?.type\n ? new StringField(this.rawMetadata.type)\n : undefined;\n }\n\n @Memoize() get uploader(): StringField | undefined {\n return this.rawMetadata?.uploader\n ? new StringField(this.rawMetadata.uploader)\n : undefined;\n }\n\n @Memoize() get utc_offset(): NumberField | undefined {\n return this.rawMetadata?.utc_offset\n ? new NumberField(this.rawMetadata.utc_offset)\n : undefined;\n }\n\n @Memoize() get venue(): StringField | undefined {\n return this.rawMetadata?.venue\n ? new StringField(this.rawMetadata.venue)\n : undefined;\n }\n\n @Memoize() get volume(): StringField | undefined {\n return this.rawMetadata?.volume\n ? new StringField(this.rawMetadata.volume)\n : undefined;\n }\n\n /**\n * The number of downloads in the last week\n *\n * @type {NumberField}\n * @memberof Metadata\n */\n @Memoize() get week(): NumberField | undefined {\n return this.rawMetadata?.week\n ? new NumberField(this.rawMetadata.week)\n : undefined;\n }\n\n @Memoize() get year(): DateField | undefined {\n return this.rawMetadata?.year\n ? new DateField(this.rawMetadata.year)\n : undefined;\n }\n\n constructor(json: Record<string, any>) {\n this.rawMetadata = json;\n }\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class Review {
|
|
2
|
+
rawValue: Record<string, any>;
|
|
3
|
+
get reviewbody(): string | undefined;
|
|
4
|
+
get reviewtitle(): string | undefined;
|
|
5
|
+
get reviewer(): string | undefined;
|
|
6
|
+
get reviewdate(): Date | undefined;
|
|
7
|
+
get createdate(): Date | undefined;
|
|
8
|
+
get stars(): number | undefined;
|
|
9
|
+
constructor(json: Record<string, any>);
|
|
10
|
+
}
|