@internetarchive/metadata-service 0.1.0 → 0.1.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.
Files changed (68) hide show
  1. package/.editorconfig +29 -29
  2. package/.github/workflows/ci.yml +27 -26
  3. package/LICENSE +661 -661
  4. package/README.md +64 -64
  5. package/demo/index.html +27 -27
  6. package/dist/demo/app-root.d.ts +11 -11
  7. package/dist/demo/app-root.js +41 -41
  8. package/dist/index.d.ts +18 -18
  9. package/dist/index.js +16 -16
  10. package/dist/src/backend/default-metadata-backend.d.ts +27 -27
  11. package/dist/src/backend/default-metadata-backend.js +100 -100
  12. package/dist/src/backend/metadata-backend-interface.d.ts +20 -20
  13. package/dist/src/backend/metadata-backend-interface.js +1 -1
  14. package/dist/src/metadata-service-error.d.ts +11 -11
  15. package/dist/src/metadata-service-error.js +17 -17
  16. package/dist/src/metadata-service-interface.d.ts +44 -44
  17. package/dist/src/metadata-service-interface.js +1 -1
  18. package/dist/src/metadata-service.d.ts +18 -18
  19. package/dist/src/metadata-service.js +42 -42
  20. package/dist/src/models/file.d.ts +29 -29
  21. package/dist/src/models/file.js +94 -94
  22. package/dist/src/models/metadata-fields/field-types/boolean.d.ts +5 -5
  23. package/dist/src/models/metadata-fields/field-types/boolean.js +7 -7
  24. package/dist/src/models/metadata-fields/field-types/byte.d.ts +13 -13
  25. package/dist/src/models/metadata-fields/field-types/byte.js +15 -15
  26. package/dist/src/models/metadata-fields/field-types/date.d.ts +5 -5
  27. package/dist/src/models/metadata-fields/field-types/date.js +7 -7
  28. package/dist/src/models/metadata-fields/field-types/duration.d.ts +14 -14
  29. package/dist/src/models/metadata-fields/field-types/duration.js +16 -16
  30. package/dist/src/models/metadata-fields/field-types/list.d.ts +25 -25
  31. package/dist/src/models/metadata-fields/field-types/list.js +33 -33
  32. package/dist/src/models/metadata-fields/field-types/mediatype.d.ts +5 -5
  33. package/dist/src/models/metadata-fields/field-types/mediatype.js +7 -7
  34. package/dist/src/models/metadata-fields/field-types/number.d.ts +5 -5
  35. package/dist/src/models/metadata-fields/field-types/number.js +7 -7
  36. package/dist/src/models/metadata-fields/field-types/page-progression.d.ts +5 -5
  37. package/dist/src/models/metadata-fields/field-types/page-progression.js +7 -7
  38. package/dist/src/models/metadata-fields/field-types/string.d.ts +5 -5
  39. package/dist/src/models/metadata-fields/field-types/string.js +7 -7
  40. package/dist/src/models/metadata-fields/metadata-field.d.ts +70 -70
  41. package/dist/src/models/metadata-fields/metadata-field.js +66 -66
  42. package/dist/src/models/metadata.d.ts +169 -168
  43. package/dist/src/models/metadata.js +626 -617
  44. package/dist/src/models/metadata.js.map +1 -1
  45. package/dist/src/models/review.d.ts +10 -10
  46. package/dist/src/models/review.js +42 -42
  47. package/dist/src/models/speech-music-asr-entry.d.ts +10 -10
  48. package/dist/src/models/speech-music-asr-entry.js +1 -1
  49. package/dist/src/responses/metadata-response.d.ts +28 -28
  50. package/dist/src/responses/metadata-response.js +30 -30
  51. package/dist/test/default-metadata-backend.test.d.ts +1 -1
  52. package/dist/test/default-metadata-backend.test.js +90 -90
  53. package/dist/test/metadata-service.test.d.ts +1 -1
  54. package/dist/test/metadata-service.test.js +98 -98
  55. package/dist/test/mock-response-generator.d.ts +3 -3
  56. package/dist/test/mock-response-generator.js +61 -61
  57. package/dist/test/models/file.test.d.ts +1 -1
  58. package/dist/test/models/file.test.js +8 -8
  59. package/dist/test/models/metadata-fields/list-field.test.d.ts +1 -1
  60. package/dist/test/models/metadata-fields/list-field.test.js +51 -51
  61. package/dist/test/models/metadata-fields/metadata-field.test.d.ts +1 -1
  62. package/dist/test/models/metadata-fields/metadata-field.test.js +120 -120
  63. package/dist/test/models/metadata.test.d.ts +1 -1
  64. package/dist/test/models/metadata.test.js +9 -9
  65. package/package.json +77 -77
  66. package/src/models/metadata.ts +6 -0
  67. package/tsconfig.json +22 -22
  68. package/web-test-runner.config.mjs +7 -7
