@lincs.project/webannotation-schema 1.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.
Files changed (119) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +155 -0
  3. package/dist/context.jsonld +24 -0
  4. package/dist/defs.jsonld +949 -0
  5. package/dist/schema.jsonld +621 -0
  6. package/dist/validate.js +1 -0
  7. package/lib/index.d.ts +145 -0
  8. package/lib/index.d.ts.map +1 -0
  9. package/lib/index.js +13 -0
  10. package/lib/index.js.map +1 -0
  11. package/lib/schema/config.d.ts +4 -0
  12. package/lib/schema/config.d.ts.map +1 -0
  13. package/lib/schema/config.js +4 -0
  14. package/lib/schema/config.js.map +1 -0
  15. package/lib/schema/context.d.ts +25 -0
  16. package/lib/schema/context.d.ts.map +1 -0
  17. package/lib/schema/context.js +25 -0
  18. package/lib/schema/context.js.map +1 -0
  19. package/lib/schema/definitions/agent.d.ts +36 -0
  20. package/lib/schema/definitions/agent.d.ts.map +1 -0
  21. package/lib/schema/definitions/agent.js +82 -0
  22. package/lib/schema/definitions/agent.js.map +1 -0
  23. package/lib/schema/definitions/body/citation.d.ts +27 -0
  24. package/lib/schema/definitions/body/citation.d.ts.map +1 -0
  25. package/lib/schema/definitions/body/citation.js +53 -0
  26. package/lib/schema/definitions/body/citation.js.map +1 -0
  27. package/lib/schema/definitions/body/common.d.ts +17 -0
  28. package/lib/schema/definitions/body/common.d.ts.map +1 -0
  29. package/lib/schema/definitions/body/common.js +46 -0
  30. package/lib/schema/definitions/body/common.js.map +1 -0
  31. package/lib/schema/definitions/body/conceptualObject.d.ts +27 -0
  32. package/lib/schema/definitions/body/conceptualObject.d.ts.map +1 -0
  33. package/lib/schema/definitions/body/conceptualObject.js +61 -0
  34. package/lib/schema/definitions/body/conceptualObject.js.map +1 -0
  35. package/lib/schema/definitions/body/correction.d.ts +24 -0
  36. package/lib/schema/definitions/body/correction.d.ts.map +1 -0
  37. package/lib/schema/definitions/body/correction.js +54 -0
  38. package/lib/schema/definitions/body/correction.js.map +1 -0
  39. package/lib/schema/definitions/body/date.d.ts +30 -0
  40. package/lib/schema/definitions/body/date.d.ts.map +1 -0
  41. package/lib/schema/definitions/body/date.js +61 -0
  42. package/lib/schema/definitions/body/date.js.map +1 -0
  43. package/lib/schema/definitions/body/index.d.ts +37 -0
  44. package/lib/schema/definitions/body/index.d.ts.map +1 -0
  45. package/lib/schema/definitions/body/index.js +220 -0
  46. package/lib/schema/definitions/body/index.js.map +1 -0
  47. package/lib/schema/definitions/body/keyword.d.ts +48 -0
  48. package/lib/schema/definitions/body/keyword.d.ts.map +1 -0
  49. package/lib/schema/definitions/body/keyword.js +100 -0
  50. package/lib/schema/definitions/body/keyword.js.map +1 -0
  51. package/lib/schema/definitions/body/link.d.ts +21 -0
  52. package/lib/schema/definitions/body/link.d.ts.map +1 -0
  53. package/lib/schema/definitions/body/link.js +37 -0
  54. package/lib/schema/definitions/body/link.js.map +1 -0
  55. package/lib/schema/definitions/body/note.d.ts +27 -0
  56. package/lib/schema/definitions/body/note.d.ts.map +1 -0
  57. package/lib/schema/definitions/body/note.js +54 -0
  58. package/lib/schema/definitions/body/note.js.map +1 -0
  59. package/lib/schema/definitions/body/organization.d.ts +27 -0
  60. package/lib/schema/definitions/body/organization.d.ts.map +1 -0
  61. package/lib/schema/definitions/body/organization.js +65 -0
  62. package/lib/schema/definitions/body/organization.js.map +1 -0
  63. package/lib/schema/definitions/body/person.d.ts +27 -0
  64. package/lib/schema/definitions/body/person.d.ts.map +1 -0
  65. package/lib/schema/definitions/body/person.js +61 -0
  66. package/lib/schema/definitions/body/person.js.map +1 -0
  67. package/lib/schema/definitions/body/physicalThing.d.ts +27 -0
  68. package/lib/schema/definitions/body/physicalThing.d.ts.map +1 -0
  69. package/lib/schema/definitions/body/physicalThing.js +61 -0
  70. package/lib/schema/definitions/body/physicalThing.js.map +1 -0
  71. package/lib/schema/definitions/body/place.d.ts +30 -0
  72. package/lib/schema/definitions/body/place.d.ts.map +1 -0
  73. package/lib/schema/definitions/body/place.js +64 -0
  74. package/lib/schema/definitions/body/place.js.map +1 -0
  75. package/lib/schema/definitions/body/work.d.ts +27 -0
  76. package/lib/schema/definitions/body/work.d.ts.map +1 -0
  77. package/lib/schema/definitions/body/work.js +61 -0
  78. package/lib/schema/definitions/body/work.js.map +1 -0
  79. package/lib/schema/definitions/index.d.ts +22 -0
  80. package/lib/schema/definitions/index.d.ts.map +1 -0
  81. package/lib/schema/definitions/index.js +24 -0
  82. package/lib/schema/definitions/index.js.map +1 -0
  83. package/lib/schema/definitions/target/index.d.ts +710 -0
  84. package/lib/schema/definitions/target/index.d.ts.map +1 -0
  85. package/lib/schema/definitions/target/index.js +231 -0
  86. package/lib/schema/definitions/target/index.js.map +1 -0
  87. package/lib/schema/definitions/target/selector/index.d.ts +5 -0
  88. package/lib/schema/definitions/target/selector/index.d.ts.map +1 -0
  89. package/lib/schema/definitions/target/selector/index.js +5 -0
  90. package/lib/schema/definitions/target/selector/index.js.map +1 -0
  91. package/lib/schema/definitions/target/selector/range.d.ts +141 -0
  92. package/lib/schema/definitions/target/selector/range.d.ts.map +1 -0
  93. package/lib/schema/definitions/target/selector/range.js +44 -0
  94. package/lib/schema/definitions/target/selector/range.js.map +1 -0
  95. package/lib/schema/definitions/target/selector/textPosition.d.ts +21 -0
  96. package/lib/schema/definitions/target/selector/textPosition.d.ts.map +1 -0
  97. package/lib/schema/definitions/target/selector/textPosition.js +57 -0
  98. package/lib/schema/definitions/target/selector/textPosition.js.map +1 -0
  99. package/lib/schema/definitions/target/selector/textQuote.d.ts +297 -0
  100. package/lib/schema/definitions/target/selector/textQuote.d.ts.map +1 -0
  101. package/lib/schema/definitions/target/selector/textQuote.js +78 -0
  102. package/lib/schema/definitions/target/selector/textQuote.js.map +1 -0
  103. package/lib/schema/definitions/target/selector/xpath.d.ts +46 -0
  104. package/lib/schema/definitions/target/selector/xpath.d.ts.map +1 -0
  105. package/lib/schema/definitions/target/selector/xpath.js +51 -0
  106. package/lib/schema/definitions/target/selector/xpath.js.map +1 -0
  107. package/lib/schema/index.d.ts +5 -0
  108. package/lib/schema/index.d.ts.map +1 -0
  109. package/lib/schema/index.js +5 -0
  110. package/lib/schema/index.js.map +1 -0
  111. package/lib/schema/root.d.ts +1076 -0
  112. package/lib/schema/root.d.ts.map +1 -0
  113. package/lib/schema/root.js +408 -0
  114. package/lib/schema/root.js.map +1 -0
  115. package/lib/validation.d.ts +25 -0
  116. package/lib/validation.d.ts.map +1 -0
  117. package/lib/validation.js +35 -0
  118. package/lib/validation.js.map +1 -0
  119. package/package.json +68 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/schema/root.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB,eAAO,MAAM,MAAM,6CAA8C,CAAC;AAClE,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAiB7C,eAAO,MAAM,UAAU,qGAQb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAuBrD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CQ,CAAC;AAEnC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAI1D,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAkTvE,CAAC"}
