@internetarchive/metadata-service 1.0.4 → 1.0.5-webdev-7743.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/index.d.ts +1 -3
  2. package/dist/index.js +1 -2
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/models/file.d.ts +1 -1
  5. package/dist/src/models/file.js +10 -1
  6. package/dist/src/models/file.js.map +1 -1
  7. package/dist/src/models/task.d.ts +11 -0
  8. package/dist/src/models/task.js +2 -0
  9. package/dist/src/models/task.js.map +1 -0
  10. package/dist/src/responses/metadata-response.d.ts +1 -4
  11. package/dist/src/responses/metadata-response.js +1 -3
  12. package/dist/src/responses/metadata-response.js.map +1 -1
  13. package/dist/test/models/file.test.js +10 -0
  14. package/dist/test/models/file.test.js.map +1 -1
  15. package/index.ts +5 -3
  16. package/package.json +2 -2
  17. package/src/responses/metadata-response.ts +6 -4
  18. package/dist/src/models/metadata-fields/field-types/boolean.d.ts +0 -5
  19. package/dist/src/models/metadata-fields/field-types/boolean.js +0 -9
  20. package/dist/src/models/metadata-fields/field-types/boolean.js.map +0 -1
  21. package/dist/src/models/metadata-fields/field-types/byte.d.ts +0 -13
  22. package/dist/src/models/metadata-fields/field-types/byte.js +0 -16
  23. package/dist/src/models/metadata-fields/field-types/byte.js.map +0 -1
  24. package/dist/src/models/metadata-fields/field-types/date.d.ts +0 -5
  25. package/dist/src/models/metadata-fields/field-types/date.js +0 -9
  26. package/dist/src/models/metadata-fields/field-types/date.js.map +0 -1
  27. package/dist/src/models/metadata-fields/field-types/duration.d.ts +0 -14
  28. package/dist/src/models/metadata-fields/field-types/duration.js +0 -17
  29. package/dist/src/models/metadata-fields/field-types/duration.js.map +0 -1
  30. package/dist/src/models/metadata-fields/field-types/list.d.ts +0 -25
  31. package/dist/src/models/metadata-fields/field-types/list.js +0 -34
  32. package/dist/src/models/metadata-fields/field-types/list.js.map +0 -1
  33. package/dist/src/models/metadata-fields/field-types/mediatype.d.ts +0 -5
  34. package/dist/src/models/metadata-fields/field-types/mediatype.js +0 -9
  35. package/dist/src/models/metadata-fields/field-types/mediatype.js.map +0 -1
  36. package/dist/src/models/metadata-fields/field-types/number.d.ts +0 -5
  37. package/dist/src/models/metadata-fields/field-types/number.js +0 -9
  38. package/dist/src/models/metadata-fields/field-types/number.js.map +0 -1
  39. package/dist/src/models/metadata-fields/field-types/page-progression.d.ts +0 -5
  40. package/dist/src/models/metadata-fields/field-types/page-progression.js +0 -9
  41. package/dist/src/models/metadata-fields/field-types/page-progression.js.map +0 -1
  42. package/dist/src/models/metadata-fields/field-types/string.d.ts +0 -5
  43. package/dist/src/models/metadata-fields/field-types/string.js +0 -9
  44. package/dist/src/models/metadata-fields/field-types/string.js.map +0 -1
  45. package/dist/src/models/metadata-fields/metadata-field.d.ts +0 -70
  46. package/dist/src/models/metadata-fields/metadata-field.js +0 -68
  47. package/dist/src/models/metadata-fields/metadata-field.js.map +0 -1
  48. package/dist/src/models/metadata.d.ts +0 -169
  49. package/dist/src/models/metadata.js +0 -685
  50. package/dist/src/models/metadata.js.map +0 -1
  51. package/dist/test/models/metadata-fields/list-field.test.d.ts +0 -1
  52. package/dist/test/models/metadata-fields/list-field.test.js +0 -53
  53. package/dist/test/models/metadata-fields/list-field.test.js.map +0 -1
  54. package/dist/test/models/metadata-fields/metadata-field.test.d.ts +0 -1
  55. package/dist/test/models/metadata-fields/metadata-field.test.js +0 -122
  56. package/dist/test/models/metadata-fields/metadata-field.test.js.map +0 -1
  57. package/dist/test/models/metadata.test.d.ts +0 -1
  58. package/dist/test/models/metadata.test.js +0 -11
  59. package/dist/test/models/metadata.test.js.map +0 -1
  60. package/src/models/file.ts +0 -106
  61. package/src/models/review.ts +0 -46
  62. package/src/models/speech-music-asr-entry.ts +0 -10
  63. package/test/models/file.test.ts +0 -52
  64. package/test/models/review.test.ts +0 -59
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/models/metadata.ts"],"names":[],"mappings":"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","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 collection_layout(): StringField | undefined {\n return this.rawMetadata?.collection_layout\n ? new StringField(this.rawMetadata.collection_layout)\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"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,53 +0,0 @@
1
- import { expect } from '@open-wc/testing';
2
- import { NumberListField, StringListField, } from '../../../src/models/metadata-fields/field-types/list';
3
-
4
- describe('List Field', () => {
5
- describe('String List Field', () => {
6
- it('can parse individual values', () => {
7
- const stringListField = new StringListField('foo');
8
- expect(stringListField.value).to.equal('foo');
9
- expect(stringListField.values).to.deep.equal(['foo']);
10
- expect(stringListField.rawValue).to.equal('foo');
11
- });
12
- it('can parse lists', () => {
13
- const stringListField = new StringListField('foo, bar, baz');
14
- expect(stringListField.value).to.equal('foo');
15
- expect(stringListField.values).to.deep.equal(['foo', 'bar', 'baz']);
16
- expect(stringListField.rawValue).to.equal('foo, bar, baz');
17
- });
18
- it('can parse lists of lists', () => {
19
- const stringListField = new StringListField([
20
- 'foo, bar, baz',
21
- 'beep, boop, bop',
22
- ]);
23
- expect(stringListField.value).to.equal('foo');
24
- expect(stringListField.values).to.deep.equal([
25
- 'foo',
26
- 'bar',
27
- 'baz',
28
- 'beep',
29
- 'boop',
30
- 'bop',
31
- ]);
32
- expect(stringListField.rawValue).to.deep.equal([
33
- 'foo, bar, baz',
34
- 'beep, boop, bop',
35
- ]);
36
- });
37
- });
38
- describe('NumberListField', () => {
39
- it('can parse lists of numbers', () => {
40
- const listField = new NumberListField('1, 2, 3');
41
- expect(listField.value).to.equal(1);
42
- expect(listField.values).to.deep.equal([1, 2, 3]);
43
- expect(listField.rawValue).to.equal('1, 2, 3');
44
- });
45
- it('can parse lists of lists', () => {
46
- const listField = new NumberListField(['1, 2, 3', '4, 5, 6']);
47
- expect(listField.value).to.equal(1);
48
- expect(listField.values).to.deep.equal([1, 2, 3, 4, 5, 6]);
49
- expect(listField.rawValue).to.deep.equal(['1, 2, 3', '4, 5, 6']);
50
- });
51
- });
52
- });
53
- // # sourceMappingURL=list-field.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-field.test.js","sourceRoot":"","sources":["../../../../test/models/metadata-fields/list-field.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\nimport {\n NumberListField,\n StringListField,\n} from '../../../src/models/metadata-fields/field-types/list';\n\ndescribe('List Field', () => {\n describe('String List Field', () => {\n it('can parse individual values', () => {\n const stringListField = new StringListField('foo');\n\n expect(stringListField.value).to.equal('foo');\n expect(stringListField.values).to.deep.equal(['foo']);\n expect(stringListField.rawValue).to.equal('foo');\n });\n\n it('can parse lists', () => {\n const stringListField = new StringListField('foo, bar, baz');\n\n expect(stringListField.value).to.equal('foo');\n expect(stringListField.values).to.deep.equal(['foo', 'bar', 'baz']);\n expect(stringListField.rawValue).to.equal('foo, bar, baz');\n });\n\n it('can parse lists of lists', () => {\n const stringListField = new StringListField([\n 'foo, bar, baz',\n 'beep, boop, bop',\n ]);\n\n expect(stringListField.value).to.equal('foo');\n expect(stringListField.values).to.deep.equal([\n 'foo',\n 'bar',\n 'baz',\n 'beep',\n 'boop',\n 'bop',\n ]);\n expect(stringListField.rawValue).to.deep.equal([\n 'foo, bar, baz',\n 'beep, boop, bop',\n ]);\n });\n });\n\n describe('NumberListField', () => {\n it('can parse lists of numbers', () => {\n const listField = new NumberListField('1, 2, 3');\n\n expect(listField.value).to.equal(1);\n expect(listField.values).to.deep.equal([1, 2, 3]);\n expect(listField.rawValue).to.equal('1, 2, 3');\n });\n\n it('can parse lists of lists', () => {\n const listField = new NumberListField(['1, 2, 3', '4, 5, 6']);\n\n expect(listField.value).to.equal(1);\n expect(listField.values).to.deep.equal([1, 2, 3, 4, 5, 6]);\n expect(listField.rawValue).to.deep.equal(['1, 2, 3', '4, 5, 6']);\n });\n });\n});\n"]}
@@ -1,122 +0,0 @@
1
- import { expect } from '@open-wc/testing';
2
- import { MetadataField } from '../../../src/models/metadata-fields/metadata-field';
3
-
4
- describe('Metadata Field', () => {
5
- it('can be properly instantiated with single value', () => {
6
- class MockParser {
7
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
- parseValue(rawValue) {
9
- return rawValue;
10
- }
11
- }
12
- const parser = new MockParser();
13
- const metadataField = new MetadataField(parser, 'foo');
14
- expect(metadataField.rawValue).to.equal('foo');
15
- expect(metadataField.value).to.equal('foo');
16
- expect(metadataField.values).to.deep.equal(['foo']);
17
- });
18
- it('can be properly instantiated with array value', () => {
19
- class MockParser {
20
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
- parseValue(rawValue) {
22
- return rawValue;
23
- }
24
- }
25
- const parser = new MockParser();
26
- const metadataField = new MetadataField(parser, ['foo', 'bar', 'baz']);
27
- expect(metadataField.rawValue).to.deep.equal(['foo', 'bar', 'baz']);
28
- expect(metadataField.value).to.equal('foo');
29
- expect(metadataField.values).to.deep.equal(['foo', 'bar', 'baz']);
30
- });
31
- it('properly casts values to expected parser type for single values', () => {
32
- class MockFloatParser {
33
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
- parseValue(rawValue) {
35
- return parseFloat(rawValue);
36
- }
37
- }
38
- const parser = new MockFloatParser();
39
- const metadataField = new MetadataField(parser, '1.3');
40
- expect(metadataField.rawValue).to.equal('1.3');
41
- expect(metadataField.value).to.equal(1.3);
42
- expect(metadataField.values).to.deep.equal([1.3]);
43
- });
44
- it('properly casts values to expected parser type for array values', () => {
45
- class MockFloatParser {
46
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
- parseValue(rawValue) {
48
- return parseFloat(rawValue);
49
- }
50
- }
51
- const parser = new MockFloatParser();
52
- const metadataField = new MetadataField(parser, ['1.3', '2.4', '4.5']);
53
- expect(metadataField.rawValue).to.deep.equal(['1.3', '2.4', '4.5']);
54
- expect(metadataField.value).to.equal(1.3);
55
- expect(metadataField.values).to.deep.equal([1.3, 2.4, 4.5]);
56
- });
57
- it('has no value if a raw value was not passed in', () => {
58
- class MockFloatParser {
59
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
60
- parseValue(rawValue) {
61
- return rawValue;
62
- }
63
- }
64
- const parser = new MockFloatParser();
65
- const metadataField = new MetadataField(parser);
66
- expect(metadataField.rawValue).to.equal(undefined);
67
- expect(metadataField.value).to.equal(undefined);
68
- expect(metadataField.values).to.deep.equal([]);
69
- });
70
- it('does not add value to values array if parsed value is undefined', () => {
71
- class MockFloatParser {
72
- parseValue(rawValue) {
73
- return undefined;
74
- }
75
- }
76
- const parser = new MockFloatParser();
77
- const metadataField = new MetadataField(parser);
78
- expect(metadataField.rawValue).to.equal(undefined);
79
- expect(metadataField.value).to.equal(undefined);
80
- expect(metadataField.values).to.deep.equal([]);
81
- });
82
- it('handles falsy `0` return values properly', () => {
83
- class MockFloatParser {
84
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
- parseValue(rawValue) {
86
- return rawValue;
87
- }
88
- }
89
- const parser = new MockFloatParser();
90
- const metadataField = new MetadataField(parser, 0);
91
- expect(metadataField.rawValue).to.equal(0);
92
- expect(metadataField.value).to.equal(0);
93
- expect(metadataField.values).to.deep.equal([0]);
94
- });
95
- it('handles falsy `false` return values properly', () => {
96
- class MockFloatParser {
97
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
98
- parseValue(rawValue) {
99
- return rawValue;
100
- }
101
- }
102
- const parser = new MockFloatParser();
103
- const metadataField = new MetadataField(parser, false);
104
- expect(metadataField.rawValue).to.equal(false);
105
- expect(metadataField.value).to.equal(false);
106
- expect(metadataField.values).to.deep.equal([false]);
107
- });
108
- it('handles falsy empty string return values properly', () => {
109
- class MockFloatParser {
110
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
111
- parseValue(rawValue) {
112
- return rawValue;
113
- }
114
- }
115
- const parser = new MockFloatParser();
116
- const metadataField = new MetadataField(parser, '');
117
- expect(metadataField.rawValue).to.equal('');
118
- expect(metadataField.value).to.equal('');
119
- expect(metadataField.values).to.deep.equal(['']);
120
- });
121
- });
122
- // # sourceMappingURL=metadata-field.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata-field.test.js","sourceRoot":"","sources":["../../../../test/models/metadata-fields/metadata-field.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FieldParserInterface,\n FieldParserRawValue,\n} from '@internetarchive/field-parsers';\nimport { expect } from '@open-wc/testing';\nimport { MetadataField } from '../../../src/models/metadata-fields/metadata-field';\n\ndescribe('Metadata Field', () => {\n it('can be properly instantiated with single value', () => {\n class MockParser implements FieldParserInterface<string> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parseValue(rawValue: any): string {\n return rawValue;\n }\n }\n\n const parser = new MockParser();\n const metadataField = new MetadataField(parser, 'foo');\n\n expect(metadataField.rawValue).to.equal('foo');\n expect(metadataField.value).to.equal('foo');\n expect(metadataField.values).to.deep.equal(['foo']);\n });\n\n it('can be properly instantiated with array value', () => {\n class MockParser implements FieldParserInterface<string> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parseValue(rawValue: any): string {\n return rawValue;\n }\n }\n\n const parser = new MockParser();\n const metadataField = new MetadataField(parser, ['foo', 'bar', 'baz']);\n\n expect(metadataField.rawValue).to.deep.equal(['foo', 'bar', 'baz']);\n expect(metadataField.value).to.equal('foo');\n expect(metadataField.values).to.deep.equal(['foo', 'bar', 'baz']);\n });\n\n it('properly casts values to expected parser type for single values', () => {\n class MockFloatParser implements FieldParserInterface<number> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parseValue(rawValue: any): number {\n return parseFloat(rawValue);\n }\n }\n\n const parser = new MockFloatParser();\n const metadataField = new MetadataField(parser, '1.3');\n\n expect(metadataField.rawValue).to.equal('1.3');\n expect(metadataField.value).to.equal(1.3);\n expect(metadataField.values).to.deep.equal([1.3]);\n });\n\n it('properly casts values to expected parser type for array values', () => {\n class MockFloatParser implements FieldParserInterface<number> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parseValue(rawValue: any): number {\n return parseFloat(rawValue);\n }\n }\n\n const parser = new MockFloatParser();\n const metadataField = new MetadataField(parser, ['1.3', '2.4', '4.5']);\n\n expect(metadataField.rawValue).to.deep.equal(['1.3', '2.4', '4.5']);\n expect(metadataField.value).to.equal(1.3);\n expect(metadataField.values).to.deep.equal([1.3, 2.4, 4.5]);\n });\n\n it('has no value if a raw value was not passed in', () => {\n class MockFloatParser implements FieldParserInterface<number> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parseValue(rawValue: any): number {\n return rawValue;\n }\n }\n\n const parser = new MockFloatParser();\n const metadataField = new MetadataField(parser);\n\n expect(metadataField.rawValue).to.equal(undefined);\n expect(metadataField.value).to.equal(undefined);\n expect(metadataField.values).to.deep.equal([]);\n });\n\n it('does not add value to values array if parsed value is undefined', () => {\n class MockFloatParser implements FieldParserInterface<number> {\n parseValue(rawValue: FieldParserRawValue): number | undefined {\n return undefined;\n }\n }\n\n const parser = new MockFloatParser();\n const metadataField = new MetadataField(parser);\n\n expect(metadataField.rawValue).to.equal(undefined);\n expect(metadataField.value).to.equal(undefined);\n expect(metadataField.values).to.deep.equal([]);\n });\n\n it('handles falsy `0` return values properly', () => {\n class MockFloatParser implements FieldParserInterface<number> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parseValue(rawValue: any): number {\n return rawValue;\n }\n }\n\n const parser = new MockFloatParser();\n const metadataField = new MetadataField(parser, 0);\n\n expect(metadataField.rawValue).to.equal(0);\n expect(metadataField.value).to.equal(0);\n expect(metadataField.values).to.deep.equal([0]);\n });\n\n it('handles falsy `false` return values properly', () => {\n class MockFloatParser implements FieldParserInterface<number> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parseValue(rawValue: any): number {\n return rawValue;\n }\n }\n\n const parser = new MockFloatParser();\n const metadataField = new MetadataField(parser, false);\n\n expect(metadataField.rawValue).to.equal(false);\n expect(metadataField.value).to.equal(false);\n expect(metadataField.values).to.deep.equal([false]);\n });\n\n it('handles falsy empty string return values properly', () => {\n class MockFloatParser implements FieldParserInterface<number> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parseValue(rawValue: any): number {\n return rawValue;\n }\n }\n\n const parser = new MockFloatParser();\n const metadataField = new MetadataField(parser, '');\n\n expect(metadataField.rawValue).to.equal('');\n expect(metadataField.value).to.equal('');\n expect(metadataField.values).to.deep.equal(['']);\n });\n});\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,11 +0,0 @@
1
- import { expect } from '@open-wc/testing';
2
- import { Metadata } from '../../src/models/metadata';
3
-
4
- describe('Metadata', () => {
5
- it('properly instantiates metadata with identifier', async () => {
6
- const json = { identifier: 'foo', collection: 'bar' };
7
- const metadata = new Metadata(json);
8
- expect(metadata.identifier).to.equal('foo');
9
- });
10
- });
11
- // # sourceMappingURL=metadata.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata.test.js","sourceRoot":"","sources":["../../../test/models/metadata.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,IAAI,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect } from '@open-wc/testing';\n\nimport { Metadata } from '../../src/models/metadata';\n\ndescribe('Metadata', () => {\n it('properly instantiates metadata with identifier', async () => {\n const json = { identifier: 'foo', collection: 'bar' };\n const metadata = new Metadata(json);\n expect(metadata.identifier).to.equal('foo');\n });\n});\n"]}
@@ -1,106 +0,0 @@
1
- import { Memoize } from 'typescript-memoize';
2
- import {
3
- Byte,
4
- ByteParser,
5
- Duration,
6
- DurationParser,
7
- NumberParser,
8
- } from '@internetarchive/field-parsers';
9
-
10
- /**
11
- * This represents an Internet Archive File
12
- *
13
- * @export
14
- * @class File
15
- */
16
- export class File {
17
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
18
- readonly rawValue: Readonly<Record<string, any>>;
19
-
20
- get name(): string {
21
- return this.rawValue.name;
22
- }
23
-
24
- get source(): string {
25
- return this.rawValue.source;
26
- }
27
-
28
- get btih(): string {
29
- return this.rawValue.btih;
30
- }
31
-
32
- get md5(): string {
33
- return this.rawValue.md5;
34
- }
35
-
36
- get format(): string {
37
- return this.rawValue.format;
38
- }
39
-
40
- get mtime(): string {
41
- return this.rawValue.mtime;
42
- }
43
-
44
- get crc32(): string {
45
- return this.rawValue.crc32;
46
- }
47
-
48
- get sha1(): string {
49
- return this.rawValue.sha1;
50
- }
51
-
52
- get original(): string | undefined {
53
- return this.rawValue.original;
54
- }
55
-
56
- @Memoize() get size(): Byte | undefined {
57
- return this.rawValue.size != null
58
- ? ByteParser.shared.parseValue(this.rawValue.size)
59
- : undefined;
60
- }
61
-
62
- get title(): string | undefined {
63
- return this.rawValue.title;
64
- }
65
-
66
- @Memoize() get length(): Duration | undefined {
67
- return this.rawValue.length != null
68
- ? DurationParser.shared.parseValue(this.rawValue.length)
69
- : undefined;
70
- }
71
-
72
- @Memoize() get height(): number | undefined {
73
- return this.rawValue.height != null
74
- ? NumberParser.shared.parseValue(this.rawValue.height)
75
- : undefined;
76
- }
77
-
78
- @Memoize() get width(): number | undefined {
79
- return this.rawValue.width != null
80
- ? NumberParser.shared.parseValue(this.rawValue.width)
81
- : undefined;
82
- }
83
-
84
- @Memoize() get track(): number | undefined {
85
- return this.rawValue.track != null
86
- ? NumberParser.shared.parseValue(this.rawValue.track)
87
- : undefined;
88
- }
89
-
90
- get external_identifier(): string | string[] | undefined {
91
- return this.rawValue.external_identifier;
92
- }
93
-
94
- get creator(): string | undefined {
95
- return this.rawValue.creator;
96
- }
97
-
98
- get album(): string | undefined {
99
- return this.rawValue.album;
100
- }
101
-
102
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
103
- constructor(json: Record<string, any> = {}) {
104
- this.rawValue = json;
105
- }
106
- }
@@ -1,46 +0,0 @@
1
- import { Memoize } from 'typescript-memoize';
2
- import { DateParser, NumberParser } from '@internetarchive/field-parsers';
3
-
4
- export class Review {
5
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
6
- readonly rawValue: Readonly<Record<string, any>>;
7
-
8
- get reviewbody(): string | undefined {
9
- return this.rawValue.reviewbody;
10
- }
11
-
12
- get reviewtitle(): string | undefined {
13
- return this.rawValue.reviewtitle;
14
- }
15
-
16
- get reviewer(): string | undefined {
17
- return this.rawValue.reviewer;
18
- }
19
-
20
- get reviewer_itemname(): string | undefined {
21
- return this.rawValue.reviewer_itemname;
22
- }
23
-
24
- @Memoize() get reviewdate(): Date | undefined {
25
- return this.rawValue.reviewdate != null
26
- ? DateParser.shared.parseValue(this.rawValue.reviewdate)
27
- : undefined;
28
- }
29
-
30
- @Memoize() get createdate(): Date | undefined {
31
- return this.rawValue.createdate != null
32
- ? DateParser.shared.parseValue(this.rawValue.createdate)
33
- : undefined;
34
- }
35
-
36
- @Memoize() get stars(): number | undefined {
37
- return this.rawValue.stars != null
38
- ? NumberParser.shared.parseValue(this.rawValue.stars)
39
- : undefined;
40
- }
41
-
42
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
43
- constructor(json: Record<string, any> = {}) {
44
- this.rawValue = json;
45
- }
46
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * This is the format used for radio transcripts
3
- */
4
- export type SpeechMusicASREntry = {
5
- readonly end: number;
6
- readonly id: number;
7
- readonly is_music: boolean;
8
- readonly start: number;
9
- readonly text: string;
10
- };
@@ -1,52 +0,0 @@
1
- import { expect } from '@open-wc/testing';
2
-
3
- import { File } from '../../src/models/file';
4
-
5
- describe('File', () => {
6
- it('can be instantiated with an object', async () => {
7
- const file = new File({ name: 'foo.jpg' });
8
- expect(file.name).to.equal('foo.jpg');
9
- });
10
-
11
- // some fields like size and length get converted to their proper types
12
- it('properly instantiates modeled fields', async () => {
13
- const file = new File({
14
- name: 'foo.jpg',
15
- size: '1234',
16
- length: '1:23',
17
- height: '1080',
18
- width: '1920',
19
- track: '1',
20
- });
21
- expect(file.size).to.equal(1234);
22
- expect(file.length).to.equal(83);
23
- expect(file.height).to.equal(1080);
24
- expect(file.width).to.equal(1920);
25
- expect(file.track).to.equal(1);
26
- });
27
-
28
- it('external_identifier can be a single value', async () => {
29
- const file = new File({ name: 'foo.jpg', external_identifier: 'bar' });
30
- expect(file.external_identifier).to.equal('bar');
31
- });
32
-
33
- it('external_identifier can be an array', async () => {
34
- const file = new File({
35
- name: 'foo.jpg',
36
- external_identifier: ['foo', 'bar'],
37
- });
38
- expect(file.external_identifier).to.deep.equal(['foo', 'bar']);
39
- });
40
-
41
- it('handles falsy values properly', async () => {
42
- const file = new File({
43
- name: 'foo.jpg',
44
- size: 0,
45
- track: 0,
46
- });
47
- expect(file.size).to.not.be.undefined;
48
- expect(file.size).to.equal(0);
49
- expect(file.track).to.not.be.undefined;
50
- expect(file.track).to.equal(0);
51
- });
52
- });
@@ -1,59 +0,0 @@
1
- import { expect } from '@open-wc/testing';
2
-
3
- import { Review } from '../../src/models/review';
4
-
5
- describe('Review', () => {
6
- it('can be instantiated with a title', async () => {
7
- const review = new Review({
8
- reviewtitle: 'It was awesome!',
9
- });
10
- expect(review.reviewtitle).to.equal('It was awesome!');
11
- });
12
-
13
- it('stars get converted to a number', async () => {
14
- const review = new Review({
15
- stars: '5',
16
- });
17
- expect(review.stars).to.equal(5);
18
- });
19
-
20
- it('reviewdate get converted to a date', async () => {
21
- const review = new Review({
22
- reviewdate: '2014-05-09 09:47:15',
23
- });
24
-
25
- const expected = new Date();
26
- expected.setHours(9);
27
- expected.setMinutes(47);
28
- expected.setSeconds(15);
29
- expected.setMilliseconds(0);
30
- expected.setMonth(4);
31
- expected.setDate(9);
32
- expected.setFullYear(2014);
33
-
34
- expect(review.reviewdate?.getTime()).to.equal(expected.getTime());
35
- });
36
-
37
- it('handles falsy values properly', async () => {
38
- const review = new Review({
39
- reviewtitle: 'yay',
40
- reviewdate: '0',
41
- stars: 0,
42
- });
43
-
44
- const expected = new Date();
45
- expected.setHours(0);
46
- expected.setMinutes(0);
47
- expected.setSeconds(0);
48
- expected.setMilliseconds(0);
49
- expected.setMonth(0);
50
- expected.setDate(1);
51
- expected.setFullYear(2000);
52
-
53
- expect(review.reviewtitle).to.equal('yay');
54
- expect(review.reviewdate).to.not.be.undefined;
55
- expect(review.reviewdate?.getTime()).to.equal(expected.getTime());
56
- expect(review.stars).to.not.be.undefined;
57
- expect(review.stars).to.equal(0);
58
- });
59
- });