@shaclmate/compiler 4.0.7 → 4.0.9

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 (306) hide show
  1. package/dist/Compiler.d.ts +1 -4
  2. package/dist/Compiler.js +1 -5
  3. package/dist/ShapesGraphToAstTransformer.d.ts +2 -11
  4. package/dist/ShapesGraphToAstTransformer.js +25 -27
  5. package/dist/_ShapesGraphToAstTransformer/defaultNodeShapeNodeKinds.d.ts +3 -0
  6. package/dist/_ShapesGraphToAstTransformer/defaultNodeShapeNodeKinds.js +5 -0
  7. package/dist/_ShapesGraphToAstTransformer/shapeAstTypeName.d.ts +4 -0
  8. package/dist/_ShapesGraphToAstTransformer/shapeAstTypeName.js +27 -0
  9. package/dist/_ShapesGraphToAstTransformer/transformPropertyShapeToAstObjectTypeProperty.js +74 -19
  10. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstCompoundType.d.ts +1 -1
  11. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstCompoundType.js +45 -91
  12. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstListType.d.ts +11 -0
  13. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstListType.js +146 -0
  14. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstObjectType.d.ts +7 -0
  15. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstObjectType.js +182 -0
  16. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstTermType.js +9 -7
  17. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstType.d.ts +3 -5
  18. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstType.js +33 -10
  19. package/dist/ast/AbstractCompoundType.d.ts +26 -8
  20. package/dist/ast/AbstractCompoundType.js +84 -16
  21. package/dist/ast/AbstractContainerType.d.ts +2 -4
  22. package/dist/ast/AbstractContainerType.js +3 -4
  23. package/dist/ast/AbstractLazyObjectType.d.ts +1 -0
  24. package/dist/ast/AbstractLazyObjectType.js +3 -0
  25. package/dist/ast/AbstractTermType.d.ts +1 -0
  26. package/dist/ast/AbstractTermType.js +1 -0
  27. package/dist/ast/AbstractType.d.ts +16 -1
  28. package/dist/ast/AbstractType.js +11 -1
  29. package/dist/ast/Ast.d.ts +4 -4
  30. package/dist/ast/BlankNodeType.d.ts +1 -1
  31. package/dist/ast/DefaultValueType.d.ts +1 -2
  32. package/dist/ast/DefaultValueType.js +2 -0
  33. package/dist/ast/IdentifierType.d.ts +1 -1
  34. package/dist/ast/IntersectionType.d.ts +7 -2
  35. package/dist/ast/IntersectionType.js +8 -0
  36. package/dist/ast/ListType.d.ts +2 -9
  37. package/dist/ast/ListType.js +1 -9
  38. package/dist/ast/LiteralType.d.ts +1 -0
  39. package/dist/ast/LiteralType.js +26 -0
  40. package/dist/ast/ObjectCompoundType.d.ts +12 -0
  41. package/dist/ast/ObjectCompoundType.js +88 -0
  42. package/dist/ast/ObjectIntersectionType.d.ts +3 -7
  43. package/dist/ast/ObjectIntersectionType.js +1 -7
  44. package/dist/ast/ObjectType.d.ts +14 -31
  45. package/dist/ast/ObjectType.js +41 -73
  46. package/dist/ast/ObjectUnionType.d.ts +3 -7
  47. package/dist/ast/ObjectUnionType.js +1 -7
  48. package/dist/ast/OptionType.d.ts +1 -2
  49. package/dist/ast/OptionType.js +2 -0
  50. package/dist/ast/SetType.d.ts +1 -2
  51. package/dist/ast/SetType.js +2 -0
  52. package/dist/ast/Type.d.ts +1 -4
  53. package/dist/ast/Type.js +0 -6
  54. package/dist/ast/UnionType.d.ts +11 -6
  55. package/dist/ast/UnionType.js +6 -4
  56. package/dist/ast/index.d.ts +1 -2
  57. package/dist/ast/index.js +1 -2
  58. package/dist/generators/json/AstJsonGenerator.js +16 -14
  59. package/dist/generators/ts/AbstractCollectionType.js +8 -10
  60. package/dist/generators/ts/AbstractContainerType.d.ts +8 -3
  61. package/dist/generators/ts/AbstractContainerType.js +9 -2
  62. package/dist/generators/ts/AbstractDateType.d.ts +2 -2
  63. package/dist/generators/ts/AbstractDateType.js +2 -2
  64. package/dist/generators/ts/AbstractIdentifierType.d.ts +1 -1
  65. package/dist/generators/ts/AbstractIdentifierType.js +1 -1
  66. package/dist/generators/ts/AbstractLazyObjectType.d.ts +11 -8
  67. package/dist/generators/ts/AbstractLazyObjectType.js +19 -14
  68. package/dist/generators/ts/AbstractNamedUnionType.d.ts +33 -0
  69. package/dist/generators/ts/AbstractNamedUnionType.js +193 -0
  70. package/dist/generators/ts/AbstractNumericType.d.ts +2 -2
  71. package/dist/generators/ts/AbstractNumericType.js +3 -3
  72. package/dist/generators/ts/AbstractTermType.d.ts +7 -4
  73. package/dist/generators/ts/AbstractTermType.js +7 -4
  74. package/dist/generators/ts/AbstractType.d.ts +29 -14
  75. package/dist/generators/ts/AbstractUnionType.d.ts +80 -0
  76. package/dist/generators/ts/AbstractUnionType.js +514 -0
  77. package/dist/generators/ts/AnonymousUnionType.d.ts +26 -0
  78. package/dist/generators/ts/AnonymousUnionType.js +56 -0
  79. package/dist/generators/ts/BigDecimalType.d.ts +3 -3
  80. package/dist/generators/ts/BigDecimalType.js +3 -3
  81. package/dist/generators/ts/BlankNodeType.d.ts +1 -1
  82. package/dist/generators/ts/BlankNodeType.js +1 -1
  83. package/dist/generators/ts/BooleanType.d.ts +2 -2
  84. package/dist/generators/ts/BooleanType.js +2 -2
  85. package/dist/generators/ts/DefaultValueType.d.ts +4 -4
  86. package/dist/generators/ts/DefaultValueType.js +14 -13
  87. package/dist/generators/ts/IdentifierType.d.ts +1 -1
  88. package/dist/generators/ts/IdentifierType.js +1 -1
  89. package/dist/generators/ts/IriType.d.ts +1 -1
  90. package/dist/generators/ts/IriType.js +1 -1
  91. package/dist/generators/ts/LazyObjectOptionType.d.ts +1 -1
  92. package/dist/generators/ts/LazyObjectOptionType.js +9 -9
  93. package/dist/generators/ts/LazyObjectSetType.d.ts +1 -1
  94. package/dist/generators/ts/LazyObjectSetType.js +7 -7
  95. package/dist/generators/ts/LazyObjectType.d.ts +1 -1
  96. package/dist/generators/ts/LazyObjectType.js +7 -8
  97. package/dist/generators/ts/ListType.d.ts +8 -7
  98. package/dist/generators/ts/ListType.js +14 -13
  99. package/dist/generators/ts/LiteralType.d.ts +1 -1
  100. package/dist/generators/ts/LiteralType.js +2 -2
  101. package/dist/generators/ts/NamedObjectUnionType.d.ts +35 -0
  102. package/dist/generators/ts/NamedObjectUnionType.js +221 -0
  103. package/dist/generators/ts/NamedUnionType.d.ts +11 -0
  104. package/dist/generators/ts/NamedUnionType.js +13 -0
  105. package/dist/generators/ts/ObjectType.d.ts +34 -25
  106. package/dist/generators/ts/ObjectType.js +62 -52
  107. package/dist/generators/ts/OptionType.d.ts +4 -4
  108. package/dist/generators/ts/OptionType.js +10 -10
  109. package/dist/generators/ts/SetType.d.ts +4 -4
  110. package/dist/generators/ts/SetType.js +13 -11
  111. package/dist/generators/ts/StringType.d.ts +2 -2
  112. package/dist/generators/ts/StringType.js +2 -2
  113. package/dist/generators/ts/TermType.d.ts +1 -1
  114. package/dist/generators/ts/TermType.js +2 -2
  115. package/dist/generators/ts/TsGenerator.js +23 -15
  116. package/dist/generators/ts/Type.d.ts +4 -3
  117. package/dist/generators/ts/TypeFactory.d.ts +7 -5
  118. package/dist/generators/ts/TypeFactory.js +117 -90
  119. package/dist/generators/ts/ZodGenerator.js +6 -6
  120. package/dist/generators/ts/_ObjectType/AbstractProperty.d.ts +3 -3
  121. package/dist/generators/ts/_ObjectType/{TypeDiscriminantProperty.d.ts → DiscriminantProperty.d.ts} +14 -14
  122. package/dist/generators/ts/_ObjectType/{TypeDiscriminantProperty.js → DiscriminantProperty.js} +10 -10
  123. package/dist/generators/ts/_ObjectType/IdentifierPrefixProperty.d.ts +2 -2
  124. package/dist/generators/ts/_ObjectType/IdentifierPrefixProperty.js +2 -2
  125. package/dist/generators/ts/_ObjectType/IdentifierProperty.d.ts +2 -2
  126. package/dist/generators/ts/_ObjectType/IdentifierProperty.js +7 -4
  127. package/dist/generators/ts/_ObjectType/ObjectType_classDeclaration.js +8 -8
  128. package/dist/generators/ts/_ObjectType/ObjectType_focusSparqlConstructTriplesFunctionDeclaration.d.ts +5 -0
  129. package/dist/generators/ts/_ObjectType/{ObjectType_sparqlConstructTriplesFunctionDeclaration.js → ObjectType_focusSparqlConstructTriplesFunctionDeclaration.js} +6 -5
  130. package/dist/generators/ts/_ObjectType/ObjectType_focusSparqlWherePatternsFunctionDeclaration.d.ts +5 -0
  131. package/dist/generators/ts/_ObjectType/{ObjectType_sparqlWherePatternsFunctionDeclarations.js → ObjectType_focusSparqlWherePatternsFunctionDeclaration.js} +5 -5
  132. package/dist/generators/ts/_ObjectType/ObjectType_fromJsonFunctionDeclaration.d.ts +5 -0
  133. package/dist/generators/ts/_ObjectType/ObjectType_fromJsonFunctionDeclaration.js +20 -0
  134. package/dist/generators/ts/_ObjectType/ObjectType_fromRdfResourceFunctionDeclaration.d.ts +5 -0
  135. package/dist/generators/ts/_ObjectType/{ObjectType_fromRdfFunctionDeclaration.js → ObjectType_fromRdfResourceFunctionDeclaration.js} +6 -7
  136. package/dist/generators/ts/_ObjectType/ObjectType_fromRdfResourceValuesFunctionDeclaration.d.ts +5 -0
  137. package/dist/generators/ts/_ObjectType/ObjectType_fromRdfResourceValuesFunctionDeclaration.js +20 -0
  138. package/dist/generators/ts/_ObjectType/ObjectType_isTypeFunctionDeclaration.js +2 -2
  139. package/dist/generators/ts/_ObjectType/ObjectType_parseJsonFunctionDeclaration.d.ts +5 -0
  140. package/dist/generators/ts/_ObjectType/ObjectType_parseJsonFunctionDeclaration.js +19 -0
  141. package/dist/generators/ts/_ObjectType/ObjectType_propertiesFromJsonFunctionDeclaration.d.ts +5 -0
  142. package/dist/generators/ts/_ObjectType/ObjectType_propertiesFromJsonFunctionDeclaration.js +38 -0
  143. package/dist/generators/ts/_ObjectType/ObjectType_propertiesFromRdfResourceFunctionDeclaration.d.ts +5 -0
  144. package/dist/generators/ts/_ObjectType/{ObjectType_propertiesFromRdfFunctionDeclaration.js → ObjectType_propertiesFromRdfResourceFunctionDeclaration.js} +16 -15
  145. package/dist/generators/ts/_ObjectType/ObjectType_schemaVariableStatement.js +1 -2
  146. package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryFunctionDeclaration.js +2 -2
  147. package/dist/generators/ts/_ObjectType/ObjectType_toRdfResourceFunctionOrMethodDeclaration.d.ts +5 -0
  148. package/dist/generators/ts/_ObjectType/{ObjectType_toRdfFunctionOrMethodDeclaration.js → ObjectType_toRdfResourceFunctionOrMethodDeclaration.js} +10 -8
  149. package/dist/generators/ts/_ObjectType/ObjectType_valueSparqlConstructTriplesFunctionDeclaration.d.ts +5 -0
  150. package/dist/generators/ts/_ObjectType/ObjectType_valueSparqlConstructTriplesFunctionDeclaration.js +13 -0
  151. package/dist/generators/ts/_ObjectType/ObjectType_valueSparqlWherePatternsFunctionDeclaration.d.ts +5 -0
  152. package/dist/generators/ts/_ObjectType/ObjectType_valueSparqlWherePatternsFunctionDeclaration.js +15 -0
  153. package/dist/generators/ts/_ObjectType/Property.d.ts +2 -2
  154. package/dist/generators/ts/_ObjectType/ShaclProperty.d.ts +2 -2
  155. package/dist/generators/ts/_ObjectType/ShaclProperty.js +6 -6
  156. package/dist/generators/ts/_snippets/snippets_FocusSparqlConstructTriplesFunction.d.ts +2 -0
  157. package/dist/generators/ts/_snippets/snippets_FocusSparqlConstructTriplesFunction.js +12 -0
  158. package/dist/generators/ts/_snippets/snippets_FocusSparqlWherePatternsFunction.d.ts +2 -0
  159. package/dist/generators/ts/_snippets/snippets_FocusSparqlWherePatternsFunction.js +14 -0
  160. package/dist/generators/ts/_snippets/snippets_FromRdfResourceFunction.d.ts +2 -0
  161. package/dist/generators/ts/_snippets/snippets_FromRdfResourceFunction.js +15 -0
  162. package/dist/generators/ts/_snippets/snippets_FromRdfResourceValuesFunction.d.ts +2 -0
  163. package/dist/generators/ts/_snippets/snippets_FromRdfResourceValuesFunction.js +17 -0
  164. package/dist/generators/ts/_snippets/snippets_PropertiesFromRdfResourceFunction.d.ts +2 -0
  165. package/dist/generators/ts/_snippets/snippets_PropertiesFromRdfResourceFunction.js +15 -0
  166. package/dist/generators/ts/_snippets/snippets_PropertyPath.d.ts +5 -0
  167. package/dist/generators/ts/_snippets/snippets_PropertyPath.js +35 -0
  168. package/dist/generators/ts/_snippets/snippets_ShaclPropertySchema.js +2 -2
  169. package/dist/generators/ts/_snippets/snippets_ToRdfResourceFunction.d.ts +2 -0
  170. package/dist/generators/ts/_snippets/snippets_ToRdfResourceFunction.js +7 -0
  171. package/dist/generators/ts/_snippets/snippets_ToRdfResourceValuesFunction.d.ts +2 -0
  172. package/dist/generators/ts/_snippets/snippets_ToRdfResourceValuesFunction.js +16 -0
  173. package/dist/generators/ts/_snippets/snippets_ValueSparqlConstructTriplesFunction.d.ts +2 -0
  174. package/dist/generators/ts/_snippets/snippets_ValueSparqlConstructTriplesFunction.js +13 -0
  175. package/dist/generators/ts/_snippets/snippets_ValueSparqlWherePatternsFunction.d.ts +2 -0
  176. package/dist/generators/ts/_snippets/snippets_ValueSparqlWherePatternsFunction.js +16 -0
  177. package/dist/generators/ts/_snippets/snippets_bigDecimalSparqlWherePatterns.js +2 -2
  178. package/dist/generators/ts/_snippets/snippets_blankNodeSparqlWherePatterns.js +2 -2
  179. package/dist/generators/ts/_snippets/snippets_booleanEquals.js +1 -1
  180. package/dist/generators/ts/_snippets/snippets_booleanSparqlWherePatterns.js +2 -2
  181. package/dist/generators/ts/_snippets/snippets_dateSparqlWherePatterns.js +2 -2
  182. package/dist/generators/ts/_snippets/snippets_defaultValueSparqlWherePatterns.js +2 -2
  183. package/dist/generators/ts/_snippets/snippets_fromRdfLanguageIn.js +1 -1
  184. package/dist/generators/ts/_snippets/snippets_identifierSparqlWherePatterns.js +2 -2
  185. package/dist/generators/ts/_snippets/snippets_iriSparqlWherePatterns.js +2 -2
  186. package/dist/generators/ts/_snippets/snippets_listSparqlConstructTriples.js +2 -2
  187. package/dist/generators/ts/_snippets/snippets_listSparqlWherePatterns.js +2 -2
  188. package/dist/generators/ts/_snippets/snippets_literalSparqlWherePatterns.js +2 -2
  189. package/dist/generators/ts/_snippets/snippets_maybeSparqlConstructTriples.js +2 -2
  190. package/dist/generators/ts/_snippets/snippets_maybeSparqlWherePatterns.js +2 -2
  191. package/dist/generators/ts/_snippets/snippets_numericSparqlWherePatterns.js +2 -3
  192. package/dist/generators/ts/_snippets/snippets_setSparqlConstructTriples.js +2 -2
  193. package/dist/generators/ts/_snippets/snippets_setSparqlWherePatterns.js +2 -2
  194. package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlConstructTriples.js +4 -3
  195. package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlWherePatterns.js +4 -3
  196. package/dist/generators/ts/_snippets/snippets_sparqlPropertyPath.js +3 -2
  197. package/dist/generators/ts/_snippets/snippets_stringSparqlWherePatterns.js +2 -2
  198. package/dist/generators/ts/_snippets/snippets_termSparqlWherePatterns.js +2 -2
  199. package/dist/generators/ts/graphqlSchemaVariableStatement.d.ts +2 -2
  200. package/dist/generators/ts/graphqlSchemaVariableStatement.js +4 -4
  201. package/dist/generators/ts/imports.d.ts +1 -1
  202. package/dist/generators/ts/imports.js +1 -1
  203. package/dist/generators/ts/objectSetDeclarations.d.ts +3 -3
  204. package/dist/generators/ts/objectSetDeclarations.js +15 -15
  205. package/dist/generators/ts/objectSetInterfaceDeclaration.d.ts +3 -3
  206. package/dist/generators/ts/objectSetInterfaceDeclaration.js +2 -2
  207. package/dist/generators/ts/rdfjsDatasetObjectSetClassDeclaration.d.ts +3 -3
  208. package/dist/generators/ts/rdfjsDatasetObjectSetClassDeclaration.js +16 -17
  209. package/dist/generators/ts/snippets.d.ts +10 -6
  210. package/dist/generators/ts/snippets.js +20 -12
  211. package/dist/generators/ts/sparqlObjectSetClassDeclaration.d.ts +3 -3
  212. package/dist/generators/ts/sparqlObjectSetClassDeclaration.js +7 -8
  213. package/dist/generators/ts/synthesizeUberObjectUnionType.d.ts +2 -2
  214. package/dist/generators/ts/synthesizeUberObjectUnionType.js +9 -4
  215. package/dist/input/NodeShape.d.ts +5 -6
  216. package/dist/input/NodeShape.js +19 -22
  217. package/dist/input/Ontology.d.ts +4 -4
  218. package/dist/input/Ontology.js +10 -10
  219. package/dist/input/PropertyShape.d.ts +4 -4
  220. package/dist/input/PropertyShape.js +10 -10
  221. package/dist/input/ShapesGraph.d.ts +3 -2
  222. package/dist/input/ShapesGraph.js +13 -8
  223. package/dist/input/generated.d.ts +2551 -2040
  224. package/dist/input/generated.js +2806 -2346
  225. package/package.json +3 -5
  226. package/dist/_ShapesGraphToAstTransformer/CurieFactory.d.ts +0 -16
  227. package/dist/_ShapesGraphToAstTransformer/CurieFactory.js +0 -45
  228. package/dist/_ShapesGraphToAstTransformer/NodeShapeAstType.d.ts +0 -3
  229. package/dist/_ShapesGraphToAstTransformer/NodeShapeAstType.js +0 -2
  230. package/dist/_ShapesGraphToAstTransformer/index.d.ts +0 -6
  231. package/dist/_ShapesGraphToAstTransformer/index.js +0 -6
  232. package/dist/_ShapesGraphToAstTransformer/shapeIdentifier.d.ts +0 -5
  233. package/dist/_ShapesGraphToAstTransformer/shapeIdentifier.js +0 -9
  234. package/dist/_ShapesGraphToAstTransformer/transformNodeShapeToAstType.d.ts +0 -11
  235. package/dist/_ShapesGraphToAstTransformer/transformNodeShapeToAstType.js +0 -338
  236. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstAbstractTypeProperties.d.ts +0 -12
  237. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstAbstractTypeProperties.js +0 -31
  238. package/dist/ast/AbstractObjectCompoundType.d.ts +0 -45
  239. package/dist/ast/AbstractObjectCompoundType.js +0 -180
  240. package/dist/ast/Curie.d.ts +0 -21
  241. package/dist/ast/Curie.js +0 -29
  242. package/dist/ast/PlaceholderType.d.ts +0 -15
  243. package/dist/ast/PlaceholderType.js +0 -19
  244. package/dist/generators/codeName.d.ts +0 -6
  245. package/dist/generators/codeName.js +0 -66
  246. package/dist/generators/ts/AbstractDeclaredType.d.ts +0 -23
  247. package/dist/generators/ts/AbstractDeclaredType.js +0 -17
  248. package/dist/generators/ts/ObjectUnionType.d.ts +0 -65
  249. package/dist/generators/ts/ObjectUnionType.js +0 -257
  250. package/dist/generators/ts/UnionType.d.ts +0 -40
  251. package/dist/generators/ts/UnionType.js +0 -527
  252. package/dist/generators/ts/_ObjectType/ObjectType_fromJsonFunctionDeclarations.d.ts +0 -4
  253. package/dist/generators/ts/_ObjectType/ObjectType_fromJsonFunctionDeclarations.js +0 -66
  254. package/dist/generators/ts/_ObjectType/ObjectType_fromRdfFunctionDeclaration.d.ts +0 -5
  255. package/dist/generators/ts/_ObjectType/ObjectType_propertiesFromRdfFunctionDeclaration.d.ts +0 -5
  256. package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructTriplesFunctionDeclaration.d.ts +0 -5
  257. package/dist/generators/ts/_ObjectType/ObjectType_sparqlWherePatternsFunctionDeclarations.d.ts +0 -5
  258. package/dist/generators/ts/_ObjectType/ObjectType_toRdfFunctionOrMethodDeclaration.d.ts +0 -5
  259. package/dist/generators/ts/_ObjectUnionType/MemberType.d.ts +0 -34
  260. package/dist/generators/ts/_ObjectUnionType/MemberType.js +0 -105
  261. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_equalsFunctionDeclaration.d.ts +0 -5
  262. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_equalsFunctionDeclaration.js +0 -29
  263. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_filterFunctionDeclaration.d.ts +0 -4
  264. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_filterFunctionDeclaration.js +0 -19
  265. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_filterTypeDeclaration.d.ts +0 -4
  266. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_filterTypeDeclaration.js +0 -10
  267. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_fromJsonFunctionDeclaration.d.ts +0 -5
  268. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_fromJsonFunctionDeclaration.js +0 -19
  269. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_fromRdfFunctionDeclarations.d.ts +0 -5
  270. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_fromRdfFunctionDeclarations.js +0 -20
  271. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_graphqlTypeVariableStatement.d.ts +0 -5
  272. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_graphqlTypeVariableStatement.js +0 -18
  273. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_hashFunctionDeclaration.d.ts +0 -5
  274. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_hashFunctionDeclaration.js +0 -28
  275. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_identifierTypeDeclarations.d.ts +0 -4
  276. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_identifierTypeDeclarations.js +0 -9
  277. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_isTypeFunctionDeclaration.d.ts +0 -5
  278. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_isTypeFunctionDeclaration.js +0 -13
  279. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_jsonTypeAliasDeclaration.d.ts +0 -5
  280. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_jsonTypeAliasDeclaration.js +0 -10
  281. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_jsonZodSchemaFunctionDeclaration.d.ts +0 -5
  282. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_jsonZodSchemaFunctionDeclaration.js +0 -14
  283. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_schemaVariableStatement.d.ts +0 -4
  284. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_schemaVariableStatement.js +0 -37
  285. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_sparqlConstructTriplesFunctionDeclaration.d.ts +0 -5
  286. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_sparqlConstructTriplesFunctionDeclaration.js +0 -15
  287. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_sparqlWherePatternsFunctionDeclaration.d.ts +0 -5
  288. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_sparqlWherePatternsFunctionDeclaration.js +0 -35
  289. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_toJsonFunctionDeclaration.d.ts +0 -5
  290. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_toJsonFunctionDeclaration.js +0 -26
  291. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_toRdfFunctionDeclarations.d.ts +0 -5
  292. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_toRdfFunctionDeclarations.js +0 -43
  293. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_typeAliasDeclaration.d.ts +0 -4
  294. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_typeAliasDeclaration.js +0 -10
  295. package/dist/generators/ts/_snippets/snippets_FromRdfOptions.d.ts +0 -2
  296. package/dist/generators/ts/_snippets/snippets_FromRdfOptions.js +0 -5
  297. package/dist/generators/ts/_snippets/snippets_PropertiesFromRdfParameters.d.ts +0 -2
  298. package/dist/generators/ts/_snippets/snippets_PropertiesFromRdfParameters.js +0 -5
  299. package/dist/generators/ts/_snippets/snippets_SparqlConstructTriplesFunction.d.ts +0 -2
  300. package/dist/generators/ts/_snippets/snippets_SparqlConstructTriplesFunction.js +0 -6
  301. package/dist/generators/ts/_snippets/snippets_SparqlConstructTriplesFunctionParameters.d.ts +0 -2
  302. package/dist/generators/ts/_snippets/snippets_SparqlConstructTriplesFunctionParameters.js +0 -12
  303. package/dist/generators/ts/_snippets/snippets_SparqlWherePatternsFunction.d.ts +0 -2
  304. package/dist/generators/ts/_snippets/snippets_SparqlWherePatternsFunction.js +0 -6
  305. package/dist/generators/ts/_snippets/snippets_SparqlWherePatternsFunctionParameters.d.ts +0 -2
  306. package/dist/generators/ts/_snippets/snippets_SparqlWherePatternsFunctionParameters.js +0 -15
