@shaclmate/compiler 3.0.4 → 4.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 (581) hide show
  1. package/dist/Compiler.d.ts +2 -3
  2. package/dist/Compiler.js +5 -8
  3. package/dist/Eithers.d.ts +14 -0
  4. package/dist/Eithers.js +67 -0
  5. package/dist/ShapesGraphToAstTransformer.d.ts +3 -8
  6. package/dist/ShapesGraphToAstTransformer.js +22 -23
  7. package/dist/_ShapesGraphToAstTransformer/CurieFactory.d.ts +16 -0
  8. package/dist/_ShapesGraphToAstTransformer/CurieFactory.js +45 -0
  9. package/dist/_ShapesGraphToAstTransformer/ShapeStack.d.ts +1 -1
  10. package/dist/_ShapesGraphToAstTransformer/ShapeStack.js +1 -2
  11. package/dist/_ShapesGraphToAstTransformer/index.d.ts +1 -5
  12. package/dist/_ShapesGraphToAstTransformer/index.js +1 -5
  13. package/dist/_ShapesGraphToAstTransformer/nodeShapeIdentifierMintingStrategy.d.ts +5 -0
  14. package/dist/_ShapesGraphToAstTransformer/nodeShapeIdentifierMintingStrategy.js +28 -0
  15. package/dist/_ShapesGraphToAstTransformer/nodeShapeTsFeatures.d.ts +5 -0
  16. package/dist/_ShapesGraphToAstTransformer/nodeShapeTsFeatures.js +8 -0
  17. package/dist/_ShapesGraphToAstTransformer/shapeIdentifier.d.ts +5 -0
  18. package/dist/_ShapesGraphToAstTransformer/shapeIdentifier.js +9 -0
  19. package/dist/_ShapesGraphToAstTransformer/shapeNodeKinds.d.ts +8 -0
  20. package/dist/_ShapesGraphToAstTransformer/shapeNodeKinds.js +175 -0
  21. package/dist/_ShapesGraphToAstTransformer/transformNodeShapeToAstType.d.ts +3 -3
  22. package/dist/_ShapesGraphToAstTransformer/transformNodeShapeToAstType.js +302 -231
  23. package/dist/_ShapesGraphToAstTransformer/transformPropertyShapeToAstObjectTypeProperty.d.ts +6 -3
  24. package/dist/_ShapesGraphToAstTransformer/transformPropertyShapeToAstObjectTypeProperty.js +168 -170
  25. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstAbstractTypeProperties.d.ts +12 -0
  26. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstAbstractTypeProperties.js +31 -0
  27. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstCompoundType.d.ts +10 -0
  28. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstCompoundType.js +141 -0
  29. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstTermType.d.ts +5 -5
  30. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstTermType.js +92 -11
  31. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstType.d.ts +3 -3
  32. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstType.js +8 -4
  33. package/dist/ast/AbstractCollectionType.d.ts +20 -0
  34. package/dist/ast/AbstractCollectionType.js +27 -0
  35. package/dist/ast/AbstractCompoundType.d.ts +23 -0
  36. package/dist/ast/AbstractCompoundType.js +39 -0
  37. package/dist/ast/AbstractContainerType.d.ts +36 -0
  38. package/dist/ast/AbstractContainerType.js +58 -0
  39. package/dist/ast/AbstractLazyObjectType.d.ts +25 -0
  40. package/dist/ast/AbstractLazyObjectType.js +30 -0
  41. package/dist/ast/AbstractObjectCompoundType.d.ts +45 -0
  42. package/dist/ast/AbstractObjectCompoundType.js +180 -0
  43. package/dist/ast/AbstractTermType.d.ts +24 -0
  44. package/dist/ast/AbstractTermType.js +41 -0
  45. package/dist/ast/AbstractType.d.ts +21 -0
  46. package/dist/ast/AbstractType.js +29 -0
  47. package/dist/ast/BlankNodeType.d.ts +11 -0
  48. package/dist/ast/BlankNodeType.js +17 -0
  49. package/dist/ast/Curie.d.ts +10 -3
  50. package/dist/ast/Curie.js +14 -6
  51. package/dist/ast/DefaultValueType.d.ts +26 -0
  52. package/dist/ast/DefaultValueType.js +41 -0
  53. package/dist/ast/IdentifierType.d.ts +5 -4
  54. package/dist/ast/IdentifierType.js +19 -1
  55. package/dist/ast/IntersectionType.d.ts +3 -3
  56. package/dist/ast/IntersectionType.js +7 -1
  57. package/dist/ast/IriType.d.ts +10 -0
  58. package/dist/ast/IriType.js +10 -0
  59. package/dist/ast/LazyObjectOptionType.d.ts +6 -0
  60. package/dist/ast/LazyObjectOptionType.js +5 -0
  61. package/dist/ast/LazyObjectSetType.d.ts +6 -0
  62. package/dist/ast/LazyObjectSetType.js +5 -0
  63. package/dist/ast/LazyObjectType.d.ts +5 -0
  64. package/dist/ast/LazyObjectType.js +5 -0
  65. package/dist/ast/ListType.d.ts +28 -24
  66. package/dist/ast/ListType.js +68 -1
  67. package/dist/ast/LiteralType.d.ts +13 -4
  68. package/dist/ast/LiteralType.js +24 -1
  69. package/dist/ast/ObjectIntersectionType.d.ts +3 -3
  70. package/dist/ast/ObjectIntersectionType.js +7 -1
  71. package/dist/ast/ObjectType.d.ts +79 -72
  72. package/dist/ast/ObjectType.js +402 -9
  73. package/dist/ast/ObjectUnionType.d.ts +3 -3
  74. package/dist/ast/ObjectUnionType.js +7 -1
  75. package/dist/ast/OptionType.d.ts +9 -4
  76. package/dist/ast/OptionType.js +17 -1
  77. package/dist/ast/PlaceholderType.d.ts +10 -2
  78. package/dist/ast/PlaceholderType.js +18 -1
  79. package/dist/ast/SetType.d.ts +12 -9
  80. package/dist/ast/SetType.js +32 -1
  81. package/dist/ast/TermType.d.ts +8 -13
  82. package/dist/ast/TermType.js +15 -1
  83. package/dist/ast/Type.d.ts +10 -4
  84. package/dist/ast/Type.js +47 -1
  85. package/dist/ast/UnionType.d.ts +7 -3
  86. package/dist/ast/UnionType.js +12 -1
  87. package/dist/ast/equals.d.ts +12 -0
  88. package/dist/ast/equals.js +65 -0
  89. package/dist/ast/index.d.ts +10 -2
  90. package/dist/ast/index.js +10 -2
  91. package/dist/generators/json/AstJsonGenerator.js +53 -49
  92. package/dist/generators/ts/AbstractCollectionType.d.ts +47 -0
  93. package/dist/generators/ts/AbstractCollectionType.js +235 -0
  94. package/dist/generators/ts/AbstractContainerType.d.ts +51 -0
  95. package/dist/generators/ts/AbstractContainerType.js +72 -0
  96. package/dist/generators/ts/AbstractDateType.d.ts +31 -0
  97. package/dist/generators/ts/AbstractDateType.js +71 -0
  98. package/dist/generators/ts/AbstractDeclaredType.d.ts +23 -0
  99. package/dist/generators/ts/AbstractDeclaredType.js +17 -0
  100. package/dist/generators/ts/AbstractIdentifierType.d.ts +14 -0
  101. package/dist/generators/ts/AbstractIdentifierType.js +38 -0
  102. package/dist/generators/ts/AbstractLazyObjectType.d.ts +63 -0
  103. package/dist/generators/ts/AbstractLazyObjectType.js +140 -0
  104. package/dist/generators/ts/AbstractLiteralType.d.ts +24 -0
  105. package/dist/generators/ts/AbstractLiteralType.js +36 -0
  106. package/dist/generators/ts/AbstractNumericType.d.ts +32 -0
  107. package/dist/generators/ts/AbstractNumericType.js +85 -0
  108. package/dist/generators/ts/AbstractPrimitiveType.d.ts +30 -0
  109. package/dist/generators/ts/AbstractPrimitiveType.js +60 -0
  110. package/dist/generators/ts/AbstractTermType.d.ts +60 -0
  111. package/dist/generators/ts/AbstractTermType.js +171 -0
  112. package/dist/generators/ts/AbstractType.d.ts +267 -0
  113. package/dist/generators/ts/AbstractType.js +85 -0
  114. package/dist/generators/ts/BigDecimalType.d.ts +21 -0
  115. package/dist/generators/ts/BigDecimalType.js +91 -0
  116. package/dist/generators/ts/BigIntType.d.ts +15 -0
  117. package/dist/generators/ts/BigIntType.js +49 -0
  118. package/dist/generators/ts/BlankNodeType.d.ts +26 -0
  119. package/dist/generators/ts/BlankNodeType.js +61 -0
  120. package/dist/generators/ts/BooleanType.d.ts +18 -10
  121. package/dist/generators/ts/BooleanType.js +28 -51
  122. package/dist/generators/ts/DateTimeType.d.ts +8 -22
  123. package/dist/generators/ts/DateTimeType.js +10 -89
  124. package/dist/generators/ts/DateType.d.ts +7 -8
  125. package/dist/generators/ts/DateType.js +11 -18
  126. package/dist/generators/ts/DefaultValueType.d.ts +48 -0
  127. package/dist/generators/ts/DefaultValueType.js +178 -0
  128. package/dist/generators/ts/FloatType.d.ts +9 -4
  129. package/dist/generators/ts/FloatType.js +13 -15
  130. package/dist/generators/ts/IdentifierType.d.ts +18 -16
  131. package/dist/generators/ts/IdentifierType.js +45 -172
  132. package/dist/generators/ts/IntType.d.ts +9 -4
  133. package/dist/generators/ts/IntType.js +13 -15
  134. package/dist/generators/ts/IriType.d.ts +24 -0
  135. package/dist/generators/ts/IriType.js +106 -0
  136. package/dist/generators/ts/LazyObjectOptionType.d.ts +31 -0
  137. package/dist/generators/ts/LazyObjectOptionType.js +87 -0
  138. package/dist/generators/ts/LazyObjectSetType.d.ts +15 -0
  139. package/dist/generators/ts/LazyObjectSetType.js +78 -0
  140. package/dist/generators/ts/LazyObjectType.d.ts +14 -0
  141. package/dist/generators/ts/LazyObjectType.js +59 -0
  142. package/dist/generators/ts/ListType.d.ts +33 -31
  143. package/dist/generators/ts/ListType.js +76 -271
  144. package/dist/generators/ts/LiteralType.d.ts +16 -18
  145. package/dist/generators/ts/LiteralType.js +35 -114
  146. package/dist/generators/ts/ObjectType.d.ts +60 -66
  147. package/dist/generators/ts/ObjectType.js +151 -190
  148. package/dist/generators/ts/ObjectUnionType.d.ts +38 -74
  149. package/dist/generators/ts/ObjectUnionType.js +144 -559
  150. package/dist/generators/ts/OptionType.d.ts +33 -27
  151. package/dist/generators/ts/OptionType.js +93 -83
  152. package/dist/generators/ts/SetType.d.ts +13 -32
  153. package/dist/generators/ts/SetType.js +27 -160
  154. package/dist/generators/ts/StringType.d.ts +19 -11
  155. package/dist/generators/ts/StringType.js +33 -53
  156. package/dist/generators/ts/TermType.d.ts +22 -56
  157. package/dist/generators/ts/TermType.js +67 -219
  158. package/dist/generators/ts/TsGenerator.d.ts +0 -1
  159. package/dist/generators/ts/TsGenerator.js +30 -71
  160. package/dist/generators/ts/Type.d.ts +24 -245
  161. package/dist/generators/ts/Type.js +1 -121
  162. package/dist/generators/ts/TypeFactory.d.ts +24 -15
  163. package/dist/generators/ts/TypeFactory.js +330 -400
  164. package/dist/generators/ts/Typeof.d.ts +2 -0
  165. package/dist/generators/ts/Typeof.js +2 -0
  166. package/dist/generators/ts/UnionType.d.ts +32 -28
  167. package/dist/generators/ts/UnionType.js +299 -230
  168. package/dist/generators/ts/_ObjectType/AbstractProperty.d.ts +191 -0
  169. package/dist/generators/ts/_ObjectType/AbstractProperty.js +49 -0
  170. package/dist/generators/ts/_ObjectType/IdentifierPrefixProperty.d.ts +22 -25
  171. package/dist/generators/ts/_ObjectType/IdentifierPrefixProperty.js +34 -56
  172. package/dist/generators/ts/_ObjectType/IdentifierProperty.d.ts +38 -36
  173. package/dist/generators/ts/_ObjectType/IdentifierProperty.js +238 -191
  174. package/dist/generators/ts/_ObjectType/ObjectType_classDeclaration.d.ts +4 -0
  175. package/dist/generators/ts/_ObjectType/ObjectType_classDeclaration.js +69 -0
  176. package/dist/generators/ts/_ObjectType/ObjectType_createFunctionDeclaration.d.ts +5 -0
  177. package/dist/generators/ts/_ObjectType/ObjectType_createFunctionDeclaration.js +52 -0
  178. package/dist/generators/ts/_ObjectType/ObjectType_equalsFunctionOrMethodDeclaration.d.ts +5 -0
  179. package/dist/generators/ts/_ObjectType/ObjectType_equalsFunctionOrMethodDeclaration.js +51 -0
  180. package/dist/generators/ts/_ObjectType/ObjectType_filterFunctionDeclaration.d.ts +4 -0
  181. package/dist/generators/ts/_ObjectType/ObjectType_filterFunctionDeclaration.js +21 -0
  182. package/dist/generators/ts/_ObjectType/ObjectType_filterTypeDeclaration.d.ts +4 -0
  183. package/dist/generators/ts/_ObjectType/ObjectType_filterTypeDeclaration.js +22 -0
  184. package/dist/generators/ts/_ObjectType/ObjectType_fromRdfTypeVariableStatement.d.ts +5 -0
  185. package/dist/generators/ts/_ObjectType/ObjectType_fromRdfTypeVariableStatement.js +13 -0
  186. package/dist/generators/ts/_ObjectType/ObjectType_graphqlTypeVariableStatement.d.ts +5 -0
  187. package/dist/generators/ts/_ObjectType/ObjectType_graphqlTypeVariableStatement.js +35 -0
  188. package/dist/generators/ts/_ObjectType/ObjectType_hashFunctionOrMethodDeclarations.d.ts +4 -0
  189. package/dist/generators/ts/_ObjectType/ObjectType_hashFunctionOrMethodDeclarations.js +73 -0
  190. package/dist/generators/ts/_ObjectType/ObjectType_interfaceDeclaration.d.ts +4 -0
  191. package/dist/generators/ts/_ObjectType/ObjectType_interfaceDeclaration.js +16 -0
  192. package/dist/generators/ts/_ObjectType/ObjectType_isTypeFunctionDeclaration.d.ts +4 -0
  193. package/dist/generators/ts/_ObjectType/ObjectType_isTypeFunctionDeclaration.js +14 -0
  194. package/dist/generators/ts/_ObjectType/ObjectType_jsonFunctionDeclarations.d.ts +4 -0
  195. package/dist/generators/ts/_ObjectType/ObjectType_jsonFunctionDeclarations.js +122 -0
  196. package/dist/generators/ts/_ObjectType/ObjectType_jsonTypeAliasDeclaration.d.ts +5 -0
  197. package/dist/generators/ts/_ObjectType/ObjectType_jsonTypeAliasDeclaration.js +17 -0
  198. package/dist/generators/ts/_ObjectType/ObjectType_objectSetMethodNames.d.ts +9 -0
  199. package/dist/generators/ts/_ObjectType/{objectSetMethodNames.js → ObjectType_objectSetMethodNames.js} +3 -3
  200. package/dist/generators/ts/_ObjectType/ObjectType_rdfFunctionDeclarations.d.ts +4 -0
  201. package/dist/generators/ts/_ObjectType/ObjectType_rdfFunctionDeclarations.js +132 -0
  202. package/dist/generators/ts/_ObjectType/ObjectType_schemaVariableStatement.d.ts +4 -0
  203. package/dist/generators/ts/_ObjectType/ObjectType_schemaVariableStatement.js +10 -0
  204. package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryFunctionDeclaration.d.ts +6 -0
  205. package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryFunctionDeclaration.js +12 -0
  206. package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryStringFunctionDeclaration.d.ts +6 -0
  207. package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryStringFunctionDeclaration.js +10 -0
  208. package/dist/generators/ts/_ObjectType/ObjectType_sparqlFunctionDeclarations.d.ts +4 -0
  209. package/dist/generators/ts/_ObjectType/ObjectType_sparqlFunctionDeclarations.js +143 -0
  210. package/dist/generators/ts/_ObjectType/ObjectType_toJsonFunctionOrMethodDeclaration.d.ts +5 -0
  211. package/dist/generators/ts/_ObjectType/{toJsonFunctionOrMethodDeclaration.js → ObjectType_toJsonFunctionOrMethodDeclaration.js} +18 -18
  212. package/dist/generators/ts/_ObjectType/ObjectType_toRdfFunctionOrMethodDeclaration.d.ts +5 -0
  213. package/dist/generators/ts/_ObjectType/ObjectType_toRdfFunctionOrMethodDeclaration.js +65 -0
  214. package/dist/generators/ts/_ObjectType/Property.d.ts +5 -168
  215. package/dist/generators/ts/_ObjectType/Property.js +1 -32
  216. package/dist/generators/ts/_ObjectType/ShaclProperty.d.ts +41 -32
  217. package/dist/generators/ts/_ObjectType/ShaclProperty.js +178 -134
  218. package/dist/generators/ts/_ObjectType/TypeDiscriminantProperty.d.ts +48 -0
  219. package/dist/generators/ts/_ObjectType/TypeDiscriminantProperty.js +142 -0
  220. package/dist/generators/ts/_ObjectType/identifierTypeDeclarations.d.ts +2 -5
  221. package/dist/generators/ts/_ObjectType/identifierTypeDeclarations.js +9 -44
  222. package/dist/generators/ts/_ObjectUnionType/MemberType.d.ts +34 -0
  223. package/dist/generators/ts/_ObjectUnionType/MemberType.js +105 -0
  224. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_equalsFunctionDeclaration.d.ts +5 -0
  225. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_equalsFunctionDeclaration.js +29 -0
  226. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_filterFunctionDeclaration.d.ts +4 -0
  227. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_filterFunctionDeclaration.js +19 -0
  228. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_filterTypeDeclaration.d.ts +4 -0
  229. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_filterTypeDeclaration.js +10 -0
  230. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_graphqlTypeVariableStatement.d.ts +5 -0
  231. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_graphqlTypeVariableStatement.js +18 -0
  232. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_hashFunctionDeclaration.d.ts +5 -0
  233. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_hashFunctionDeclaration.js +28 -0
  234. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_identifierTypeDeclarations.d.ts +4 -0
  235. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_identifierTypeDeclarations.js +9 -0
  236. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_isTypeFunctionDeclaration.d.ts +5 -0
  237. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_isTypeFunctionDeclaration.js +13 -0
  238. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_jsonFunctionDeclarations.d.ts +4 -0
  239. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_jsonFunctionDeclarations.js +50 -0
  240. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_jsonTypeAliasDeclaration.d.ts +5 -0
  241. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_jsonTypeAliasDeclaration.js +10 -0
  242. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_rdfFunctionDeclarations.d.ts +4 -0
  243. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_rdfFunctionDeclarations.js +60 -0
  244. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_schemaVariableStatement.d.ts +4 -0
  245. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_schemaVariableStatement.js +37 -0
  246. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_sparqlFunctionDeclarations.d.ts +4 -0
  247. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_sparqlFunctionDeclarations.js +45 -0
  248. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_typeAliasDeclaration.d.ts +4 -0
  249. package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_typeAliasDeclaration.js +10 -0
  250. package/dist/generators/ts/_snippets/snippets_BlankNodeFilter.d.ts +2 -0
  251. package/dist/generators/ts/_snippets/snippets_BlankNodeFilter.js +6 -0
  252. package/dist/generators/ts/_snippets/snippets_BlankNodeSchema.d.ts +2 -0
  253. package/dist/generators/ts/_snippets/snippets_BlankNodeSchema.js +7 -0
  254. package/dist/generators/ts/_snippets/snippets_BooleanFilter.d.ts +2 -0
  255. package/dist/generators/ts/_snippets/snippets_BooleanFilter.js +7 -0
  256. package/dist/generators/ts/_snippets/snippets_BooleanSchema.d.ts +2 -0
  257. package/dist/generators/ts/_snippets/snippets_BooleanSchema.js +8 -0
  258. package/dist/generators/ts/_snippets/snippets_CollectionFilter.d.ts +2 -0
  259. package/dist/generators/ts/_snippets/snippets_CollectionFilter.js +8 -0
  260. package/dist/generators/ts/_snippets/snippets_CollectionSchema.d.ts +2 -0
  261. package/dist/generators/ts/_snippets/snippets_CollectionSchema.js +9 -0
  262. package/dist/generators/ts/_snippets/snippets_DateFilter.d.ts +2 -0
  263. package/dist/generators/ts/_snippets/snippets_DateFilter.js +11 -0
  264. package/dist/generators/ts/_snippets/snippets_DateSchema.d.ts +2 -0
  265. package/dist/generators/ts/_snippets/snippets_DateSchema.js +8 -0
  266. package/dist/generators/ts/_snippets/snippets_DefaultValueSchema.d.ts +2 -0
  267. package/dist/generators/ts/_snippets/snippets_DefaultValueSchema.js +10 -0
  268. package/dist/generators/ts/_snippets/snippets_EqualsResult.d.ts +2 -0
  269. package/dist/generators/ts/_snippets/snippets_EqualsResult.js +65 -0
  270. package/dist/generators/ts/_snippets/snippets_FromRdfOptions.d.ts +2 -0
  271. package/dist/generators/ts/_snippets/snippets_FromRdfOptions.js +5 -0
  272. package/dist/generators/ts/_snippets/snippets_Hasher.d.ts +2 -0
  273. package/dist/generators/ts/_snippets/snippets_Hasher.js +4 -0
  274. package/dist/generators/ts/_snippets/snippets_IdentifierFilter.d.ts +2 -0
  275. package/dist/generators/ts/_snippets/snippets_IdentifierFilter.js +9 -0
  276. package/dist/generators/ts/_snippets/snippets_IdentifierSchema.d.ts +2 -0
  277. package/dist/generators/ts/_snippets/snippets_IdentifierSchema.js +7 -0
  278. package/dist/generators/ts/_snippets/snippets_IdentifierSet.d.ts +2 -0
  279. package/dist/generators/ts/_snippets/snippets_IdentifierSet.js +29 -0
  280. package/dist/generators/ts/_snippets/snippets_IriFilter.d.ts +2 -0
  281. package/dist/generators/ts/_snippets/snippets_IriFilter.js +8 -0
  282. package/dist/generators/ts/_snippets/snippets_IriSchema.d.ts +2 -0
  283. package/dist/generators/ts/_snippets/snippets_IriSchema.js +9 -0
  284. package/dist/generators/ts/_snippets/snippets_LazyObject.d.ts +2 -0
  285. package/dist/generators/ts/_snippets/snippets_LazyObject.js +24 -0
  286. package/dist/generators/ts/_snippets/snippets_LazyObjectOption.d.ts +2 -0
  287. package/dist/generators/ts/_snippets/snippets_LazyObjectOption.js +27 -0
  288. package/dist/generators/ts/_snippets/snippets_LazyObjectSet.d.ts +2 -0
  289. package/dist/generators/ts/_snippets/snippets_LazyObjectSet.js +42 -0
  290. package/dist/generators/ts/_snippets/snippets_LiteralFilter.d.ts +2 -0
  291. package/dist/generators/ts/_snippets/snippets_LiteralFilter.js +9 -0
  292. package/dist/generators/ts/_snippets/snippets_LiteralSchema.d.ts +2 -0
  293. package/dist/generators/ts/_snippets/snippets_LiteralSchema.js +10 -0
  294. package/dist/generators/ts/_snippets/snippets_MaybeFilter.d.ts +2 -0
  295. package/dist/generators/ts/_snippets/snippets_MaybeFilter.js +5 -0
  296. package/dist/generators/ts/_snippets/snippets_MaybeSchema.d.ts +2 -0
  297. package/dist/generators/ts/_snippets/snippets_MaybeSchema.js +8 -0
  298. package/dist/generators/ts/_snippets/snippets_NumericFilter.d.ts +2 -0
  299. package/dist/generators/ts/_snippets/snippets_NumericFilter.js +11 -0
  300. package/dist/generators/ts/_snippets/snippets_NumericSchema.d.ts +2 -0
  301. package/dist/generators/ts/_snippets/snippets_NumericSchema.js +8 -0
  302. package/dist/generators/ts/_snippets/snippets_PropertiesFromRdfParameters.d.ts +2 -0
  303. package/dist/generators/ts/_snippets/snippets_PropertiesFromRdfParameters.js +5 -0
  304. package/dist/generators/ts/_snippets/snippets_RdfVocabularies.d.ts +2 -0
  305. package/dist/generators/ts/_snippets/snippets_RdfVocabularies.js +42 -0
  306. package/dist/generators/ts/_snippets/snippets_ShaclPropertySchema.d.ts +2 -0
  307. package/dist/generators/ts/_snippets/snippets_ShaclPropertySchema.js +10 -0
  308. package/dist/generators/ts/_snippets/snippets_SparqlConstructTriplesFunction.d.ts +2 -0
  309. package/dist/generators/ts/_snippets/snippets_SparqlConstructTriplesFunction.js +6 -0
  310. package/dist/generators/ts/_snippets/snippets_SparqlConstructTriplesFunctionParameters.d.ts +2 -0
  311. package/dist/generators/ts/_snippets/snippets_SparqlConstructTriplesFunctionParameters.js +12 -0
  312. package/dist/generators/ts/_snippets/snippets_SparqlFilterPattern.d.ts +2 -0
  313. package/dist/generators/ts/_snippets/snippets_SparqlFilterPattern.js +5 -0
  314. package/dist/generators/ts/_snippets/snippets_SparqlPattern.d.ts +2 -0
  315. package/dist/generators/ts/_snippets/snippets_SparqlPattern.js +6 -0
  316. package/dist/generators/ts/_snippets/snippets_SparqlPattern_isSolutionGenerating.d.ts +2 -0
  317. package/dist/generators/ts/_snippets/snippets_SparqlPattern_isSolutionGenerating.js +32 -0
  318. package/dist/generators/ts/_snippets/snippets_SparqlWherePatternsFunction.d.ts +2 -0
  319. package/dist/generators/ts/_snippets/snippets_SparqlWherePatternsFunction.js +6 -0
  320. package/dist/generators/ts/_snippets/snippets_SparqlWherePatternsFunctionParameters.d.ts +2 -0
  321. package/dist/generators/ts/_snippets/snippets_SparqlWherePatternsFunctionParameters.js +15 -0
  322. package/dist/generators/ts/_snippets/snippets_StringFilter.d.ts +2 -0
  323. package/dist/generators/ts/_snippets/snippets_StringFilter.js +9 -0
  324. package/dist/generators/ts/_snippets/snippets_StringSchema.d.ts +2 -0
  325. package/dist/generators/ts/_snippets/snippets_StringSchema.js +8 -0
  326. package/dist/generators/ts/_snippets/snippets_TermFilter.d.ts +2 -0
  327. package/dist/generators/ts/_snippets/snippets_TermFilter.js +11 -0
  328. package/dist/generators/ts/_snippets/snippets_TermSchema.d.ts +2 -0
  329. package/dist/generators/ts/_snippets/snippets_TermSchema.js +9 -0
  330. package/dist/generators/ts/_snippets/snippets_UnwrapR.d.ts +2 -0
  331. package/dist/generators/ts/_snippets/snippets_UnwrapR.js +6 -0
  332. package/dist/generators/ts/_snippets/snippets_arrayEquals.d.ts +2 -0
  333. package/dist/generators/ts/_snippets/snippets_arrayEquals.js +71 -0
  334. package/dist/generators/ts/_snippets/snippets_arrayIntersection.d.ts +2 -0
  335. package/dist/generators/ts/_snippets/snippets_arrayIntersection.js +30 -0
  336. package/dist/generators/ts/_snippets/snippets_bigDecimalLiteral.d.ts +2 -0
  337. package/dist/generators/ts/_snippets/snippets_bigDecimalLiteral.js +12 -0
  338. package/dist/generators/ts/_snippets/snippets_bigDecimalSparqlWherePatterns.d.ts +2 -0
  339. package/dist/generators/ts/_snippets/snippets_bigDecimalSparqlWherePatterns.js +91 -0
  340. package/dist/generators/ts/_snippets/snippets_blankNodeFromString.d.ts +2 -0
  341. package/dist/generators/ts/_snippets/snippets_blankNodeFromString.js +11 -0
  342. package/dist/generators/ts/_snippets/snippets_blankNodeSparqlWherePatterns.d.ts +2 -0
  343. package/dist/generators/ts/_snippets/snippets_blankNodeSparqlWherePatterns.js +9 -0
  344. package/dist/generators/ts/_snippets/snippets_booleanEquals.d.ts +2 -0
  345. package/dist/generators/ts/_snippets/snippets_booleanEquals.js +18 -0
  346. package/dist/generators/ts/_snippets/snippets_booleanSparqlWherePatterns.d.ts +2 -0
  347. package/dist/generators/ts/_snippets/snippets_booleanSparqlWherePatterns.js +22 -0
  348. package/dist/generators/ts/_snippets/snippets_dateEquals.d.ts +2 -0
  349. package/dist/generators/ts/_snippets/snippets_dateEquals.js +15 -0
  350. package/dist/generators/ts/_snippets/snippets_dateSparqlWherePatterns.d.ts +2 -0
  351. package/dist/generators/ts/_snippets/snippets_dateSparqlWherePatterns.js +79 -0
  352. package/dist/generators/ts/_snippets/snippets_decodeBigDecimalLiteral.d.ts +2 -0
  353. package/dist/generators/ts/_snippets/snippets_decodeBigDecimalLiteral.js +11 -0
  354. package/dist/generators/ts/_snippets/snippets_deduplicateSparqlPatterns.d.ts +2 -0
  355. package/dist/generators/ts/_snippets/snippets_deduplicateSparqlPatterns.js +21 -0
  356. package/dist/generators/ts/_snippets/snippets_defaultValueSparqlWherePatterns.d.ts +2 -0
  357. package/dist/generators/ts/_snippets/snippets_defaultValueSparqlWherePatterns.js +13 -0
  358. package/dist/generators/ts/_snippets/snippets_filterArray.d.ts +2 -0
  359. package/dist/generators/ts/_snippets/snippets_filterArray.js +24 -0
  360. package/dist/generators/ts/_snippets/snippets_filterBigDecimal.d.ts +2 -0
  361. package/dist/generators/ts/_snippets/snippets_filterBigDecimal.js +29 -0
  362. package/dist/generators/ts/_snippets/snippets_filterBlankNode.d.ts +2 -0
  363. package/dist/generators/ts/_snippets/snippets_filterBlankNode.js +9 -0
  364. package/dist/generators/ts/_snippets/snippets_filterBoolean.d.ts +2 -0
  365. package/dist/generators/ts/_snippets/snippets_filterBoolean.js +12 -0
  366. package/dist/generators/ts/_snippets/snippets_filterDate.d.ts +2 -0
  367. package/dist/generators/ts/_snippets/snippets_filterDate.js +28 -0
  368. package/dist/generators/ts/_snippets/snippets_filterIdentifier.d.ts +2 -0
  369. package/dist/generators/ts/_snippets/snippets_filterIdentifier.js +17 -0
  370. package/dist/generators/ts/_snippets/snippets_filterIri.d.ts +2 -0
  371. package/dist/generators/ts/_snippets/snippets_filterIri.js +13 -0
  372. package/dist/generators/ts/_snippets/snippets_filterLiteral.d.ts +2 -0
  373. package/dist/generators/ts/_snippets/snippets_filterLiteral.js +10 -0
  374. package/dist/generators/ts/_snippets/snippets_filterMaybe.d.ts +2 -0
  375. package/dist/generators/ts/_snippets/snippets_filterMaybe.js +25 -0
  376. package/dist/generators/ts/_snippets/snippets_filterNumeric.d.ts +2 -0
  377. package/dist/generators/ts/_snippets/snippets_filterNumeric.js +28 -0
  378. package/dist/generators/ts/_snippets/snippets_filterString.d.ts +2 -0
  379. package/dist/generators/ts/_snippets/snippets_filterString.js +20 -0
  380. package/dist/generators/ts/_snippets/snippets_filterTerm.d.ts +2 -0
  381. package/dist/generators/ts/_snippets/snippets_filterTerm.js +26 -0
  382. package/dist/generators/ts/_snippets/snippets_fromRdfLanguageIn.d.ts +2 -0
  383. package/dist/generators/ts/_snippets/snippets_fromRdfLanguageIn.js +17 -0
  384. package/dist/generators/ts/_snippets/snippets_fromRdfPreferredLanguages.d.ts +2 -0
  385. package/dist/generators/ts/_snippets/snippets_fromRdfPreferredLanguages.js +25 -0
  386. package/dist/generators/ts/_snippets/snippets_identifierFromString.d.ts +2 -0
  387. package/dist/generators/ts/_snippets/snippets_identifierFromString.js +8 -0
  388. package/dist/generators/ts/_snippets/snippets_identifierSparqlWherePatterns.d.ts +2 -0
  389. package/dist/generators/ts/_snippets/snippets_identifierSparqlWherePatterns.js +36 -0
  390. package/dist/generators/ts/_snippets/snippets_iriSparqlWherePatterns.d.ts +2 -0
  391. package/dist/generators/ts/_snippets/snippets_iriSparqlWherePatterns.js +20 -0
  392. package/dist/generators/ts/_snippets/snippets_isReadonlyBigIntArray.d.ts +2 -0
  393. package/dist/generators/ts/_snippets/snippets_isReadonlyBigIntArray.js +7 -0
  394. package/dist/generators/ts/_snippets/snippets_isReadonlyBooleanArray.d.ts +2 -0
  395. package/dist/generators/ts/_snippets/snippets_isReadonlyBooleanArray.js +7 -0
  396. package/dist/generators/ts/_snippets/snippets_isReadonlyNumberArray.d.ts +2 -0
  397. package/dist/generators/ts/_snippets/snippets_isReadonlyNumberArray.js +7 -0
  398. package/dist/generators/ts/_snippets/snippets_isReadonlyObjectArray.d.ts +2 -0
  399. package/dist/generators/ts/_snippets/snippets_isReadonlyObjectArray.js +7 -0
  400. package/dist/generators/ts/_snippets/snippets_isReadonlyStringArray.d.ts +2 -0
  401. package/dist/generators/ts/_snippets/snippets_isReadonlyStringArray.js +7 -0
  402. package/dist/generators/ts/_snippets/snippets_liftSparqlPatterns.d.ts +2 -0
  403. package/dist/generators/ts/_snippets/snippets_liftSparqlPatterns.js +18 -0
  404. package/dist/generators/ts/_snippets/snippets_listSparqlConstructTriples.d.ts +2 -0
  405. package/dist/generators/ts/_snippets/snippets_listSparqlConstructTriples.js +43 -0
  406. package/dist/generators/ts/_snippets/snippets_listSparqlWherePatterns.d.ts +2 -0
  407. package/dist/generators/ts/_snippets/snippets_listSparqlWherePatterns.js +121 -0
  408. package/dist/generators/ts/_snippets/snippets_literalFactory.d.ts +2 -0
  409. package/dist/generators/ts/_snippets/snippets_literalFactory.js +5 -0
  410. package/dist/generators/ts/_snippets/snippets_literalSchemaSparqlPatterns.d.ts +2 -0
  411. package/dist/generators/ts/_snippets/snippets_literalSchemaSparqlPatterns.js +45 -0
  412. package/dist/generators/ts/_snippets/snippets_literalSparqlWherePatterns.d.ts +2 -0
  413. package/dist/generators/ts/_snippets/snippets_literalSparqlWherePatterns.js +10 -0
  414. package/dist/generators/ts/_snippets/snippets_maybeEquals.d.ts +2 -0
  415. package/dist/generators/ts/_snippets/snippets_maybeEquals.js +34 -0
  416. package/dist/generators/ts/_snippets/snippets_maybeSparqlConstructTriples.d.ts +2 -0
  417. package/dist/generators/ts/_snippets/snippets_maybeSparqlConstructTriples.js +10 -0
  418. package/dist/generators/ts/_snippets/snippets_maybeSparqlWherePatterns.d.ts +2 -0
  419. package/dist/generators/ts/_snippets/snippets_maybeSparqlWherePatterns.js +26 -0
  420. package/dist/generators/ts/_snippets/snippets_normalizeSparqlWherePatterns.d.ts +2 -0
  421. package/dist/generators/ts/_snippets/snippets_normalizeSparqlWherePatterns.js +97 -0
  422. package/dist/generators/ts/_snippets/snippets_numericSparqlWherePatterns.d.ts +2 -0
  423. package/dist/generators/ts/_snippets/snippets_numericSparqlWherePatterns.js +71 -0
  424. package/dist/generators/ts/_snippets/snippets_setSparqlConstructTriples.d.ts +2 -0
  425. package/dist/generators/ts/_snippets/snippets_setSparqlConstructTriples.js +10 -0
  426. package/dist/generators/ts/_snippets/snippets_setSparqlWherePatterns.d.ts +2 -0
  427. package/dist/generators/ts/_snippets/snippets_setSparqlWherePatterns.js +22 -0
  428. package/dist/generators/ts/_snippets/snippets_shaclPropertyFromRdf.d.ts +2 -0
  429. package/dist/generators/ts/_snippets/snippets_shaclPropertyFromRdf.js +14 -0
  430. package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlConstructTriples.d.ts +2 -0
  431. package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlConstructTriples.js +94 -0
  432. package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlWherePatterns.d.ts +2 -0
  433. package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlWherePatterns.js +92 -0
  434. package/dist/generators/ts/_snippets/snippets_sortSparqlPatterns.d.ts +2 -0
  435. package/dist/generators/ts/_snippets/snippets_sortSparqlPatterns.js +26 -0
  436. package/dist/generators/ts/_snippets/snippets_sparqlInstancesOfPattern.d.ts +2 -0
  437. package/dist/generators/ts/_snippets/snippets_sparqlInstancesOfPattern.js +32 -0
  438. package/dist/generators/ts/_snippets/snippets_sparqlPropertyPath.d.ts +2 -0
  439. package/dist/generators/ts/_snippets/snippets_sparqlPropertyPath.js +61 -0
  440. package/dist/generators/ts/_snippets/snippets_sparqlValueInPattern.d.ts +2 -0
  441. package/dist/generators/ts/_snippets/snippets_sparqlValueInPattern.js +27 -0
  442. package/dist/generators/ts/_snippets/snippets_strictEquals.d.ts +2 -0
  443. package/dist/generators/ts/_snippets/snippets_strictEquals.js +14 -0
  444. package/dist/generators/ts/_snippets/snippets_stringSparqlWherePatterns.d.ts +2 -0
  445. package/dist/generators/ts/_snippets/snippets_stringSparqlWherePatterns.js +47 -0
  446. package/dist/generators/ts/_snippets/snippets_termFilterSparqlPatterns.d.ts +2 -0
  447. package/dist/generators/ts/_snippets/snippets_termFilterSparqlPatterns.js +98 -0
  448. package/dist/generators/ts/_snippets/snippets_termSchemaSparqlPatterns.d.ts +2 -0
  449. package/dist/generators/ts/_snippets/snippets_termSchemaSparqlPatterns.js +29 -0
  450. package/dist/generators/ts/_snippets/snippets_termSparqlWherePatterns.d.ts +2 -0
  451. package/dist/generators/ts/_snippets/snippets_termSparqlWherePatterns.js +11 -0
  452. package/dist/generators/ts/codeEquals.d.ts +3 -0
  453. package/dist/generators/ts/codeEquals.js +7 -0
  454. package/dist/generators/ts/graphqlSchemaVariableStatement.d.ts +2 -2
  455. package/dist/generators/ts/graphqlSchemaVariableStatement.js +56 -60
  456. package/dist/generators/ts/imports.d.ts +40 -0
  457. package/dist/generators/ts/imports.js +41 -0
  458. package/dist/generators/ts/objectSetDeclarations.d.ts +2 -2
  459. package/dist/generators/ts/objectSetDeclarations.js +5 -7
  460. package/dist/generators/ts/objectSetInterfaceDeclaration.d.ts +2 -2
  461. package/dist/generators/ts/objectSetInterfaceDeclaration.js +19 -41
  462. package/dist/generators/ts/objectSetMethodSignatures.d.ts +9 -3
  463. package/dist/generators/ts/objectSetMethodSignatures.js +14 -34
  464. package/dist/generators/ts/rdfjsDatasetObjectSetClassDeclaration.d.ts +2 -2
  465. package/dist/generators/ts/rdfjsDatasetObjectSetClassDeclaration.js +279 -359
  466. package/dist/generators/ts/rdfjsTermExpression.d.ts +2 -1
  467. package/dist/generators/ts/rdfjsTermExpression.js +28 -10
  468. package/dist/generators/ts/removeUndefined.d.ts +2 -0
  469. package/dist/generators/ts/removeUndefined.js +17 -0
  470. package/dist/generators/ts/snippets.d.ts +104 -0
  471. package/dist/generators/ts/snippets.js +205 -0
  472. package/dist/generators/ts/sparqlObjectSetClassDeclaration.d.ts +2 -2
  473. package/dist/generators/ts/sparqlObjectSetClassDeclaration.js +209 -388
  474. package/dist/generators/ts/synthesizeUberObjectUnionType.d.ts +9 -0
  475. package/dist/generators/ts/synthesizeUberObjectUnionType.js +59 -0
  476. package/dist/generators/ts/ts-poet-wrapper.d.ts +5 -0
  477. package/dist/generators/ts/ts-poet-wrapper.js +13 -0
  478. package/dist/generators/ts/tsName.d.ts +11 -2
  479. package/dist/generators/ts/tsName.js +25 -28
  480. package/dist/generators/ts/unsupportedObjectSetMethodDeclarations.d.ts +4 -3
  481. package/dist/generators/ts/unsupportedObjectSetMethodDeclarations.js +18 -15
  482. package/dist/index.d.ts +6 -1
  483. package/dist/index.js +5 -1
  484. package/dist/input/NodeShape.d.ts +14 -11
  485. package/dist/input/NodeShape.js +87 -80
  486. package/dist/input/Ontology.d.ts +1 -1
  487. package/dist/input/Ontology.js +13 -0
  488. package/dist/input/PropertyShape.d.ts +8 -5
  489. package/dist/input/PropertyShape.js +46 -9
  490. package/dist/input/ShapesGraph.d.ts +23 -6
  491. package/dist/input/ShapesGraph.js +58 -39
  492. package/dist/input/ancestorClassIris.js +4 -1
  493. package/dist/input/descendantClassIris.js +8 -2
  494. package/dist/input/generated.d.ts +3032 -1044
  495. package/dist/input/generated.js +3595 -2734
  496. package/dist/input/index.d.ts +1 -1
  497. package/dist/input/index.js +1 -1
  498. package/dist/input/tsFeatures.d.ts +1 -1
  499. package/package.json +39 -45
  500. package/dist/_ShapesGraphToAstTransformer/InheritableShapeConstraints.d.ts +0 -2
  501. package/dist/_ShapesGraphToAstTransformer/InheritableShapeConstraints.js +0 -2
  502. package/dist/_ShapesGraphToAstTransformer/flattenAstObjectCompositeTypeMemberTypes.d.ts +0 -13
  503. package/dist/_ShapesGraphToAstTransformer/flattenAstObjectCompositeTypeMemberTypes.js +0 -51
  504. package/dist/_ShapesGraphToAstTransformer/pickLiteral.d.ts +0 -4
  505. package/dist/_ShapesGraphToAstTransformer/pickLiteral.js +0 -18
  506. package/dist/_ShapesGraphToAstTransformer/propertyShapeNodeKinds.d.ts +0 -4
  507. package/dist/_ShapesGraphToAstTransformer/propertyShapeNodeKinds.js +0 -26
  508. package/dist/_ShapesGraphToAstTransformer/shapeAstName.d.ts +0 -5
  509. package/dist/_ShapesGraphToAstTransformer/shapeAstName.js +0 -69
  510. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstCompositeType.d.ts +0 -10
  511. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstCompositeType.js +0 -185
  512. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstIdentifierType.d.ts +0 -10
  513. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstIdentifierType.js +0 -32
  514. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstLiteralType.d.ts +0 -10
  515. package/dist/_ShapesGraphToAstTransformer/transformShapeToAstLiteralType.js +0 -46
  516. package/dist/ast/CompositeType.d.ts +0 -13
  517. package/dist/ast/CompositeType.js +0 -2
  518. package/dist/ast/Name.d.ts +0 -49
  519. package/dist/ast/Name.js +0 -2
  520. package/dist/ast/ObjectCompositeType.d.ts +0 -33
  521. package/dist/ast/ObjectCompositeType.js +0 -2
  522. package/dist/generators/ts/DeclaredType.d.ts +0 -17
  523. package/dist/generators/ts/DeclaredType.js +0 -13
  524. package/dist/generators/ts/Import.d.ts +0 -20
  525. package/dist/generators/ts/Import.js +0 -65
  526. package/dist/generators/ts/NumberType.d.ts +0 -13
  527. package/dist/generators/ts/NumberType.js +0 -71
  528. package/dist/generators/ts/PrimitiveType.d.ts +0 -21
  529. package/dist/generators/ts/PrimitiveType.js +0 -57
  530. package/dist/generators/ts/SnippetDeclarations.d.ts +0 -17
  531. package/dist/generators/ts/SnippetDeclarations.js +0 -367
  532. package/dist/generators/ts/_ObjectType/EagerShaclProperty.d.ts +0 -12
  533. package/dist/generators/ts/_ObjectType/EagerShaclProperty.js +0 -31
  534. package/dist/generators/ts/_ObjectType/LazyShaclProperty.d.ts +0 -100
  535. package/dist/generators/ts/_ObjectType/LazyShaclProperty.js +0 -315
  536. package/dist/generators/ts/_ObjectType/TypeDiscriminatorProperty.d.ts +0 -51
  537. package/dist/generators/ts/_ObjectType/TypeDiscriminatorProperty.js +0 -138
  538. package/dist/generators/ts/_ObjectType/classDeclaration.d.ts +0 -5
  539. package/dist/generators/ts/_ObjectType/classDeclaration.js +0 -122
  540. package/dist/generators/ts/_ObjectType/createFunctionDeclaration.d.ts +0 -5
  541. package/dist/generators/ts/_ObjectType/createFunctionDeclaration.js +0 -73
  542. package/dist/generators/ts/_ObjectType/equalsFunctionDeclaration.d.ts +0 -5
  543. package/dist/generators/ts/_ObjectType/equalsFunctionDeclaration.js +0 -19
  544. package/dist/generators/ts/_ObjectType/equalsFunctionOrMethodDeclaration.d.ts +0 -11
  545. package/dist/generators/ts/_ObjectType/equalsFunctionOrMethodDeclaration.js +0 -73
  546. package/dist/generators/ts/_ObjectType/fromRdfTypeVariableStatement.d.ts +0 -5
  547. package/dist/generators/ts/_ObjectType/fromRdfTypeVariableStatement.js +0 -28
  548. package/dist/generators/ts/_ObjectType/graphqlTypeVariableStatement.d.ts +0 -5
  549. package/dist/generators/ts/_ObjectType/graphqlTypeVariableStatement.js +0 -49
  550. package/dist/generators/ts/_ObjectType/hashFunctionDeclarations.d.ts +0 -4
  551. package/dist/generators/ts/_ObjectType/hashFunctionDeclarations.js +0 -18
  552. package/dist/generators/ts/_ObjectType/hashFunctionOrMethodDeclarations.d.ts +0 -13
  553. package/dist/generators/ts/_ObjectType/hashFunctionOrMethodDeclarations.js +0 -96
  554. package/dist/generators/ts/_ObjectType/index.d.ts +0 -22
  555. package/dist/generators/ts/_ObjectType/index.js +0 -22
  556. package/dist/generators/ts/_ObjectType/interfaceDeclaration.d.ts +0 -5
  557. package/dist/generators/ts/_ObjectType/interfaceDeclaration.js +0 -21
  558. package/dist/generators/ts/_ObjectType/jsonFunctionDeclarations.d.ts +0 -4
  559. package/dist/generators/ts/_ObjectType/jsonFunctionDeclarations.js +0 -189
  560. package/dist/generators/ts/_ObjectType/jsonTypeAliasDeclaration.d.ts +0 -5
  561. package/dist/generators/ts/_ObjectType/jsonTypeAliasDeclaration.js +0 -28
  562. package/dist/generators/ts/_ObjectType/objectSetMethodNames.d.ts +0 -9
  563. package/dist/generators/ts/_ObjectType/propertiesVariableStatement.d.ts +0 -5
  564. package/dist/generators/ts/_ObjectType/propertiesVariableStatement.js +0 -37
  565. package/dist/generators/ts/_ObjectType/rdfFunctionDeclarations.d.ts +0 -4
  566. package/dist/generators/ts/_ObjectType/rdfFunctionDeclarations.js +0 -169
  567. package/dist/generators/ts/_ObjectType/sparqlConstructQueryFunctionDeclaration.d.ts +0 -5
  568. package/dist/generators/ts/_ObjectType/sparqlConstructQueryFunctionDeclaration.js +0 -22
  569. package/dist/generators/ts/_ObjectType/sparqlConstructQueryStringFunctionDeclaration.d.ts +0 -5
  570. package/dist/generators/ts/_ObjectType/sparqlConstructQueryStringFunctionDeclaration.js +0 -21
  571. package/dist/generators/ts/_ObjectType/sparqlFunctionDeclarations.d.ts +0 -4
  572. package/dist/generators/ts/_ObjectType/sparqlFunctionDeclarations.js +0 -166
  573. package/dist/generators/ts/_ObjectType/toJsonFunctionOrMethodDeclaration.d.ts +0 -10
  574. package/dist/generators/ts/_ObjectType/toRdfFunctionOrMethodDeclaration.d.ts +0 -10
  575. package/dist/generators/ts/_ObjectType/toRdfFunctionOrMethodDeclaration.js +0 -76
  576. package/dist/generators/ts/forwardingObjectSetClassDeclaration.d.ts +0 -8
  577. package/dist/generators/ts/forwardingObjectSetClassDeclaration.js +0 -29
  578. package/dist/generators/ts/objectInitializer.d.ts +0 -2
  579. package/dist/generators/ts/objectInitializer.js +0 -14
  580. package/dist/input/PropertyPath.d.ts +0 -41
  581. package/dist/input/PropertyPath.js +0 -95
