@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,48 @@
1
+ import { JSONSchemaType } from 'ajv';
2
+ import { z } from 'zod';
3
+ export declare const KeywordEntityType: z.ZodTuple<[z.ZodLiteral<"crm:E55_Type">, z.ZodLiteral<"crmdig:D1_Digital_Object">], null>;
4
+ export type KeywordEntityType = z.infer<typeof KeywordEntityType>;
5
+ export declare const Keyword: z.ZodObject<{
6
+ id: z.ZodString;
7
+ entityType: z.ZodTuple<[z.ZodLiteral<"crm:E55_Type">, z.ZodLiteral<"crmdig:D1_Digital_Object">], null>;
8
+ certainty: z.ZodOptional<z.ZodEnum<["edit:qualityLow", "edit:qualityMedium", "edit:qualityHigh", "edit:qualityUnknown"]>>;
9
+ label: z.ZodOptional<z.ZodString>;
10
+ description: z.ZodOptional<z.ZodString>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ id: string;
13
+ entityType: ["crm:E55_Type", "crmdig:D1_Digital_Object"];
14
+ certainty?: "edit:qualityLow" | "edit:qualityMedium" | "edit:qualityHigh" | "edit:qualityUnknown" | undefined;
15
+ label?: string | undefined;
16
+ description?: string | undefined;
17
+ }, {
18
+ id: string;
19
+ entityType: ["crm:E55_Type", "crmdig:D1_Digital_Object"];
20
+ certainty?: "edit:qualityLow" | "edit:qualityMedium" | "edit:qualityHigh" | "edit:qualityUnknown" | undefined;
21
+ label?: string | undefined;
22
+ description?: string | undefined;
23
+ }>;
24
+ export type Keyword = z.infer<typeof Keyword>;
25
+ export declare const keywordEntityTypeSchema: JSONSchemaType<KeywordEntityType>;
26
+ export declare const keywordSchema: JSONSchemaType<Keyword>;
27
+ export declare const KeywordFolksnomyEntityType: z.ZodTuple<[z.ZodLiteral<"crm:E55_Type">, z.ZodLiteral<"crm:E33_Linguistic_Object">], null>;
28
+ export type KeywordFolksnomyEntityType = z.infer<typeof KeywordFolksnomyEntityType>;
29
+ export declare const KeywordFolksnomy: z.ZodObject<{
30
+ id: z.ZodString;
31
+ type: z.ZodLiteral<"TextualBody">;
32
+ entityType: z.ZodTuple<[z.ZodLiteral<"crm:E55_Type">, z.ZodLiteral<"crm:E33_Linguistic_Object">], null>;
33
+ value: z.ZodString;
34
+ }, "strip", z.ZodTypeAny, {
35
+ value: string;
36
+ type: "TextualBody";
37
+ id: string;
38
+ entityType: ["crm:E55_Type", "crm:E33_Linguistic_Object"];
39
+ }, {
40
+ value: string;
41
+ type: "TextualBody";
42
+ id: string;
43
+ entityType: ["crm:E55_Type", "crm:E33_Linguistic_Object"];
44
+ }>;
45
+ export type KeywordFolksnomy = z.infer<typeof KeywordFolksnomy>;
46
+ export declare const keywordFolksnomyEntityTypeSchema: JSONSchemaType<KeywordFolksnomyEntityType>;
47
+ export declare const keywordFolksnomySchema: JSONSchemaType<KeywordFolksnomy>;
48
+ //# sourceMappingURL=keyword.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyword.d.ts","sourceRoot":"","sources":["../../../../src/schema/definitions/body/keyword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,iBAAiB,4FAG5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAIlE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;EAQE,CAAC;AAEvB,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAI9C,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAAC,iBAAiB,CAQrE,CAAC;AAIF,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,OAAO,CAYjD,CAAC;AAeF,eAAO,MAAM,0BAA0B,6FAGrC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAIpF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAOP,CAAC;AAEvB,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAIhE,eAAO,MAAM,gCAAgC,EAAE,cAAc,CAAC,0BAA0B,CAQvF,CAAC;AAIF,eAAO,MAAM,sBAAsB,EAAE,cAAc,CAAC,gBAAgB,CAgBnE,CAAC"}
@@ -0,0 +1,100 @@
1
+ import { z } from 'zod';
2
+ import { Certainty, Description, Label } from './common';
3
+ // * Pure Typescript Type - Just for reference
4
+ // export interface Keyword {
5
+ // id: string;
6
+ // entityType: ['crm:E55_Type', 'crmdig:D1_Digital_Object'];
7
+ // certainty?: string;
8
+ // label?: string;
9
+ // description?: string;
10
+ // }
11
+ // * Property: entityType - Type using Zod & Inference
12
+ export const KeywordEntityType = z.tuple([
13
+ z.literal('crm:E55_Type'),
14
+ z.literal('crmdig:D1_Digital_Object'),
15
+ ]);
16
+ // * Type using Zod & Inference
17
+ export const Keyword = z
18
+ .object({
19
+ id: z.string().url().describe('The IRI that identifies the Body resource.'),
20
+ entityType: KeywordEntityType,
21
+ certainty: Certainty.optional(),
22
+ label: Label.optional(),
23
+ description: Description.optional(),
24
+ })
25
+ .describe('Keyword');
26
+ // * JSONSchema - entityType
27
+ export const keywordEntityTypeSchema = {
28
+ type: 'array',
29
+ minItems: 2,
30
+ maxItems: 2,
31
+ items: [
32
+ { type: 'string', const: 'crm:E55_Type' },
33
+ { type: 'string', const: 'crmdig:D1_Digital_Object' },
34
+ ],
35
+ };
36
+ // * JSONSchema
37
+ export const keywordSchema = {
38
+ type: 'object',
39
+ description: 'A keyword entity',
40
+ properties: {
41
+ id: { type: 'string', format: 'uri' },
42
+ entityType: keywordEntityTypeSchema,
43
+ certainty: { $ref: 'defs.jsonld#/definitions/certainty' },
44
+ label: { $ref: 'defs.jsonld#/definitions/label' },
45
+ description: { $ref: 'defs.jsonld#/definitions/description' },
46
+ },
47
+ required: ['id', 'entityType'],
48
+ // errorMessage: { properties: { id: 'Must be an URI' } },
49
+ };
50
+ //* -------------------
51
+ // * Pure Typescript Type - Just for reference
52
+ // export interface KeywordFolksnomy {
53
+ // id: string;
54
+ // type: 'TextualBody';
55
+ // entityType: ['crm:E55_Type', 'crm:E33_Linguistic_Object'];
56
+ // value: string;
57
+ // }
58
+ // * Property: entityType - Type using Zod & Inference
59
+ export const KeywordFolksnomyEntityType = z.tuple([
60
+ z.literal('crm:E55_Type'),
61
+ z.literal('crm:E33_Linguistic_Object'),
62
+ ]);
63
+ // * Type using Zod & Inference
64
+ export const KeywordFolksnomy = z
65
+ .object({
66
+ id: z.string().url().describe('The IRI that identifies the Body resource.'),
67
+ type: z.literal('TextualBody'),
68
+ entityType: KeywordFolksnomyEntityType,
69
+ value: z.string().describe('The keyword.'),
70
+ })
71
+ .describe('Keyword');
72
+ // * JSONSchema - entityType
73
+ export const keywordFolksnomyEntityTypeSchema = {
74
+ type: 'array',
75
+ minItems: 2,
76
+ maxItems: 2,
77
+ items: [
78
+ { type: 'string', const: 'crm:E55_Type' },
79
+ { type: 'string', const: 'crm:E33_Linguistic_Object' },
80
+ ],
81
+ };
82
+ // * JSONSchema
83
+ export const keywordFolksnomySchema = {
84
+ type: 'object',
85
+ description: 'A keyword entity',
86
+ properties: {
87
+ id: { type: 'string', format: 'uuid' },
88
+ type: { type: 'string', const: 'TextualBody' },
89
+ entityType: keywordFolksnomyEntityTypeSchema,
90
+ value: { type: 'string' },
91
+ },
92
+ required: ['id', 'type', 'entityType', 'value'],
93
+ // errorMessage: {
94
+ // properties: {
95
+ // id: 'Must be an UUID',
96
+ // type: 'must be exacty "TextualBody"',
97
+ // },
98
+ // },
99
+ };
100
+ //# sourceMappingURL=keyword.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../../src/schema/definitions/body/keyword.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { JSONSchemaType } from 'ajv';
2
+ import { z } from 'zod';
3
+ export declare const LinkEntityType: z.ZodLiteral<"crmdig:D1_Digital_Object">;
4
+ export type LinkEntityType = z.infer<typeof LinkEntityType>;
5
+ export declare const Link: z.ZodObject<{
6
+ id: z.ZodString;
7
+ entityType: z.ZodLiteral<"crmdig:D1_Digital_Object">;
8
+ certainty: z.ZodOptional<z.ZodEnum<["edit:qualityLow", "edit:qualityMedium", "edit:qualityHigh", "edit:qualityUnknown"]>>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ id: string;
11
+ entityType: "crmdig:D1_Digital_Object";
12
+ certainty?: "edit:qualityLow" | "edit:qualityMedium" | "edit:qualityHigh" | "edit:qualityUnknown" | undefined;
13
+ }, {
14
+ id: string;
15
+ entityType: "crmdig:D1_Digital_Object";
16
+ certainty?: "edit:qualityLow" | "edit:qualityMedium" | "edit:qualityHigh" | "edit:qualityUnknown" | undefined;
17
+ }>;
18
+ export type Link = z.infer<typeof Link>;
19
+ export declare const linkEntityTypeSchema: JSONSchemaType<LinkEntityType>;
20
+ export declare const linkSchema: JSONSchemaType<Link>;
21
+ //# sourceMappingURL=link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../src/schema/definitions/body/link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,cAAc,0CAAwC,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAI5D,eAAO,MAAM,IAAI;;;;;;;;;;;;EAMiB,CAAC;AAEnC,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAIxC,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,cAAc,CAG/D,CAAC;AAIF,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,IAAI,CAU3C,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ import { Certainty } from './common';
3
+ // * Pure Typescript Type - Just for reference
4
+ //* -------------------
5
+ // export type Link = {
6
+ // id: string;
7
+ // entityType: 'crmdig:D1_Digital_Object';
8
+ // certainty?: Certainty;
9
+ // };
10
+ // * Property: entityType - Type using Zod & Inference
11
+ export const LinkEntityType = z.literal('crmdig:D1_Digital_Object');
12
+ // * Type using Zod & Inference
13
+ export const Link = z
14
+ .object({
15
+ id: z.string().url().describe('The link URL.'),
16
+ entityType: LinkEntityType,
17
+ certainty: Certainty.optional(),
18
+ })
19
+ .describe('A link to a webpage');
20
+ // * JSONSchema - entityType
21
+ export const linkEntityTypeSchema = {
22
+ type: 'string',
23
+ const: 'crmdig:D1_Digital_Object',
24
+ };
25
+ // * JSONSchema
26
+ export const linkSchema = {
27
+ type: 'object',
28
+ description: 'A link entity',
29
+ properties: {
30
+ id: { type: 'string', format: 'uri' },
31
+ entityType: linkEntityTypeSchema,
32
+ certainty: { $ref: 'defs.jsonld#/definitions/certainty' },
33
+ },
34
+ required: ['id', 'entityType'],
35
+ // errorMessage: { properties: { id: 'Must be an URI' } },
36
+ };
37
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../../src/schema/definitions/body/link.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,8CAA8C;AAE9C,uBAAuB;AAEvB,uBAAuB;AACvB,gBAAgB;AAChB,4CAA4C;AAC5C,2BAA2B;AAC3B,KAAK;AAEL,sDAAsD;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAIpE,+BAA+B;AAE/B,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC9C,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAInC,4BAA4B;AAE5B,MAAM,CAAC,MAAM,oBAAoB,GAAmC;IAClE,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,0BAA0B;CAClC,CAAC;AAEF,eAAe;AAEf,MAAM,CAAC,MAAM,UAAU,GAAyB;IAC9C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,eAAe;IAC5B,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;QACrC,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE;KAC1D;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC;IAC9B,0DAA0D;CAC3D,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { JSONSchemaType } from 'ajv';
2
+ import { z } from 'zod';
3
+ export declare const NoteEntityType: z.ZodLiteral<"crm:E33_Linguistic_Object">;
4
+ export type NoteEntityType = z.infer<typeof NoteEntityType>;
5
+ export declare const Note: z.ZodObject<{
6
+ id: z.ZodString;
7
+ type: z.ZodLiteral<"TextualBody">;
8
+ entityType: z.ZodLiteral<"crm:E33_Linguistic_Object">;
9
+ additionalType: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
10
+ value: z.ZodString;
11
+ }, "strip", z.ZodTypeAny, {
12
+ value: string;
13
+ type: "TextualBody";
14
+ id: string;
15
+ entityType: "crm:E33_Linguistic_Object";
16
+ additionalType?: string | string[] | undefined;
17
+ }, {
18
+ value: string;
19
+ type: "TextualBody";
20
+ id: string;
21
+ entityType: "crm:E33_Linguistic_Object";
22
+ additionalType?: string | string[] | undefined;
23
+ }>;
24
+ export type Note = z.infer<typeof Note>;
25
+ export declare const noteEntityTypeSchema: JSONSchemaType<NoteEntityType>;
26
+ export declare const noteSchema: JSONSchemaType<Required<Note>>;
27
+ //# sourceMappingURL=note.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note.d.ts","sourceRoot":"","sources":["../../../../src/schema/definitions/body/note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,cAAc,2CAAyC,CAAC;AAErE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAI5D,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;EAcE,CAAC;AAEpB,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAIxC,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,cAAc,CAG/D,CAAC;AAIF,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAmBrD,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { z } from 'zod';
2
+ // * Pure Typescript Type - Just for reference
3
+ // export interface Note {
4
+ // id: string;
5
+ // type: 'TextualBody';
6
+ // entityType: 'crm:E33_Linguistic_Object';
7
+ // additionalType: string | string[];
8
+ // value: string;
9
+ // }
10
+ // * Property: entityType - Type using Zod & Inference
11
+ export const NoteEntityType = z.literal('crm:E33_Linguistic_Object');
12
+ // * Type using Zod & Inference
13
+ export const Note = z
14
+ .object({
15
+ id: z
16
+ .string()
17
+ .uuid({ message: 'Must be an UUID' })
18
+ .describe("UUID that identifies the annotation's body."),
19
+ type: z.literal('TextualBody'),
20
+ entityType: NoteEntityType,
21
+ additionalType: z
22
+ .union([z.string(), z.string().array()])
23
+ .optional()
24
+ .describe('Extra types that refines the note'),
25
+ value: z.string().describe('The note.'),
26
+ })
27
+ .describe('Note');
28
+ // * JSONSchema - entityType
29
+ export const noteEntityTypeSchema = {
30
+ type: 'string',
31
+ const: 'crm:E33_Linguistic_Object',
32
+ };
33
+ // * JSONSchema
34
+ export const noteSchema = {
35
+ type: 'object',
36
+ description: 'A note entity',
37
+ properties: {
38
+ id: { type: 'string', format: 'uuid' },
39
+ type: { type: 'string', const: 'TextualBody' },
40
+ entityType: noteEntityTypeSchema,
41
+ additionalType: {
42
+ oneOf: [{ type: 'string' }, { type: 'array', items: { type: 'string' } }],
43
+ },
44
+ value: { type: 'string' },
45
+ },
46
+ required: ['id', 'type', 'entityType', 'value'],
47
+ // errorMessage: {
48
+ // properties: {
49
+ // id: 'Must be an UUID',
50
+ // type: 'must be exacty "TextualBody"',
51
+ // },
52
+ // },
53
+ };
54
+ //# sourceMappingURL=note.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note.js","sourceRoot":"","sources":["../../../../src/schema/definitions/body/note.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8CAA8C;AAE9C,0BAA0B;AAC1B,gBAAgB;AAChB,yBAAyB;AACzB,6CAA6C;AAC7C,uCAAuC;AACvC,mBAAmB;AACnB,IAAI;AAEJ,sDAAsD;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAIrE,+BAA+B;AAE/B,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC;SACF,MAAM,EAAE;SACR,IAAI,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;SACpC,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9B,UAAU,EAAE,cAAc;IAC1B,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;SACvC,QAAQ,EAAE;SACV,QAAQ,CAAC,mCAAmC,CAAC;IAChD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;CACxC,CAAC;KACD,QAAQ,CAAC,MAAM,CAAC,CAAC;AAIpB,4BAA4B;AAE5B,MAAM,CAAC,MAAM,oBAAoB,GAAmC;IAClE,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,2BAA2B;CACnC,CAAC;AAEF,eAAe;AAEf,MAAM,CAAC,MAAM,UAAU,GAAmC;IACxD,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,eAAe;IAC5B,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;QACtC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE;QAC9C,UAAU,EAAE,oBAAoB;QAChC,cAAc,EAAE;YACd,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC1E;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC;IAC/C,kBAAkB;IAClB,kBAAkB;IAClB,6BAA6B;IAC7B,4CAA4C;IAC5C,OAAO;IACP,KAAK;CACN,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { JSONSchemaType } from 'ajv';
2
+ import { z } from 'zod';
3
+ export declare const OrganizationEntityType: z.ZodTuple<[z.ZodLiteral<"foaf:Organization">, z.ZodUnion<[z.ZodLiteral<"crm:E74_Group">, z.ZodLiteral<"crm:E89_Propositional_Object">]>], null>;
4
+ export type OrganizationEntityType = z.infer<typeof OrganizationEntityType>;
5
+ export declare const Organization: z.ZodObject<{
6
+ id: z.ZodString;
7
+ entityType: z.ZodTuple<[z.ZodLiteral<"foaf:Organization">, z.ZodUnion<[z.ZodLiteral<"crm:E74_Group">, z.ZodLiteral<"crm:E89_Propositional_Object">]>], null>;
8
+ certainty: z.ZodOptional<z.ZodEnum<["edit:qualityLow", "edit:qualityMedium", "edit:qualityHigh", "edit:qualityUnknown"]>>;
9
+ label: z.ZodOptional<z.ZodString>;
10
+ description: z.ZodOptional<z.ZodString>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ id: string;
13
+ entityType: ["foaf:Organization", "crm:E74_Group" | "crm:E89_Propositional_Object"];
14
+ certainty?: "edit:qualityLow" | "edit:qualityMedium" | "edit:qualityHigh" | "edit:qualityUnknown" | undefined;
15
+ label?: string | undefined;
16
+ description?: string | undefined;
17
+ }, {
18
+ id: string;
19
+ entityType: ["foaf:Organization", "crm:E74_Group" | "crm:E89_Propositional_Object"];
20
+ certainty?: "edit:qualityLow" | "edit:qualityMedium" | "edit:qualityHigh" | "edit:qualityUnknown" | undefined;
21
+ label?: string | undefined;
22
+ description?: string | undefined;
23
+ }>;
24
+ export type Organization = z.infer<typeof Organization>;
25
+ export declare const organizationEntityTypeSchema: JSONSchemaType<OrganizationEntityType>;
26
+ export declare const organizationSchema: JSONSchemaType<Organization>;
27
+ //# sourceMappingURL=organization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../../../src/schema/definitions/body/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,sBAAsB,kJAMjC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAI5E,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;EAWE,CAAC;AAE5B,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAIxD,eAAO,MAAM,4BAA4B,EAAE,cAAc,CAAC,sBAAsB,CAiB/E,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,YAAY,CAY3D,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { z } from 'zod';
2
+ import { Certainty, Description, Label } from './common';
3
+ // * Pure Typescriipt Type - Just for reference
4
+ // export interface Organization {
5
+ // id: string;
6
+ // entityType: ['foaf:Organization', 'crm:E74_Group' | 'crm:E89_Propositional_Object'];
7
+ // certainty?: string;
8
+ // label?: string;
9
+ // description?: string;
10
+ // }
11
+ // * Property: Typescript - Type using Zod & Inference
12
+ export const OrganizationEntityType = z.tuple([
13
+ z.literal('foaf:Organization'),
14
+ z.union([
15
+ z.literal('crm:E74_Group').describe('Real Organization'),
16
+ z.literal('crm:E89_Propositional_Object').describe('Fictional Organization'),
17
+ ]),
18
+ ]);
19
+ // * Type using Zod & Inference
20
+ export const Organization = z
21
+ .object({
22
+ id: z
23
+ .string()
24
+ .url({ message: 'Must be an URI' })
25
+ .describe('The IRI that identifies the Body resource.'),
26
+ entityType: OrganizationEntityType,
27
+ certainty: Certainty.optional(),
28
+ label: Label.optional(),
29
+ description: Description.optional(),
30
+ })
31
+ .describe('Organization');
32
+ // * JSONSchema - entityType
33
+ export const organizationEntityTypeSchema = {
34
+ type: 'array',
35
+ minItems: 2,
36
+ maxItems: 2,
37
+ items: [
38
+ { type: 'string', const: 'foaf:Organization' },
39
+ {
40
+ oneOf: [
41
+ { type: 'string', const: 'crm:E74_Group', description: 'Real Organization' },
42
+ {
43
+ type: 'string',
44
+ const: 'crm:E89_Propositional_Object',
45
+ description: 'Fictional Organization',
46
+ },
47
+ ],
48
+ },
49
+ ],
50
+ };
51
+ // * JSONSchema
52
+ export const organizationSchema = {
53
+ type: 'object',
54
+ description: 'A organization entity',
55
+ properties: {
56
+ id: { type: 'string', format: 'uri', description: 'The IRI that identifies the Body resource' },
57
+ entityType: organizationEntityTypeSchema,
58
+ certainty: { $ref: 'defs.jsonld#/definitions/certainty' },
59
+ label: { $ref: 'defs.jsonld#/definitions/label' },
60
+ description: { $ref: 'defs.jsonld#/definitions/description' },
61
+ },
62
+ required: ['id', 'entityType'],
63
+ // errorMessage: { properties: { id: 'Must be an URI' } },
64
+ };
65
+ //# sourceMappingURL=organization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.js","sourceRoot":"","sources":["../../../../src/schema/definitions/body/organization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEzD,+CAA+C;AAE/C,kCAAkC;AAClC,gBAAgB;AAChB,yFAAyF;AACzF,wBAAwB;AACxB,oBAAoB;AACpB,0BAA0B;AAC1B,IAAI;AAEJ,sDAAsD;AAEtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAC9B,CAAC,CAAC,KAAK,CAAC;QACN,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACxD,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KAC7E,CAAC;CACH,CAAC,CAAC;AAIH,+BAA+B;AAE/B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,EAAE,EAAE,CAAC;SACF,MAAM,EAAE;SACR,GAAG,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;SAClC,QAAQ,CAAC,4CAA4C,CAAC;IACzD,UAAU,EAAE,sBAAsB;IAClC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;IACvB,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,QAAQ,CAAC,cAAc,CAAC,CAAC;AAI5B,4BAA4B;AAE5B,MAAM,CAAC,MAAM,4BAA4B,GAA2C;IAClF,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE;QACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE;QAC9C;YACE,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBAC5E;oBACE,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,8BAA8B;oBACrC,WAAW,EAAE,wBAAwB;iBACtC;aACF;SACF;KACF;CACF,CAAC;AAEF,eAAe;AAEf,MAAM,CAAC,MAAM,kBAAkB,GAAiC;IAC9D,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,uBAAuB;IACpC,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,2CAA2C,EAAE;QAC/F,UAAU,EAAE,4BAA4B;QACxC,SAAS,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE;QACzD,KAAK,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE;QACjD,WAAW,EAAE,EAAE,IAAI,EAAE,sCAAsC,EAAE;KAC9D;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC;IAC9B,0DAA0D;CAC3D,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { JSONSchemaType } from 'ajv';
2
+ import { z } from 'zod';
3
+ export declare const PersonEntityType: z.ZodTuple<[z.ZodLiteral<"Person">, z.ZodUnion<[z.ZodLiteral<"crm:E21_Person">, z.ZodLiteral<"crm:E89_Propositional_Object">]>], null>;
4
+ export type PersonEntityType = z.infer<typeof PersonEntityType>;
5
+ export declare const Person: z.ZodObject<{
6
+ id: z.ZodString;
7
+ entityType: z.ZodTuple<[z.ZodLiteral<"Person">, z.ZodUnion<[z.ZodLiteral<"crm:E21_Person">, z.ZodLiteral<"crm:E89_Propositional_Object">]>], null>;
8
+ certainty: z.ZodOptional<z.ZodEnum<["edit:qualityLow", "edit:qualityMedium", "edit:qualityHigh", "edit:qualityUnknown"]>>;
9
+ label: z.ZodOptional<z.ZodString>;
10
+ description: z.ZodOptional<z.ZodString>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ id: string;
13
+ entityType: ["Person", "crm:E21_Person" | "crm:E89_Propositional_Object"];
14
+ certainty?: "edit:qualityLow" | "edit:qualityMedium" | "edit:qualityHigh" | "edit:qualityUnknown" | undefined;
15
+ label?: string | undefined;
16
+ description?: string | undefined;
17
+ }, {
18
+ id: string;
19
+ entityType: ["Person", "crm:E21_Person" | "crm:E89_Propositional_Object"];
20
+ certainty?: "edit:qualityLow" | "edit:qualityMedium" | "edit:qualityHigh" | "edit:qualityUnknown" | undefined;
21
+ label?: string | undefined;
22
+ description?: string | undefined;
23
+ }>;
24
+ export type Person = z.infer<typeof Person>;
25
+ export declare const personEntityTypeSchema: JSONSchemaType<PersonEntityType>;
26
+ export declare const personSchema: JSONSchemaType<Person>;
27
+ //# sourceMappingURL=person.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"person.d.ts","sourceRoot":"","sources":["../../../../src/schema/definitions/body/person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,gBAAgB,wIAM3B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAIhE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;EAWE,CAAC;AAEtB,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAI5C,eAAO,MAAM,sBAAsB,EAAE,cAAc,CAAC,gBAAgB,CAanE,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,MAAM,CAY/C,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { z } from 'zod';
2
+ import { Certainty, Description, Label } from './common';
3
+ // * Pure Typescript Type - Just for reference
4
+ // export interface Person {
5
+ // id: string;
6
+ // entityType: ['Person', 'crm:E21_Person' | 'crm:E89_Propositional_Object'];
7
+ // certainty?: string;
8
+ // label?: string;
9
+ // description?: string;
10
+ // }
11
+ // * Property: entityType - Type using Zod & Inference
12
+ export const PersonEntityType = z.tuple([
13
+ z.literal('Person').describe('foaf:person.'),
14
+ z.union([
15
+ z.literal('crm:E21_Person').describe('Real Person'),
16
+ z.literal('crm:E89_Propositional_Object').describe('Fictional Person'),
17
+ ]),
18
+ ]);
19
+ // * Type using Zod & Inference
20
+ export const Person = z
21
+ .object({
22
+ id: z
23
+ .string()
24
+ .url({ message: 'Must be an URI' })
25
+ .describe('The IRI that identifies the Body resource.'),
26
+ entityType: PersonEntityType,
27
+ certainty: Certainty.optional(),
28
+ label: Label.optional(),
29
+ description: Description.optional(),
30
+ })
31
+ .describe('Person');
32
+ // * JSONSchema - entityType
33
+ export const personEntityTypeSchema = {
34
+ type: 'array',
35
+ minItems: 2,
36
+ maxItems: 2,
37
+ items: [
38
+ { type: 'string', const: 'Person' },
39
+ {
40
+ oneOf: [
41
+ { type: 'string', const: 'crm:E21_Person', description: 'Real Person' },
42
+ { type: 'string', const: 'crm:E89_Propositional_Object', description: 'Fictional Person' },
43
+ ],
44
+ },
45
+ ],
46
+ };
47
+ // * JSONSchema
48
+ export const personSchema = {
49
+ type: 'object',
50
+ description: 'A person entity',
51
+ properties: {
52
+ id: { type: 'string', format: 'uri', description: 'The IRI that identifies the Body resource' },
53
+ entityType: personEntityTypeSchema,
54
+ certainty: { $ref: 'defs.jsonld#/definitions/certainty' },
55
+ label: { $ref: 'defs.jsonld#/definitions/label' },
56
+ description: { $ref: 'defs.jsonld#/definitions/description' },
57
+ },
58
+ required: ['id', 'entityType'],
59
+ // errorMessage: { properties: { id: 'Must be an URI' } },
60
+ };
61
+ //# sourceMappingURL=person.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"person.js","sourceRoot":"","sources":["../../../../src/schema/definitions/body/person.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEzD,8CAA8C;AAE9C,4BAA4B;AAC5B,gBAAgB;AAChB,+EAA+E;AAC/E,wBAAwB;AACxB,oBAAoB;AACpB,0BAA0B;AAC1B,IAAI;AAEJ,sDAAsD;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC;IACtC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC5C,CAAC,CAAC,KAAK,CAAC;QACN,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QACnD,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KACvE,CAAC;CACH,CAAC,CAAC;AAIH,+BAA+B;AAE/B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC;KACpB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC;SACF,MAAM,EAAE;SACR,GAAG,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;SAClC,QAAQ,CAAC,4CAA4C,CAAC;IACzD,UAAU,EAAE,gBAAgB;IAC5B,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;IACvB,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAItB,4BAA4B;AAE5B,MAAM,CAAC,MAAM,sBAAsB,GAAqC;IACtE,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE;QACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;QACnC;YACE,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE;gBACvE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,8BAA8B,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAC3F;SACF;KACF;CACF,CAAC;AAEF,eAAe;AAEf,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,2CAA2C,EAAE;QAC/F,UAAU,EAAE,sBAAsB;QAClC,SAAS,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE;QACzD,KAAK,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE;QACjD,WAAW,EAAE,EAAE,IAAI,EAAE,sCAAsC,EAAE;KAC9D;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC;IAC9B,0DAA0D;CAC3D,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { JSONSchemaType } from 'ajv';
2
+ import { z } from 'zod';
3
+ export declare const PhysicalThingEntityType: z.ZodUnion<[z.ZodLiteral<"crm:E18_Physical_Thing">, z.ZodTuple<[z.ZodLiteral<"crm:E18_Physical_Thing">, z.ZodLiteral<"wikidata:Q15831596">], null>]>;
4
+ export type PhysicalThingEntityType = z.infer<typeof PhysicalThingEntityType>;
5
+ export declare const PhysicalThing: z.ZodObject<{
6
+ id: z.ZodString;
7
+ entityType: z.ZodUnion<[z.ZodLiteral<"crm:E18_Physical_Thing">, z.ZodTuple<[z.ZodLiteral<"crm:E18_Physical_Thing">, z.ZodLiteral<"wikidata:Q15831596">], null>]>;
8
+ certainty: z.ZodOptional<z.ZodEnum<["edit:qualityLow", "edit:qualityMedium", "edit:qualityHigh", "edit:qualityUnknown"]>>;
9
+ label: z.ZodOptional<z.ZodString>;
10
+ description: z.ZodOptional<z.ZodString>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ id: string;
13
+ entityType: ("crm:E18_Physical_Thing" | ["crm:E18_Physical_Thing", "wikidata:Q15831596"]) & ("crm:E18_Physical_Thing" | ["crm:E18_Physical_Thing", "wikidata:Q15831596"] | undefined);
14
+ certainty?: "edit:qualityLow" | "edit:qualityMedium" | "edit:qualityHigh" | "edit:qualityUnknown" | undefined;
15
+ label?: string | undefined;
16
+ description?: string | undefined;
17
+ }, {
18
+ id: string;
19
+ entityType: ("crm:E18_Physical_Thing" | ["crm:E18_Physical_Thing", "wikidata:Q15831596"]) & ("crm:E18_Physical_Thing" | ["crm:E18_Physical_Thing", "wikidata:Q15831596"] | undefined);
20
+ certainty?: "edit:qualityLow" | "edit:qualityMedium" | "edit:qualityHigh" | "edit:qualityUnknown" | undefined;
21
+ label?: string | undefined;
22
+ description?: string | undefined;
23
+ }>;
24
+ export type PhysicalThing = z.infer<typeof PhysicalThing>;
25
+ export declare const physicalThingEntityTypeSchema: JSONSchemaType<PhysicalThingEntityType>;
26
+ export declare const physicalThingSchema: JSONSchemaType<PhysicalThing>;
27
+ //# sourceMappingURL=physicalThing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"physicalThing.d.ts","sourceRoot":"","sources":["../../../../src/schema/definitions/body/physicalThing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,uBAAuB,sJAMlC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAI9E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;EAWG,CAAC;AAE9B,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAI1D,eAAO,MAAM,6BAA6B,EAAE,cAAc,CAAC,uBAAuB,CAajF,CAAC;AAIF,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,aAAa,CAY7D,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { z } from 'zod';
2
+ import { Certainty, Description, Label } from './common';
3
+ // * Pure Typescript Type - Just for reference
4
+ // export interface PhysicalThing {
5
+ // id: string;
6
+ // entityType: 'crm:E18_Physical_Thing' | ['crm:E18_Physical_Thing' | 'wikidata:Q15831596'];
7
+ // certainty?: string;
8
+ // label?: string;
9
+ // description?: string;
10
+ // }
11
+ // * Property: entityType - Type using Zod & Inference
12
+ export const PhysicalThingEntityType = z.union([
13
+ z.literal('crm:E18_Physical_Thing'),
14
+ z.tuple([
15
+ z.literal('crm:E18_Physical_Thing'),
16
+ z.literal('wikidata:Q15831596').describe('Fictional Physical Thing'),
17
+ ]),
18
+ ]);
19
+ // * Type using Zod & Inference
20
+ export const PhysicalThing = z
21
+ .object({
22
+ id: z
23
+ .string()
24
+ .url({ message: 'Must be an URI' })
25
+ .describe('The IRI that identifies the Body resource.'),
26
+ entityType: PhysicalThingEntityType,
27
+ certainty: Certainty.optional(),
28
+ label: Label.optional(),
29
+ description: Description.optional(),
30
+ })
31
+ .describe('Physical Thing');
32
+ // * JSONSchema - entityType
33
+ export const physicalThingEntityTypeSchema = {
34
+ oneOf: [
35
+ { type: 'string', const: 'crm:E18_Physical_Thing' },
36
+ {
37
+ type: 'array',
38
+ minItems: 2,
39
+ maxItems: 2,
40
+ items: [
41
+ { type: 'string', const: 'crm:E18_Physical_Thing' },
42
+ { type: 'string', const: 'wikidata:Q15831596', description: 'Fictional Physical Thing' },
43
+ ],
44
+ },
45
+ ],
46
+ };
47
+ // * JSONSchema
48
+ export const physicalThingSchema = {
49
+ type: 'object',
50
+ description: 'A physical thing entity',
51
+ properties: {
52
+ id: { type: 'string', format: 'uri', description: 'The IRI that identifies the Body resource' },
53
+ entityType: physicalThingEntityTypeSchema,
54
+ certainty: { $ref: 'defs.jsonld#/definitions/certainty' },
55
+ label: { $ref: 'defs.jsonld#/definitions/label' },
56
+ description: { $ref: 'defs.jsonld#/definitions/description' },
57
+ },
58
+ required: ['id', 'entityType'],
59
+ // errorMessage: { properties: { id: 'Must be an URI' } },
60
+ };
61
+ //# sourceMappingURL=physicalThing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"physicalThing.js","sourceRoot":"","sources":["../../../../src/schema/definitions/body/physicalThing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEzD,8CAA8C;AAE9C,mCAAmC;AACnC,gBAAgB;AAChB,8FAA8F;AAC9F,wBAAwB;AACxB,oBAAoB;AACpB,0BAA0B;AAC1B,IAAI;AAEJ,sDAAsD;AAEtD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7C,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACnC,CAAC,CAAC,KAAK,CAAC;QACN,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;QACnC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KACrE,CAAC;CACH,CAAC,CAAC;AAIH,+BAA+B;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,EAAE,EAAE,CAAC;SACF,MAAM,EAAE;SACR,GAAG,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;SAClC,QAAQ,CAAC,4CAA4C,CAAC;IACzD,UAAU,EAAE,uBAAuB;IACnC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;IACvB,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAI9B,4BAA4B;AAE5B,MAAM,CAAC,MAAM,6BAA6B,GAA4C;IACpF,KAAK,EAAE;QACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE;QACnD;YACE,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE;gBACnD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,0BAA0B,EAAE;aACzF;SACF;KACF;CACF,CAAC;AAEF,eAAe;AAEf,MAAM,CAAC,MAAM,mBAAmB,GAAkC;IAChE,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,yBAAyB;IACtC,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,2CAA2C,EAAE;QAC/F,UAAU,EAAE,6BAA6B;QACzC,SAAS,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE;QACzD,KAAK,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE;QACjD,WAAW,EAAE,EAAE,IAAI,EAAE,sCAAsC,EAAE;KAC9D;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC;IAC9B,0DAA0D;CAC3D,CAAC"}