@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,6 +1,6 @@
1
+ export { PropertyGroup } from "@shaclmate/shacl-ast";
1
2
  export * from "./NodeShape.js";
2
3
  export * from "./Ontology.js";
3
- export { PropertyGroup } from "@shaclmate/shacl-ast";
4
4
  export * from "./PropertyShape.js";
5
5
  export * from "./Shape.js";
6
6
  export * from "./ShapesGraph.js";
@@ -1,6 +1,6 @@
1
+ export { PropertyGroup } from "@shaclmate/shacl-ast";
1
2
  export * from "./NodeShape.js";
2
3
  export * from "./Ontology.js";
3
- export { PropertyGroup } from "@shaclmate/shacl-ast";
4
4
  export * from "./PropertyShape.js";
5
5
  export * from "./Shape.js";
6
6
  export * from "./ShapesGraph.js";
@@ -5,7 +5,7 @@ type TsFeatureIri = rdfjs.NamedNode<"http://purl.org/shaclmate/ontology#_TsFeatu
5
5
  export declare function tsFeatures(generated: {
6
6
  readonly tsFeatureExcludes: readonly TsFeatureIri[];
7
7
  readonly tsFeatureIncludes: readonly TsFeatureIri[];
8
- }): Maybe<Set<TsFeature>>;
8
+ }): Maybe<ReadonlySet<TsFeature>>;
9
9
  export declare const tsFeaturesDefault: readonly TsFeature[];
10
10
  export {};
11
11
  //# sourceMappingURL=tsFeatures.d.ts.map
package/package.json CHANGED
@@ -1,43 +1,40 @@
1
1
  {
2
2
  "dependencies": {
3
- "@shaclmate/shacl-ast": "3.0.4",
4
- "@rdfjs/prefix-map": "^0.1.2",
5
- "@rdfjs/term-map": "^2.0.2",
6
- "@rdfjs/term-set": "^2.0.3",
7
- "@rdfjs/types": "^1.1.0",
8
- "@sindresorhus/base62": "^0.1.0",
9
- "@tpluscode/rdf-ns-builders": "^4.3.0",
10
- "@types/n3": "^1.26.0",
11
- "@types/rdfjs__prefix-map": "^0.1.5",
12
- "@types/rdfjs__term-map": "^2.0.10",
13
- "@types/rdfjs__term-set": "^2.0.9",
3
+ "@shaclmate/shacl-ast": "4.0.0",
4
+ "@rdfjs/data-model": "~2.1.1",
5
+ "@rdfjs/dataset": "~2.0.2",
6
+ "@rdfjs/prefix-map": "~0.1.2",
7
+ "@rdfjs/term-map": "~2.0.2",
8
+ "@rdfjs/term-set": "~2.0.3",
9
+ "@rdfjs/types": "~2.0.1",
10
+ "@sindresorhus/base62": "~0.1.0",
11
+ "@tpluscode/rdf-ns-builders": "~4.3.0",
12
+ "@types/rdfjs__data-model": "~2.0.9",
13
+ "@types/rdfjs__dataset": "~2.0.7",
14
+ "@types/rdfjs__prefix-map": "~0.1.5",
15
+ "@types/rdfjs__term-map": "~2.0.10",
16
+ "@types/rdfjs__term-set": "~2.0.9",
14
17
  "@types/toposort": "2.0.7",
15
- "change-case": "^5.4.4",
16
- "n3": "^1.26.0",
17
- "pino": "^9.1.0",
18
- "plur": "^5.1.0",
19
- "purify-ts": "^2.1.0",
20
- "rdf-literal": "^1.3.2",
21
- "rdfjs-resource": "1.0.24",
22
- "reserved-identifiers": "^1.0.0",
18
+ "change-case": "~5.4.4",
19
+ "pino": "~9.1.0",
20
+ "plur": "~5.1.0",
21
+ "purify-ts": "~2.1.4",
22
+ "rdfjs-resource": "3.0.6",
23
+ "reserved-identifiers": "~1.0.0",
23
24
  "toposort": "2.0.2",
24
- "ts-invariant": "^0.10.3",
25
- "ts-morph": "^26.0.0",
26
- "typescript-memoize": "^1.1.1"
25
+ "ts-invariant": "~0.10.3",
26
+ "ts-poet": "~6.12.0",
27
+ "typescript-memoize": "~1.1.1"
27
28
  },
28
29
  "devDependencies": {
29
- "@shaclmate/kitchen-sink-example": "3.0.4",
30
- "@kos-kit/sparql-client": "2.0.116",
31
- "oxigraph": "0.4.11",
32
- "@biomejs/biome": "1.9.4",
33
- "@tsconfig/node18": "^18.2.4",
34
- "@tsconfig/strictest": "^2.0.5",
35
- "@types/node": "^22",
36
- "depcheck": "^1.4.7",
37
- "rimraf": "^6.0.1",
38
- "typescript": "5.8.2",
39
- "vitest": "^3.2.4",
40
- "@vitest/coverage-v8": "^3.2.4"
30
+ "@tsconfig/node18": "~18.2.4",
31
+ "@tsconfig/strictest": "~2.0.8",
32
+ "@types/n3": "~1.26.0",
33
+ "@types/node": "~18",
34
+ "depcheck": "~1.4.7",
35
+ "n3": "~1.26.0",
36
+ "rimraf": "~6.0.1",
37
+ "typescript": "5.9.3"
41
38
  },
42
39
  "files": [
43
40
  "dist/*.d.ts",
@@ -56,6 +53,10 @@
56
53
  "dist/generators/ts/*.js",
57
54
  "dist/generators/ts/_ObjectType/*.d.ts",
58
55
  "dist/generators/ts/_ObjectType/*.js",
56
+ "dist/generators/ts/_ObjectUnionType/*.d.ts",
57
+ "dist/generators/ts/_ObjectUnionType/*.js",
58
+ "dist/generators/ts/_snippets/*.d.ts",
59
+ "dist/generators/ts/_snippets/*.js",
59
60
  "dist/input/*.d.ts",
60
61
  "dist/input/*.js"
61
62
  ],
@@ -69,21 +70,14 @@
69
70
  },