@@ -1,41 +1,21 @@
1
- import type { NamedNode } from "@rdfjs/types";
2
- import type { NodeKind, PredicatePath } from "@shaclmate/shacl-ast";
1
+ import type { BlankNode, NamedNode } from "@rdfjs/types";
3
2
  import type { Maybe } from "purify-ts";
3
+ import { PropertyPath } from "rdfjs-resource";
4
4
  import type { IdentifierMintingStrategy, PropertyVisibility, TsFeature, TsObjectDeclarationType } from "../enums/index.js";
5
- import type { Name } from "./Name.js";
6
- import type { ObjectUnionType } from "./ObjectUnionType.js";
7
- import type { OptionType } from "./OptionType.js";
8
- import type { SetType } from "./SetType.js";
9
- import type { Type } from "./Type.js";
10
- export interface ObjectType {
5
+ import { AbstractType } from "./AbstractType.js";
6
+ import type { BlankNodeType } from "./BlankNodeType.js";
7
+ import type { Curie } from "./Curie.js";
8
+ import type { IdentifierType } from "./IdentifierType.js";
9
+ import type { IriType } from "./IriType.js";
10
+ import { Type } from "./Type.js";
11
+ export declare class ObjectType extends AbstractType {
12
+ #private;
11
13
  /**
12
14
  * Classes generated from this type are abstract / cannot be instantiated themselves.
13
15
  *
14
16
  * Defaults to false.
15
17
  */
16
18
  readonly abstract: boolean;
17
- /**
18
- * Ancestor (parents, their parents, ad nauseum) ObjectTypes of this ObjectType.
19
- *
20
- * Mutable to support cycle-handling logic in the compiler.
21
- */
22
- readonly ancestorObjectTypes: ObjectType[];
23
- /**
24
- * Immediate child ObjectTypes of this ObjectType.
25
- *
26
- * Mutable to support cycle-handling logic in the compiler.
27
- */
28
- readonly childObjectTypes: ObjectType[];
29
- /**
30
- * Documentation comment from rdfs:comment.
31
- */
32
- readonly comment: Maybe<string>;
33
- /**
34
- * Descendant (children, their children, ad nauseum) ObjectTypes of this ObjectType.
35
- *
36
- * Mutable to support cycle-handling logic in the compiler.
37
- */
38
- readonly descendantObjectTypes: ObjectType[];
39
19
  /**
40
20
  * Should generated code derived from this ObjectType be visible outside its module?
41
21
  *
@@ -55,46 +35,26 @@ export interface ObjectType {
55
35
  * class targets).
56
36
  */
57
37
  readonly fromRdfType: Maybe<NamedNode>;
58
- /**
59
- * Instances of this ObjectType must have explicit identifiers and the identifiers must be in this list of IRIs.
60
- *
61
- * Mutually exclusive with minting strategies
62
- */
63
- readonly identifierIn: readonly NamedNode[];
64
- /**
65
- * The RDF node kinds this ObjectType may be identified by.
66
- *
67
- * Used to associate instances with an RDF identifier.
68
- */
69
- readonly identifierNodeKinds: Set<Exclude<NodeKind, "Literal">>;
70
38
  /**
71
39
  * Strategy for minting new object identifiers.
72
40
  */
73
41
  readonly identifierMintingStrategy: Maybe<IdentifierMintingStrategy>;
74
42
  /**
75
- * Type discriminator.
76
- */
77
- readonly kind: "ObjectType";
78
- /**
79
- * Human-readable label from rdfs:label.
43
+ * Identifier type.
80
44
  */
81
- readonly label: Maybe<string>;
45
+ readonly identifierType: BlankNodeType | IdentifierType | IriType;
82
46
  /**
83
- * Name of this type, usually derived from sh:name or shaclmate:name.
47
+ * Type discriminant.
84
48
  */
85
- readonly name: Name;
49
+ readonly kind = "ObjectType";
86
50
  /**
87
- * Immediate parent ObjectTypes of this Object types.
88
- *
89
- * Mutable to support cycle-handling logic in the compiler.
51
+ * Name of this type, from shaclmate:name.
90
52
  */
91
- readonly parentObjectTypes: ObjectType[];
53
+ readonly name: Maybe<string>;
92
54
  /**
93
- * Properties of this ObjectType.
94
- *
95
- * Mutable to support cycle-handling logic in the compiler.
55
+ * Identifier of the shape this ObjectType was derived from.
96
56
  */
97
- readonly properties: ObjectType.Property[];
57
+ readonly shapeIdentifier: BlankNode | NamedNode;
98
58
  /**
99
59
  * Was this type synthesized or did it come from SHACL?
100
60
  */
@@ -109,7 +69,7 @@ export interface ObjectType {
109
69
  /**
110
70
  * TypeScript features to generate.
111
71
  */
112
- readonly tsFeatures: Set<TsFeature>;
72
+ readonly tsFeatures: ReadonlySet<TsFeature>;
113
73
  /**
114
74
  * TypeScript imports to add to generated code.
115
75
  *
@@ -123,9 +83,37 @@ export interface ObjectType {
123
83
  * Whether to generate a TypeScript class or interface for this type.
124
84
  */
125
85
  readonly tsObjectDeclarationType: TsObjectDeclarationType;
86
+ constructor({ abstract, export_, extern, fromRdfType, identifierMintingStrategy, identifierType, name, shapeIdentifier, synthetic, toRdfTypes, tsFeatures, tsImports, tsObjectDeclarationType, ...superParameters }: {
87
+ abstract: boolean;
88
+ export_: boolean;
89
+ extern: boolean;
90
+ fromRdfType: Maybe<NamedNode>;
91
+ identifierMintingStrategy: Maybe<IdentifierMintingStrategy>;
92
+ identifierType: BlankNodeType | IdentifierType | IriType;
93
+ name: Maybe<string>;
94
+ shapeIdentifier: BlankNode | Curie | NamedNode;
95
+ synthetic: boolean;
96
+ toRdfTypes: readonly NamedNode[];
97
+ tsFeatures: ReadonlySet<TsFeature>;
98
+ tsImports: readonly string[];
99
+ tsObjectDeclarationType: TsObjectDeclarationType;
100
+ } & ConstructorParameters<typeof AbstractType>[0]);
101
+ addAncestorObjectTypes(...ancestorObjectTypes: readonly ObjectType[]): void;
102
+ addChildObjectTypes(...childObjectTypes: readonly ObjectType[]): void;
103
+ addDescendantObjectTypes(...descendantObjectTypes: readonly ObjectType[]): void;
104
+ addParentObjectTypes(...parentObjectTypes: readonly ObjectType[]): void;
105
+ addProperties(...properties: readonly ObjectType.Property[]): void;
106
+ get ancestorObjectTypes(): readonly ObjectType[];
107
+ get childObjectTypes(): readonly ObjectType[];
108
+ get descendantObjectTypes(): readonly ObjectType[];
109
+ get parentObjectTypes(): readonly ObjectType[];
110
+ get properties(): readonly ObjectType.Property[];
111
+ equals(other: ObjectType): boolean;
112
+ sortProperties(): void;
113
+ toString(): string;
126
114
  }
127
115
  export declare namespace ObjectType {
128
- interface Property {
116
+ class Property {
129
117
  /**
130
118
  * Documentation comment from rdfs:comment.
131
119
  */
@@ -142,11 +130,15 @@ export declare namespace ObjectType {
142
130
  * The property should be mutable in generated code i.e., it should be re-assignable. The property value may or may
143
131
  * not be mutable.
144
132
  */
145
- readonly mutable: Maybe<boolean>;
133
+ readonly mutable: boolean;
134
+ /**
135
+ * Object type this property belongs to.
136
+ */
137
+ readonly objectType: ObjectType;
146
138
  /**
147
- * Name of this property.
139
+ * Name of this property, derived from sh:name or shaclmate:name.
148
140
  */
149
- readonly name: Name;
141
+ readonly name: Maybe<string>;
150
142
  /**
151
143
  * Relative order of this property, derived from sh:order.
152
144
  */
@@ -154,17 +146,11 @@ export declare namespace ObjectType {
154
146
  /**
155
147
  * SHACL property path (https://www.w3.org/TR/shacl/#property-paths)
156
148
  */
157
- readonly path: PredicatePath;
149
+ readonly path: Curie | PropertyPath;
158
150
  /**
159
- * Does the property directly or indirectly reference the ObjectType itself?
151
+ * Identifier of the property shape.
160
152
  */
161
- readonly recursive?: boolean;
162
- /**
163
- * The property will be resolved lazily, with this type serving as a stub before resolution of the actual type (type).
164
- *
165
- * This type will mirror type: if type is an OptionType<ObjectType>, this will also be an OptionType<ObjectType>.
166
- */
167
- readonly stubType: Maybe<ObjectType | ObjectUnionType | OptionType<ObjectType | ObjectUnionType> | SetType<ObjectType | ObjectUnionType>>;
153
+ readonly shapeIdentifier: BlankNode | NamedNode;
168
154
  /**
169
155
  * Type of this property.
170
156
  */
@@ -173,7 +159,28 @@ export declare namespace ObjectType {
173
159
  * Visibility: private, protected, public.
174
160
  */
175
161
  readonly visibility: PropertyVisibility;
162
+ constructor({ comment, description, label, mutable, name, objectType, order, path, shapeIdentifier, type, visibility, }: {
163
+ comment: Maybe<string>;
164
+ description: Maybe<string>;
165
+ label: Maybe<string>;
166
+ mutable: boolean;
167
+ name: Maybe<string>;
168
+ objectType: ObjectType;
169
+ order: number;
170
+ path: Curie | PropertyPath;
171
+ shapeIdentifier: BlankNode | NamedNode;
172
+ type: Type;
173
+ visibility: PropertyVisibility;
174
+ });
175
+ equals(other: Property): boolean;
176
+ /**
177
+ * Does the property directly or indirectly reference the ObjectType itself?
178
+ */
179
+ get recursive(): boolean;
180
+ toString(): string;
176
181
  }
182
+ }
183
+ export declare namespace ObjectType {
177
184
  function toposort(objectTypes: readonly ObjectType[]): readonly ObjectType[];
178
185
  }
179
186
  //# sourceMappingURL=ObjectType.d.ts.map
@@ -1,25 +1,418 @@
1
- import { Resource } from "rdfjs-resource";
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { PropertyPath, Resource } from "rdfjs-resource";
2
8
  import genericToposort from "toposort";
3
- export var ObjectType;
9
+ import { invariant } from "ts-invariant";
10
+ import { Memoize } from "typescript-memoize";
11
+ import { AbstractType } from "./AbstractType.js";
12
+ import { arrayEquals } from "./equals.js";
13
+ import { Type } from "./Type.js";
14
+ export class ObjectType extends AbstractType {
15
+ /**
16
+ * Classes generated from this type are abstract / cannot be instantiated themselves.
17
+ *
18
+ * Defaults to false.
19
+ */
20
+ abstract;
21
+ /**
22
+ * Ancestor (parents, their parents, ad nauseum) ObjectTypes of this ObjectType.
23
+ *
24
+ * Mutable to support cycle-handling logic in the compiler.
25
+ */
26
+ #ancestorObjectTypes = [];
27
+ /**
28
+ * Immediate child ObjectTypes of this ObjectType.
29
+ *
30
+ * Mutable to support cycle-handling logic in the compiler.
31
+ */
32
+ #childObjectTypes = [];
33
+ /**
34
+ * Descendant (children, their children, ad nauseum) ObjectTypes of this ObjectType.
35
+ *
36
+ * Mutable to support cycle-handling logic in the compiler.
37
+ */
38
+ #descendantObjectTypes = [];
39
+ /**
40
+ * Should generated code derived from this ObjectType be visible outside its module?
41
+ *
42
+ * Defaults to true.
43
+ */
44
+ export;
45
+ /**
46
+ * If true, the code for this ObjectType is defined externally and should not be generated.
47
+ *
48
+ * Defaults to false.
49
+ */
50
+ extern;
51
+ /**
52
+ * The expected rdf:type of instances of this ObjectType.
53
+ *
54
+ * This is usually the identifier of an sh:NodeShape that is also an rdfs:Class (i.e., a node shape with implicit
55
+ * class targets).
56
+ */
57
+ fromRdfType;
58
+ /**
59
+ * Strategy for minting new object identifiers.
60
+ */
61
+ identifierMintingStrategy;
62
+ /**
63
+ * Identifier type.
64
+ */
65
+ identifierType;
66
+ /**
67
+ * Type discriminant.
68
+ */
69
+ kind = "ObjectType";
70
+ /**
71
+ * Name of this type, from shaclmate:name.
72
+ */
73
+ name;
74
+ /**
75
+ * Immediate parent ObjectTypes of this Object types.
76
+ *
77
+ * Mutable to support cycle-handling logic in the compiler.
78
+ */
79
+ #parentObjectTypes = [];
80
+ /**
81
+ * Properties of this ObjectType.
82
+ *
83
+ * Mutable to support cycle-handling logic in the compiler.
84
+ */
85
+ #properties = [];
86
+ /**
87
+ * Identifier of the shape this ObjectType was derived from.
88
+ */
89
+ shapeIdentifier;
90
+ /**
91
+ * Was this type synthesized or did it come from SHACL?
92
+ */
93
+ synthetic;
94
+ /**
95
+ * rdf:type's that will be added to this object when it's serialized toRdf.
96
+ *
97
+ * This is usually the identifier of an sh:NodeShape that is also an rdfs:Class (i.e., a node shape with implicit
98
+ * class targets).
99
+ */
100
+ toRdfTypes;
101
+ /**
102
+ * TypeScript features to generate.
103
+ */
104
+ tsFeatures;
105
+ /**
106
+ * TypeScript imports to add to generated code.
107
+ *
108
+ * This is often used in conjunction with extern=true to import the extern'd ObjectType code in order for generated
109
+ * code to reference it.
110
+ *
111
+ * import { MyType } from "./MyType.js"
112
+ */
113
+ tsImports;
114
+ /**
115
+ * Whether to generate a TypeScript class or interface for this type.
116
+ */
117
+ tsObjectDeclarationType;
118
+ constructor({ abstract, export_, extern, fromRdfType, identifierMintingStrategy, identifierType, name, shapeIdentifier, synthetic, toRdfTypes, tsFeatures, tsImports, tsObjectDeclarationType, ...superParameters }) {
119
+ super(superParameters);
120
+ this.abstract = abstract;
121
+ this.export = export_;
122
+ this.extern = extern;
123
+ this.fromRdfType = fromRdfType;
124
+ this.identifierMintingStrategy = identifierMintingStrategy;
125
+ this.identifierType = identifierType;
126
+ this.name = name;
127
+ this.shapeIdentifier = shapeIdentifier;
128
+ this.synthetic = synthetic;
129
+ this.toRdfTypes = toRdfTypes;
130
+ this.tsFeatures = tsFeatures;
131
+ this.tsImports = tsImports;
132
+ this.tsObjectDeclarationType = tsObjectDeclarationType;
133
+ }
134
+ addAncestorObjectTypes(...ancestorObjectTypes) {
135
+ this.#ancestorObjectTypes.push(...ancestorObjectTypes);
136
+ }
137
+ addChildObjectTypes(...childObjectTypes) {
138
+ this.#childObjectTypes.push(...childObjectTypes);
139
+ }
140
+ addDescendantObjectTypes(...descendantObjectTypes) {
141
+ this.#descendantObjectTypes.push(...descendantObjectTypes);
142
+ }
143
+ addParentObjectTypes(...parentObjectTypes) {
144
+ this.#parentObjectTypes.push(...parentObjectTypes);
145
+ }
146
+ addProperties(...properties) {
147
+ this.#properties.push(...properties);
148
+ for (const property of properties) {
149
+ invariant(Object.is(property.objectType, this));
150
+ }
151
+ }
152
+ get ancestorObjectTypes() {
153
+ return this.#ancestorObjectTypes;
154
+ }
155
+ get childObjectTypes() {
156
+ return this.#childObjectTypes;
157
+ }
158
+ get descendantObjectTypes() {
159
+ return this.#descendantObjectTypes;
160
+ }
161
+ get parentObjectTypes() {
162
+ return this.#parentObjectTypes;
163
+ }
164
+ get properties() {
165
+ return this.#properties;
166
+ }
167
+ equals(other) {
168
+ // Don't recurse
169
+ return this.shapeIdentifier.equals(other.shapeIdentifier);
170
+ }
171
+ sortProperties() {
172
+ this.#properties.sort((left, right) => {
173
+ if (left.order < right.order) {
174
+ return -1;
175
+ }
176
+ if (left.order > right.order) {
177
+ return 1;
178
+ }
179
+ return 0;
180
+ });
181
+ }
182
+ toString() {
183
+ return `${this.kind}(shapeIdentifier=${Resource.Identifier.toString(this.shapeIdentifier)})`;
184
+ }
185
+ }
186
+ (function (ObjectType) {
187
+ class Property {
188
+ /**
189
+ * Documentation comment from rdfs:comment.
190
+ */
191
+ comment;
192
+ /**
193
+ * Description from sh:description.
194
+ */
195
+ description;
196
+ /**
197
+ * Human-readable label from rdfs:label.
198
+ */
199
+ label;
200
+ /**
201
+ * The property should be mutable in generated code i.e., it should be re-assignable. The property value may or may
202
+ * not be mutable.
203
+ */
204
+ mutable;
205
+ /**
206
+ * Object type this property belongs to.
207
+ */
208
+ objectType;
209
+ /**
210
+ * Name of this property, derived from sh:name or shaclmate:name.
211
+ */
212
+ name;
213
+ /**
214
+ * Relative order of this property, derived from sh:order.
215
+ */
216
+ order;
217
+ /**
218
+ * SHACL property path (https://www.w3.org/TR/shacl/#property-paths)
219
+ */
220
+ path;
221
+ /**
222
+ * Identifier of the property shape.
223
+ */
224
+ shapeIdentifier;
225
+ /**
226
+ * Type of this property.
227
+ */
228
+ type;
229
+ /**
230
+ * Visibility: private, protected, public.
231
+ */
232
+ visibility;
233
+ constructor({ comment, description, label, mutable, name, objectType, order, path, shapeIdentifier, type, visibility, }) {
234
+ this.comment = comment;
235
+ this.description = description;
236
+ this.label = label;
237
+ this.mutable = mutable;
238
+ this.name = name;
239
+ this.objectType = objectType;
240
+ this.order = order;
241
+ this.path = path;
242
+ this.shapeIdentifier = shapeIdentifier;
243
+ this.type = type;
244
+ this.visibility = visibility;
245
+ }
246
+ equals(other) {
247
+ return this.shapeIdentifier.equals(other.shapeIdentifier);
248
+ }
249
+ /**
250
+ * Does the property directly or indirectly reference the ObjectType itself?
251
+ */
252
+ get recursive() {
253
+ const DEBUG = false;
254
+ const rootObjectType = this.objectType;
255
+ const rootProperty = this;
256
+ function helper(stack) {
257
+ const currentStackFrame = stack.at(-1);
258
+ const { objectType, property, propertyType } = currentStackFrame;
259
+ if (DEBUG) {
260
+ process.stderr.write(`${[
261
+ stack.length.toString(),
262
+ rootObjectType,
263
+ rootProperty,
264
+ objectType,
265
+ property,
266
+ propertyType
267
+ ? `[${propertyType.map(Type.toString).join(", ")}]`
268
+ : "undefined",
269
+ ].join(",")}\n`);
270
+ }
271
+ for (const lowerStackFrame of stack.slice(0, -1)) {
272
+ if (!Type.equals(currentStackFrame.objectType, lowerStackFrame.objectType)) {
273
+ continue;
274
+ }
275
+ if (!currentStackFrame.property.equals(lowerStackFrame.property)) {
276
+ continue;
277
+ }
278
+ if (!arrayEquals(Type.equals)(currentStackFrame.propertyType ?? [], lowerStackFrame.propertyType ?? [])) {
279
+ continue;
280
+ }
281
+ // We've seen this combination before and don't want to recurse further, to avoid infinite recursion
282
+ if (DEBUG) {
283
+ process.stderr.write("recursion detected, halting");
284
+ }
285
+ return true;
286
+ }
287
+ if (!propertyType) {
288
+ return helper(stack.concat({
289
+ objectType,
290
+ property,
291
+ propertyType: [property.type],
292
+ }));
293
+ }
294
+ invariant(propertyType.length > 0);
295
+ const currentPropertyType = propertyType.at(-1);
296
+ switch (currentPropertyType.kind) {
297
+ case "BlankNodeType":
298
+ case "IdentifierType":
299
+ case "IriType":
300
+ case "LiteralType":
301
+ case "PlaceholderType":
302
+ case "TermType":
303
+ return false;
304
+ case "LazyObjectOptionType":
305
+ case "LazyObjectSetType":
306
+ case "LazyObjectType": {
307
+ if (helper(stack.concat({
308
+ objectType,
309
+ property,
310
+ propertyType: propertyType.concat(currentPropertyType.partialType),
311
+ }))) {
312
+ return true;
313
+ }
314
+ if (helper(stack.concat({
315
+ objectType,
316
+ property,
317
+ propertyType: propertyType.concat(currentPropertyType.resolveType),
318
+ }))) {
319
+ return true;
320
+ }
321
+ return false;
322
+ }
323
+ case "ObjectType": {
324
+ if (DEBUG) {
325
+ process.stderr.write(`recurse into ${currentPropertyType}`);
326
+ }
327
+ for (const property of currentPropertyType.properties) {
328
+ if (helper(stack.concat({
329
+ objectType: currentPropertyType,
330
+ property,
331
+ }))) {
332
+ return true;
333
+ }
334
+ }
335
+ return false;
336
+ }
337
+ case "IntersectionType":
338
+ case "UnionType": {
339
+ if (DEBUG) {
340
+ process.stderr.write(`recurse into ${currentPropertyType}`);
341
+ }
342
+ for (const memberType of currentPropertyType.memberTypes) {
343
+ if (helper(stack.concat({
344
+ objectType,
345
+ property,
346
+ propertyType: propertyType.concat(memberType),
347
+ }))) {
348
+ return true;
349
+ }
350
+ }
351
+ return false;
352
+ }
353
+ case "ObjectIntersectionType":
354
+ case "ObjectUnionType": {
355
+ if (DEBUG) {
356
+ process.stderr.write(`recurse into ${currentPropertyType}`);
357
+ }
358
+ for (const memberType of currentPropertyType.memberObjectTypes) {
359
+ for (const property of memberType.properties) {
360
+ if (helper(stack.concat({
361
+ objectType: memberType,
362
+ property,
363
+ }))) {
364
+ return true;
365
+ }
366
+ }
367
+ }
368
+ return false;
369
+ }
370
+ case "DefaultValueType":
371
+ case "ListType":
372
+ case "OptionType":
373
+ case "SetType":
374
+ return helper(stack.concat({
375
+ objectType,
376
+ property,
377
+ propertyType: propertyType.concat(currentPropertyType.itemType),
378
+ }));
379
+ }
380
+ }
381
+ return helper([{ objectType: rootObjectType, property: rootProperty }]);
382
+ }
383
+ toString() {
384
+ return `${this.name.orDefault(Resource.Identifier.toString(this.shapeIdentifier))}(path=${PropertyPath.$toString(this.path)})`;
385
+ }
386
+ }
387
+ __decorate([
388
+ Memoize()
389
+ ], Property.prototype, "recursive", null);
390
+ ObjectType.Property = Property;
391
+ })(ObjectType || (ObjectType = {}));
4
392
  (function (ObjectType) {
5
393
  function toposort(objectTypes) {
6
- const objectTypesByIdentifier = {};
394
+ const objectTypesByShapeIdentifier = {};
7
395
  const objectTypeGraphNodes = [];
8
396
  const objectTypeGraphEdges = [];
9
397
  for (const objectType of objectTypes) {
10
- const objectTypeIdentifier = Resource.Identifier.toString(objectType.name.identifier);
11
- objectTypesByIdentifier[objectTypeIdentifier] = objectType;
12
- objectTypeGraphNodes.push(objectTypeIdentifier);
398
+ const objectTypeShapeIdentifier = Resource.Identifier.toString(objectType.shapeIdentifier);
399
+ invariant(!objectTypesByShapeIdentifier[objectTypeShapeIdentifier]);
400
+ objectTypesByShapeIdentifier[objectTypeShapeIdentifier] = objectType;
401
+ objectTypeGraphNodes.push(objectTypeShapeIdentifier);
13
402
  for (const parentAstObjectType of objectType.parentObjectTypes) {
403
+ // console.log(
404
+ // objectTypeShapeIdentifier,
405
+ // Resource.Identifier.toString(parentAstObjectType.shapeIdentifier),
406
+ // );
14
407
  objectTypeGraphEdges.push([
15
- objectTypeIdentifier,
16
- Resource.Identifier.toString(parentAstObjectType.name.identifier),
408
+ objectTypeShapeIdentifier,
409
+ Resource.Identifier.toString(parentAstObjectType.shapeIdentifier),
17
410
  ]);
18
411
  }
19
412
  }
20
413
  return genericToposort
21
414
  .array(objectTypeGraphNodes, objectTypeGraphEdges)
22
- .map((objectTypeIdentifier) => objectTypesByIdentifier[objectTypeIdentifier])
415
+ .map((objectTypeIdentifier) => objectTypesByShapeIdentifier[objectTypeIdentifier])
23
416
  .reverse();
24
417
  }
25
418
  ObjectType.toposort = toposort;
@@ -1,8 +1,8 @@
1
- import type { ObjectCompositeType } from "./ObjectCompositeType.js";
1
+ import { AbstractObjectCompoundType } from "./AbstractObjectCompoundType.js";
2
2
  /**
3
3
  * A disjunction/union of object types, corresponding to an sh:xone on a node shape.
4
4
  */
5
- export interface ObjectUnionType extends ObjectCompositeType {
6
- readonly kind: "ObjectUnionType";
5
+ export declare class ObjectUnionType extends AbstractObjectCompoundType<ObjectUnionType> {
6
+ readonly kind = "ObjectUnionType";
7
7
  }
8
8
  //# sourceMappingURL=ObjectUnionType.d.ts.map
@@ -1,2 +1,8 @@
1
- export {};
1
+ import { AbstractObjectCompoundType } from "./AbstractObjectCompoundType.js";
2
+ /**
3
+ * A disjunction/union of object types, corresponding to an sh:xone on a node shape.
4
+ */
5
+ export class ObjectUnionType extends AbstractObjectCompoundType {
6
+ kind = "ObjectUnionType";
7
+ }
2
8
  //# sourceMappingURL=ObjectUnionType.js.map