@@ -2,11 +2,13 @@ import TermMap from "@rdfjs/term-map";
2
2
  import TermSet from "@rdfjs/term-set";
3
3
  import base62 from "@sindresorhus/base62";
4
4
  import { rdf, xsd } from "@tpluscode/rdf-ns-builders";
5
+ import { Maybe } from "purify-ts";
5
6
  import { LiteralDecoder, literalDatatypeDefinitions } from "rdfjs-resource";
6
7
  import reservedTsIdentifiers_ from "reserved-identifiers";
7
8
  import { invariant } from "ts-invariant";
9
+ import * as ast from "../../ast/index.js";
8
10
  import { logger } from "../../logger.js";
9
- import { codeName } from "../codeName.js";
11
+ import { AnonymousUnionType } from "./AnonymousUnionType.js";
10
12
  import { BigDecimalType } from "./BigDecimalType.js";
11
13
  import { BigIntType } from "./BigIntType.js";
12
14
  import { BlankNodeType } from "./BlankNodeType.js";
@@ -23,30 +25,41 @@ import { LazyObjectSetType } from "./LazyObjectSetType.js";
23
25
  import { LazyObjectType } from "./LazyObjectType.js";
24
26
  import { ListType } from "./ListType.js";
25
27
  import { LiteralType } from "./LiteralType.js";