70
71
  "scripts": {
71
72
  "build": "tsc -b",
72
- "build:noEmit": "tsc --noEmit",
73
- "check": "biome check",
74
- "check:write": "biome check --write",
75
- "check:write:unsafe": "biome check --write --unsafe",
76
73
  "clean": "rimraf dist",
77
74
  "depcheck": "depcheck .",
78
75
  "dev": "tsc -w --preserveWatchOutput",
79
- "dev:noEmit": "tsc --noEmit -w --preserveWatchOutput",
80
- "link-dependencies": "npm link rdfjs-resource",
81
- "test": "biome check && vitest run",
82
- "test:coverage": "biome check && vitest run --coverage",
83
- "test:watch": "biome check && vitest watch",
84
- "unlink": "npm unlink -g @shaclmate/compiler"
76
+ "dev:tests": "tsc -p __tests__ -w --preserveWatchOutput",
77
+ "typecheck": "tsc --noEmit",
78
+ "typecheck:watch": "tsc --noEmit -w --preserveWatchOutput"
85
79
  },
86
80
  "type": "module",
87
81
  "types": "./dist/index.d.ts",
88
- "version": "3.0.4"
82
+ "version": "4.0.0"
89
83
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=InheritableShapeConstraints.d.ts.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=InheritableShapeConstraints.js.map
@@ -1,13 +0,0 @@
1
- import { Either } from "purify-ts";
2
- import type * as ast from "../ast/index.js";
3
- import type { TsFeature } from "../enums/TsFeature.js";
4
- import type * as input from "../input/index.js";
5
- export declare function flattenAstObjectCompositeTypeMemberTypes({ objectCompositeTypeKind, memberTypes, shape, }: {
6
- objectCompositeTypeKind: "ObjectIntersectionType" | "ObjectUnionType";
7
- memberTypes: readonly (ast.ObjectType | ast.ObjectIntersectionType | ast.ObjectUnionType)[];
8
- shape: input.Shape;
9
- }): Either<Error, {
10
- memberTypes: readonly ast.ObjectType[];
11
- tsFeatures: Set<TsFeature>;
12
- }>;
13
- //# sourceMappingURL=flattenAstObjectCompositeTypeMemberTypes.d.ts.map
@@ -1,51 +0,0 @@
1
- import TermSet from "@rdfjs/term-set";
2
- import { Either, Left } from "purify-ts";
3
- import { Resource } from "rdfjs-resource";
4
- export function flattenAstObjectCompositeTypeMemberTypes({ objectCompositeTypeKind, memberTypes, shape, }) {
5
- const flattenedMemberTypes = [];
6
- for (const memberType of memberTypes) {
7
- switch (memberType.kind) {
8
- case "ObjectType":
9
- flattenedMemberTypes.push(memberType);
10
- break;
11
- case "ObjectIntersectionType":
12
- case "ObjectUnionType":
13
- if (memberType.kind === objectCompositeTypeKind) {
14
- flattenedMemberTypes.push(...memberType.memberTypes);
15
- break;
16
- }
17
- return Left(new Error(`${objectCompositeTypeKind} with a nested ${memberType.kind}`));
18
- }
19
- }
20
- // Members of the composite type must have the same tsFeatures.
21
- // They must also have distinct RDF types or no RDF types at all.
22
- const nonExternMemberTypes = flattenedMemberTypes.filter((memberType) => !memberType.extern);
23
- const fromRdfTypes = new TermSet();
24
- const tsFeatures = new Set();
25
- for (let memberTypeI = 0; memberTypeI < nonExternMemberTypes.length; memberTypeI++) {
26
- const memberType = nonExternMemberTypes[memberTypeI];
27
- if (memberTypeI === 0) {
28
- for (const tsFeature of memberType.tsFeatures) {
29
- tsFeatures.add(tsFeature);
30
- }
31
- }
32
- memberType.fromRdfType.ifJust((fromRdfType) => fromRdfTypes.add(fromRdfType));
33
- if (memberType.tsFeatures.size !== tsFeatures.size) {
34
- return Left(new Error(`${shape} has a member ObjectType (${Resource.Identifier.toString(memberType.name.identifier)}) with different tsFeatures than the other member ObjectType's`));
35
- }
36
- for (const tsFeature of memberType.tsFeatures) {
37
- if (!tsFeatures.has(tsFeature)) {
38
- return Left(new Error(`${shape} has a member ObjectType (${Resource.Identifier.toString(memberType.name.identifier)}) with different tsFeatures than the other member ObjectType's`));
39
- }
40
- }
41
- }
42
- if (fromRdfTypes.size > 0 &&
43
- fromRdfTypes.size !== nonExternMemberTypes.length) {
44
- return Left(new Error(`one or more ${shape} members ([${nonExternMemberTypes.map((memberType) => Resource.Identifier.toString(memberType.name.identifier)).join(", ")}]) lack distinguishing fromRdfType's ({${[...fromRdfTypes].map((fromRdfType) => Resource.Identifier.toString(fromRdfType)).join(", ")}})`));
45
- }
46
- return Either.of({
47
- memberTypes: flattenedMemberTypes,
48
- tsFeatures,
49
- });
50
- }
51
- //# sourceMappingURL=flattenAstObjectCompositeTypeMemberTypes.js.map
@@ -1,4 +0,0 @@
1
- import type { Literal } from "@rdfjs/types";
2
- import { Maybe } from "purify-ts";
3
- export declare function pickLiteral(literals: readonly Literal[]): Maybe<Literal>;
4
- //# sourceMappingURL=pickLiteral.d.ts.map
@@ -1,18 +0,0 @@
1
- import { Maybe } from "purify-ts";
2
- export function pickLiteral(literals) {
3
- if (literals.length === 0) {
4
- return Maybe.empty();
5
- }
6
- for (const literal of literals) {
7
- if (literal.language === "en") {
8
- return Maybe.of(literal);
9
- }
10
- }
11
- for (const literal of literals) {
12
- if (literal.language.length === 0) {
13
- return Maybe.of(literal);
14
- }
15
- }
16
- return Maybe.of(literals[0]);
17
- }
18
- //# sourceMappingURL=pickLiteral.js.map
@@ -1,4 +0,0 @@
1
- import type { NodeKind } from "@shaclmate/shacl-ast";
2
- import * as input from "../input/index.js";
3
- export declare function propertyShapeNodeKinds(shape: input.Shape): Set<NodeKind>;
4
- //# sourceMappingURL=propertyShapeNodeKinds.d.ts.map
@@ -1,26 +0,0 @@
1
- import * as input from "../input/index.js";
2
- export function propertyShapeNodeKinds(shape) {
3
- const nodeKinds = new Set([
4
- ...shape.constraints.nodeKinds.orDefault(new Set()),
5
- ]);
6
- if (nodeKinds.size > 0) {
7
- return nodeKinds;
8
- }
9
- if (shape instanceof input.PropertyShape) {
10
- shape.defaultValue.ifJust((defaultValue) => nodeKinds.add(defaultValue.termType));
11
- if (nodeKinds.size > 0) {
12
- return nodeKinds;
13
- }
14
- }
15
- for (const hasValue of shape.constraints.hasValues) {
16
- nodeKinds.add(hasValue.termType);
17
- }
18
- if (nodeKinds.size > 0) {
19
- return nodeKinds;
20
- }
21
- for (const term of shape.constraints.in_) {
22
- nodeKinds.add(term.termType);
23
- }
24
- return nodeKinds;
25
- }
26
- //# sourceMappingURL=propertyShapeNodeKinds.js.map
@@ -1,5 +0,0 @@
1
- import type { ShapesGraphToAstTransformer } from "../ShapesGraphToAstTransformer.js";
2
- import type * as ast from "../ast/index.js";
3
- import * as input from "../input/index.js";
4
- export declare function shapeAstName(this: ShapesGraphToAstTransformer, shape: input.Shape): ast.Name;
5
- //# sourceMappingURL=shapeAstName.d.ts.map
@@ -1,69 +0,0 @@
1
- import { Maybe } from "purify-ts";
2
- import { Curie } from "../ast/Curie.js";
3
- import * as input from "../input/index.js";
4
- import { logger } from "../logger.js";
5
- import { pickLiteral } from "./pickLiteral.js";
6
- export function shapeAstName(shape) {
7
- const namedIdentifier = (namedNode) => {
8
- const curie = Maybe.fromNullable(this.iriPrefixMap.shrink(namedNode)?.value).map(Curie.parse);
9
- curie.ifJust((curie) => {
10
- if (typeof this.iriLocalParts[curie.reference] === "undefined") {
11
- this.iriLocalParts[curie.reference] = {};
12
- }
13
- if (typeof this.iriLocalParts[curie.reference][curie.prefix] === "undefined") {
14
- this.iriLocalParts[curie.reference][curie.prefix] = 1;
15
- }
16
- else {
17
- this.iriLocalParts[curie.reference][curie.prefix] += 1;
18
- }
19
- });
20
- return {
21
- equals: (other) => {
22
- return namedNode.equals(other);
23
- },
24
- curie,
25
- termType: "NamedNode",
26
- uniqueLocalPart: () => curie
27
- .filter((curie) => {
28
- const curieReferenceInPrefixes = this.iriLocalParts[curie.reference];
29
- if (Object.entries(curieReferenceInPrefixes).length === 1) {
30
- return true;
31
- }
32
- logger.debug(`duplicate local part ${curie.reference} in ${JSON.stringify(curieReferenceInPrefixes)}`);
33
- return false;
34
- })
35
- .map((curie) => curie.reference),
36
- value: namedNode.value,
37
- };
38
- };
39
- let propertyPath;
40
- let shName;
41
- if (shape instanceof input.PropertyShape) {
42
- if (shape.path.kind === "PredicatePath") {
43
- propertyPath = Maybe.of(namedIdentifier(shape.path.iri));
44
- // logger.debug(
45
- // `shape ${shape} property path: ${JSON.stringify(propertyPath.unsafeCoerce())}`,
46
- // );
47
- }
48
- else {
49
- propertyPath = Maybe.empty();
50
- logger.warn(`property shape ${shape} has ${shape.path.kind} path`);
51
- }
52
- shName = pickLiteral(shape.names).map((literal) => literal.value);
53
- }
54
- else {
55
- propertyPath = Maybe.empty();
56
- shName = Maybe.empty();
57
- }
58
- return {
59
- identifier: shape.identifier.termType === "NamedNode"
60
- ? namedIdentifier(shape.identifier)
61
- : shape.identifier,
62
- label: pickLiteral(shape.labels).map((literal) => literal.value),
63
- propertyPath,
64
- shName,
65
- shaclmateName: shape.shaclmateName,
66
- syntheticName: Maybe.empty(),
67
- };
68
- }
69
- //# sourceMappingURL=shapeAstName.js.map
@@ -1,10 +0,0 @@
1
- import { Either } from "purify-ts";
2
- import type { ShapesGraphToAstTransformer } from "../ShapesGraphToAstTransformer.js";
3
- import type * as ast from "../ast/index.js";
4
- import * as input from "../input/index.js";
5
- import type { ShapeStack } from "./ShapeStack.js";
6
- /**
7
- * Try to convert a shape to a composite type (intersection or union) using some heuristics.
8
- */
9
- export declare function transformShapeToAstCompositeType(this: ShapesGraphToAstTransformer, shape: input.Shape, shapeStack: ShapeStack): Either<Error, ast.Type>;
10
- //# sourceMappingURL=transformShapeToAstCompositeType.d.ts.map
@@ -1,185 +0,0 @@
1
- import { owl, rdfs } from "@tpluscode/rdf-ns-builders";
2
- import { Either, Left, Maybe } from "purify-ts";
3
- import { invariant } from "ts-invariant";
4
- import * as input from "../input/index.js";
5
- import { logger } from "../logger.js";
6
- import { flattenAstObjectCompositeTypeMemberTypes } from "./flattenAstObjectCompositeTypeMemberTypes.js";
7
- /**
8
- * Try to convert a shape to a composite type (intersection or union) using some heuristics.
9
- */
10
- export function transformShapeToAstCompositeType(shape, shapeStack) {
11
- shapeStack.push(shape);
12
- try {
13
- let memberTypeEithers;
14
- let compositeTypeKind;
15
- if (shape.constraints.and.length > 0) {
16
- memberTypeEithers = shape.constraints.and.map((memberShape) => this.transformShapeToAstType(memberShape, shapeStack));
17
- compositeTypeKind = "IntersectionType";
18
- }
19
- else if (shape.constraints.classes.length > 0) {
20
- memberTypeEithers = shape.constraints.classes.map((classIri) => {
21
- if (classIri.equals(owl.Class) ||
22
- classIri.equals(owl.Thing) ||
23
- classIri.equals(rdfs.Class)) {
24
- return Left(new Error(`class ${classIri.value} is not transformable`));
25
- }
26
- const classNodeShape = this.shapesGraph
27
- .nodeShapeByIdentifier(classIri)
28
- .extractNullable();
29
- if (classNodeShape === null) {
30
- return Left(new Error(`class ${classIri.value} did not resolve to a node shape`));
31
- }
32
- return this.transformNodeShapeToAstType(classNodeShape);
33
- });
34
- compositeTypeKind = "IntersectionType";
35
- if (Either.rights(memberTypeEithers).length === 0) {
36
- // This frequently happens with e.g., sh:class skos:Concept
37
- logger.debug("shape %s sh:class(es) did not map to any node shapes", shape);
38
- return memberTypeEithers[0];
39
- }
40
- }
41
- else if (shape.constraints.nodes.length > 0) {
42
- memberTypeEithers = shape.constraints.nodes.map((nodeShape) => this.transformNodeShapeToAstType(nodeShape));
43
- compositeTypeKind = "IntersectionType";
44
- }
45
- else if (shape.constraints.xone.length > 0) {
46
- memberTypeEithers = shape.constraints.xone.map((memberShape) => this.transformShapeToAstType(memberShape, shapeStack));
47
- compositeTypeKind = "UnionType";
48
- }
49
- else {
50
- return Left(new Error(`unable to transform ${shape} into an AST type`));
51
- }
52
- invariant(memberTypeEithers.length > 0);
53
- const memberObjectTypes = [];
54
- let memberTypes = [];
55
- for (const memberTypeEither of memberTypeEithers) {
56
- if (memberTypeEither.isLeft()) {
57
- return memberTypeEither;
58
- }
59
- const memberType = memberTypeEither.unsafeCoerce();
60
- memberTypes.push(memberType);
61
- switch (memberType.kind) {
62
- case "ObjectType":
63
- case "ObjectIntersectionType":
64
- case "ObjectUnionType":
65
- memberObjectTypes.push(memberType);
66
- break;
67
- }
68
- }
69
- if (memberTypes.length === 1) {
70
- return Either.of(memberTypes[0]);
71
- }
72
- if (memberTypes.length === memberObjectTypes.length) {
73
- // If all the member types are ast.ObjectType, flatten them.
74
- const flattenedMemberObjectTypesEither = flattenAstObjectCompositeTypeMemberTypes({
75
- objectCompositeTypeKind: compositeTypeKind === "IntersectionType"
76
- ? "ObjectIntersectionType"
77
- : "ObjectUnionType",
78
- memberTypes: memberObjectTypes,
79
- shape,
80
- });
81
- if (flattenedMemberObjectTypesEither.isLeft()) {
82
- return flattenedMemberObjectTypesEither;
83
- }
84
- const { memberTypes: flattenedMemberTypes } = flattenedMemberObjectTypesEither.unsafeCoerce();
85
- memberTypes = flattenedMemberTypes.concat();
86
- }
87
- return widenAstCompositeTypeToSingleType({
88
- memberTypes,
89
- shape,
90
- shapeStack,
91
- }).altLazy(() =>
92
- // True composite type
93
- Either.of({
94
- kind: compositeTypeKind,
95
- memberTypes,
96
- }));
97
- }
98
- finally {
99
- shapeStack.pop(shape);
100
- }
101
- }
102
- function widenAstCompositeTypeToSingleType({ memberTypes, shape, shapeStack, }) {
103
- const defaultValue = shapeStack.defaultValue;
104
- const hasValues = shapeStack.constraints.hasValues;
105
- if (hasValues.length > 0) {
106
- return Left(new Error(`shape ${shape} hasValues, not attempting to widen composite type into a single type`));
107
- }
108
- if (shape instanceof input.PropertyShape && !shape.widen.orDefault(true)) {
109
- return Left(new Error(`shape ${shape} has widening disabled`));
110
- }
111
- const canWiden = (memberType) => {
112
- if (memberType.in_.length > 0) {
113
- return false;
114
- }
115
- switch (memberType.kind) {
116
- case "LiteralType": {
117
- if (memberType.maxExclusive.isJust()) {
118
- return false;
119
- }
120
- if (memberType.maxInclusive.isJust()) {
121
- return false;
122
- }
123
- if (memberType.minExclusive.isJust()) {
124
- return false;
125
- }
126
- if (memberType.minInclusive.isJust()) {
127
- return false;
128
- }
129
- }
130
- }
131
- return true;
132
- };
133
- if (memberTypes.every((memberType) => memberType.kind === "IdentifierType" && canWiden(memberType))) {
134
- // Special case: all member types are identifiers without further constraints
135
- return Either.of({
136
- defaultValue: defaultValue.filter((term) => term.termType === "NamedNode"),
137
- hasValues: [],
138
- in_: [],
139
- kind: "IdentifierType",
140
- nodeKinds: new Set(memberTypes
141
- .filter((memberType) => memberType.kind === "IdentifierType")
142
- .flatMap((memberType) => [
143
- ...memberType.nodeKinds,
144
- ])),
145
- });
146
- }
147
- if (memberTypes.every((memberType) => memberType.kind === "LiteralType" && canWiden(memberType))) {
148
- // Special case: all the member types are Literals without further constraints,
149
- // like dash:StringOrLangString
150
- // Don't try to widen range constraints.
151
- return Either.of({
152
- datatype: Maybe.empty(),
153
- defaultValue: defaultValue.filter((term) => term.termType === "Literal"),
154
- hasValues: [],
155
- in_: [],
156
- kind: "LiteralType",
157
- languageIn: [],
158
- maxExclusive: Maybe.empty(),
159
- maxInclusive: Maybe.empty(),
160
- minExclusive: Maybe.empty(),
161
- minInclusive: Maybe.empty(),
162
- nodeKinds: new Set(["Literal"]),
163
- });
164
- }
165
- if (memberTypes.every((memberType) => (memberType.kind === "IdentifierType" ||
166
- memberType.kind === "LiteralType" ||
167
- memberType.kind === "TermType") &&
168
- canWiden(memberType))) {
169
- // Special case: all member types are terms without further constraints
170
- const nodeKinds = new Set(memberTypes.flatMap((memberType) => [
171
- ...memberType.nodeKinds,
172
- ]));
173
- invariant(nodeKinds.has("Literal") &&
174
- (nodeKinds.has("BlankNode") || nodeKinds.has("NamedNode"))); // The identifier-identifier and literal-literal cases should have been caught above
175
- return Either.of({
176
- defaultValue,
177
- hasValues: [],
178
- in_: [],
179
- kind: "TermType",
180
- nodeKinds,
181
- });
182
- }
183
- return Left(new Error(`shape ${shape} member types could not be widened into a single type`));
184
- }
185
- //# sourceMappingURL=transformShapeToAstCompositeType.js.map
@@ -1,10 +0,0 @@
1
- import { Either } from "purify-ts";
2
- import type { ShapesGraphToAstTransformer } from "../ShapesGraphToAstTransformer.js";
3
- import type * as ast from "../ast/index.js";
4
- import type * as input from "../input/index.js";
5
- import type { ShapeStack } from "./ShapeStack.js";
6
- /**
7
- * Try to convert a property shape to an AST IdentifierType using some heuristics.
8
- */
9
- export declare function transformShapeToAstIdentifierType(this: ShapesGraphToAstTransformer, shape: input.Shape, shapeStack: ShapeStack): Either<Error, ast.IdentifierType>;
10
- //# sourceMappingURL=transformShapeToAstIdentifierType.d.ts.map
@@ -1,32 +0,0 @@
1
- import { Either, Left } from "purify-ts";
2
- import { propertyShapeNodeKinds } from "./propertyShapeNodeKinds.js";
3
- /**
4
- * Try to convert a property shape to an AST IdentifierType using some heuristics.
5
- */
6
- export function transformShapeToAstIdentifierType(shape, shapeStack) {
7
- shapeStack.push(shape);
8
- try {
9
- // defaultValue / hasValue / in only makes sense with IRIs
10
- const identifierDefaultValue = shapeStack.defaultValue.filter((value) => value.termType === "NamedNode");
11
- const identifierHasValues = shapeStack.constraints.hasValues.filter((term) => term.termType === "NamedNode");
12
- const identifierIn = shapeStack.constraints.in_.filter((term) => term.termType === "NamedNode");
13
- const nodeKinds = propertyShapeNodeKinds(shape);
14
- if (identifierHasValues.length > 0 ||
15
- identifierDefaultValue.isJust() ||
16
- identifierIn.length > 0 ||
17
- (nodeKinds.size > 0 && nodeKinds.size <= 2 && !nodeKinds.has("Literal"))) {
18
- return Either.of({
19
- defaultValue: identifierDefaultValue,
20
- hasValues: identifierHasValues,
21
- in_: identifierIn,
22
- kind: "IdentifierType",
23
- nodeKinds: nodeKinds,
24
- });
25
- }
26
- return Left(new Error(`unable to transform ${shape} into an AST type`));
27
- }
28
- finally {
29
- shapeStack.pop(shape);
30
- }
31
- }
32
- //# sourceMappingURL=transformShapeToAstIdentifierType.js.map
@@ -1,10 +0,0 @@
1
- import { Either } from "purify-ts";
2
- import type { ShapesGraphToAstTransformer } from "../ShapesGraphToAstTransformer.js";
3
- import type * as ast from "../ast/index.js";
4
- import type * as input from "../input/index.js";
5
- import type { ShapeStack } from "./ShapeStack.js";
6
- /**
7
- * Try to convert a property shape to an AST LiteralType using some heuristics.
8
- */
9
- export declare function transformShapeToAstLiteralType(this: ShapesGraphToAstTransformer, shape: input.Shape, shapeStack: ShapeStack): Either<Error, ast.LiteralType>;
10
- //# sourceMappingURL=transformShapeToAstLiteralType.d.ts.map
@@ -1,46 +0,0 @@
1
- import { Either, Left } from "purify-ts";
2
- import { propertyShapeNodeKinds } from "./propertyShapeNodeKinds.js";
3
- /**
4
- * Try to convert a property shape to an AST LiteralType using some heuristics.
5
- */
6
- export function transformShapeToAstLiteralType(shape, shapeStack) {
7
- shapeStack.push(shape);
8
- try {
9
- const literalDefaultValue = shapeStack.defaultValue.filter((term) => term.termType === "Literal");
10
- const literalHasValues = shapeStack.constraints.hasValues.filter((term) => term.termType === "Literal");
11
- const literalIn = shapeStack.constraints.in_.filter((term) => term.termType === "Literal");
12
- const nodeKinds = propertyShapeNodeKinds(shape);
13
- if ([
14
- // Treat any shape with the constraints in the list as a literal type
15
- shape.constraints.datatype,
16
- shape.constraints.maxExclusive,
17
- shape.constraints.maxInclusive,
18
- shape.constraints.minExclusive,
19
- shape.constraints.minInclusive,
20
- ].some((constraint) => constraint.isJust()) ||
21
- shape.constraints.languageIn.length > 0 ||
22
- literalDefaultValue.isJust() ||
23
- literalHasValues.length > 0 ||
24
- literalIn.length > 0 ||
25
- // Treat any shape with a single sh:nodeKind of sh:Literal as a literal type
26
- (nodeKinds.size === 1 && nodeKinds.has("Literal")))
27
- return Either.of({
28
- datatype: shape.constraints.datatype,
29
- defaultValue: literalDefaultValue,
30
- hasValues: literalHasValues,
31
- in_: literalIn,
32
- kind: "LiteralType",
33
- languageIn: [...new Set(shape.constraints.languageIn)],
34
- maxExclusive: shape.constraints.maxExclusive,
35
- maxInclusive: shape.constraints.maxInclusive,
36
- minExclusive: shape.constraints.minExclusive,
37
- minInclusive: shape.constraints.minInclusive,
38
- nodeKinds: new Set(["Literal"]),
39
- });
40
- return Left(new Error(`unable to transform ${shape} into an AST type`));
41
- }
42
- finally {
43
- shapeStack.pop(shape);
44
- }
45
- }
46
- //# sourceMappingURL=transformShapeToAstLiteralType.js.map