@@ -1,618 +1,627 @@
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);
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 collection_layout() {
126
+ var _a;
127
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.collection_layout)
128
+ ? new StringField(this.rawMetadata.collection_layout)
129
+ : undefined;
130
+ }
131
+ get date() {
132
+ var _a;
133
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.date)
134
+ ? new DateField(this.rawMetadata.date)
135
+ : undefined;
136
+ }
137
+ get description() {
138
+ var _a;
139
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.description)
140
+ ? new StringField(this.rawMetadata.description)
141
+ : undefined;
142
+ }
143
+ /**
144
+ * All time download count
145
+ *
146
+ * @type {NumberField}
147
+ * @memberof Metadata
148
+ */
149
+ get downloads() {
150
+ var _a;
151
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.downloads)
152
+ ? new NumberField(this.rawMetadata.downloads)
153
+ : undefined;
154
+ }
155
+ /**
156
+ * The item duration in seconds
157
+ *
158
+ * @type {DurationField}
159
+ * @memberof Metadata
160
+ */
161
+ get duration() {
162
+ var _a;
163
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.duration)
164
+ ? new DurationField(this.rawMetadata.duration)
165
+ : undefined;
166
+ }
167
+ get 'external-identifier'() {
168
+ var _a, _b;
169
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a['external-identifier'])
170
+ ? new StringField((_b = this.rawMetadata) === null || _b === void 0 ? void 0 : _b['external-identifier'])
171
+ : undefined;
172
+ }
173
+ /**
174
+ * The number of files in an item
175
+ *
176
+ * @type {NumberField}
177
+ * @memberof Metadata
178
+ */
179
+ get files_count() {
180
+ var _a;
181
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.files_count)
182
+ ? new NumberField(this.rawMetadata.files_count)
183
+ : undefined;
184
+ }
185
+ get indexdate() {
186
+ var _a;
187
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.indexdate)
188
+ ? new DateField(this.rawMetadata.indexdate)
189
+ : undefined;
190
+ }
191
+ get isbn() {
192
+ var _a;
193
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.isbn)
194
+ ? new StringField(this.rawMetadata.isbn)
195
+ : undefined;
196
+ }
197
+ get issue() {
198
+ var _a;
199
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.issue)
200
+ ? new StringField(this.rawMetadata.issue)
201
+ : undefined;
202
+ }
203
+ /**
204
+ * For collections, the number of items in the collection
205
+ *
206
+ * @type {NumberField}
207
+ * @memberof Metadata
208
+ */
209
+ get item_count() {
210
+ var _a;
211
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.item_count)
212
+ ? new NumberField(this.rawMetadata.item_count)
213
+ : undefined;
214
+ }
215
+ /**
216
+ * The size of the item in bytes
217
+ *
218
+ * @type {NumberField}
219
+ * @memberof Metadata
220
+ */
221
+ get item_size() {
222
+ var _a;
223
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.item_size)
224
+ ? new ByteField(this.rawMetadata.item_size)
225
+ : undefined;
226
+ }
227
+ get language() {
228
+ var _a;
229
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.language)
230
+ ? new StringField(this.rawMetadata.language)
231
+ : undefined;
232
+ }
233
+ get length() {
234
+ var _a;
235
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.length)
236
+ ? new DurationField(this.rawMetadata.length)
237
+ : undefined;
238
+ }
239
+ get lineage() {
240
+ var _a;
241
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.lineage)
242
+ ? new StringField(this.rawMetadata.lineage)
243
+ : undefined;
244
+ }
245
+ /**
246
+ * The number of downloads in the last month
247
+ *
248
+ * @type {NumberField}
249
+ * @memberof Metadata
250
+ */
251
+ get month() {
252
+ var _a;
253
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.month)
254
+ ? new NumberField(this.rawMetadata.month)
255
+ : undefined;
256
+ }
257
+ get mediatype() {
258
+ var _a;
259
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.mediatype)
260
+ ? new MediaTypeField(this.rawMetadata.mediatype)
261
+ : undefined;
262
+ }
263
+ get noindex() {
264
+ var _a;
265
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.noindex)
266
+ ? new BooleanField(this.rawMetadata.noindex)
267
+ : undefined;
268
+ }
269
+ get notes() {
270
+ var _a;
271
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.notes)
272
+ ? new StringField(this.rawMetadata.notes)
273
+ : undefined;
274
+ }
275
+ /**
276
+ * The number of users that have favorited the item
277
+ *
278
+ * @type {NumberField}
279
+ * @memberof Metadata
280
+ */
281
+ get num_favorites() {
282
+ var _a;
283
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.num_favorites)
284
+ ? new NumberField(this.rawMetadata.num_favorites)
285
+ : undefined;
286
+ }
287
+ get num_reviews() {
288
+ var _a;
289
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.num_reviews)
290
+ ? new NumberField(this.rawMetadata.num_reviews)
291
+ : undefined;
292
+ }
293
+ get openlibrary_edition() {
294
+ var _a;
295
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.openlibrary_edition)
296
+ ? new StringField(this.rawMetadata.openlibrary_edition)
297
+ : undefined;
298
+ }
299
+ get openlibrary_work() {
300
+ var _a;
301
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.openlibrary_work)
302
+ ? new StringField(this.rawMetadata.openlibrary_work)
303
+ : undefined;
304
+ }
305
+ get page_progression() {
306
+ var _a;
307
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.page_progression)
308
+ ? new PageProgressionField(this.rawMetadata.page_progression)
309
+ : undefined;
310
+ }
311
+ get partner() {
312
+ var _a;
313
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.partner)
314
+ ? new StringField(this.rawMetadata.partner)
315
+ : undefined;
316
+ }
317
+ get ppi() {
318
+ var _a;
319
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.ppi)
320
+ ? new NumberField(this.rawMetadata.ppi)
321
+ : undefined;
322
+ }
323
+ get publicdate() {
324
+ var _a;
325
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.publicdate)
326
+ ? new DateField(this.rawMetadata.publicdate)
327
+ : undefined;
328
+ }
329
+ get publisher() {
330
+ var _a;
331
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.publisher)
332
+ ? new StringField(this.rawMetadata.publisher)
333
+ : undefined;
334
+ }
335
+ get reviewdate() {
336
+ var _a;
337
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.reviewdate)
338
+ ? new DateField(this.rawMetadata.reviewdate)
339
+ : undefined;
340
+ }
341
+ get runtime() {
342
+ var _a;
343
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.runtime)
344
+ ? new DurationField(this.rawMetadata.runtime)
345
+ : undefined;
346
+ }
347
+ get scanner() {
348
+ var _a;
349
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.scanner)
350
+ ? new StringField(this.rawMetadata.scanner)
351
+ : undefined;
352
+ }
353
+ get source() {
354
+ var _a;
355
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.source)
356
+ ? new StringField(this.rawMetadata.source)
357
+ : undefined;
358
+ }
359
+ get start_localtime() {
360
+ var _a;
361
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.start_localtime)
362
+ ? new DateField(this.rawMetadata.start_localtime)
363
+ : undefined;
364
+ }
365
+ get start_time() {
366
+ var _a;
367
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.start_time)
368
+ ? new DateField(this.rawMetadata.start_time)
369
+ : undefined;
370
+ }
371
+ get stop_time() {
372
+ var _a;
373
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.stop_time)
374
+ ? new DateField(this.rawMetadata.stop_time)
375
+ : undefined;
376
+ }
377
+ get subject() {
378
+ var _a;
379
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.subject)
380
+ ? new StringListField(this.rawMetadata.subject)
381
+ : undefined;
382
+ }
383
+ get taper() {
384
+ var _a;
385
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.taper)
386
+ ? new StringField(this.rawMetadata.taper)
387
+ : undefined;
388
+ }
389
+ get title() {
390
+ var _a;
391
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.title)
392
+ ? new StringField(this.rawMetadata.title)
393
+ : undefined;
394
+ }
395
+ get transferer() {
396
+ var _a;
397
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.transferer)
398
+ ? new StringField(this.rawMetadata.transferer)
399
+ : undefined;
400
+ }
401
+ get track() {
402
+ var _a;
403
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.track)
404
+ ? new NumberField(this.rawMetadata.track)
405
+ : undefined;
406
+ }
407
+ get type() {
408
+ var _a;
409
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.type)
410
+ ? new StringField(this.rawMetadata.type)
411
+ : undefined;
412
+ }
413
+ get uploader() {
414
+ var _a;
415
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.uploader)
416
+ ? new StringField(this.rawMetadata.uploader)
417
+ : undefined;
418
+ }
419
+ get utc_offset() {
420
+ var _a;
421
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.utc_offset)
422
+ ? new NumberField(this.rawMetadata.utc_offset)
423
+ : undefined;
424
+ }
425
+ get venue() {
426
+ var _a;
427
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.venue)
428
+ ? new StringField(this.rawMetadata.venue)
429
+ : undefined;
430
+ }
431
+ get volume() {
432
+ var _a;
433
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.volume)
434
+ ? new StringField(this.rawMetadata.volume)
435
+ : undefined;
436
+ }
437
+ /**
438
+ * The number of downloads in the last week
439
+ *
440
+ * @type {NumberField}
441
+ * @memberof Metadata
442
+ */
443
+ get week() {
444
+ var _a;
445
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.week)
446
+ ? new NumberField(this.rawMetadata.week)
447
+ : undefined;
448
+ }
449
+ get year() {
450
+ var _a;
451
+ return ((_a = this.rawMetadata) === null || _a === void 0 ? void 0 : _a.year)
452
+ ? new DateField(this.rawMetadata.year)
453
+ : undefined;
454
+ }
455
+ }
456
+ __decorate([
457
+ Memoize()
458
+ ], Metadata.prototype, "addeddate", null);
459
+ __decorate([
460
+ Memoize()
461
+ ], Metadata.prototype, "audio_codec", null);
462
+ __decorate([
463
+ Memoize()
464
+ ], Metadata.prototype, "audio_sample_rate", null);
465
+ __decorate([
466
+ Memoize()
467
+ ], Metadata.prototype, "avg_rating", null);
468
+ __decorate([
469
+ Memoize()
470
+ ], Metadata.prototype, "collection", null);
471
+ __decorate([
472
+ Memoize()
473
+ ], Metadata.prototype, "collections_raw", null);
474
+ __decorate([
475
+ Memoize()
476
+ ], Metadata.prototype, "collection_size", null);
477
+ __decorate([
478
+ Memoize()
479
+ ], Metadata.prototype, "contributor", null);
480
+ __decorate([
481
+ Memoize()
482
+ ], Metadata.prototype, "coverage", null);
483
+ __decorate([
484
+ Memoize()
485
+ ], Metadata.prototype, "creator", null);
486
+ __decorate([
487
+ Memoize()
488
+ ], Metadata.prototype, "collection_layout", null);
489
+ __decorate([
490
+ Memoize()
491
+ ], Metadata.prototype, "date", null);
492
+ __decorate([
493
+ Memoize()
494
+ ], Metadata.prototype, "description", null);
495
+ __decorate([
496
+ Memoize()
497
+ ], Metadata.prototype, "downloads", null);
498
+ __decorate([
499
+ Memoize()
500
+ ], Metadata.prototype, "duration", null);
501
+ __decorate([
502
+ Memoize()
503
+ ], Metadata.prototype, "external-identifier", null);
504
+ __decorate([
505
+ Memoize()
506
+ ], Metadata.prototype, "files_count", null);
507
+ __decorate([
508
+ Memoize()
509
+ ], Metadata.prototype, "indexdate", null);
510
+ __decorate([
511
+ Memoize()
512
+ ], Metadata.prototype, "isbn", null);
513
+ __decorate([
514
+ Memoize()
515
+ ], Metadata.prototype, "issue", null);
516
+ __decorate([
517
+ Memoize()
518
+ ], Metadata.prototype, "item_count", null);
519
+ __decorate([
520
+ Memoize()
521
+ ], Metadata.prototype, "item_size", null);
522
+ __decorate([
523
+ Memoize()
524
+ ], Metadata.prototype, "language", null);
525
+ __decorate([
526
+ Memoize()
527
+ ], Metadata.prototype, "length", null);
528
+ __decorate([
529
+ Memoize()
530
+ ], Metadata.prototype, "lineage", null);
531
+ __decorate([
532
+ Memoize()
533
+ ], Metadata.prototype, "month", null);
534
+ __decorate([
535
+ Memoize()
536
+ ], Metadata.prototype, "mediatype", null);
537
+ __decorate([
538
+ Memoize()
539
+ ], Metadata.prototype, "noindex", null);
540
+ __decorate([
541
+ Memoize()
542
+ ], Metadata.prototype, "notes", null);
543
+ __decorate([
544
+ Memoize()
545
+ ], Metadata.prototype, "num_favorites", null);
546
+ __decorate([
547
+ Memoize()
548
+ ], Metadata.prototype, "num_reviews", null);
549
+ __decorate([
550
+ Memoize()
551
+ ], Metadata.prototype, "openlibrary_edition", null);
552
+ __decorate([
553
+ Memoize()
554
+ ], Metadata.prototype, "openlibrary_work", null);
555
+ __decorate([
556
+ Memoize()
557
+ ], Metadata.prototype, "page_progression", null);
558
+ __decorate([
559
+ Memoize()
560
+ ], Metadata.prototype, "partner", null);
561
+ __decorate([
562
+ Memoize()
563
+ ], Metadata.prototype, "ppi", null);
564
+ __decorate([
565
+ Memoize()
566
+ ], Metadata.prototype, "publicdate", null);
567
+ __decorate([
568
+ Memoize()
569
+ ], Metadata.prototype, "publisher", null);
570
+ __decorate([
571
+ Memoize()
572
+ ], Metadata.prototype, "reviewdate", null);
573
+ __decorate([
574
+ Memoize()
575
+ ], Metadata.prototype, "runtime", null);
576
+ __decorate([
577
+ Memoize()
578
+ ], Metadata.prototype, "scanner", null);
579
+ __decorate([
580
+ Memoize()
581
+ ], Metadata.prototype, "source", null);
582
+ __decorate([
583
+ Memoize()
584
+ ], Metadata.prototype, "start_localtime", null);
585
+ __decorate([
586
+ Memoize()
587
+ ], Metadata.prototype, "start_time", null);
588
+ __decorate([
589
+ Memoize()
590
+ ], Metadata.prototype, "stop_time", null);
591
+ __decorate([
592
+ Memoize()
593
+ ], Metadata.prototype, "subject", null);
594
+ __decorate([
595
+ Memoize()
596
+ ], Metadata.prototype, "taper", null);
597
+ __decorate([
598
+ Memoize()
599
+ ], Metadata.prototype, "title", null);
600
+ __decorate([
601
+ Memoize()
602
+ ], Metadata.prototype, "transferer", null);
603
+ __decorate([
604
+ Memoize()
605
+ ], Metadata.prototype, "track", null);
606
+ __decorate([
607
+ Memoize()
608
+ ], Metadata.prototype, "type", null);
609
+ __decorate([
610
+ Memoize()
611
+ ], Metadata.prototype, "uploader", null);
612
+ __decorate([
613
+ Memoize()
614
+ ], Metadata.prototype, "utc_offset", null);
615
+ __decorate([
616
+ Memoize()
617
+ ], Metadata.prototype, "venue", null);
618
+ __decorate([
619
+ Memoize()
620
+ ], Metadata.prototype, "volume", null);
621
+ __decorate([
622
+ Memoize()
623
+ ], Metadata.prototype, "week", null);
624
+ __decorate([
625
+ Memoize()
626
+ ], Metadata.prototype, "year", null);
618
627
  //# sourceMappingURL=metadata.js.map