@segha/catalog 4.1.1 → 5.0.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/CHANGELOG.md +16 -0
- package/es/Core/Format.ts +4 -0
- package/es/Core/Source.ts +1 -0
- package/es/DataTypes/ExternalId.ts +7 -0
- package/es/DataTypes/StreamUrls.ts +12 -0
- package/es/DataTypes/index.ts +2 -0
- package/es/DataTypes/types.ts +4 -0
- package/es/Movie/index.ts +25 -20
- package/es/Note.ts +2 -0
- package/es/TVSeries/index.ts +36 -0
- package/es/TVSeries/types.ts +6 -0
- package/es/index.ts +1 -0
- package/es/types.ts +2 -0
- package/json-schemas/es/Book/BookSchema.json +9 -9
- package/json-schemas/es/Book/index.json +9 -9
- package/json-schemas/es/BookSchema.json +9 -9
- package/json-schemas/es/Core/Format.json +1 -0
- package/json-schemas/es/Core/SourceSchema.json +4 -0
- package/json-schemas/es/Core/TVSeries.json +6 -0
- package/json-schemas/es/Core/index.json +11 -0
- package/json-schemas/es/DataTypes/StreamUrlsSchema.json +47 -0
- package/json-schemas/es/DataTypes/index.json +52 -0
- package/json-schemas/es/Movie/MovieSchema.json +286 -230
- package/json-schemas/es/Movie/index.json +286 -235
- package/json-schemas/es/MovieSchema.json +286 -230
- package/json-schemas/es/NoteSchema.json +638 -239
- package/json-schemas/es/Painting/PaintingSchema.json +4 -0
- package/json-schemas/es/Painting/index.json +4 -0
- package/json-schemas/es/PaintingSchema.json +4 -0
- package/json-schemas/es/TVSeries/TVSeriesSchema.json +336 -0
- package/json-schemas/es/TVSeries/index.json +343 -0
- package/json-schemas/es/TVSeriesSchema.json +336 -0
- package/json-schemas/es/Video/VideoSchema.json +4 -0
- package/json-schemas/es/Video/VimeoSchema.json +4 -0
- package/json-schemas/es/Video/YoutubeSchema.json +4 -0
- package/json-schemas/es/Video/index.json +12 -0
- package/json-schemas/es/VideoSchema.json +4 -0
- package/json-schemas/es/VimeoSchema.json +4 -0
- package/json-schemas/es/YoutubeSchema.json +4 -0
- package/json-schemas/es/index.json +1466 -659
- package/package.json +2 -2
- package/es/Movie/MovieExternalId.ts +0 -7
- /package/json-schemas/es/{Movie/MovieExternalId.json → DataTypes/TVExternalId.json} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,22 @@ All notable changes to @segha/catalog will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [5.0.0] - 2026-02-09
|
|
9
|
+
|
|
10
|
+
### Spanish (es)
|
|
11
|
+
|
|
12
|
+
#### Added
|
|
13
|
+
|
|
14
|
+
- Schema `TVSeriesSchema` was added
|
|
15
|
+
- Optional property `description` was added to `PaintingSchema`
|
|
16
|
+
- Optional property `description` was added to `VideoSchema`
|
|
17
|
+
- Optional property `description` was added to `VimeoSchema`
|
|
18
|
+
- Optional property `description` was added to `YoutubeSchema`
|
|
19
|
+
|
|
20
|
+
#### Changed
|
|
21
|
+
|
|
22
|
+
- **BREAKING** `MovieSchema` type changed from `object` to `undefined`
|
|
23
|
+
|
|
8
24
|
## [4.1.0] - 2026-02-08
|
|
9
25
|
|
|
10
26
|
### Spanish (es)
|
package/es/Core/Format.ts
CHANGED
|
@@ -15,6 +15,9 @@ export const Movies = z.literal("[[Películas]]")
|
|
|
15
15
|
export const Paintings = z.literal("[[Pinturas]]")
|
|
16
16
|
.describe('Pinturas');
|
|
17
17
|
|
|
18
|
+
export const TVSeries = z.literal("[[Series]]")
|
|
19
|
+
.describe('Series');
|
|
20
|
+
|
|
18
21
|
export const Videos = z.literal("[[Vídeos]]")
|
|
19
22
|
.describe('Vídeos');
|
|
20
23
|
|
|
@@ -24,5 +27,6 @@ export const Format = z.enum([
|
|
|
24
27
|
EncyclopediaEntries.value,
|
|
25
28
|
Movies.value,
|
|
26
29
|
Paintings.value,
|
|
30
|
+
TVSeries.value,
|
|
27
31
|
Videos.value,
|
|
28
32
|
]).describe('Formato de nota.');
|
package/es/Core/Source.ts
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
|
|
3
|
+
export const StreamUrlsSchema = z.object({
|
|
4
|
+
hbo_max_url: z.url().optional().describe('URL de HBO Max'),
|
|
5
|
+
netflix_url: z.url().optional().describe('URL de Netflix'),
|
|
6
|
+
apple_tv_url: z.url().optional().describe('URL de Apple TV'),
|
|
7
|
+
amazon_prime_url: z.url().optional().describe('URL de Amazon Prime'),
|
|
8
|
+
disney_plus_url: z.url().optional().describe('URL de Disney Plus'),
|
|
9
|
+
hulu_url: z.url().optional().describe('URL de Hulu'),
|
|
10
|
+
pluto_tv_url: z.url().optional().describe('URL de Pluto TV'),
|
|
11
|
+
youtube_url: z.url().optional().describe('URL de YouTube'),
|
|
12
|
+
}).describe('URLs de streaming');
|
package/es/DataTypes/index.ts
CHANGED
package/es/Movie/index.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import z from "zod";
|
|
3
3
|
|
|
4
4
|
import { Areas, Creativity, Movies, SourceSchema } from '../Core';
|
|
5
|
-
import { Color, Date, Icon, Image, InProgress, Pending, Watched, Yellow } from "../DataTypes";
|
|
6
|
-
import {
|
|
5
|
+
import { Color, Date, Icon, Image, InProgress, Pending, StreamUrlsSchema, Watched, Yellow } from "../DataTypes";
|
|
6
|
+
import { TVExternalId } from "../DataTypes";
|
|
7
7
|
|
|
8
8
|
const MovieStatus = z
|
|
9
9
|
.union([Pending, InProgress, Watched])
|
|
@@ -11,21 +11,26 @@ const MovieStatus = z
|
|
|
11
11
|
|
|
12
12
|
const MovieIcon = z.literal("movie");
|
|
13
13
|
|
|
14
|
-
export const MovieSchema = SourceSchema
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
14
|
+
export const MovieSchema = SourceSchema
|
|
15
|
+
.extend({
|
|
16
|
+
format: Movies.default(Movies.value),
|
|
17
|
+
status: MovieStatus.default(Pending.value),
|
|
18
|
+
areas: Areas.default([Creativity.value]),
|
|
19
|
+
color: Color.optional().default(Yellow.value).describe('Color de la nota.'),
|
|
20
|
+
icon: Icon.optional().default(MovieIcon.value).describe('Icono de Lucide.'),
|
|
21
|
+
cover: Image.nullable().optional().describe('Portada de la película.'),
|
|
22
|
+
url: z.url().describe('URL de la película en IMDB o similar'),
|
|
23
|
+
watch_url: z.url().optional().describe('URL de la película en streaming').meta({
|
|
24
|
+
deprecated: true,
|
|
25
|
+
replacement: 'hbo_max_url|netflix_url|apple_tv_url|amazon_prime_url|disney_plus_url|hulu_url|pluto_tv_url|youtube_url',
|
|
26
|
+
}),
|
|
27
|
+
external_ids: z.array(TVExternalId).optional().describe('IDs externos de la película'),
|
|
28
|
+
title: z.string().describe('Título de la película'),
|
|
29
|
+
actors: z.array(z.string()).optional().describe('Actores'),
|
|
30
|
+
published: Date.optional().describe('Año de publicación'),
|
|
31
|
+
genres: z.array(z.string()).optional().describe('Géneros'),
|
|
32
|
+
online_rating: z.number().optional().describe('Puntuación en línea'),
|
|
33
|
+
last_time_watched: Date.optional().describe('Última vez vista'),
|
|
34
|
+
times_watched: z.number().default(0).optional().describe('Veces vista'),
|
|
35
|
+
})
|
|
36
|
+
.and(StreamUrlsSchema).describe('Película');
|
package/es/Note.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { BookSchema } from "./Book";
|
|
|
5
5
|
import { ClothingSchema } from "./Clothing";
|
|
6
6
|
import { MovieSchema } from "./Movie";
|
|
7
7
|
import { PaintingSchema } from "./Painting";
|
|
8
|
+
import { TVSeriesSchema } from "./TVSeries";
|
|
8
9
|
import { VideoSchema } from "./Video";
|
|
9
10
|
import { EncyclopediaEntrySchema } from "./EncyclopediaEntry";
|
|
10
11
|
|
|
@@ -15,5 +16,6 @@ export const NoteSchema = z.union([
|
|
|
15
16
|
EncyclopediaEntrySchema,
|
|
16
17
|
MovieSchema,
|
|
17
18
|
PaintingSchema,
|
|
19
|
+
TVSeriesSchema,
|
|
18
20
|
VideoSchema,
|
|
19
21
|
]).describe('Nota: Unión de todos los tipos de notas');
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
|
|
2
|
+
import z from "zod";
|
|
3
|
+
|
|
4
|
+
import { Areas, Creativity, TVSeries, SourceSchema } from '../Core';
|
|
5
|
+
import { Color, Date, Icon, Image, InProgress, Pending, StreamUrlsSchema, Watched, Yellow } from "../DataTypes";
|
|
6
|
+
import { TVExternalId } from "../DataTypes";
|
|
7
|
+
|
|
8
|
+
const TVSeriesStatus = z
|
|
9
|
+
.union([Pending, InProgress, Watched])
|
|
10
|
+
.describe('Estado de visualización de la serie de TV');
|
|
11
|
+
|
|
12
|
+
const TVSeriesIcon = z.literal("tv");
|
|
13
|
+
|
|
14
|
+
export const TVSeriesSchema = SourceSchema
|
|
15
|
+
.extend({
|
|
16
|
+
format: TVSeries.default(TVSeries.value),
|
|
17
|
+
status: TVSeriesStatus.default(Pending.value),
|
|
18
|
+
areas: Areas.default([Creativity.value]),
|
|
19
|
+
color: Color.optional().default(Yellow.value).describe('Color de la nota.'),
|
|
20
|
+
icon: Icon.optional().default(TVSeriesIcon.value).describe('Icono de Lucide.'),
|
|
21
|
+
cover: Image.nullable().optional().describe('Portada de la serie de TV.'),
|
|
22
|
+
url: z.url().describe('URL de la serie de TV en IMDB o similar'),
|
|
23
|
+
watch_url: z.url().optional().describe('URL de la serie de TV en streaming').meta({
|
|
24
|
+
deprecated: true,
|
|
25
|
+
replacement: 'hbo_max_url|netflix_url|apple_tv_url|amazon_prime_url|disney_plus_url|hulu_url|pluto_tv_url|youtube_url',
|
|
26
|
+
}),
|
|
27
|
+
external_ids: z.array(TVExternalId).optional().describe('IDs externos de la serie de TV'),
|
|
28
|
+
title: z.string().describe('Título de la serie de TV'),
|
|
29
|
+
actors: z.array(z.string()).optional().describe('Actores'),
|
|
30
|
+
published: Date.optional().describe('Año de publicación'),
|
|
31
|
+
genres: z.array(z.string()).optional().describe('Géneros'),
|
|
32
|
+
online_rating: z.number().optional().describe('Puntuación en línea'),
|
|
33
|
+
last_time_watched: Date.optional().describe('Última vez vista'),
|
|
34
|
+
times_watched: z.number().default(0).optional().describe('Veces vista'),
|
|
35
|
+
})
|
|
36
|
+
.and(StreamUrlsSchema).describe('Serie de TV');
|
package/es/index.ts
CHANGED
package/es/types.ts
CHANGED
|
@@ -4,9 +4,11 @@ import { NoteSchema } from './Note';
|
|
|
4
4
|
export * from './Article/types';
|
|
5
5
|
export * from './Book/types';
|
|
6
6
|
export * from './Clothing/types';
|
|
7
|
+
export * from './DataTypes/types';
|
|
7
8
|
export * from './EncyclopediaEntry/types';
|
|
8
9
|
export * from './Movie/types';
|
|
9
10
|
export * from './Painting/types';
|
|
11
|
+
export * from './TVSeries/types';
|
|
10
12
|
export * from './Video/types';
|
|
11
13
|
|
|
12
14
|
export type Note = z.infer<typeof NoteSchema>;
|
|
@@ -219,15 +219,6 @@
|
|
|
219
219
|
"type": "string",
|
|
220
220
|
"description": "Título del libro"
|
|
221
221
|
},
|
|
222
|
-
"read_url": {
|
|
223
|
-
"description": "URL de la lectura del libro",
|
|
224
|
-
"type": "string",
|
|
225
|
-
"format": "uri"
|
|
226
|
-
},
|
|
227
|
-
"subtitle": {
|
|
228
|
-
"description": "Subtítulo del libro",
|
|
229
|
-
"type": "string"
|
|
230
|
-
},
|
|
231
222
|
"description": {
|
|
232
223
|
"description": "Descripción",
|
|
233
224
|
"anyOf": [
|
|
@@ -239,6 +230,15 @@
|
|
|
239
230
|
}
|
|
240
231
|
]
|
|
241
232
|
},
|
|
233
|
+
"read_url": {
|
|
234
|
+
"description": "URL de la lectura del libro",
|
|
235
|
+
"type": "string",
|
|
236
|
+
"format": "uri"
|
|
237
|
+
},
|
|
238
|
+
"subtitle": {
|
|
239
|
+
"description": "Subtítulo del libro",
|
|
240
|
+
"type": "string"
|
|
241
|
+
},
|
|
242
242
|
"categories": {
|
|
243
243
|
"description": "Géneros",
|
|
244
244
|
"type": "array",
|
|
@@ -224,15 +224,6 @@
|
|
|
224
224
|
"type": "string",
|
|
225
225
|
"description": "Título del libro"
|
|
226
226
|
},
|
|
227
|
-
"read_url": {
|
|
228
|
-
"description": "URL de la lectura del libro",
|
|
229
|
-
"type": "string",
|
|
230
|
-
"format": "uri"
|
|
231
|
-
},
|
|
232
|
-
"subtitle": {
|
|
233
|
-
"description": "Subtítulo del libro",
|
|
234
|
-
"type": "string"
|
|
235
|
-
},
|
|
236
227
|
"description": {
|
|
237
228
|
"description": "Descripción",
|
|
238
229
|
"anyOf": [
|
|
@@ -244,6 +235,15 @@
|
|
|
244
235
|
}
|
|
245
236
|
]
|
|
246
237
|
},
|
|
238
|
+
"read_url": {
|
|
239
|
+
"description": "URL de la lectura del libro",
|
|
240
|
+
"type": "string",
|
|
241
|
+
"format": "uri"
|
|
242
|
+
},
|
|
243
|
+
"subtitle": {
|
|
244
|
+
"description": "Subtítulo del libro",
|
|
245
|
+
"type": "string"
|
|
246
|
+
},
|
|
247
247
|
"categories": {
|
|
248
248
|
"description": "Géneros",
|
|
249
249
|
"type": "array",
|
|
@@ -219,15 +219,6 @@
|
|
|
219
219
|
"type": "string",
|
|
220
220
|
"description": "Título del libro"
|
|
221
221
|
},
|
|
222
|
-
"read_url": {
|
|
223
|
-
"description": "URL de la lectura del libro",
|
|
224
|
-
"type": "string",
|
|
225
|
-
"format": "uri"
|
|
226
|
-
},
|
|
227
|
-
"subtitle": {
|
|
228
|
-
"description": "Subtítulo del libro",
|
|
229
|
-
"type": "string"
|
|
230
|
-
},
|
|
231
222
|
"description": {
|
|
232
223
|
"description": "Descripción",
|
|
233
224
|
"anyOf": [
|
|
@@ -239,6 +230,15 @@
|
|
|
239
230
|
}
|
|
240
231
|
]
|
|
241
232
|
},
|
|
233
|
+
"read_url": {
|
|
234
|
+
"description": "URL de la lectura del libro",
|
|
235
|
+
"type": "string",
|
|
236
|
+
"format": "uri"
|
|
237
|
+
},
|
|
238
|
+
"subtitle": {
|
|
239
|
+
"description": "Subtítulo del libro",
|
|
240
|
+
"type": "string"
|
|
241
|
+
},
|
|
242
242
|
"categories": {
|
|
243
243
|
"description": "Géneros",
|
|
244
244
|
"type": "array",
|
|
@@ -345,6 +345,7 @@
|
|
|
345
345
|
"[[Entradas de Enciclopedia]]",
|
|
346
346
|
"[[Películas]]",
|
|
347
347
|
"[[Pinturas]]",
|
|
348
|
+
"[[Series]]",
|
|
348
349
|
"[[Vídeos]]"
|
|
349
350
|
],
|
|
350
351
|
"description": "Formato de nota."
|
|
@@ -361,6 +362,12 @@
|
|
|
361
362
|
"const": "[[Pinturas]]",
|
|
362
363
|
"description": "Pinturas"
|
|
363
364
|
},
|
|
365
|
+
"TVSeries": {
|
|
366
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
367
|
+
"type": "string",
|
|
368
|
+
"const": "[[Series]]",
|
|
369
|
+
"description": "Series"
|
|
370
|
+
},
|
|
364
371
|
"Videos": {
|
|
365
372
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
366
373
|
"type": "string",
|
|
@@ -831,6 +838,10 @@
|
|
|
831
838
|
"title": {
|
|
832
839
|
"description": "Título de la fuente.",
|
|
833
840
|
"type": "string"
|
|
841
|
+
},
|
|
842
|
+
"description": {
|
|
843
|
+
"description": "Descripción de la fuente.",
|
|
844
|
+
"type": "string"
|
|
834
845
|
}
|
|
835
846
|
},
|
|
836
847
|
"required": [
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"hbo_max_url": {
|
|
6
|
+
"description": "URL de HBO Max",
|
|
7
|
+
"type": "string",
|
|
8
|
+
"format": "uri"
|
|
9
|
+
},
|
|
10
|
+
"netflix_url": {
|
|
11
|
+
"description": "URL de Netflix",
|
|
12
|
+
"type": "string",
|
|
13
|
+
"format": "uri"
|
|
14
|
+
},
|
|
15
|
+
"apple_tv_url": {
|
|
16
|
+
"description": "URL de Apple TV",
|
|
17
|
+
"type": "string",
|
|
18
|
+
"format": "uri"
|
|
19
|
+
},
|
|
20
|
+
"amazon_prime_url": {
|
|
21
|
+
"description": "URL de Amazon Prime",
|
|
22
|
+
"type": "string",
|
|
23
|
+
"format": "uri"
|
|
24
|
+
},
|
|
25
|
+
"disney_plus_url": {
|
|
26
|
+
"description": "URL de Disney Plus",
|
|
27
|
+
"type": "string",
|
|
28
|
+
"format": "uri"
|
|
29
|
+
},
|
|
30
|
+
"hulu_url": {
|
|
31
|
+
"description": "URL de Hulu",
|
|
32
|
+
"type": "string",
|
|
33
|
+
"format": "uri"
|
|
34
|
+
},
|
|
35
|
+
"pluto_tv_url": {
|
|
36
|
+
"description": "URL de Pluto TV",
|
|
37
|
+
"type": "string",
|
|
38
|
+
"format": "uri"
|
|
39
|
+
},
|
|
40
|
+
"youtube_url": {
|
|
41
|
+
"description": "URL de YouTube",
|
|
42
|
+
"type": "string",
|
|
43
|
+
"format": "uri"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"description": "URLs de streaming"
|
|
47
|
+
}
|
|
@@ -108,6 +108,11 @@
|
|
|
108
108
|
"pattern": "^[0-9]{4}$",
|
|
109
109
|
"description": "Año: YYYY"
|
|
110
110
|
},
|
|
111
|
+
"TVExternalId": {
|
|
112
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
113
|
+
"type": "string",
|
|
114
|
+
"pattern": "^(tmdb|imdb|watchmode|tvmaze|tvdb):.+$"
|
|
115
|
+
},
|
|
111
116
|
"Icon": {
|
|
112
117
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
113
118
|
"type": "string",
|
|
@@ -171,6 +176,53 @@
|
|
|
171
176
|
"type": "string",
|
|
172
177
|
"const": "Visto"
|
|
173
178
|
},
|
|
179
|
+
"StreamUrlsSchema": {
|
|
180
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
181
|
+
"type": "object",
|
|
182
|
+
"properties": {
|
|
183
|
+
"hbo_max_url": {
|
|
184
|
+
"description": "URL de HBO Max",
|
|
185
|
+
"type": "string",
|
|
186
|
+
"format": "uri"
|
|
187
|
+
},
|
|
188
|
+
"netflix_url": {
|
|
189
|
+
"description": "URL de Netflix",
|
|
190
|
+
"type": "string",
|
|
191
|
+
"format": "uri"
|
|
192
|
+
},
|
|
193
|
+
"apple_tv_url": {
|
|
194
|
+
"description": "URL de Apple TV",
|
|
195
|
+
"type": "string",
|
|
196
|
+
"format": "uri"
|
|
197
|
+
},
|
|
198
|
+
"amazon_prime_url": {
|
|
199
|
+
"description": "URL de Amazon Prime",
|
|
200
|
+
"type": "string",
|
|
201
|
+
"format": "uri"
|
|
202
|
+
},
|
|
203
|
+
"disney_plus_url": {
|
|
204
|
+
"description": "URL de Disney Plus",
|
|
205
|
+
"type": "string",
|
|
206
|
+
"format": "uri"
|
|
207
|
+
},
|
|
208
|
+
"hulu_url": {
|
|
209
|
+
"description": "URL de Hulu",
|
|
210
|
+
"type": "string",
|
|
211
|
+
"format": "uri"
|
|
212
|
+
},
|
|
213
|
+
"pluto_tv_url": {
|
|
214
|
+
"description": "URL de Pluto TV",
|
|
215
|
+
"type": "string",
|
|
216
|
+
"format": "uri"
|
|
217
|
+
},
|
|
218
|
+
"youtube_url": {
|
|
219
|
+
"description": "URL de YouTube",
|
|
220
|
+
"type": "string",
|
|
221
|
+
"format": "uri"
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"description": "URLs de streaming"
|
|
225
|
+
},
|
|
174
226
|
"Embedding": {
|
|
175
227
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
176
228
|
"type": "string",
|