@segha/catalog 1.2.0 → 2.1.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 (184) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/README.md +335 -67
  3. package/en/Areas.ts +24 -0
  4. package/en/Article/index.ts +29 -0
  5. package/en/Article/types.ts +9 -0
  6. package/en/Book/index.ts +33 -0
  7. package/en/Book/types.ts +9 -0
  8. package/en/Clothing/Cares.ts +27 -0
  9. package/en/Clothing/Colors.ts +54 -0
  10. package/en/Clothing/Fit.ts +10 -0
  11. package/en/Clothing/Formality.ts +9 -0
  12. package/en/Clothing/Garment.ts +97 -0
  13. package/en/Clothing/Layer.ts +8 -0
  14. package/en/Clothing/Materials.ts +45 -0
  15. package/en/Clothing/Measurements.ts +5 -0
  16. package/en/Clothing/Season.ts +8 -0
  17. package/en/Clothing/Size.ts +47 -0
  18. package/en/Clothing/Slot.ts +10 -0
  19. package/en/Clothing/Status.ts +9 -0
  20. package/en/Clothing/UseCases.ts +20 -0
  21. package/en/Clothing/Variants.ts +73 -0
  22. package/en/Clothing/index.ts +51 -0
  23. package/en/Clothing/types.ts +9 -0
  24. package/en/Movie/index.ts +34 -0
  25. package/en/Movie/types.ts +9 -0
  26. package/en/Note.ts +13 -0
  27. package/en/index.ts +5 -0
  28. package/en/types.ts +9 -0
  29. package/es/Areas.ts +24 -0
  30. package/es/Article/index.ts +29 -0
  31. package/es/Article/types.ts +9 -0
  32. package/es/Book/index.ts +33 -0
  33. package/es/Book/types.ts +9 -0
  34. package/es/Clothing/index.ts +10 -10
  35. package/es/Movie/index.ts +34 -0
  36. package/es/Movie/types.ts +9 -0
  37. package/es/Note.ts +13 -0
  38. package/es/index.ts +4 -0
  39. package/es/types.ts +7 -0
  40. package/index.ts +2 -2
  41. package/json-schemas/ArticleSchema.json +103 -0
  42. package/json-schemas/BookSchema.json +124 -0
  43. package/json-schemas/CatalogArticleSchema.json +35 -0
  44. package/json-schemas/CatalogBookSchema.json +44 -0
  45. package/json-schemas/CatalogClothingSchema.json +176 -177
  46. package/json-schemas/CatalogMovieSchema.json +49 -0
  47. package/json-schemas/ClothingSchema.json +195 -196
  48. package/json-schemas/DetailedArticleSchema.json +42 -0
  49. package/json-schemas/DetailedBookSchema.json +49 -0
  50. package/json-schemas/DetailedClothingSchema.json +17 -17
  51. package/json-schemas/DetailedMovieSchema.json +48 -0
  52. package/json-schemas/MetaArticleSchema.json +46 -0
  53. package/json-schemas/MetaBookSchema.json +51 -0
  54. package/json-schemas/MetaClothingSchema.json +4 -4
  55. package/json-schemas/MetaMovieSchema.json +51 -0
  56. package/json-schemas/MovieSchema.json +128 -0
  57. package/json-schemas/NoteSchema.json +745 -0
  58. package/json-schemas/en/Area.json +21 -0
  59. package/json-schemas/en/Areas.json +25 -0
  60. package/json-schemas/en/Article/ArticleSchema.json +103 -0
  61. package/json-schemas/en/Article/CatalogArticleSchema.json +35 -0
  62. package/json-schemas/en/Article/DetailedArticleSchema.json +42 -0
  63. package/json-schemas/en/Article/MetaArticleSchema.json +46 -0
  64. package/json-schemas/en/Article/index.json +233 -0
  65. package/json-schemas/en/ArticleSchema.json +103 -0
  66. package/json-schemas/en/Book/BookSchema.json +124 -0
  67. package/json-schemas/en/Book/CatalogBookSchema.json +44 -0
  68. package/json-schemas/en/Book/DetailedBookSchema.json +49 -0
  69. package/json-schemas/en/Book/MetaBookSchema.json +51 -0
  70. package/json-schemas/en/Book/index.json +275 -0
  71. package/json-schemas/en/BookSchema.json +124 -0
  72. package/json-schemas/en/CatalogArticleSchema.json +35 -0
  73. package/json-schemas/en/CatalogBookSchema.json +44 -0
  74. package/json-schemas/en/CatalogClothingSchema.json +292 -0
  75. package/json-schemas/en/CatalogMovieSchema.json +49 -0
  76. package/json-schemas/en/Clothing/Accessories.json +18 -0
  77. package/json-schemas/en/Clothing/AdditionalFeatures.json +9 -0
  78. package/json-schemas/en/Clothing/BaseColor.json +19 -0
  79. package/json-schemas/en/Clothing/Bottom.json +12 -0
  80. package/json-schemas/en/Clothing/Care.json +13 -0
  81. package/json-schemas/en/Clothing/Cares.json +17 -0
  82. package/json-schemas/en/Clothing/CatalogClothingSchema.json +292 -0
  83. package/json-schemas/en/Clothing/Closures.json +11 -0
  84. package/json-schemas/en/Clothing/ClothingSchema.json +388 -0
  85. package/json-schemas/en/Clothing/Color.json +26 -0
  86. package/json-schemas/en/Clothing/CommonFabric.json +15 -0
  87. package/json-schemas/en/Clothing/DetailedClothingSchema.json +75 -0
  88. package/json-schemas/en/Clothing/Dress.json +9 -0
  89. package/json-schemas/en/Clothing/Fit.json +13 -0
  90. package/json-schemas/en/Clothing/Formality.json +12 -0
  91. package/json-schemas/en/Clothing/Garment.json +56 -0
  92. package/json-schemas/en/Clothing/Home.json +9 -0
  93. package/json-schemas/en/Clothing/Ironing.json +8 -0
  94. package/json-schemas/en/Clothing/Layer.json +10 -0
  95. package/json-schemas/en/Clothing/Material.json +28 -0
  96. package/json-schemas/en/Clothing/Materials.json +32 -0
  97. package/json-schemas/en/Clothing/Measurements.json +8 -0
  98. package/json-schemas/en/Clothing/MetaClothingSchema.json +41 -0
  99. package/json-schemas/en/Clothing/MetallicColor.json +9 -0
  100. package/json-schemas/en/Clothing/NaturalMaterial.json +13 -0
  101. package/json-schemas/en/Clothing/Necks.json +15 -0
  102. package/json-schemas/en/Clothing/Outerwear.json +9 -0
  103. package/json-schemas/en/Clothing/Pants.json +11 -0
  104. package/json-schemas/en/Clothing/PantsSize.json +17 -0
  105. package/json-schemas/en/Clothing/Pattern.json +17 -0
  106. package/json-schemas/en/Clothing/PrimaryColor.json +27 -0
  107. package/json-schemas/en/Clothing/Season.json +11 -0
  108. package/json-schemas/en/Clothing/SecondaryColor.json +27 -0
  109. package/json-schemas/en/Clothing/Shoes.json +11 -0
  110. package/json-schemas/en/Clothing/ShoesSize.json +16 -0
  111. package/json-schemas/en/Clothing/Size.json +29 -0
  112. package/json-schemas/en/Clothing/Sleeves.json +9 -0
  113. package/json-schemas/en/Clothing/Slot.json +13 -0
  114. package/json-schemas/en/Clothing/SpecialColor.json +10 -0
  115. package/json-schemas/en/Clothing/SpecialCuts.json +9 -0
  116. package/json-schemas/en/Clothing/Sportswear.json +11 -0
  117. package/json-schemas/en/Clothing/Status.json +13 -0
  118. package/json-schemas/en/Clothing/Swimsuits.json +9 -0
  119. package/json-schemas/en/Clothing/SyntheticMaterial.json +12 -0
  120. package/json-schemas/en/Clothing/Temperature.json +8 -0
  121. package/json-schemas/en/Clothing/Top.json +16 -0
  122. package/json-schemas/en/Clothing/TopsSize.json +13 -0
  123. package/json-schemas/en/Clothing/Underwear.json +12 -0
  124. package/json-schemas/en/Clothing/UseCase.json +18 -0
  125. package/json-schemas/en/Clothing/UseCases.json +22 -0
  126. package/json-schemas/en/Clothing/Variant.json +37 -0
  127. package/json-schemas/en/Clothing/Variants.json +41 -0
  128. package/json-schemas/en/Clothing/WashType.json +9 -0
  129. package/json-schemas/en/Clothing/index.json +1602 -0
  130. package/json-schemas/en/ClothingSchema.json +388 -0
  131. package/json-schemas/en/DetailedArticleSchema.json +42 -0
  132. package/json-schemas/en/DetailedBookSchema.json +49 -0
  133. package/json-schemas/en/DetailedClothingSchema.json +75 -0
  134. package/json-schemas/en/DetailedMovieSchema.json +48 -0
  135. package/json-schemas/en/FirstLevelArea.json +21 -0
  136. package/json-schemas/en/MetaArticleSchema.json +46 -0
  137. package/json-schemas/en/MetaBookSchema.json +51 -0
  138. package/json-schemas/en/MetaClothingSchema.json +41 -0
  139. package/json-schemas/en/MetaMovieSchema.json +51 -0
  140. package/json-schemas/en/Movie/CatalogMovieSchema.json +49 -0
  141. package/json-schemas/en/Movie/DetailedMovieSchema.json +48 -0
  142. package/json-schemas/en/Movie/MetaMovieSchema.json +51 -0
  143. package/json-schemas/en/Movie/MovieSchema.json +128 -0
  144. package/json-schemas/en/Movie/index.json +283 -0
  145. package/json-schemas/en/MovieSchema.json +128 -0
  146. package/json-schemas/en/NoteSchema.json +745 -0
  147. package/json-schemas/en/index.json +2385 -0
  148. package/json-schemas/es/Area.json +21 -0
  149. package/json-schemas/es/Areas.json +25 -0
  150. package/json-schemas/es/Article/ArticleSchema.json +103 -0
  151. package/json-schemas/es/Article/CatalogArticleSchema.json +35 -0
  152. package/json-schemas/es/Article/DetailedArticleSchema.json +42 -0
  153. package/json-schemas/es/Article/MetaArticleSchema.json +46 -0
  154. package/json-schemas/es/Article/index.json +233 -0
  155. package/json-schemas/es/ArticleSchema.json +103 -0
  156. package/json-schemas/es/Book/BookSchema.json +124 -0
  157. package/json-schemas/es/Book/CatalogBookSchema.json +44 -0
  158. package/json-schemas/es/Book/DetailedBookSchema.json +49 -0
  159. package/json-schemas/es/Book/MetaBookSchema.json +51 -0
  160. package/json-schemas/es/Book/index.json +275 -0
  161. package/json-schemas/es/BookSchema.json +124 -0
  162. package/json-schemas/es/CatalogArticleSchema.json +35 -0
  163. package/json-schemas/es/CatalogBookSchema.json +44 -0
  164. package/json-schemas/es/CatalogMovieSchema.json +49 -0
  165. package/json-schemas/es/Clothing/DetailedClothingSchema.json +1 -1
  166. package/json-schemas/es/Clothing/index.json +1 -1
  167. package/json-schemas/es/DetailedArticleSchema.json +42 -0
  168. package/json-schemas/es/DetailedBookSchema.json +49 -0
  169. package/json-schemas/es/DetailedClothingSchema.json +1 -1
  170. package/json-schemas/es/DetailedMovieSchema.json +48 -0
  171. package/json-schemas/es/FirstLevelArea.json +21 -0
  172. package/json-schemas/es/MetaArticleSchema.json +46 -0
  173. package/json-schemas/es/MetaBookSchema.json +51 -0
  174. package/json-schemas/es/MetaMovieSchema.json +51 -0
  175. package/json-schemas/es/Movie/CatalogMovieSchema.json +49 -0
  176. package/json-schemas/es/Movie/DetailedMovieSchema.json +48 -0
  177. package/json-schemas/es/Movie/MetaMovieSchema.json +51 -0
  178. package/json-schemas/es/Movie/MovieSchema.json +128 -0
  179. package/json-schemas/es/Movie/index.json +283 -0
  180. package/json-schemas/es/MovieSchema.json +128 -0
  181. package/json-schemas/es/NoteSchema.json +746 -0
  182. package/json-schemas/es/index.json +1584 -1
  183. package/json-schemas/index.json +1907 -394
  184. package/package.json +11 -3