@@ -0,0 +1,408 @@
1
+ import Ajv from 'ajv';
2
+ import addFormats from 'ajv-formats';
3
+ import { z } from 'zod';
4
+ import { schemaId, contextUri } from './config';
5
+ import { Body, Software, Target, User, personEntityTypeSchema } from './definitions';
6
+ import { citationEntityTypeSchema } from './definitions/body/citation';
7
+ import { conceptualObjectEntityTypeSchema } from './definitions/body/conceptualObject';
8
+ import { correctionEntityTypeSchema } from './definitions/body/correction';
9
+ import { dateEntityTypeSchema } from './definitions/body/date';
10
+ import { keywordEntityTypeSchema, keywordFolksnomyEntityTypeSchema, } from './definitions/body/keyword';
11
+ import { linkEntityTypeSchema } from './definitions/body/link';
12
+ import { noteEntityTypeSchema } from './definitions/body/note';
13
+ import { organizationEntityTypeSchema } from './definitions/body/organization';
14
+ import { physicalThingEntityTypeSchema } from './definitions/body/physicalThing';
15
+ import { placeEntityTypeSchema } from './definitions/body/place';
16
+ import { workEntityTypeSchema } from './definitions/body/work';
17
+ const ajv = new Ajv(); // options can be passed, e.g. {allErrors: true}
18
+ addFormats(ajv);
19
+ // * Pure Typescript Type - Just for reference
20
+ // type Status = 'draft' | 'approved' | 'published';
21
+ // * Type using Zod & Inference
22
+ export const Status = ['draft', 'approved', 'published'];
23
+ //** -------------- */
24
+ // * Pure Typescript Type - Just for reference
25
+ // type Motivation =
26
+ // | 'identifying'
27
+ // | 'describing'
28
+ // | 'correcting'
29
+ // | 'tagging'
30
+ // | 'classifying'
31
+ // | 'linking'
32
+ // | 'citing';
33
+ // * Type using Zod & Inference
34
+ export const Motivation = [
35
+ 'identifying',
36
+ 'describing',
37
+ 'correcting',
38
+ 'tagging',
39
+ 'classifying',
40
+ 'linking',
41
+ 'citing',
42
+ ];
43
+ //** -------------- */
44
+ // * Pure Typescript Type - Just for reference
45
+ // interface WebAnnotationRoot {
46
+ // '@context': ['http://www.w3.org/ns/anno.jsonld', contextUri];
47
+ // id: string;
48
+ // type: ['Annotation', 'crm:E33_Linguistic_Object'];
49
+ // motivation: [Motivation, 'crm:E33_Linguistic_Object'];
50
+ // created: string;
51
+ // modified?: string;
52
+ // creator: User;
53
+ // contributor?: User[];
54
+ // generator: Software;
55
+ // target: Target;
56
+ // body: Body;
57
+ // status: Status;
58
+ // }
59
+ // * Type using Zod & Inference
60
+ export const WebAnnotation = z
61
+ .object({
62
+ '@context': z
63
+ .tuple([
64
+ z.literal('http://www.w3.org/ns/anno.jsonld').describe('W3C Web Annotation Context.'),
65
+ z
66
+ .literal(contextUri)
67
+ .describe('LINCS Web Annotation Context.'),
68
+ ])
69
+ .describe('The context that determines the meaning of the JSON as an Annotation. The itens should point to a URI containing the defiintion used in this schema.'),
70
+ id: z
71
+ .union([
72
+ z.string().url(),
73
+ z.string().uuid(),
74
+ ])
75
+ .describe('The identity of the Annotation. It must be a URI or UUID.'),
76
+ type: z
77
+ .tuple([z.literal('Annotation'), z.literal('crm:E33_Linguistic_Object')])
78
+ .describe('The type of the Annotation.'),
79
+ motivation: z
80
+ .tuple([z.enum(Motivation), z.literal('crm:E33_Linguistic_Object')])
81
+ .describe('The relationship between an Annotation and a Motivation.'),
82
+ created: z
83
+ .string()
84
+ .datetime() //* generates format: 'date-time'. But we might need 'iso-data-time',
85
+ .describe('The time at which the resource was created.'),
86
+ modified: z
87
+ .string()
88
+ .datetime() //* generates format: 'date-time'. But we might need 'iso-data-time',
89
+ .optional()
90
+ .describe('The time at which the resource was modified, after creation.'),
91
+ status: z.enum(Status).describe('The status of this annotation in a workflow.'),
92
+ creator: User.describe('The agent responsible for creating the resource.'),
93
+ contributor: z
94
+ .array(User.describe('The agents responsible for modifying the resource.'))
95
+ .nonempty()
96
+ .optional()
97
+ .describe('The agents responsible for modifying the resource.'),
98
+ generator: Software.describe('The agent responsible for generating the serialization of the Annotation. '),
99
+ target: Target.describe('The relationship between an Annotation and its Target.'),
100
+ body: Body.describe('The relationship between an Annotation and its Body.'),
101
+ })
102
+ .describe('Web Annotation Root');
103
+ // * JSONSchema
104
+ export const webAnnotationSchema = {
105
+ $id: schemaId,
106
+ type: 'object',
107
+ description: 'Web Annotation',
108
+ properties: {
109
+ '@context': {
110
+ type: 'array',
111
+ minItems: 2,
112
+ maxItems: 2,
113
+ items: [
114
+ { type: 'string', const: 'http://www.w3.org/ns/anno.jsonld' },
115
+ { type: 'string', const: contextUri },
116
+ ],
117
+ description: 'The context that determines the meaning of the JSON as an Annotation. The itens should point to a URI containing the defiintion used in this schema.',
118
+ },
119
+ id: {
120
+ anyOf: [
121
+ {
122
+ type: 'string',
123
+ format: 'uri',
124
+ description: 'Idealy, this this uri must be a concatenation of an URI and UUID with an "_".',
125
+ },
126
+ { type: 'string', format: 'uuid' },
127
+ ],
128
+ description: 'The identity of the Annotation. It must be a URI or UUID.',
129
+ },
130
+ type: {
131
+ type: 'array',
132
+ minItems: 2,
133
+ maxItems: 2,
134
+ items: [
135
+ { type: 'string', const: 'Annotation' },
136
+ { type: 'string', const: 'crm:E33_Linguistic_Object' },
137
+ ],
138
+ description: 'The type of the Annotation.',
139
+ },
140
+ motivation: {
141
+ type: 'array',
142
+ minItems: 2,
143
+ maxItems: 2,
144
+ items: [
145
+ { type: 'string', enum: Motivation },
146
+ { type: 'string', const: 'crm:E33_Linguistic_Object' },
147
+ ],
148
+ description: 'The relationship between an Annotation and a Motivation.',
149
+ },
150
+ created: {
151
+ type: 'string',
152
+ format: 'date-time',
153
+ description: 'The time at which the resource was created.',
154
+ },
155
+ modified: {
156
+ type: 'string',
157
+ format: 'date-time',
158
+ description: 'The time at which the resource was modified, after creation.',
159
+ },
160
+ creator: { $ref: 'defs.jsonld#/definitions/creator' },
161
+ contributor: {
162
+ type: 'array',
163
+ items: { $ref: 'defs.jsonld#/definitions/creator' },
164
+ minItems: 1,
165
+ },
166
+ generator: { $ref: 'defs.jsonld#/definitions/software' },
167
+ target: { $ref: 'defs.jsonld#/definitions/target' },
168
+ body: { $ref: 'defs.jsonld#/definitions/body' },
169
+ status: { type: 'string', enum: Status },
170
+ },
171
+ required: [
172
+ '@context',
173
+ 'id',
174
+ 'type',
175
+ 'motivation',
176
+ 'created',
177
+ 'creator',
178
+ 'generator',
179
+ 'target',
180
+ 'body',
181
+ 'status',
182
+ ],
183
+ allOf: [
184
+ {
185
+ if: {
186
+ type: 'object',
187
+ properties: {
188
+ status: { const: 'published' },
189
+ },
190
+ },
191
+ then: {
192
+ type: 'object',
193
+ properties: {
194
+ id: { type: 'string', format: 'uri' },
195
+ },
196
+ required: ['status'],
197
+ },
198
+ else: {
199
+ type: 'object',
200
+ properties: {
201
+ id: { type: 'string', format: 'uuid' },
202
+ },
203
+ required: ['status'],
204
+ },
205
+ },
206
+ {
207
+ if: {
208
+ type: 'object',
209
+ properties: {
210
+ body: {
211
+ type: 'object',
212
+ properties: {
213
+ entityType: {
214
+ oneOf: [
215
+ personEntityTypeSchema,
216
+ placeEntityTypeSchema,
217
+ organizationEntityTypeSchema,
218
+ workEntityTypeSchema,
219
+ physicalThingEntityTypeSchema,
220
+ conceptualObjectEntityTypeSchema,
221
+ dateEntityTypeSchema,
222
+ ],
223
+ },
224
+ },
225
+ },
226
+ },
227
+ },
228
+ then: {
229
+ type: 'object',
230
+ properties: {
231
+ motivation: {
232
+ type: 'array',
233
+ minItems: 2,
234
+ maxItems: 2,
235
+ items: [
236
+ { type: 'string', const: 'identifying' },
237
+ { type: 'string', const: 'crm:E33_Linguistic_Object' },
238
+ ],
239
+ },
240
+ },
241
+ },
242
+ else: {
243
+ if: {
244
+ type: 'object',
245
+ properties: {
246
+ body: {
247
+ type: 'object',
248
+ properties: {
249
+ entityType: noteEntityTypeSchema,
250
+ },
251
+ },
252
+ },
253
+ },
254
+ then: {
255
+ type: 'object',
256
+ properties: {
257
+ motivation: {
258
+ type: 'array',
259
+ minItems: 2,
260
+ maxItems: 2,
261
+ items: [
262
+ { type: 'string', const: 'describing' },
263
+ { type: 'string', const: 'crm:E33_Linguistic_Object' },
264
+ ],
265
+ },
266
+ },
267
+ },
268
+ else: {
269
+ if: {
270
+ type: 'object',
271
+ properties: {
272
+ body: {
273
+ type: 'object',
274
+ properties: {
275
+ entityType: correctionEntityTypeSchema,
276
+ },
277
+ },
278
+ },
279
+ },
280
+ then: {
281
+ type: 'object',
282
+ properties: {
283
+ motivation: {
284
+ type: 'array',
285
+ minItems: 2,
286
+ maxItems: 2,
287
+ items: [
288
+ { type: 'string', const: 'correcting' },
289
+ { type: 'string', const: 'crm:E33_Linguistic_Object' },
290
+ ],
291
+ },
292
+ },
293
+ },
294
+ else: {
295
+ if: {
296
+ type: 'object',
297
+ properties: {
298
+ body: {
299
+ type: 'object',
300
+ properties: {
301
+ entityType: keywordFolksnomyEntityTypeSchema,
302
+ },
303
+ },
304
+ },
305
+ },
306
+ then: {
307
+ type: 'object',
308
+ properties: {
309
+ motivation: {
310
+ type: 'array',
311
+ minItems: 2,
312
+ maxItems: 2,
313
+ items: [
314
+ { type: 'string', const: 'tagging' },
315
+ { type: 'string', const: 'crm:E33_Linguistic_Object' },
316
+ ],
317
+ },
318
+ },
319
+ },
320
+ else: {
321
+ if: {
322
+ type: 'object',
323
+ properties: {
324
+ body: {
325
+ type: 'object',
326
+ properties: {
327
+ entityType: keywordEntityTypeSchema,
328
+ },
329
+ },
330
+ },
331
+ },
332
+ then: {
333
+ type: 'object',
334
+ properties: {
335
+ motivation: {
336
+ type: 'array',
337
+ minItems: 2,
338
+ maxItems: 2,
339
+ items: [
340
+ { type: 'string', const: 'classifying' },
341
+ { type: 'string', const: 'crm:E33_Linguistic_Object' },
342
+ ],
343
+ },
344
+ },
345
+ },
346
+ else: {
347
+ if: {
348
+ type: 'object',
349
+ properties: {
350
+ body: {
351
+ type: 'object',
352
+ properties: {
353
+ entityType: linkEntityTypeSchema,
354
+ },
355
+ },
356
+ },
357
+ },
358
+ then: {
359
+ type: 'object',
360
+ properties: {
361
+ motivation: {
362
+ type: 'array',
363
+ minItems: 2,
364
+ maxItems: 2,
365
+ items: [
366
+ { type: 'string', const: 'linking' },
367
+ { type: 'string', const: 'crm:E33_Linguistic_Object' },
368
+ ],
369
+ },
370
+ },
371
+ },
372
+ else: {
373
+ if: {
374
+ type: 'object',
375
+ properties: {
376
+ body: {
377
+ type: 'object',
378
+ properties: {
379
+ entityType: citationEntityTypeSchema,
380
+ },
381
+ },
382
+ },
383
+ },
384
+ then: {
385
+ type: 'object',
386
+ properties: {
387
+ motivation: {
388
+ type: 'array',
389
+ minItems: 2,
390
+ maxItems: 2,
391
+ items: [
392
+ { type: 'string', const: 'citing' },
393
+ { type: 'string', const: 'crm:E33_Linguistic_Object' },
394
+ ],
395
+ },
396
+ },
397
+ },
398
+ },
399
+ },
400
+ },
401
+ },
402
+ },
403
+ },
404
+ },
405
+ ],
406
+ additionalProperties: false,
407
+ };
408
+ //# sourceMappingURL=root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../../src/schema/root.ts"],"names":[],"mappings":"AAAA,OAAO,GAAuB,MAAM,KAAK,CAAC;AAC1C,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,gDAAgD;AACvE,UAAU,CAAC,GAAG,CAAC,CAAC;AAEhB,8CAA8C;AAE9C,oDAAoD;AAEpD,+BAA+B;AAE/B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAU,CAAC;AAGlE,sBAAsB;AAEtB,8CAA8C;AAE9C,oBAAoB;AACpB,oBAAoB;AACpB,mBAAmB;AACnB,mBAAmB;AACnB,gBAAgB;AAChB,oBAAoB;AACpB,gBAAgB;AAChB,gBAAgB;AAEhB,+BAA+B;AAE/B,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,aAAa;IACb,SAAS;IACT,QAAQ;CACA,CAAC;AAIX,sBAAsB;AAEtB,8CAA8C;AAE9C,gCAAgC;AAChC,kEAAkE;AAClE,gBAAgB;AAChB,uDAAuD;AACvD,2DAA2D;AAC3D,qBAAqB;AACrB,uBAAuB;AACvB,mBAAmB;AACnB,0BAA0B;AAC1B,yBAAyB;AACzB,oBAAoB;AACpB,gBAAgB;AAChB,oBAAoB;AACpB,IAAI;AAEJ,+BAA+B;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,UAAU,EAAE,CAAC;SACV,KAAK,CAAC;QACL,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACrF,CAAC;aACE,OAAO,CAAC,UAAU,CAAC;aACnB,QAAQ,CAAC,+BAA+B,CAAC;KAC7C,CAAC;SACD,QAAQ,CACP,sJAAsJ,CACvJ;IACH,EAAE,EAAE,CAAC;SACF,KAAK,CAAC;QACL,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QAChB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;KAClB,CAAC;SACD,QAAQ,CAAC,2DAA2D,CAAC;IACxE,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC;SACxE,QAAQ,CAAC,6BAA6B,CAAC;IAC1C,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC;SACnE,QAAQ,CAAC,0DAA0D,CAAC;IACvE,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE,CAAC,qEAAqE;SAChF,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE,CAAC,qEAAqE;SAChF,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC/E,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAC1E,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,oDAAoD,CAAC,CAAC;SAC1E,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAC1B,4EAA4E,CAC7E;IACD,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IACjF,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,sDAAsD,CAAC;CAC5E,CAAC;KACD,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAInC,eAAe;AAEf,MAAM,CAAC,MAAM,mBAAmB,GAA4C;IAC1E,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,gBAAgB;IAC7B,UAAU,EAAE;QACV,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,kCAAkC,EAAE;gBAC7D,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;aACtC;YACD,WAAW,EACT,sJAAsJ;SACzJ;QACD,EAAE,EAAE;YACF,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,KAAK;oBACb,WAAW,EACT,+EAA+E;iBAClF;gBACD,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;aACnC;YACD,WAAW,EAAE,2DAA2D;SACzE;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;gBACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE;aACvD;YACD,WAAW,EAAE,6BAA6B;SAC3C;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE;gBACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE;aACvD;YACD,WAAW,EAAE,0DAA0D;SACxE;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,6CAA6C;SAC3D;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,8DAA8D;SAC5E;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE;QACrD,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE;YACnD,QAAQ,EAAE,CAAC;SACL;QACR,SAAS,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE;QACxD,MAAM,EAAE,EAAE,IAAI,EAAE,iCAAiC,EAAE;QACnD,IAAI,EAAE,EAAE,IAAI,EAAE,+BAA+B,EAAE;QAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;KACzC;IACD,QAAQ,EAAE;QACR,UAAU;QACV,IAAI;QACJ,MAAM;QACN,YAAY;QACZ,SAAS;QACT,SAAS;QACT,WAAW;QACX,QAAQ;QACR,MAAM;QACN,QAAQ;KACT;IAED,KAAK,EAAE;QACL;YACE,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;iBAC/B;aACF;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;iBACtC;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;iBACvC;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF;QACD;YACE,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,UAAU,EAAE;gCACV,KAAK,EAAE;oCACL,sBAAsB;oCACtB,qBAAqB;oCACrB,4BAA4B;oCAC5B,oBAAoB;oCACpB,6BAA6B;oCAC7B,gCAAgC;oCAChC,oBAAoB;iCACrB;6BACF;yBACF;qBACF;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,UAAU,EAAE;wBACV,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,CAAC;wBACX,KAAK,EAAE;4BACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE;4BACxC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE;yBACvD;qBACF;iBACF;aACF;YACD,IAAI,EAAE;gBACJ,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,UAAU,EAAE,oBAAoB;6BACjC;yBACF;qBACF;iBACF;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,UAAU,EAAE;4BACV,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,CAAC;4BACX,QAAQ,EAAE,CAAC;4BACX,KAAK,EAAE;gCACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;gCACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE;6BACvD;yBACF;qBACF;iBACF;gBACD,IAAI,EAAE;oBACJ,EAAE,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,UAAU,EAAE,0BAA0B;iCACvC;6BACF;yBACF;qBACF;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,UAAU,EAAE;gCACV,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,CAAC;gCACX,QAAQ,EAAE,CAAC;gCACX,KAAK,EAAE;oCACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;oCACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE;iCACvD;6BACF;yBACF;qBACF;oBACD,IAAI,EAAE;wBACJ,EAAE,EAAE;4BACF,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE;oCACJ,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,UAAU,EAAE,gCAAgC;qCAC7C;iCACF;6BACF;yBACF;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,UAAU,EAAE;oCACV,IAAI,EAAE,OAAO;oCACb,QAAQ,EAAE,CAAC;oCACX,QAAQ,EAAE,CAAC;oCACX,KAAK,EAAE;wCACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;wCACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE;qCACvD;iCACF;6BACF;yBACF;wBACD,IAAI,EAAE;4BACJ,EAAE,EAAE;gCACF,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,IAAI,EAAE;wCACJ,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE;4CACV,UAAU,EAAE,uBAAuB;yCACpC;qCACF;iCACF;6BACF;4BACD,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,UAAU,EAAE;wCACV,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,CAAC;wCACX,QAAQ,EAAE,CAAC;wCACX,KAAK,EAAE;4CACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE;4CACxC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE;yCACvD;qCACF;iCACF;6BACF;4BACD,IAAI,EAAE;gCACJ,EAAE,EAAE;oCACF,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,IAAI,EAAE;4CACJ,IAAI,EAAE,QAAQ;4CACd,UAAU,EAAE;gDACV,UAAU,EAAE,oBAAoB;6CACjC;yCACF;qCACF;iCACF;gCACD,IAAI,EAAE;oCACJ,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,UAAU,EAAE;4CACV,IAAI,EAAE,OAAO;4CACb,QAAQ,EAAE,CAAC;4CACX,QAAQ,EAAE,CAAC;4CACX,KAAK,EAAE;gDACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;gDACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE;6CACvD;yCACF;qCACF;iCACF;gCACD,IAAI,EAAE;oCACJ,EAAE,EAAE;wCACF,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE;4CACV,IAAI,EAAE;gDACJ,IAAI,EAAE,QAAQ;gDACd,UAAU,EAAE;oDACV,UAAU,EAAE,wBAAwB;iDACrC;6CACF;yCACF;qCACF;oCACD,IAAI,EAAE;wCACJ,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE;4CACV,UAAU,EAAE;gDACV,IAAI,EAAE,OAAO;gDACb,QAAQ,EAAE,CAAC;gDACX,QAAQ,EAAE,CAAC;gDACX,KAAK,EAAE;oDACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;oDACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,EAAE;iDACvD;6CACF;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF;KACF;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type ValidationError } from '@apideck/better-ajv-errors';
2
+ export type Annotation = {
3
+ [x: string]: any;
4
+ };
5
+ export interface ValidateResult {
6
+ errors?: ValidationError[];
7
+ valid: boolean;
8
+ }
9
+ /**
10
+ * This function validates an annotation object and returns a validation result.
11
+ * @param {Annotation} annotation
12
+ * @returns Oject of type `ValidateResult`. The object has a `valid` property which is a boolean
13
+ * indicating whether the annotation is valid or not. If the annotation is not valid, the object
14
+ * also has an `errors` property which is an array of error messages.
15
+ */
16
+ export declare const validate: (annotation: Annotation) => ValidateResult;
17
+ /**
18
+ * This function takes an annotation object and returns any validation errors using a schema and validator.
19
+ * @param {any} annotation
20
+ * @returns Array of error objects that are generated by the `betterAjvErrors` library. These errors are
21
+ * based on the `webAnnotationSchema` schema and the `annotation` data object that is passed as an argument
22
+ * to the function.
23
+ */
24
+ export declare const getErrors: (annotation: any) => ValidationError[];
25
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAInF,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,eAAgB,UAAU,mBAO9C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,eAAgB,GAAG,sBASxC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { betterAjvErrors } from '@apideck/better-ajv-errors';
2
+ import { validator } from './';
3
+ import { webAnnotationSchema } from './schema';
4
+ /**
5
+ * This function validates an annotation object and returns a validation result.
6
+ * @param {Annotation} annotation
7
+ * @returns Oject of type `ValidateResult`. The object has a `valid` property which is a boolean
8
+ * indicating whether the annotation is valid or not. If the annotation is not valid, the object
9
+ * also has an `errors` property which is an array of error messages.
10
+ */
11
+ export const validate = (annotation) => {
12
+ const isValid = validator(annotation);
13
+ const result = { valid: isValid };
14
+ if (!isValid)
15
+ result.errors = getErrors(annotation);
16
+ return result;
17
+ };
18
+ /**
19
+ * This function takes an annotation object and returns any validation errors using a schema and validator.
20
+ * @param {any} annotation
21
+ * @returns Array of error objects that are generated by the `betterAjvErrors` library. These errors are
22
+ * based on the `webAnnotationSchema` schema and the `annotation` data object that is passed as an argument
23
+ * to the function.
24
+ */
25
+ export const getErrors = (annotation) => {
26
+ const errors = betterAjvErrors({
27
+ //@ts-ignore
28
+ schema: webAnnotationSchema,
29
+ data: annotation,
30
+ errors: validator.errors,
31
+ basePath: '{annotation}',
32
+ });
33
+ return errors;
34
+ };
35
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAwB,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAS/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,UAAsB,EAAE,EAAE;IACjD,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAClD,IAAI,CAAC,OAAO;QAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAEpD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAe,EAAE,EAAE;IAC3C,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,YAAY;QACZ,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,QAAQ,EAAE,cAAc;KACzB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "@lincs.project/webannotation-schema",
3
+ "version": "1.0.0",
4
+ "description": "lincs project web annotation json schema and validator",
5
+ "keywords": [
6
+ "lincs project",
7
+ "web annotation",
8
+ "json-ld",
9
+ "json schema"
10
+ ],
11
+ "homepage": "https://gitlab.com/calincs/conversion/lincs-webannotation",
12
+ "bugs": {
13
+ "url": "https://gitlab.com/calincs/conversion/lincs-webannotation/-/issues"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://gitlab.com/calincs/conversion/lincs-webannotation.git"
18
+ },
19
+ "publishConfig": {
20
+ "access": "public"
21
+ },
22
+ "license": "GPL-2.0",
23
+ "author": "Luciano Frizzera <lucaju@gmail.com>",
24
+ "exports": [
25
+ "./src/index.ts",
26
+ "./lib/index.js"
27
+ ],
28
+ "types": "lib/index.d.ts",
29
+ "files": [
30
+ "dist",
31
+ "lib"
32
+ ],
33
+ "module": "src/index.ts",
34
+ "main": "./dist/index.js",
35
+ "scripts": {
36
+ "build": "npm run clean && tsc && npm run generate && npm run build-documentation",
37
+ "generate": "ts-node ./bin/generate.ts",
38
+ "clean": "shx rm -rf dist lib public",
39
+ "build-documentation": "typedoc --out docs src/index.ts",
40
+ "test": "jest",
41
+ "test-watch": "jest --watchAll --verbose",
42
+ "cm": "git-cz",
43
+ "prepublishOnly": "npm test && npm run build"
44
+ },
45
+ "dependencies": {
46
+ "@apideck/better-ajv-errors": "^0.3.6",
47
+ "ajv": "^8.12.0",
48
+ "ajv-formats": "^2.1.1",
49
+ "typescript": "^5.1.3",
50
+ "zod": "^3.21.4"
51
+ },
52
+ "devDependencies": {
53
+ "@jest/globals": "^29.5.0",
54
+ "@types/fs-extra": "^11.0.1",
55
+ "@types/jest": "^29.5.2",
56
+ "@types/node": "^20.3.1",
57
+ "commitizen": "^4.3.0",
58
+ "eslint": "^8.43.0",
59
+ "fs-extra": "^11.1.1",
60
+ "git-cz": "^4.9.0",
61
+ "jest": "^29.5.0",
62
+ "kleur": "^4.1.5",
63
+ "prettier": "^2.8.8",
64
+ "shx": "^0.3.4",
65
+ "ts-jest": "^29.1.0",
66
+ "ts-node": "^10.9.1"
67
+ }
68
+ }