28
+ import { NamedObjectUnionType } from "./NamedObjectUnionType.js";
29
+ import { NamedUnionType } from "./NamedUnionType.js";
26
30
  import { ObjectType } from "./ObjectType.js";
27
- import { ObjectUnionType } from "./ObjectUnionType.js";
28
31
  import { OptionType } from "./OptionType.js";
29
32
  import { SetType } from "./SetType.js";
30
33
  import { StringType } from "./StringType.js";
31
34
  import { syntheticNamePrefix } from "./syntheticNamePrefix.js";
32
35
  import { TermType } from "./TermType.js";
33
36
  import { code } from "./ts-poet-wrapper.js";
34
- import { UnionType } from "./UnionType.js";
35
- const reservedTsIdentifiers = reservedTsIdentifiers_({
36
- includeGlobalProperties: true,
37
- });
38
- const tsName = codeName((value) => {
39
- // Adapted from https://github.com/sindresorhus/to-valid-identifier , MIT license
40
- if (reservedTsIdentifiers.has(value)) {
41
- // We prefix with underscore to avoid any potential conflicts with the Base62 encoded string.
42
- return `$_${value}$`;
43
- }
44
- return value.replaceAll(/\P{ID_Continue}/gu, (x) => `$${base62.encodeInteger(x.codePointAt(0))}$`);
45
- }, syntheticNamePrefix);
46
37
  export class TypeFactory {
38
+ cachedNamedObjectUnionTypesByShapeIdentifier = new TermMap();
47
39
  cachedObjectTypePropertiesByShapeIdentifier = new TermMap();
48
40
  cachedObjectTypesByShapeIdentifier = new TermMap();
49
- cachedObjectUnionTypesByShapeIdentifier = new TermMap();
41
+ createNamedObjectUnionType(astType) {
42
+ {
43
+ const cachedNamedObjectUnionType = this.cachedNamedObjectUnionTypesByShapeIdentifier.get(astType.shapeIdentifier);
44
+ if (cachedNamedObjectUnionType) {
45
+ return cachedNamedObjectUnionType;
46
+ }
47
+ }
48
+ const namedObjectUnionType = new NamedObjectUnionType({
49
+ comment: astType.comment,
50
+ features: astType.tsFeatures,
51
+ identifierType: this.createIdentifierType(ast.ObjectCompoundType.identifierType(astType)),
52
+ label: astType.label,
53
+ members: ast.ObjectCompoundType.memberObjectTypes(astType).map((objectType) => ({
54
+ discriminantValue: Maybe.empty(),
55
+ type: this.createObjectType(objectType),
56
+ })),
57
+ name: tsName(astType.name.unsafeCoerce()),
58
+ recursive: astType.recursive,
59
+ });
60
+ this.cachedNamedObjectUnionTypesByShapeIdentifier.set(astType.shapeIdentifier, namedObjectUnionType);
61
+ return namedObjectUnionType;
62
+ }
50
63
  createObjectType(astType) {
51
64
  {
52
65
  const cachedObjectType = this.cachedObjectTypesByShapeIdentifier.get(astType.shapeIdentifier);
@@ -55,14 +68,14 @@ export class TypeFactory {
55
68
  }
56
69
  }
57
70
  const identifierType = this.createIdentifierType(astType.identifierType);
58
- const staticModuleName = astType.childObjectTypes.length > 0
59
- ? `${tsName(astType)}Static`
60
- : tsName(astType);
71
+ const name = tsName(astType.name.unsafeCoerce(), {
72
+ synthetic: astType.synthetic,
73
+ });
74
+ const staticModuleName = astType.childObjectTypes.length > 0 ? `${name}Static` : name;
61
75
  const objectType = new ObjectType({
62
76
  abstract: astType.abstract,
63
77
  comment: astType.comment,
64
78
  declarationType: astType.tsObjectDeclarationType,
65
- export_: astType.export,
66
79
  extern: astType.extern,
67
80
  features: astType.tsFeatures,
68
81
  fromRdfType: astType.fromRdfType,
@@ -72,6 +85,37 @@ export class TypeFactory {
72
85
  lazyAncestorObjectTypes: () => astType.ancestorObjectTypes.map((astType) => this.createObjectType(astType)),
73
86
  lazyChildObjectTypes: () => astType.childObjectTypes.map((astType) => this.createObjectType(astType)),
74
87
  lazyDescendantObjectTypes: () => astType.descendantObjectTypes.map((astType) => this.createObjectType(astType)),
88
+ lazyDiscriminantProperty: (objectType) => {
89
+ // Discriminant property
90
+ const discriminantOwnValue = !astType.abstract
91
+ ? objectType.discriminantValue
92
+ : undefined;
93
+ const discriminantDescendantValues = new Set();
94
+ for (const descendantObjectType of objectType.descendantObjectTypes) {
95
+ if (!descendantObjectType.abstract) {
96
+ discriminantDescendantValues.add(descendantObjectType.discriminantValue);
97
+ }
98
+ }
99
+ return new ObjectType.DiscriminantProperty({
100
+ name: `${syntheticNamePrefix}type`,
101
+ objectType,
102
+ type: new ObjectType.DiscriminantProperty.Type({
103
+ descendantValues: [...discriminantDescendantValues].sort(),
104
+ mutable: false,
105
+ ownValues: discriminantOwnValue ? [discriminantOwnValue] : [],
106
+ }),
107
+ visibility: "public",
108
+ });
109
+ },
110
+ lazyIdentifierProperty: (objectType) => new ObjectType.IdentifierProperty({
111
+ identifierMintingStrategy: astType.identifierMintingStrategy,
112
+ identifierPrefixPropertyName: `${syntheticNamePrefix}identifierPrefix`,
113
+ name: `${syntheticNamePrefix}identifier`,
114
+ objectType,
115
+ type: identifierType,
116
+ typeAlias: code `${staticModuleName}.${syntheticNamePrefix}Identifier`,
117
+ visibility: "public",
118
+ }),
75
119
  lazyParentObjectTypes: () => astType.parentObjectTypes.map((astType) => this.createObjectType(astType)),
76
120
  lazyProperties: (objectType) => {
77
121
  const properties = astType.properties
@@ -82,36 +126,15 @@ export class TypeFactory {
82
126
  if (left.order > right.order) {
83
127
  return 1;
84
128
  }
85
- return tsName(left).localeCompare(tsName(right));
129
+ return tsName(left.name).localeCompare(tsName(right.name));
86
130
  })
87
131
  .map((astProperty) => this.createObjectTypeProperty({
88
132
  astObjectTypeProperty: astProperty,
89
133
  objectType,
90
134
  }));
91
- // Type discriminant property
92
- const typeDiscriminantOwnValue = !astType.abstract
93
- ? objectType.discriminantValue
94
- : undefined;
95
- const typeDiscriminantDescendantValues = new Set();
96
- for (const descendantObjectType of objectType.descendantObjectTypes) {
97
- if (!descendantObjectType.abstract) {
98
- typeDiscriminantDescendantValues.add(descendantObjectType.discriminantValue);
99
- }
100
- }
101
- if (typeDiscriminantOwnValue ||
102
- typeDiscriminantDescendantValues.size > 0) {
103
- properties.splice(0, 0, new ObjectType.TypeDiscriminantProperty({
104
- name: `${syntheticNamePrefix}type`,
105
- objectType,
106
- type: new ObjectType.TypeDiscriminantProperty.Type({
107
- descendantValues: [...typeDiscriminantDescendantValues].sort(),
108
- mutable: false,
109
- ownValues: typeDiscriminantOwnValue
110
- ? [typeDiscriminantOwnValue]
111
- : [],
112
- }),
113
- visibility: "public",
114
- }));
135
+ if (objectType._discriminantProperty.type.ownValues.length > 0 ||
136
+ objectType._discriminantProperty.type.descendantValues.length > 0) {
137
+ properties.splice(0, 0, objectType._discriminantProperty);
115
138
  }
116
139
  // Some ObjectTypes have an identifierPrefix property, depending on their identifier minting strategy.
117
140
  if (objectTypeNeedsIdentifierPrefixProperty(astType)) {
@@ -132,19 +155,11 @@ export class TypeFactory {
132
155
  }));
133
156
  }
134
157
  // Every ObjectType has an identifier property. Some are abstract.
135
- properties.splice(0, 0, new ObjectType.IdentifierProperty({
136
- identifierMintingStrategy: astType.identifierMintingStrategy,
137
- identifierPrefixPropertyName: `${syntheticNamePrefix}identifierPrefix`,
138
- name: `${syntheticNamePrefix}identifier`,
139
- objectType,
140
- type: identifierType,
141
- typeAlias: code `${staticModuleName}.${syntheticNamePrefix}Identifier`,
142
- visibility: "public",
143
- }));
158
+ properties.splice(0, 0, objectType.identifierProperty);
144
159
  return properties;
145
160
  },
146
- identifierMintingStrategy: astType.identifierMintingStrategy,
147
- name: tsName(astType),
161
+ name,
162
+ recursive: astType.recursive,
148
163
  staticModuleName,
149
164
  synthetic: astType.synthetic,
150
165
  toRdfTypes: astType.toRdfTypes,
@@ -152,25 +167,6 @@ export class TypeFactory {
152
167
  this.cachedObjectTypesByShapeIdentifier.set(astType.shapeIdentifier, objectType);
153
168
  return objectType;
154
169
  }
155
- createObjectUnionType(astType) {
156
- {
157
- const cachedObjectUnionType = this.cachedObjectUnionTypesByShapeIdentifier.get(astType.shapeIdentifier);
158
- if (cachedObjectUnionType) {
159
- return cachedObjectUnionType;
160
- }
161
- }
162
- const objectUnionType = new ObjectUnionType({
163
- comment: astType.comment,
164
- export_: astType.export,
165
- features: astType.tsFeatures,
166
- identifierType: this.createIdentifierType(astType.identifierType),
167
- label: astType.label,
168
- memberTypes: astType.memberObjectTypes.map((objectType) => this.createObjectType(objectType)),
169
- name: tsName(astType),
170
- });
171
- this.cachedObjectUnionTypesByShapeIdentifier.set(astType.shapeIdentifier, objectUnionType);
172
- return objectUnionType;
173
- }
174
170
  createType(astType, parameters) {
175
171
  switch (astType.kind) {
176
172
  case "BlankNodeType":
@@ -193,16 +189,10 @@ export class TypeFactory {
193
189
  return this.createListType(astType);
194
190
  case "LiteralType":
195
191
  return this.createLiteralType(astType, parameters);
196
- case "ObjectIntersectionType":
197
- throw new Error("not implemented");
198
192
  case "ObjectType":
199
193
  return this.createObjectType(astType);
200
- case "ObjectUnionType":
201
- return this.createObjectUnionType(astType);
202
194
  case "OptionType":
203
195
  return this.createOptionType(astType);
204
- case "PlaceholderType":
205
- throw new Error(astType.kind);
206
196
  case "SetType":
207
197
  return this.createSetType(astType);
208
198
  case "TermType":
@@ -211,6 +201,34 @@ export class TypeFactory {
211
201
  return this.createUnionType(astType);
212
202
  }
213
203
  }
204
+ createUnionType(astType) {
205
+ if (astType.isObjectUnionType()) {
206
+ return this.createNamedObjectUnionType(astType);
207
+ }
208
+ return astType.name
209
+ .map((name) => new NamedUnionType({
210
+ comment: astType.comment,
211
+ features: astType.tsFeatures,
212
+ identifierType: Maybe.empty(),
213
+ label: astType.label,
214
+ members: astType.members.map((member) => ({
215
+ discriminantValue: member.discriminantValue,
216
+ type: this.createType(member.type),
217
+ })),
218
+ name,
219
+ recursive: astType.recursive,
220
+ }))
221
+ .orDefaultLazy(() => new AnonymousUnionType({
222
+ comment: astType.comment,
223
+ label: astType.label,
224
+ identifierType: Maybe.empty(),
225
+ members: astType.members.map((member) => ({
226
+ discriminantValue: member.discriminantValue,
227
+ type: this.createType(member.type),
228
+ })),
229
+ recursive: astType.recursive,
230
+ }));
231
+ }
214
232
  createBlankNodeType(astType) {
215
233
  return new BlankNodeType({
216
234
  comment: astType.comment,
@@ -408,14 +426,13 @@ export class TypeFactory {
408
426
  return cachedProperty;
409
427
  }
410
428
  }
411
- const name = tsName(astObjectTypeProperty);
412
429
  const property = new ObjectType.ShaclProperty({
413
430
  comment: astObjectTypeProperty.comment,
414
431
  description: astObjectTypeProperty.description,
415
432
  label: astObjectTypeProperty.label,
416
433
  mutable: astObjectTypeProperty.mutable,
417
434
  objectType,
418
- name,
435
+ name: tsName(astObjectTypeProperty.name),
419
436
  path: astObjectTypeProperty.path,
420
437
  recursive: !!astObjectTypeProperty.recursive,
421
438
  type: this.createType(astObjectTypeProperty.type),
@@ -453,14 +470,6 @@ export class TypeFactory {
453
470
  nodeKinds: astType.nodeKinds,
454
471
  });
455
472
  }
456
- createUnionType(astType) {
457
- return new UnionType({
458
- comment: astType.comment,
459
- label: astType.label,
460
- memberDiscriminantValues: astType.memberDiscriminantValues,
461
- memberTypes: astType.memberTypes.map((astType) => this.createType(astType)),
462
- });
463
- }
464
473
  }
465
474
  function objectTypeNeedsIdentifierPrefixProperty(objectType) {
466
475
  return objectType.identifierMintingStrategy
@@ -478,4 +487,22 @@ function objectTypeNeedsIdentifierPrefixProperty(objectType) {
478
487
  })
479
488
  .orDefault(false);
480
489
  }
490
+ function tsName(name, options) {
491
+ if (name[0] === "$") {
492
+ return name;
493
+ }
494
+ // Adapted from https://github.com/sindresorhus/to-valid-identifier , MIT license
495
+ if (reservedTsIdentifiers.has(name)) {
496
+ // We prefix with underscore to avoid any potential conflicts with the Base62 encoded string.
497
+ return `$_${name}$`;
498
+ }
499
+ let tsName = name.replaceAll(/\P{ID_Continue}/gu, (x) => `$${base62.encodeInteger(x.codePointAt(0))}$`);
500
+ if (options?.synthetic) {
501
+ tsName = `${syntheticNamePrefix}${tsName}`;
502
+ }
503
+ return tsName;
504
+ }
505
+ const reservedTsIdentifiers = reservedTsIdentifiers_({
506
+ includeGlobalProperties: true,
507
+ });
481
508
  //# sourceMappingURL=TypeFactory.js.map
@@ -1,8 +1,7 @@
1
+ import { invariant } from "ts-invariant";
1
2
  import * as ast from "../../ast/index.js";
2
3
  import { ObjectType_jsonTypeAliasDeclaration } from "./_ObjectType/ObjectType_jsonTypeAliasDeclaration.js";
3
4
  import { ObjectType_jsonZodSchemaFunctionDeclaration } from "./_ObjectType/ObjectType_jsonZodSchemaFunctionDeclaration.js";
4
- import { ObjectUnionType_jsonTypeAliasDeclaration } from "./_ObjectUnionType/ObjectUnionType_jsonTypeAliasDeclaration.js";
5
- import { ObjectUnionType_jsonZodSchemaFunctionDeclaration } from "./_ObjectUnionType/ObjectUnionType_jsonZodSchemaFunctionDeclaration.js";
6
5
  import { snippets } from "./snippets.js";
7
6
  import { TypeFactory } from "./TypeFactory.js";
8
7
  import { code, joinCode } from "./ts-poet-wrapper.js";
@@ -19,12 +18,13 @@ ${joinCode([
19
18
  ], { on: "\n\n" })}
20
19
  }`);
21
20
  }
22
- for (const objectUnionType of ast_.objectUnionTypes.map((astObjectUnionType) => this.typeFactory.createObjectUnionType(astObjectUnionType))) {
21
+ for (const astNamedUnionType of ast_.namedUnionTypes.map((astNamedUnionType) => this.typeFactory.createUnionType(astNamedUnionType))) {
22
+ invariant(astNamedUnionType.kind !== "AnonymousUnionType");
23
23
  declarations.push(code `\
24
- export namespace ${objectUnionType.staticModuleName} {
24
+ export namespace ${astNamedUnionType.staticModuleName} {
25
25
  ${joinCode([
26
- ...ObjectUnionType_jsonTypeAliasDeclaration.bind(objectUnionType)().toList(),
27
- ...ObjectUnionType_jsonZodSchemaFunctionDeclaration.bind(objectUnionType)().toList(),
26
+ astNamedUnionType.jsonTypeAliasDeclaration,
27
+ astNamedUnionType.jsonZodSchemaFunctionDeclaration,
28
28
  ], { on: "\n\n" })}
29
29
  }`);
30
30
  }
@@ -109,7 +109,7 @@ export declare abstract class AbstractProperty<TypeT extends Pick<Type, "filterF
109
109
  /**
110
110
  * Expression to deserialize this property on the given rdfjsResource.Resource to a Either<Error, this property type>.
111
111
  */
112
- abstract fromRdfExpression(parameters: {
112
+ abstract fromRdfResourceValuesExpression(parameters: {
113
113
  variables: {
114
114
  context: Code;
115
115
  graph: Code;
@@ -184,8 +184,8 @@ export declare abstract class AbstractProperty<TypeT extends Pick<Type, "filterF
184
184
  /**
185
185
  * Statements to serialize this property to an RDF resource.
186
186
  */
187
- abstract toRdfStatements(parameters: {
188
- variables: Omit<Parameters<Type["toRdfExpression"]>[0]["variables"], "propertyPath">;
187
+ abstract toRdfRdfResourceValuesStatements(parameters: {
188
+ variables: Omit<Parameters<Type["toRdfResourceValuesExpression"]>[0]["variables"], "propertyPath">;
189
189
  }): readonly Code[];
190
190
  }
191
191
  //# sourceMappingURL=AbstractProperty.d.ts.map
@@ -1,35 +1,35 @@
1
1
  import { Maybe } from "purify-ts";
2
2
  import { type Code } from "../ts-poet-wrapper.js";
3
3
  import { AbstractProperty } from "./AbstractProperty.js";
4
- export declare class TypeDiscriminantProperty extends AbstractProperty<TypeDiscriminantProperty.Type> {
4
+ export declare class DiscriminantProperty extends AbstractProperty<DiscriminantProperty.Type> {
5
5
  readonly constructorParametersSignature: Maybe<Code>;
6
6
  readonly equalsFunction: Maybe<Code>;
7
- readonly filterProperty: AbstractProperty<TypeDiscriminantProperty.Type>["filterProperty"];
7
+ readonly filterProperty: AbstractProperty<DiscriminantProperty.Type>["filterProperty"];
8
8
  readonly getAccessorDeclaration: Maybe<Code>;
9
- readonly graphqlField: AbstractProperty<TypeDiscriminantProperty.Type>["graphqlField"];
10
- readonly kind = "TypeDiscriminantProperty";
9
+ readonly graphqlField: AbstractProperty<DiscriminantProperty.Type>["graphqlField"];
10
+ readonly kind = "DiscriminantProperty";
11
11
  readonly mutable = false;
12
12
  readonly recursive = false;
13
13
  constructor({ type, ...superParameters }: {
14
- type: TypeDiscriminantProperty.Type;
14
+ type: DiscriminantProperty.Type;
15
15
  } & ConstructorParameters<typeof AbstractProperty>[0]);
16
16
  get declaration(): Maybe<Code>;
17
17
  get jsonSignature(): Maybe<Code>;
18
- get jsonZodSchema(): AbstractProperty<TypeDiscriminantProperty.Type>["jsonZodSchema"];
18
+ get jsonZodSchema(): AbstractProperty<DiscriminantProperty.Type>["jsonZodSchema"];
19
19
  private get abstract();
20
20
  private get initializer();
21
21
  private get override();
22
22
  constructorStatements(): readonly Code[];
23
23
  fromJsonStatements(): readonly Code[];
24
- fromRdfExpression(): Maybe<Code>;
25
- hashStatements({ variables, }: Parameters<AbstractProperty<TypeDiscriminantProperty.Type>["hashStatements"]>[0]): readonly Code[];
26
- jsonUiSchemaElement({ variables, }: Parameters<AbstractProperty<TypeDiscriminantProperty.Type>["jsonUiSchemaElement"]>[0]): Maybe<Code>;
24
+ fromRdfResourceValuesExpression(): Maybe<Code>;
25
+ hashStatements({ variables, }: Parameters<AbstractProperty<DiscriminantProperty.Type>["hashStatements"]>[0]): readonly Code[];
26
+ jsonUiSchemaElement({ variables, }: Parameters<AbstractProperty<DiscriminantProperty.Type>["jsonUiSchemaElement"]>[0]): Maybe<Code>;
27
27
  sparqlConstructTriplesExpression(): Maybe<Code>;
28
- sparqlWherePatternsExpression(): ReturnType<AbstractProperty<TypeDiscriminantProperty.Type>["sparqlWherePatternsExpression"]>;
29
- toJsonObjectMemberExpression({ variables, }: Parameters<AbstractProperty<TypeDiscriminantProperty.Type>["toJsonObjectMemberExpression"]>[0]): Maybe<Code>;
30
- toRdfStatements(): readonly Code[];
28
+ sparqlWherePatternsExpression(): ReturnType<AbstractProperty<DiscriminantProperty.Type>["sparqlWherePatternsExpression"]>;
29
+ toJsonObjectMemberExpression({ variables, }: Parameters<AbstractProperty<DiscriminantProperty.Type>["toJsonObjectMemberExpression"]>[0]): Maybe<Code>;
30
+ toRdfRdfResourceValuesStatements(): readonly Code[];
31
31
  }
32
- export declare namespace TypeDiscriminantProperty {
32
+ export declare namespace DiscriminantProperty {
33
33
  class Type {
34
34
  readonly filterFunction: Code;
35
35
  readonly mutable: boolean;
@@ -45,4 +45,4 @@ export declare namespace TypeDiscriminantProperty {
45
45
  get values(): string[];
46
46
  }
47
47
  }
48
- //# sourceMappingURL=TypeDiscriminantProperty.d.ts.map
48
+ //# sourceMappingURL=DiscriminantProperty.d.ts.map
@@ -12,13 +12,13 @@ import { removeUndefined } from "../removeUndefined.js";
12
12
  import { snippets } from "../snippets.js";
13
13
  import { arrayOf, code, literalOf } from "../ts-poet-wrapper.js";
14
14
  import { AbstractProperty } from "./AbstractProperty.js";
15
- export class TypeDiscriminantProperty extends AbstractProperty {
15
+ export class DiscriminantProperty extends AbstractProperty {
16
16
  constructorParametersSignature = Maybe.empty();
17
17
  equalsFunction = Maybe.of(code `${snippets.strictEquals}`);
18
18
  filterProperty = Maybe.empty();
19
19
  getAccessorDeclaration = Maybe.empty();
20
20
  graphqlField = Maybe.empty();
21
- kind = "TypeDiscriminantProperty";
21
+ kind = "DiscriminantProperty";
22
22
  mutable = false;
23
23
  recursive = false;
24
24
  constructor({ type, ...superParameters }) {
@@ -72,7 +72,7 @@ export class TypeDiscriminantProperty extends AbstractProperty {
72
72
  ? [code `const ${this.name} = ${this.initializer};`]
73
73
  : [];
74
74
  }
75
- fromRdfExpression() {
75
+ fromRdfResourceValuesExpression() {
76
76
  return !this.abstract && this.objectType.declarationType === "interface"
77
77
  ? Maybe.of(code `${imports.Right}<${literalOf(this.objectType.discriminantValue)}>(${this.initializer})`)
78
78
  : Maybe.empty();
@@ -93,17 +93,17 @@ export class TypeDiscriminantProperty extends AbstractProperty {
93
93
  toJsonObjectMemberExpression({ variables, }) {
94
94
  return Maybe.of(code `${this.name}: ${variables.value}`);
95
95
  }
96
- toRdfStatements() {
96
+ toRdfRdfResourceValuesStatements() {
97
97
  return [];
98
98
  }
99
99
  }
100
100
  __decorate([
101
101
  Memoize()
102
- ], TypeDiscriminantProperty.prototype, "jsonSignature", null);
102
+ ], DiscriminantProperty.prototype, "jsonSignature", null);
103
103
  __decorate([
104
104
  Memoize()
105
- ], TypeDiscriminantProperty.prototype, "jsonZodSchema", null);
106
- (function (TypeDiscriminantProperty) {
105
+ ], DiscriminantProperty.prototype, "jsonZodSchema", null);
106
+ (function (DiscriminantProperty) {
107
107
  class Type {
108
108
  filterFunction = code `nonextant`;
109
109
  mutable;
@@ -137,6 +137,6 @@ __decorate([
137
137
  __decorate([
138
138
  Memoize()
139
139
  ], Type.prototype, "values", null);
140
- TypeDiscriminantProperty.Type = Type;
141
- })(TypeDiscriminantProperty || (TypeDiscriminantProperty = {}));
142
- //# sourceMappingURL=TypeDiscriminantProperty.js.map
140
+ DiscriminantProperty.Type = Type;
141
+ })(DiscriminantProperty || (DiscriminantProperty = {}));
142
+ //# sourceMappingURL=DiscriminantProperty.js.map
@@ -21,12 +21,12 @@ export declare class IdentifierPrefixProperty extends AbstractProperty<StringTyp
21
21
  get getAccessorDeclaration(): Maybe<Code>;
22
22
  constructorStatements({ variables, }: Parameters<AbstractProperty<StringType>["constructorStatements"]>[0]): readonly Code[];
23
23
  fromJsonStatements(): readonly Code[];
24
- fromRdfExpression(): Maybe<Code>;
24
+ fromRdfResourceValuesExpression(): Maybe<Code>;
25
25
  hashStatements(): readonly Code[];
26
26
  jsonUiSchemaElement(): Maybe<Code>;
27
27
  sparqlConstructTriplesExpression(): Maybe<Code>;
28
28
  sparqlWherePatternsExpression(): ReturnType<AbstractProperty<StringType>["sparqlWherePatternsExpression"]>;
29
29
  toJsonObjectMemberExpression(): Maybe<Code>;
30
- toRdfStatements(): readonly Code[];
30
+ toRdfRdfResourceValuesStatements(): readonly Code[];
31
31
  }
32
32
  //# sourceMappingURL=IdentifierPrefixProperty.d.ts.map
@@ -61,7 +61,7 @@ protected ${!this.own ? "override " : ""} get ${this.name}(): ${this.type.name}
61
61
  fromJsonStatements() {
62
62
  return [];
63
63
  }
64
- fromRdfExpression() {
64
+ fromRdfResourceValuesExpression() {
65
65
  return Maybe.empty();
66
66
  }
67
67
  hashStatements() {
@@ -79,7 +79,7 @@ protected ${!this.own ? "override " : ""} get ${this.name}(): ${this.type.name}
79
79
  toJsonObjectMemberExpression() {
80
80
  return Maybe.empty();
81
81
  }
82
- toRdfStatements() {
82
+ toRdfRdfResourceValuesStatements() {
83
83
  return [];
84
84
  }
85
85
  }
@@ -35,7 +35,7 @@ export declare class IdentifierProperty extends AbstractProperty<BlankNodeType |
35
35
  private get override();
36
36
  constructorStatements({ variables, }: Parameters<AbstractProperty<IdentifierType>["constructorStatements"]>[0]): readonly Code[];
37
37
  fromJsonStatements({ variables, }: Parameters<AbstractProperty<IdentifierType>["fromJsonStatements"]>[0]): readonly Code[];
38
- fromRdfExpression({ variables, }: Parameters<AbstractProperty<IdentifierType>["fromRdfExpression"]>[0]): Maybe<Code>;
38
+ fromRdfResourceValuesExpression({ variables, }: Parameters<AbstractProperty<IdentifierType>["fromRdfResourceValuesExpression"]>[0]): Maybe<Code>;
39
39
  hashStatements({ variables, }: Parameters<AbstractProperty<IdentifierType>["hashStatements"]>[0]): readonly Code[];
40
40
  jsonUiSchemaElement({ variables, }: Parameters<AbstractProperty<IdentifierType>["jsonUiSchemaElement"]>[0]): Maybe<Code>;
41
41
  sparqlConstructTriplesExpression(): Maybe<Code>;
@@ -44,6 +44,6 @@ export declare class IdentifierProperty extends AbstractProperty<BlankNodeType |
44
44
  patterns: Code;
45
45
  }>;
46
46
  toJsonObjectMemberExpression({ variables, }: Parameters<AbstractProperty<IdentifierType>["toJsonObjectMemberExpression"]>[0]): Maybe<Code>;
47
- toRdfStatements(): readonly Code[];
47
+ toRdfRdfResourceValuesStatements(): readonly Code[];
48
48
  }
49
49
  //# sourceMappingURL=IdentifierProperty.d.ts.map
@@ -143,6 +143,9 @@ export class IdentifierProperty extends AbstractProperty {
143
143
  });
144
144
  }
145
145
  get jsonSignature() {
146
+ if (this.type.in_.length > 0) {
147
+ return Maybe.of(code `readonly "@id": ${this.type.in_.map((iri) => `"${iri.value}"`).join(" | ")}`);
148
+ }
146
149
  return Maybe.of(code `readonly "@id": string`);
147
150
  }
148
151
  get jsonZodSchema() {
@@ -277,8 +280,8 @@ export class IdentifierProperty extends AbstractProperty {
277
280
  code `const ${this.name} = ${this.type.fromJsonExpression({ variables: { value: variables.jsonObject } })};`,
278
281
  ];
279
282
  }
280
- fromRdfExpression({ variables, }) {
281
- return Maybe.of(code `${this.type.fromRdfExpression({
283
+ fromRdfResourceValuesExpression({ variables, }) {
284
+ return Maybe.of(code `${this.type.fromRdfResourceValuesExpression({
282
285
  variables: {
283
286
  ...variables,
284
287
  propertyPath: rdfjsTermExpression(rdf.subject),
@@ -298,7 +301,7 @@ export class IdentifierProperty extends AbstractProperty {
298
301
  sparqlWherePatternsExpression({ variables, }) {
299
302
  return Maybe.of({
300
303
  condition: code `${variables.focusIdentifier}.termType === "Variable"`,
301
- patterns: code `${this.type.sparqlWherePatternsFunction}(${{
304
+ patterns: code `${this.type.valueSparqlWherePatternsFunction}(${{
302
305
  filter: code `${variables.filter}?.${this.name}`,
303
306
  ignoreRdfType: true, // Unused
304
307
  preferredLanguages: variables.preferredLanguages,
@@ -327,7 +330,7 @@ export class IdentifierProperty extends AbstractProperty {
327
330
  invariant(valueToNodeKinds.length === 2);
328
331
  return Maybe.of(code `"@id": ${variables.value}.termType === "${NodeKind.toTermType(nodeKinds[0])}" ? ${valueToNodeKinds[0]} : ${valueToNodeKinds[1]}`);
329
332
  }
330
- toRdfStatements() {
333
+ toRdfRdfResourceValuesStatements() {
331
334
  return [];
332
335
  }
333
336
  }
@@ -5,7 +5,7 @@ import { tsComment } from "../tsComment.js";
5
5
  import { ObjectType_equalsFunctionOrMethodDeclaration } from "./ObjectType_equalsFunctionOrMethodDeclaration.js";
6
6
  import { ObjectType_hashFunctionOrMethodDeclarations } from "./ObjectType_hashFunctionOrMethodDeclarations.js";
7
7
  import { ObjectType_toJsonFunctionOrMethodDeclaration } from "./ObjectType_toJsonFunctionOrMethodDeclaration.js";
8
- import { ObjectType_toRdfFunctionOrMethodDeclaration } from "./ObjectType_toRdfFunctionOrMethodDeclaration.js";
8
+ import { ObjectType_toRdfResourceFunctionOrMethodDeclaration } from "./ObjectType_toRdfResourceFunctionOrMethodDeclaration.js";
9
9
  function ObjectType_constructorDeclaration() {
10
10
  const parametersPropertySignatures = this.properties.flatMap((property) => property.constructorParametersSignature.toList());
11
11
  const parametersType = [];
@@ -47,16 +47,16 @@ export function ObjectType_classDeclaration() {
47
47
  ${this.comment
48
48
  .alt(this.label)
49
49
  .map(tsComment)
50
- .orDefault("")}${this.export ? "export " : ""}${this.abstract ? "abstract " : ""}class ${def(this.name)}${this.parentObjectTypes.length > 0 ? ` extends ${this.parentObjectTypes[0].name}` : ""} {
50
+ .orDefault("")}export ${this.abstract ? "abstract " : ""}class ${def(this.name)}${this.parentObjectTypes.length > 0 ? ` extends ${this.parentObjectTypes[0].name}` : ""} {
51
51
  ${joinCode([
52
52
  ...this.properties.flatMap((property) => property.declaration.toList()),
53
- ObjectType_constructorDeclaration.bind(this)(),
53
+ ObjectType_constructorDeclaration.call(this),
54
54
  ...this.properties.flatMap((property) => property.getAccessorDeclaration.toList()),
55
- ...ObjectType_equalsFunctionOrMethodDeclaration.bind(this)().toList(),
56
- ...ObjectType_hashFunctionOrMethodDeclarations.bind(this)(),
57
- ...ObjectType_toJsonFunctionOrMethodDeclaration.bind(this)().toList(),
58
- ...ObjectType_toRdfFunctionOrMethodDeclaration.bind(this)().toList(),
59
- ...ObjectType_toStringMethodDeclaration.bind(this)().toList(),
55
+ ...ObjectType_equalsFunctionOrMethodDeclaration.call(this).toList(),
56
+ ...ObjectType_hashFunctionOrMethodDeclarations.call(this),
57
+ ...ObjectType_toJsonFunctionOrMethodDeclaration.call(this).toList(),
58
+ ...ObjectType_toRdfResourceFunctionOrMethodDeclaration.call(this).toList(),
59
+ ...ObjectType_toStringMethodDeclaration.call(this).toList(),
60
60
  ], { on: "\n\n" })}
61
61
  }`;
62
62
  }
@@ -0,0 +1,5 @@
1
+ import { Maybe } from "purify-ts";
2
+ import type { ObjectType } from "../ObjectType.js";
3
+ import { type Code } from "../ts-poet-wrapper.js";
4
+ export declare function ObjectType_focusSparqlConstructTriplesFunctionDeclaration(this: ObjectType): Maybe<Code>;
5
+ //# sourceMappingURL=ObjectType_focusSparqlConstructTriplesFunctionDeclaration.d.ts.map