package/README.md CHANGED
@@ -18,118 +18,386 @@ pnpm add @segha/catalog
18
18
  ## Usage
19
19
 
20
20
  ```typescript
21
- import { CatalogClothingSchema, ClothingSchema, DetailedClothingSchema, ... } from '@segha/catalog';
21
+ import { ArticleSchema, BookSchema, CatalogArticleSchema, ... } from '@segha/catalog';
22
22
 
23
23
  // Validate data
24
- const result = ClothingSchema.parse(data);
24
+ const result = ArticleSchema.parse(data);
25
25
 
26
26
  // Infer TypeScript types
27
- type Clothing = z.infer<typeof ClothingSchema>;
27
+ type Article = z.infer<typeof ArticleSchema>;
28
28
  ```
29
29
 
30
30
  You can also import specific submodules:
31
31
 
32
32
  ```typescript
33
- import { CatalogClothingSchema, DetailedClothingSchema, MetaClothingSchema } from '@segha/catalog/es/clothing';
33
+ import { MetaClothingSchema, CatalogClothingSchema, DetailedClothingSchema } from '@segha/catalog/en/clothing';
34
34
  ```
35
35
 
36
36
  ### Schemas
37
37
 
38
+ - [Article](#article)
39
+ - [Book](#book)
40
+ - [CatalogArticle](#catalogarticle)
41
+ - [CatalogBook](#catalogbook)
38
42
  - [CatalogClothing](#catalogclothing)
43
+ - [CatalogMovie](#catalogmovie)
39
44
  - [Clothing](#clothing)
45
+ - [DetailedArticle](#detailedarticle)
46
+ - [DetailedBook](#detailedbook)
40
47
  - [DetailedClothing](#detailedclothing)
48
+ - [DetailedMovie](#detailedmovie)
49
+ - [MetaArticle](#metaarticle)
50
+ - [MetaBook](#metabook)
41
51
  - [MetaClothing](#metaclothing)
52
+ - [MetaMovie](#metamovie)
53
+ - [Movie](#movie)
54
+ - [Note](#note)
42
55
 
43
56
  ## API Reference
44
57
 
58
+ ## Article
59
+
60
+ Article
61
+
62
+ _Object containing the following properties:_
63
+
64
+ | Property | Description | Type |
65
+ | :------------------ | :--------------------- | :------------------------------------------------------- |
66
+ | **`title`** (\*) | Title of the article | `string` |
67
+ | `description` | Description | `string` |
68
+ | `excerpt` | Extract of the article | `string` |
69
+ | **`author`** (\*) | Authors | `Array<string>` |
70
+ | `published` | Year of publication | `string` |
71
+ | **`status`** (\*) | Reading status | `'Pending' \| 'In Progress' \| 'Read' \| 'Consolidated'` |
72
+ | **`projects`** (\*) | Projects | `Array<string>` |
73
+ | **`topics`** (\*) | Topics | `Array<string>` |
74
+ | **`rating`** (\*) | Rating of the article | `number` |
75
+ | **`type`** (\*) | | `'[[Sources]]'` |
76
+ | **`format`** (\*) | | `'[[Articles]]'` |
77
+ | **`areas`** (\*) | | `Array<'[[Knowledge]]'>` |
78
+ | **`color`** (\*) | | `'#3171B2'` |
79
+ | **`icon`** (\*) | | `'newspaper'` |
80
+ | `banner` | | `string` |
81
+ | **`url`** (\*) | URL of the article | `string` |
82
+
83
+ _(\*) Required._
84
+
85
+ ## Book
86
+
87
+ Book
88
+
89
+ _Object containing the following properties:_
90
+
91
+ | Property | Description | Type |
92
+ | :------------------------ | :----------------------------------- | :------------------------------------------------------- |
93
+ | **`title`** (\*) | Title of the book | `string` |
94
+ | `subtitle` | Subtitle of the book | `string` |
95
+ | `description` | Description of the book | `string` |
96
+ | **`author`** (\*) | Authors | `Array<string>` |
97
+ | **`published`** (\*) | Year of publication | `string` |
98
+ | **`categories`** (\*) | Categories | `Array<string>` |
99
+ | **`status`** (\*) | Reading status | `'Pending' \| 'In Progress' \| 'Read' \| 'Consolidated'` |
100
+ | **`topics`** (\*) | Topics | `Array<string>` |
101
+ | **`rating`** (\*) | Rating of the book | `number` |
102
+ | **`online_rating`** (\*) | Online rating | `number` |
103
+ | **`last_time_read`** (\*) | Last time read | `string` |
104
+ | **`times_read`** (\*) | Times read | `number` |
105
+ | **`type`** (\*) | | `'[[Sources]]'` |
106
+ | **`format`** (\*) | | `'[[Books]]'` |
107
+ | **`areas`** (\*) | | `Array<'[[Knowledge]]'>` |
108
+ | **`color`** (\*) | | `'#3171B2'` |
109
+ | **`icon`** (\*) | | `'book'` |
110
+ | `cover` | | `string` |
111
+ | **`url`** (\*) | URL of the book in Amazon or similar | `string` |
112
+ | **`read_url`** (\*) | URL of the reading of the book | `string` |
113
+
114
+ _(\*) Required._
115
+
116
+ ## CatalogArticle
117
+
118
+ Article: Data obtained from catalogation
119
+
120
+ _Object containing the following properties:_
121
+
122
+ | Property | Description | Type |
123
+ | :---------------- | :--------------------- | :-------------- |
124
+ | **`title`** (\*) | Title of the article | `string` |
125
+ | `description` | Description | `string` |
126
+ | `excerpt` | Extract of the article | `string` |
127
+ | **`author`** (\*) | Authors | `Array<string>` |
128
+ | `published` | Year of publication | `string` |
129
+
130
+ _(\*) Required._
131
+
132
+ ## CatalogBook
133
+
134
+ Book: Data obtained from catalogation
135
+
136
+ _Object containing the following properties:_
137
+
138
+ | Property | Description | Type |
139
+ | :-------------------- | :---------------------- | :-------------- |
140
+ | **`title`** (\*) | Title of the book | `string` |
141
+ | `subtitle` | Subtitle of the book | `string` |
142
+ | `description` | Description of the book | `string` |
143
+ | **`author`** (\*) | Authors | `Array<string>` |
144
+ | **`published`** (\*) | Year of publication | `string` |
145
+ | **`categories`** (\*) | Categories | `Array<string>` |
146
+
147
+ _(\*) Required._
148
+
45
149
  ## CatalogClothing
46
150
 
47
- Prenda de ropa: Datos obtenibles de catalogación
151
+ Clothing item: Catalogable data
152
+
153
+ _Object containing the following properties:_
154
+
155
+ | Property | Description | Type |
156
+ | :----------------------- | :------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
157
+ | **`name`** (\*) | Descriptive name of the clothing item | `string` |
158
+ | **`garment`** (\*) | Garment Type | `'Undershirts' \| 'Boxers' \| 'Panties' \| 'Bras' \| 'Socks' \| 'T-Shirts' \| 'Polo Shirts' \| 'Shirts' \| 'Blouses' \| 'Tops' \| 'Sweaters' \| 'Hoodies' \| 'Cardigans' \| 'Jackets' \| 'Pants' \| 'Jeans' \| 'Chinos' \| 'Skirts' \| 'Shorts' \| 'Blazers' \| ...` |
159
+ | **`slot`** (\*) | Outfit part | `'Top' \| 'Bottom' \| 'Full Body' \| 'Outer' \| 'Footwear' \| 'Accessories'` |
160
+ | `variants` | Structural Details | `Array<'Sleeveless' \| 'Short Sleeves' \| 'Long Sleeves' \| 'Round Neck' \| 'V-Neck' \| 'High Neck' \| 'Shirt Collar' \| 'Polo Collar' \| 'Boat Neck' \| 'Mandarin Collar' \| 'Funnel Neck' \| 'Hood' \| 'Overshirt' \| 'Cropped' \| 'Long' \| 'Straight Leg' \| 'Skinny' \| 'Wide' \| 'Cargo' \| 'Flared' \| ...>` |
161
+ | `fit` | Fit | `'Fitted' \| 'Slim' \| 'Regular' \| 'Relaxed' \| 'Loose' \| 'Oversized'` |
162
+ | **`primary_color`** (\*) | Primary color | `'White' \| 'Black' \| 'Gray' \| 'Beige' \| 'Brown' \| 'Blue' \| 'Green' \| 'Red' \| 'Burgundy' \| 'Pink' \| 'Yellow' \| 'Orange' \| 'Purple' \| 'Camel' \| 'Khaki' \| 'Navy' \| 'Cream' \| 'Gold' \| 'Silver' \| 'Bronze'` |
163
+ | `secondary_color` | Secondary color | `'White' \| 'Black' \| 'Gray' \| 'Beige' \| 'Brown' \| 'Blue' \| 'Green' \| 'Red' \| 'Burgundy' \| 'Pink' \| 'Yellow' \| 'Orange' \| 'Purple' \| 'Camel' \| 'Khaki' \| 'Navy' \| 'Cream' \| 'Gold' \| 'Silver' \| 'Bronze'` |
164
+ | `pattern` | Pattern | `'Solid' \| 'Stripes' \| 'Plaid' \| 'Polka Dots' \| 'Animal Print' \| 'Floral' \| 'Geometric' \| 'Camouflage' \| 'Graphic Print' \| 'Gradient'` |
165
+ | `materials` | Materials | `Array<'Cotton' \| 'Linen' \| 'Wool' \| 'Silk' \| 'Leather' \| 'Cashmere' \| 'Suede' \| 'Polyester' \| 'Nylon' \| 'Elastane' \| 'Viscose' \| 'Synthetic Leather' \| 'Gore-Tex' \| 'Denim' \| 'Knit' \| 'Fleece' \| 'Tweed' \| 'Satin' \| 'Velvet' \| 'Jacquard' \| ...>` |
166
+ | **`layer`** (\*) | Thermal Layer | `'Base' \| 'Mid' \| 'Outer'` |
167
+ | `season` | Seasons | `'Winter' \| 'Summer' \| 'Spring/Fall' \| 'All Year'` |
168
+ | `use_case` | Use cases | `Array<'Capsule' \| 'Favorite' \| 'Basic' \| 'Sport' \| 'Work' \| 'Event' \| 'Travel' \| 'Home' \| 'Party' \| 'Beach' \| 'Rain' \| 'Extreme Cold'>` |
169
+ | `formality` | Formality | `'Very Casual' \| 'Casual' \| 'Smart Casual' \| 'Formal' \| 'Black Tie'` |
170
+ | `brand` | The brand of the clothing | `string` |
171
+
172
+ _(\*) Required._
173
+
174
+ ## CatalogMovie
175
+
176
+ Movie: Data obtained from catalogation
48
177
 
49
178
  _Object containing the following properties:_
50
179
 
51
- | Property | Description | Type |
52
- | :----------------------- | :-------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
53
- | **`name`** (\*) | Nombre descriptivo de la prenda de ropa | `string` |
54
- | **`garment`** (\*) | Tipo de Prenda | `'Camisetas Interiores' \| 'Calzoncillos' \| 'Bragas' \| 'Sujetadores' \| 'Calcetines' \| 'Camisetas' \| 'Polos' \| 'Camisas' \| 'Blusas' \| 'Tops' \| 'Jerseys' \| 'Sudaderas' \| 'Cárdigans' \| 'Chaquetas' \| 'Pantalones' \| 'Vaqueros' \| 'Chinos' \| 'Faldas' \| 'Shorts' \| 'Americanas' \| ...` |
55
- | **`slot`** (\*) | Parte del outfit | `'Superior' \| 'Inferior' \| 'Cuerpo Completo' \| 'Exterior' \| 'Calzado' \| 'Accesorios'` |
56
- | `variants` | Detalles Estructurales | `Array<'Sin Mangas' \| 'Mangas Cortas' \| 'Mangas Largas' \| 'Cuello Redondo' \| 'Cuello Pico' \| 'Cuello Alto' \| 'Cuello Camisa' \| 'Cuello Polo' \| 'Cuello Panadero' \| 'Cuello Mao' \| 'Cuello Chimenea' \| 'Capucha' \| 'Overshirt' \| 'Cropped' \| 'Larga' \| 'Pierna Recta' \| 'Pitillo' \| 'Ancha' \| 'Cargo' \| 'Acampanado' \| ...>` |
57
- | `fit` | Ajuste | `'Entallado' \| 'Ajustado' \| 'Regular' \| 'Relajado' \| 'Holgado' \| 'Extragrande'` |
58
- | **`primary_color`** (\*) | Color principal | `'Blanco' \| 'Negro' \| 'Gris' \| 'Beige' \| 'Marrón' \| 'Azul' \| 'Verde' \| 'Rojo' \| 'Burdeos' \| 'Rosa' \| 'Amarillo' \| 'Naranja' \| 'Morado' \| 'Camel' \| 'Caqui' \| 'Marino' \| 'Crema' \| 'Oro' \| 'Plata' \| 'Bronce'` |
59
- | `secondary_color` | Color secundario | `'Blanco' \| 'Negro' \| 'Gris' \| 'Beige' \| 'Marrón' \| 'Azul' \| 'Verde' \| 'Rojo' \| 'Burdeos' \| 'Rosa' \| 'Amarillo' \| 'Naranja' \| 'Morado' \| 'Camel' \| 'Caqui' \| 'Marino' \| 'Crema' \| 'Oro' \| 'Plata' \| 'Bronce'` |
60
- | `pattern` | Estampado | `'Liso' \| 'Rayas' \| 'Cuadros' \| 'Lunares' \| 'Animal Print' \| 'Floral' \| 'Geométrico' \| 'Camuflaje' \| 'EstampadoGráfico' \| 'Degradado'` |
61
- | `materials` | Materiales | `Array<'Algodón' \| 'Lino' \| 'Lana' \| 'Seda' \| 'Cuero' \| 'Cachemir' \| 'Ante' \| 'Poliéster' \| 'Nylon' \| 'Elastano' \| 'Viscosa' \| 'Piel Sintética' \| 'Gore-Tex' \| 'Denim' \| 'Punto' \| 'Felpa' \| 'Tweed' \| 'Satén' \| 'Terciopelo' \| 'Jacquard' \| ...>` |
62
- | **`layer`** (\*) | Capa Térmica | `'Base' \| 'Intermedia' \| 'Exterior'` |
63
- | `season` | Estaciones | `'Invierno' \| 'Verano' \| 'Entretiempo' \| 'Todo el año'` |
64
- | `use_case` | Casos de uso | `Array<'Capsula' \| 'Favorita' \| 'Básico' \| 'Deporte' \| 'Trabajo' \| 'Evento' \| 'Viaje' \| 'Casa' \| 'Fiesta' \| 'Playa' \| 'Lluvia' \| 'Frío Extremo'>` |
65
- | `formality` | Formalidad | `'Muy Informal' \| 'Casual' \| 'Arreglado' \| 'Formal' \| 'Etiqueta'` |
66
- | `brand` | The brand of the clothing | `string` |
180
+ | Property | Description | Type |
181
+ | :--------------------- | :------------------------------------------- | :-------------- |
182
+ | **`title`** (\*) | Title of the movie | `string` |
183
+ | **`description`** (\*) | Description of the movie | `string` |
184
+ | **`author`** (\*) | Authors. Writers, directors, producers, etc. | `Array<string>` |
185
+ | **`actors`** (\*) | Actors | `Array<string>` |
186
+ | **`published`** (\*) | Year of publication | `string` |
187
+ | **`genres`** (\*) | Genres | `Array<string>` |
67
188
 
68
189
  _(\*) Required._
69
190
 
70
191
  ## Clothing
71
192
 
72
- Prenda de ropa
73
-
74
- _Object containing the following properties:_
75
-
76
- | Property | Description | Type | Default |
77
- | :----------------------- | :-------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |
78
- | **`name`** (\*) | Nombre descriptivo de la prenda de ropa | `string` | |
79
- | **`garment`** (\*) | Tipo de Prenda | `'Camisetas Interiores' \| 'Calzoncillos' \| 'Bragas' \| 'Sujetadores' \| 'Calcetines' \| 'Camisetas' \| 'Polos' \| 'Camisas' \| 'Blusas' \| 'Tops' \| 'Jerseys' \| 'Sudaderas' \| 'Cárdigans' \| 'Chaquetas' \| 'Pantalones' \| 'Vaqueros' \| 'Chinos' \| 'Faldas' \| 'Shorts' \| 'Americanas' \| ...` | |
80
- | **`slot`** (\*) | Parte del outfit | `'Superior' \| 'Inferior' \| 'Cuerpo Completo' \| 'Exterior' \| 'Calzado' \| 'Accesorios'` | |
81
- | `variants` | Detalles Estructurales | `Array<'Sin Mangas' \| 'Mangas Cortas' \| 'Mangas Largas' \| 'Cuello Redondo' \| 'Cuello Pico' \| 'Cuello Alto' \| 'Cuello Camisa' \| 'Cuello Polo' \| 'Cuello Panadero' \| 'Cuello Mao' \| 'Cuello Chimenea' \| 'Capucha' \| 'Overshirt' \| 'Cropped' \| 'Larga' \| 'Pierna Recta' \| 'Pitillo' \| 'Ancha' \| 'Cargo' \| 'Acampanado' \| ...>` | |
82
- | `fit` | Ajuste | `'Entallado' \| 'Ajustado' \| 'Regular' \| 'Relajado' \| 'Holgado' \| 'Extragrande'` | |
83
- | **`primary_color`** (\*) | Color principal | `'Blanco' \| 'Negro' \| 'Gris' \| 'Beige' \| 'Marrón' \| 'Azul' \| 'Verde' \| 'Rojo' \| 'Burdeos' \| 'Rosa' \| 'Amarillo' \| 'Naranja' \| 'Morado' \| 'Camel' \| 'Caqui' \| 'Marino' \| 'Crema' \| 'Oro' \| 'Plata' \| 'Bronce'` | |
84
- | `secondary_color` | Color secundario | `'Blanco' \| 'Negro' \| 'Gris' \| 'Beige' \| 'Marrón' \| 'Azul' \| 'Verde' \| 'Rojo' \| 'Burdeos' \| 'Rosa' \| 'Amarillo' \| 'Naranja' \| 'Morado' \| 'Camel' \| 'Caqui' \| 'Marino' \| 'Crema' \| 'Oro' \| 'Plata' \| 'Bronce'` | |
85
- | `pattern` | Estampado | `'Liso' \| 'Rayas' \| 'Cuadros' \| 'Lunares' \| 'Animal Print' \| 'Floral' \| 'Geométrico' \| 'Camuflaje' \| 'EstampadoGráfico' \| 'Degradado'` | |
86
- | `materials` | Materiales | `Array<'Algodón' \| 'Lino' \| 'Lana' \| 'Seda' \| 'Cuero' \| 'Cachemir' \| 'Ante' \| 'Poliéster' \| 'Nylon' \| 'Elastano' \| 'Viscosa' \| 'Piel Sintética' \| 'Gore-Tex' \| 'Denim' \| 'Punto' \| 'Felpa' \| 'Tweed' \| 'Satén' \| 'Terciopelo' \| 'Jacquard' \| ...>` | |
87
- | **`layer`** (\*) | Capa Térmica | `'Base' \| 'Intermedia' \| 'Exterior'` | |
88
- | `season` | Estaciones | `'Invierno' \| 'Verano' \| 'Entretiempo' \| 'Todo el año'` | |
89
- | `use_case` | Casos de uso | `Array<'Capsula' \| 'Favorita' \| 'Básico' \| 'Deporte' \| 'Trabajo' \| 'Evento' \| 'Viaje' \| 'Casa' \| 'Fiesta' \| 'Playa' \| 'Lluvia' \| 'Frío Extremo'>` | |
90
- | `formality` | Formalidad | `'Muy Informal' \| 'Casual' \| 'Arreglado' \| 'Formal' \| 'Etiqueta'` | |
91
- | `brand` | The brand of the clothing | `string` | |
92
- | `cares` | Cuidados | `Array<'Lavado a mano' \| 'Lavado a máquina' \| 'Lavado en seco' \| 'Frio' \| 'Caliente' \| 'Planchado' \| 'Planchado a vapor'>` | |
93
- | `status` | Estado | `'Nuevo' \| 'Bien' \| 'Gastado' \| 'Dañado' \| 'Retirar'` | `'Bien'` |
94
- | **`size`** (\*) | | `'28' \| '30' \| '32' \| '34' \| '36' \| '37' \| '38' \| '39' \| '40' \| '41' \| '42' \| '43' \| '44' \| '45' \| '46' \| '48' \| 'XS' \| 'S' \| 'M' \| 'L' \| ...` | |
95
- | `measurements` | Medidas | `Array<number>` | |
96
- | **`type`** (\*) | | `'[[Recursos]]'` | |
97
- | **`subtype`** (\*) | | `'[[Prendas]]'` | |
98
- | **`areas`** (\*) | | `Array<'[[Hogar]]'>` | |
99
- | **`color`** (\*) | | `'#CB6120'` | |
100
- | **`icon`** (\*) | | `'shirt'` | |
101
- | `cover` | | `string` | |
193
+ Clothing item
194
+
195
+ _Object containing the following properties:_
196
+
197
+ | Property | Description | Type | Default |
198
+ | :----------------------- | :------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------- |
199
+ | **`name`** (\*) | Descriptive name of the clothing item | `string` | |
200
+ | **`garment`** (\*) | Garment Type | `'Undershirts' \| 'Boxers' \| 'Panties' \| 'Bras' \| 'Socks' \| 'T-Shirts' \| 'Polo Shirts' \| 'Shirts' \| 'Blouses' \| 'Tops' \| 'Sweaters' \| 'Hoodies' \| 'Cardigans' \| 'Jackets' \| 'Pants' \| 'Jeans' \| 'Chinos' \| 'Skirts' \| 'Shorts' \| 'Blazers' \| ...` | |
201
+ | **`slot`** (\*) | Outfit part | `'Top' \| 'Bottom' \| 'Full Body' \| 'Outer' \| 'Footwear' \| 'Accessories'` | |
202
+ | `variants` | Structural Details | `Array<'Sleeveless' \| 'Short Sleeves' \| 'Long Sleeves' \| 'Round Neck' \| 'V-Neck' \| 'High Neck' \| 'Shirt Collar' \| 'Polo Collar' \| 'Boat Neck' \| 'Mandarin Collar' \| 'Funnel Neck' \| 'Hood' \| 'Overshirt' \| 'Cropped' \| 'Long' \| 'Straight Leg' \| 'Skinny' \| 'Wide' \| 'Cargo' \| 'Flared' \| ...>` | |
203
+ | `fit` | Fit | `'Fitted' \| 'Slim' \| 'Regular' \| 'Relaxed' \| 'Loose' \| 'Oversized'` | |
204
+ | **`primary_color`** (\*) | Primary color | `'White' \| 'Black' \| 'Gray' \| 'Beige' \| 'Brown' \| 'Blue' \| 'Green' \| 'Red' \| 'Burgundy' \| 'Pink' \| 'Yellow' \| 'Orange' \| 'Purple' \| 'Camel' \| 'Khaki' \| 'Navy' \| 'Cream' \| 'Gold' \| 'Silver' \| 'Bronze'` | |
205
+ | `secondary_color` | Secondary color | `'White' \| 'Black' \| 'Gray' \| 'Beige' \| 'Brown' \| 'Blue' \| 'Green' \| 'Red' \| 'Burgundy' \| 'Pink' \| 'Yellow' \| 'Orange' \| 'Purple' \| 'Camel' \| 'Khaki' \| 'Navy' \| 'Cream' \| 'Gold' \| 'Silver' \| 'Bronze'` | |
206
+ | `pattern` | Pattern | `'Solid' \| 'Stripes' \| 'Plaid' \| 'Polka Dots' \| 'Animal Print' \| 'Floral' \| 'Geometric' \| 'Camouflage' \| 'Graphic Print' \| 'Gradient'` | |
207
+ | `materials` | Materials | `Array<'Cotton' \| 'Linen' \| 'Wool' \| 'Silk' \| 'Leather' \| 'Cashmere' \| 'Suede' \| 'Polyester' \| 'Nylon' \| 'Elastane' \| 'Viscose' \| 'Synthetic Leather' \| 'Gore-Tex' \| 'Denim' \| 'Knit' \| 'Fleece' \| 'Tweed' \| 'Satin' \| 'Velvet' \| 'Jacquard' \| ...>` | |
208
+ | **`layer`** (\*) | Thermal Layer | `'Base' \| 'Mid' \| 'Outer'` | |
209
+ | `season` | Seasons | `'Winter' \| 'Summer' \| 'Spring/Fall' \| 'All Year'` | |
210
+ | `use_case` | Use cases | `Array<'Capsule' \| 'Favorite' \| 'Basic' \| 'Sport' \| 'Work' \| 'Event' \| 'Travel' \| 'Home' \| 'Party' \| 'Beach' \| 'Rain' \| 'Extreme Cold'>` | |
211
+ | `formality` | Formality | `'Very Casual' \| 'Casual' \| 'Smart Casual' \| 'Formal' \| 'Black Tie'` | |
212
+ | `brand` | The brand of the clothing | `string` | |
213
+ | `cares` | Care Instructions | `Array<'Hand Wash' \| 'Machine Wash' \| 'Dry Clean' \| 'Cold' \| 'Hot' \| 'Ironing' \| 'Steam Ironing'>` | |
214
+ | `status` | Status | `'New' \| 'Good' \| 'Worn' \| 'Damaged' \| 'Retire'` | `'Good'` |
215
+ | **`size`** (\*) | | `'28' \| '30' \| '32' \| '34' \| '36' \| '37' \| '38' \| '39' \| '40' \| '41' \| '42' \| '43' \| '44' \| '45' \| '46' \| '48' \| 'XS' \| 'S' \| 'M' \| 'L' \| ...` | |
216
+ | `measurements` | Measurements | `Array<number>` | |
217
+ | **`type`** (\*) | | `'[[Resources]]'` | |
218
+ | **`subtype`** (\*) | | `'[[Clothes]]'` | |
219
+ | **`areas`** (\*) | | `Array<'[[Home]]'>` | |
220
+ | **`color`** (\*) | | `'#CB6120'` | |
221
+ | **`icon`** (\*) | | `'shirt'` | |
222
+ | `cover` | | `string` | |
223
+
224
+ _(\*) Required._
225
+
226
+ ## DetailedArticle
227
+
228
+ Article: Additional data
229
+
230
+ _Object containing the following properties:_
231
+
232
+ | Property | Description | Type |
233
+ | :------------------ | :-------------------- | :------------------------------------------------------- |
234
+ | **`status`** (\*) | Reading status | `'Pending' \| 'In Progress' \| 'Read' \| 'Consolidated'` |
235
+ | **`projects`** (\*) | Projects | `Array<string>` |
236
+ | **`topics`** (\*) | Topics | `Array<string>` |
237
+ | **`rating`** (\*) | Rating of the article | `number` |
238
+
239
+ _(\*) Required._
240
+
241
+ ## DetailedBook
242
+
243
+ Book: Additional data
244
+
245
+ _Object containing the following properties:_
246
+
247
+ | Property | Description | Type |
248
+ | :------------------------ | :----------------- | :------------------------------------------------------- |
249
+ | **`status`** (\*) | Reading status | `'Pending' \| 'In Progress' \| 'Read' \| 'Consolidated'` |
250
+ | **`topics`** (\*) | Topics | `Array<string>` |
251
+ | **`rating`** (\*) | Rating of the book | `number` |
252
+ | **`online_rating`** (\*) | Online rating | `number` |
253
+ | **`last_time_read`** (\*) | Last time read | `string` |
254
+ | **`times_read`** (\*) | Times read | `number` |
102
255
 
103
256
  _(\*) Required._
104
257
 
105
258
  ## DetailedClothing
106
259
 
107
- Prenda de ropa: Datos adicionales de dificil obtención
260
+ Clothing item: Additional hard-to-obtain data
261
+
262
+ _Object containing the following properties:_
263
+
264
+ | Property | Description | Type | Default |
265
+ | :-------------- | :---------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |
266
+ | `cares` | Care Instructions | `Array<'Hand Wash' \| 'Machine Wash' \| 'Dry Clean' \| 'Cold' \| 'Hot' \| 'Ironing' \| 'Steam Ironing'>` | |
267
+ | `status` | Status | `'New' \| 'Good' \| 'Worn' \| 'Damaged' \| 'Retire'` | `'Good'` |
268
+ | **`size`** (\*) | | `'28' \| '30' \| '32' \| '34' \| '36' \| '37' \| '38' \| '39' \| '40' \| '41' \| '42' \| '43' \| '44' \| '45' \| '46' \| '48' \| 'XS' \| 'S' \| 'M' \| 'L' \| ...` | |
269
+ | `measurements` | Measurements | `Array<number>` | |
270
+
271
+ _(\*) Required._
272
+
273
+ ## DetailedMovie
274
+
275
+ Movie: Additional data
276
+
277
+ _Object containing the following properties:_
278
+
279
+ | Property | Description | Type |
280
+ | :--------------------------- | :------------------ | :------------------------------------------ |
281
+ | **`status`** (\*) | Watching status | `'Pending' \| 'In Progress' \| 'Completed'` |
282
+ | **`topics`** (\*) | Topics | `Array<string>` |
283
+ | **`rating`** (\*) | Rating of the movie | `number` |
284
+ | **`online_rating`** (\*) | Online rating | `number` |
285
+ | **`last_time_watched`** (\*) | Last time watched | `string` |
286
+ | **`times_watched`** (\*) | Times watched | `number` |
287
+
288
+ _(\*) Required._
289
+
290
+ ## MetaArticle
291
+
292
+ Article: Metadata of Note
293
+
294
+ _Object containing the following properties:_
295
+
296
+ | Property | Description | Type |
297
+ | :---------------- | :----------------- | :----------------------- |
298
+ | **`type`** (\*) | | `'[[Sources]]'` |
299
+ | **`format`** (\*) | | `'[[Articles]]'` |
300
+ | **`areas`** (\*) | | `Array<'[[Knowledge]]'>` |
301
+ | **`color`** (\*) | | `'#3171B2'` |
302
+ | **`icon`** (\*) | | `'newspaper'` |
303
+ | `banner` | | `string` |
304
+ | **`url`** (\*) | URL of the article | `string` |
305
+
306
+ _(\*) Required._
307
+
308
+ ## MetaBook
309
+
310
+ Book: Metadata of Note
108
311
 
109
312
  _Object containing the following properties:_
110
313
 
111
- | Property | Description | Type | Default |
112
- | :-------------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |
113
- | `cares` | Cuidados | `Array<'Lavado a mano' \| 'Lavado a máquina' \| 'Lavado en seco' \| 'Frio' \| 'Caliente' \| 'Planchado' \| 'Planchado a vapor'>` | |
114
- | `status` | Estado | `'Nuevo' \| 'Bien' \| 'Gastado' \| 'Dañado' \| 'Retirar'` | `'Bien'` |
115
- | **`size`** (\*) | | `'28' \| '30' \| '32' \| '34' \| '36' \| '37' \| '38' \| '39' \| '40' \| '41' \| '42' \| '43' \| '44' \| '45' \| '46' \| '48' \| 'XS' \| 'S' \| 'M' \| 'L' \| ...` | |
116
- | `measurements` | Medidas | `Array<number>` | |
314
+ | Property | Description | Type |
315
+ | :------------------ | :----------------------------------- | :----------------------- |
316
+ | **`type`** (\*) | | `'[[Sources]]'` |
317
+ | **`format`** (\*) | | `'[[Books]]'` |
318
+ | **`areas`** (\*) | | `Array<'[[Knowledge]]'>` |
319
+ | **`color`** (\*) | | `'#3171B2'` |
320
+ | **`icon`** (\*) | | `'book'` |
321
+ | `cover` | | `string` |
322
+ | **`url`** (\*) | URL of the book in Amazon or similar | `string` |
323
+ | **`read_url`** (\*) | URL of the reading of the book | `string` |
117
324
 
118
325
  _(\*) Required._
119
326
 
120
327
  ## MetaClothing
121
328
 
122
- Prenda de ropa: Metadatos de Nota
329
+ Clothing item: Note metadata
330
+
331
+ _Object containing the following properties:_
332
+
333
+ | Property | Type |
334
+ | :----------------- | :------------------ |
335
+ | **`type`** (\*) | `'[[Resources]]'` |
336
+ | **`subtype`** (\*) | `'[[Clothes]]'` |
337
+ | **`areas`** (\*) | `Array<'[[Home]]'>` |
338
+ | **`color`** (\*) | `'#CB6120'` |
339
+ | **`icon`** (\*) | `'shirt'` |
340
+ | `cover` | `string` |
341
+
342
+ _(\*) Required._
343
+
344
+ ## MetaMovie
345
+
346
+ Movie: Metadata of Note
123
347
 
124
348
  _Object containing the following properties:_
125
349
 
126
- | Property | Type |
127
- | :----------------- | :------------------- |
128
- | **`type`** (\*) | `'[[Recursos]]'` |
129
- | **`subtype`** (\*) | `'[[Prendas]]'` |
130
- | **`areas`** (\*) | `Array<'[[Hogar]]'>` |
131
- | **`color`** (\*) | `'#CB6120'` |
132
- | **`icon`** (\*) | `'shirt'` |
133
- | `cover` | `string` |
350
+ | Property | Description | Type |
351
+ | :------------------- | :---------------------------------- | :------------------------ |
352
+ | **`type`** (\*) | | `'[[Sources]]'` |
353
+ | **`format`** (\*) | | `'[[Movies]]'` |
354
+ | **`areas`** (\*) | | `Array<'[[Creativity]]'>` |
355
+ | **`color`** (\*) | | `'#BE9207'` |
356
+ | **`icon`** (\*) | | `'movie'` |
357
+ | `cover` | | `string` |
358
+ | **`url`** (\*) | URL of the movie in IMDB or similar | `string` |
359
+ | **`watch_url`** (\*) | URL of the movie in streaming | `string` |
134
360
 
135
361
  _(\*) Required._
362
+
363
+ ## Movie
364
+
365
+ Movie
366
+
367
+ _Object containing the following properties:_
368
+
369
+ | Property | Description | Type |
370
+ | :--------------------------- | :------------------------------------------- | :------------------------------------------ |
371
+ | **`title`** (\*) | Title of the movie | `string` |
372
+ | **`description`** (\*) | Description of the movie | `string` |
373
+ | **`author`** (\*) | Authors. Writers, directors, producers, etc. | `Array<string>` |
374
+ | **`actors`** (\*) | Actors | `Array<string>` |
375
+ | **`published`** (\*) | Year of publication | `string` |
376
+ | **`genres`** (\*) | Genres | `Array<string>` |
377
+ | **`status`** (\*) | Watching status | `'Pending' \| 'In Progress' \| 'Completed'` |
378
+ | **`topics`** (\*) | Topics | `Array<string>` |
379
+ | **`rating`** (\*) | Rating of the movie | `number` |
380
+ | **`online_rating`** (\*) | Online rating | `number` |
381
+ | **`last_time_watched`** (\*) | Last time watched | `string` |
382
+ | **`times_watched`** (\*) | Times watched | `number` |
383
+ | **`type`** (\*) | | `'[[Sources]]'` |
384
+ | **`format`** (\*) | | `'[[Movies]]'` |
385
+ | **`areas`** (\*) | | `Array<'[[Creativity]]'>` |
386
+ | **`color`** (\*) | | `'#BE9207'` |
387
+ | **`icon`** (\*) | | `'movie'` |
388
+ | `cover` | | `string` |
389
+ | **`url`** (\*) | URL of the movie in IMDB or similar | `string` |
390
+ | **`watch_url`** (\*) | URL of the movie in streaming | `string` |
391
+
392
+ _(\*) Required._
393
+
394
+ ## Note
395
+
396
+ Note: Union of all note types
397
+
398
+ _Union of the following possible types:_
399
+
400
+ - [Article](#article)
401
+ - [Book](#book)
402
+ - [Clothing](#clothing)
403
+ - [Movie](#movie)
package/en/Areas.ts ADDED
@@ -0,0 +1,24 @@
1
+ import z from "zod";
2
+
3
+ export const FirstLevelArea = z.enum([
4
+ "[[Food]]",
5
+ "[[Health]]",
6
+ "[[Knowledge]]",
7
+ "[[Structured Thinking]]",
8
+ "[[Home]]",
9
+ "[[Productivity]]",
10
+ "[[Exploration]]",
11
+ "[[Links]]",
12
+ "[[Exercise]]",
13
+ "[[Energy]]",
14
+ "[[Work]]",
15
+ "[[Finances]]",
16
+ "[[Mental Health]]",
17
+ "[[Creativity]]",
18
+ ]).describe('First level area');
19
+
20
+ export const Area = z.enum([
21
+ ...FirstLevelArea.options,
22
+ ]).describe('Area');
23
+
24
+ export const Areas = z.array(Area).describe('Areas');
@@ -0,0 +1,29 @@
1
+
2
+ import z from "zod";
3
+
4
+ export const MetaArticleSchema = z.object({
5
+ type: z.literal("[[Sources]]"),
6
+ format: z.literal("[[Articles]]"),
7
+ areas: z.array(z.literal("[[Knowledge]]")),
8
+ color: z.literal("#3171B2"),
9
+ icon: z.literal("newspaper"),
10
+ banner: z.string().optional(),
11
+ url: z.string().describe('URL of the article'),
12
+ }).describe('Article: Metadata of Note');
13
+
14
+ export const CatalogArticleSchema = z.object({
15
+ title: z.string().describe('Title of the article'),
16
+ description: z.string().optional().describe('Description'),
17
+ excerpt: z.string().optional().describe('Extract of the article'),
18
+ author: z.array(z.string()).describe('Authors'),
19
+ published: z.string().optional().describe('Year of publication'),
20
+ }).describe('Article: Data obtained from catalogation');
21
+
22
+ export const DetailedArticleSchema = z.object({
23
+ status: z.enum(["Pending", "In Progress", "Read", "Consolidated"]).describe('Reading status'),
24
+ projects: z.array(z.string()).describe('Projects'),
25
+ topics: z.array(z.string()).describe('Topics'),
26
+ rating: z.number().describe('Rating of the article'),
27
+ }).describe('Article: Additional data');
28
+
29
+ export const ArticleSchema = CatalogArticleSchema.extend(DetailedArticleSchema.shape).extend(MetaArticleSchema.shape).describe('Article');
@@ -0,0 +1,9 @@
1
+
2
+ import type { z } from 'zod';
3
+
4
+ import type { ArticleSchema, CatalogArticleSchema, DetailedArticleSchema, MetaArticleSchema } from ".";
5
+
6
+ export type Article = z.infer<typeof ArticleSchema>;
7
+ export type CatalogArticle = z.infer<typeof CatalogArticleSchema>;
8
+ export type DetailedArticle = z.infer<typeof DetailedArticleSchema>;
9
+ export type MetaArticle = z.infer<typeof MetaArticleSchema>;