@internetarchive/metadata-service 1.0.6 → 1.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/src/backend/default-metadata-backend.d.ts +8 -0
- package/dist/src/backend/default-metadata-backend.js +32 -0
- package/dist/src/backend/default-metadata-backend.js.map +1 -1
- package/dist/src/backend/metadata-backend-interface.d.ts +14 -0
- package/dist/src/backend/metadata-backend-interface.js.map +1 -1
- package/dist/src/metadata-patch.d.ts +21 -0
- package/dist/src/metadata-patch.js +37 -0
- package/dist/src/metadata-patch.js.map +1 -0
- package/dist/src/metadata-service-error.d.ts +3 -1
- package/dist/src/metadata-service-error.js +2 -0
- package/dist/src/metadata-service-error.js.map +1 -1
- package/dist/src/metadata-service-interface.d.ts +42 -0
- package/dist/src/metadata-service-interface.js.map +1 -1
- package/dist/src/metadata-service.d.ts +6 -1
- package/dist/src/metadata-service.js +28 -0
- package/dist/src/metadata-service.js.map +1 -1
- package/dist/src/responses/metadata-response.d.ts +22 -0
- package/dist/src/responses/metadata-response.js +5 -0
- package/dist/src/responses/metadata-response.js.map +1 -1
- package/dist/test/default-metadata-backend.test.js +52 -0
- package/dist/test/default-metadata-backend.test.js.map +1 -1
- package/dist/test/metadata-patch.test.js +41 -0
- package/dist/test/metadata-patch.test.js.map +1 -0
- package/dist/test/metadata-service-write.test.js +96 -0
- package/dist/test/metadata-service-write.test.js.map +1 -0
- package/dist/test/mock-response-generator.js +11 -0
- package/dist/test/mock-response-generator.js.map +1 -1
- package/dist/test/responses/metadata-response.test.d.ts +1 -0
- package/dist/test/responses/metadata-response.test.js +48 -0
- package/dist/test/responses/metadata-response.test.js.map +1 -0
- package/index.ts +13 -1
- package/package.json +2 -2
- package/src/backend/default-metadata-backend.ts +47 -0
- package/src/backend/metadata-backend-interface.ts +19 -0
- package/src/metadata-patch.ts +53 -0
- package/src/metadata-service-error.ts +2 -0
- package/src/metadata-service-interface.ts +56 -0
- package/src/metadata-service.ts +57 -1
- package/src/responses/metadata-response.ts +34 -0
- package/test/default-metadata-backend.test.ts +66 -0
- package/test/metadata-patch.test.ts +53 -0
- package/test/metadata-service-write.test.ts +138 -0
- package/test/mock-response-generator.ts +11 -0
- package/test/responses/metadata-response.test.ts +55 -0
- package/.claude/settings.local.json +0 -15
- package/dist/src/models/file.d.ts +0 -29
- package/dist/src/models/file.js +0 -104
- package/dist/src/models/file.js.map +0 -1
- package/dist/src/models/review.d.ts +0 -11
- package/dist/src/models/review.js +0 -46
- package/dist/src/models/review.js.map +0 -1
- package/dist/src/models/speech-music-asr-entry.d.ts +0 -10
- package/dist/src/models/speech-music-asr-entry.js +0 -2
- package/dist/src/models/speech-music-asr-entry.js.map +0 -1
- package/dist/src/models/task.d.ts +0 -11
- package/dist/src/models/task.js +0 -2
- package/dist/src/models/task.js.map +0 -1
- package/dist/test/models/file.test.js +0 -57
- package/dist/test/models/file.test.js.map +0 -1
- package/dist/test/models/review.test.js +0 -53
- package/dist/test/models/review.test.js.map +0 -1
- /package/dist/test/{models/file.test.d.ts → metadata-patch.test.d.ts} +0 -0
- /package/dist/test/{models/review.test.d.ts → metadata-service-write.test.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/models/review.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,OAAO,MAAM;IAIjB,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACzC,CAAC;IAEU,IAAI,UAAU;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI;YACrC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,UAAU;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI;YACrC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEU,IAAI,KAAK;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI;YAChC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,iEAAiE;IACjE,YAAY,OAA4B,EAAE;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF;AAtBY;IAAV,OAAO,EAAE;wCAIT;AAEU;IAAV,OAAO,EAAE;wCAIT;AAEU;IAAV,OAAO,EAAE;mCAIT","sourcesContent":["import { Memoize } from 'typescript-memoize';\nimport { DateParser, NumberParser } from '@internetarchive/field-parsers';\n\nexport class Review {\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n readonly rawValue: Readonly<Record<string, any>>;\n\n get reviewbody(): string | undefined {\n return this.rawValue.reviewbody;\n }\n\n get reviewtitle(): string | undefined {\n return this.rawValue.reviewtitle;\n }\n\n get reviewer(): string | undefined {\n return this.rawValue.reviewer;\n }\n\n get reviewer_itemname(): string | undefined {\n return this.rawValue.reviewer_itemname;\n }\n\n @Memoize() get reviewdate(): Date | undefined {\n return this.rawValue.reviewdate != null\n ? DateParser.shared.parseValue(this.rawValue.reviewdate)\n : undefined;\n }\n\n @Memoize() get createdate(): Date | undefined {\n return this.rawValue.createdate != null\n ? DateParser.shared.parseValue(this.rawValue.createdate)\n : undefined;\n }\n\n @Memoize() get stars(): number | undefined {\n return this.rawValue.stars != null\n ? NumberParser.shared.parseValue(this.rawValue.stars)\n : undefined;\n }\n\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n constructor(json: Record<string, any> = {}) {\n this.rawValue = json;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"speech-music-asr-entry.js","sourceRoot":"","sources":["../../../src/models/speech-music-asr-entry.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * This is the format used for radio transcripts\n */\nexport type SpeechMusicASREntry = {\n readonly end: number;\n readonly id: number;\n readonly is_music: boolean;\n readonly start: number;\n readonly text: string;\n};\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export type TaskColor = 'red' | 'green' | 'blue' | 'purple' | 'brown';
|
|
2
|
-
export type TaskStatus = 'error' | 'queued' | 'running' | 'passed' | 'paused';
|
|
3
|
-
export type Task = {
|
|
4
|
-
task_id: number;
|
|
5
|
-
cmd: string;
|
|
6
|
-
priority: number;
|
|
7
|
-
wait_admin: number;
|
|
8
|
-
args: Record<string, string>;
|
|
9
|
-
color: TaskColor;
|
|
10
|
-
status: TaskStatus;
|
|
11
|
-
};
|
package/dist/src/models/task.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/models/task.ts"],"names":[],"mappings":"","sourcesContent":["export type TaskColor = 'red' | 'green' | 'blue' | 'purple' | 'brown';\n\nexport type TaskStatus = 'error' | 'queued' | 'running' | 'passed' | 'paused';\n\nexport type Task = {\n task_id: number;\n cmd: string;\n priority: number;\n wait_admin: number;\n args: Record<string, string>;\n color: TaskColor;\n status: TaskStatus;\n};\n"]}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { expect } from '@open-wc/testing';
|
|
2
|
-
import { File } from '../../src/models/file';
|
|
3
|
-
describe('File', () => {
|
|
4
|
-
it('can be instantiated with an object', async () => {
|
|
5
|
-
const file = new File({ name: 'foo.jpg' });
|
|
6
|
-
expect(file.name).to.equal('foo.jpg');
|
|
7
|
-
});
|
|
8
|
-
// some fields like size and length get converted to their proper types
|
|
9
|
-
it('properly instantiates modeled fields', async () => {
|
|
10
|
-
const file = new File({
|
|
11
|
-
name: 'foo.jpg',
|
|
12
|
-
size: '1234',
|
|
13
|
-
length: '1:23',
|
|
14
|
-
height: '1080',
|
|
15
|
-
width: '1920',
|
|
16
|
-
track: '1',
|
|
17
|
-
});
|
|
18
|
-
expect(file.size).to.equal(1234);
|
|
19
|
-
expect(file.length).to.equal(83);
|
|
20
|
-
expect(file.height).to.equal(1080);
|
|
21
|
-
expect(file.width).to.equal(1920);
|
|
22
|
-
expect(file.track).to.equal(1);
|
|
23
|
-
});
|
|
24
|
-
it('external_identifier can be a single value', async () => {
|
|
25
|
-
const file = new File({ name: 'foo.jpg', external_identifier: 'bar' });
|
|
26
|
-
expect(file.external_identifier).to.equal('bar');
|
|
27
|
-
});
|
|
28
|
-
it('external_identifier can be an array', async () => {
|
|
29
|
-
const file = new File({
|
|
30
|
-
name: 'foo.jpg',
|
|
31
|
-
external_identifier: ['foo', 'bar'],
|
|
32
|
-
});
|
|
33
|
-
expect(file.external_identifier).to.deep.equal(['foo', 'bar']);
|
|
34
|
-
});
|
|
35
|
-
it('handles falsy values properly', async () => {
|
|
36
|
-
const file = new File({
|
|
37
|
-
name: 'foo.jpg',
|
|
38
|
-
size: 0,
|
|
39
|
-
track: 0,
|
|
40
|
-
});
|
|
41
|
-
expect(file.size).to.not.be.undefined;
|
|
42
|
-
expect(file.size).to.equal(0);
|
|
43
|
-
expect(file.track).to.not.be.undefined;
|
|
44
|
-
expect(file.track).to.equal(0);
|
|
45
|
-
});
|
|
46
|
-
it('parses mtime properly', async () => {
|
|
47
|
-
var _a;
|
|
48
|
-
const file = new File({
|
|
49
|
-
name: 'foo.jpg',
|
|
50
|
-
mtime: '1639591034',
|
|
51
|
-
});
|
|
52
|
-
expect(file.mtime).to.not.be.undefined;
|
|
53
|
-
expect(file.mtime instanceof Date).to.be.true;
|
|
54
|
-
expect((_a = file.mtime) === null || _a === void 0 ? void 0 : _a.getTime()).to.equal(1639591034000);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
//# sourceMappingURL=file.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file.test.js","sourceRoot":"","sources":["../../../test/models/file.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\n\nimport { File } from '../../src/models/file';\n\ndescribe('File', () => {\n it('can be instantiated with an object', async () => {\n const file = new File({ name: 'foo.jpg' });\n expect(file.name).to.equal('foo.jpg');\n });\n\n // some fields like size and length get converted to their proper types\n it('properly instantiates modeled fields', async () => {\n const file = new File({\n name: 'foo.jpg',\n size: '1234',\n length: '1:23',\n height: '1080',\n width: '1920',\n track: '1',\n });\n expect(file.size).to.equal(1234);\n expect(file.length).to.equal(83);\n expect(file.height).to.equal(1080);\n expect(file.width).to.equal(1920);\n expect(file.track).to.equal(1);\n });\n\n it('external_identifier can be a single value', async () => {\n const file = new File({ name: 'foo.jpg', external_identifier: 'bar' });\n expect(file.external_identifier).to.equal('bar');\n });\n\n it('external_identifier can be an array', async () => {\n const file = new File({\n name: 'foo.jpg',\n external_identifier: ['foo', 'bar'],\n });\n expect(file.external_identifier).to.deep.equal(['foo', 'bar']);\n });\n\n it('handles falsy values properly', async () => {\n const file = new File({\n name: 'foo.jpg',\n size: 0,\n track: 0,\n });\n expect(file.size).to.not.be.undefined;\n expect(file.size).to.equal(0);\n expect(file.track).to.not.be.undefined;\n expect(file.track).to.equal(0);\n });\n\n it('parses mtime properly', async () => {\n const file = new File({\n name: 'foo.jpg',\n mtime: '1639591034',\n });\n expect(file.mtime).to.not.be.undefined;\n expect(file.mtime instanceof Date).to.be.true;\n expect(file.mtime?.getTime()).to.equal(1639591034000);\n });\n});\n"]}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { expect } from '@open-wc/testing';
|
|
2
|
-
import { Review } from '../../src/models/review';
|
|
3
|
-
describe('Review', () => {
|
|
4
|
-
it('can be instantiated with a title', async () => {
|
|
5
|
-
const review = new Review({
|
|
6
|
-
reviewtitle: 'It was awesome!',
|
|
7
|
-
});
|
|
8
|
-
expect(review.reviewtitle).to.equal('It was awesome!');
|
|
9
|
-
});
|
|
10
|
-
it('stars get converted to a number', async () => {
|
|
11
|
-
const review = new Review({
|
|
12
|
-
stars: '5',
|
|
13
|
-
});
|
|
14
|
-
expect(review.stars).to.equal(5);
|
|
15
|
-
});
|
|
16
|
-
it('reviewdate get converted to a date', async () => {
|
|
17
|
-
var _a;
|
|
18
|
-
const review = new Review({
|
|
19
|
-
reviewdate: '2014-05-09 09:47:15',
|
|
20
|
-
});
|
|
21
|
-
const expected = new Date();
|
|
22
|
-
expected.setHours(9);
|
|
23
|
-
expected.setMinutes(47);
|
|
24
|
-
expected.setSeconds(15);
|
|
25
|
-
expected.setMilliseconds(0);
|
|
26
|
-
expected.setMonth(4);
|
|
27
|
-
expected.setDate(9);
|
|
28
|
-
expected.setFullYear(2014);
|
|
29
|
-
expect((_a = review.reviewdate) === null || _a === void 0 ? void 0 : _a.getTime()).to.equal(expected.getTime());
|
|
30
|
-
});
|
|
31
|
-
it('handles falsy values properly', async () => {
|
|
32
|
-
var _a;
|
|
33
|
-
const review = new Review({
|
|
34
|
-
reviewtitle: 'yay',
|
|
35
|
-
reviewdate: '0',
|
|
36
|
-
stars: 0,
|
|
37
|
-
});
|
|
38
|
-
const expected = new Date();
|
|
39
|
-
expected.setHours(0);
|
|
40
|
-
expected.setMinutes(0);
|
|
41
|
-
expected.setSeconds(0);
|
|
42
|
-
expected.setMilliseconds(0);
|
|
43
|
-
expected.setMonth(0);
|
|
44
|
-
expected.setDate(1);
|
|
45
|
-
expected.setFullYear(2000);
|
|
46
|
-
expect(review.reviewtitle).to.equal('yay');
|
|
47
|
-
expect(review.reviewdate).to.not.be.undefined;
|
|
48
|
-
expect((_a = review.reviewdate) === null || _a === void 0 ? void 0 : _a.getTime()).to.equal(expected.getTime());
|
|
49
|
-
expect(review.stars).to.not.be.undefined;
|
|
50
|
-
expect(review.stars).to.equal(0);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
//# sourceMappingURL=review.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review.test.js","sourceRoot":"","sources":["../../../test/models/review.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from '@open-wc/testing';\n\nimport { Review } from '../../src/models/review';\n\ndescribe('Review', () => {\n it('can be instantiated with a title', async () => {\n const review = new Review({\n reviewtitle: 'It was awesome!',\n });\n expect(review.reviewtitle).to.equal('It was awesome!');\n });\n\n it('stars get converted to a number', async () => {\n const review = new Review({\n stars: '5',\n });\n expect(review.stars).to.equal(5);\n });\n\n it('reviewdate get converted to a date', async () => {\n const review = new Review({\n reviewdate: '2014-05-09 09:47:15',\n });\n\n const expected = new Date();\n expected.setHours(9);\n expected.setMinutes(47);\n expected.setSeconds(15);\n expected.setMilliseconds(0);\n expected.setMonth(4);\n expected.setDate(9);\n expected.setFullYear(2014);\n\n expect(review.reviewdate?.getTime()).to.equal(expected.getTime());\n });\n\n it('handles falsy values properly', async () => {\n const review = new Review({\n reviewtitle: 'yay',\n reviewdate: '0',\n stars: 0,\n });\n\n const expected = new Date();\n expected.setHours(0);\n expected.setMinutes(0);\n expected.setSeconds(0);\n expected.setMilliseconds(0);\n expected.setMonth(0);\n expected.setDate(1);\n expected.setFullYear(2000);\n\n expect(review.reviewtitle).to.equal('yay');\n expect(review.reviewdate).to.not.be.undefined;\n expect(review.reviewdate?.getTime()).to.equal(expected.getTime());\n expect(review.stars).to.not.be.undefined;\n expect(review.stars).to.equal(0);\n });\n});\n"]}
|
|
File without changes
|
|
File without changes
|