@shaclmate/compiler 4.0.29 → 4.0.31

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 (353) hide show
  1. package/dist/_ShapesGraphToAstTransformer/shapeAstTypeName.js +0 -4
  2. package/dist/generators/ts/AbstractCollectionType.js +13 -15
  3. package/dist/generators/ts/AbstractDateType.js +6 -8
  4. package/dist/generators/ts/AbstractIdentifierType.d.ts +1 -1
  5. package/dist/generators/ts/AbstractIdentifierType.js +9 -5
  6. package/dist/generators/ts/AbstractLazyObjectType.d.ts +2 -3
  7. package/dist/generators/ts/AbstractLazyObjectType.js +2 -5
  8. package/dist/generators/ts/AbstractLiteralType.js +2 -3
  9. package/dist/generators/ts/AbstractNamedUnionType.js +39 -41
  10. package/dist/generators/ts/AbstractNumericType.js +8 -11
  11. package/dist/generators/ts/AbstractPrimitiveType.js +1 -2
  12. package/dist/generators/ts/AbstractTermType.js +12 -14
  13. package/dist/generators/ts/AbstractType.d.ts +9 -2
  14. package/dist/generators/ts/AbstractType.js +15 -5
  15. package/dist/generators/ts/AbstractUnionType.d.ts +3 -0
  16. package/dist/generators/ts/AbstractUnionType.js +37 -28
  17. package/dist/generators/ts/BigDecimalType.d.ts +3 -3
  18. package/dist/generators/ts/BigDecimalType.js +24 -21
  19. package/dist/generators/ts/BigIntType.d.ts +1 -1
  20. package/dist/generators/ts/BigIntType.js +9 -5
  21. package/dist/generators/ts/BlankNodeType.js +9 -11
  22. package/dist/generators/ts/BooleanType.d.ts +1 -1
  23. package/dist/generators/ts/BooleanType.js +13 -11
  24. package/dist/generators/ts/DateTimeType.d.ts +1 -1
  25. package/dist/generators/ts/DateTimeType.js +14 -3
  26. package/dist/generators/ts/DateType.d.ts +1 -1
  27. package/dist/generators/ts/DateType.js +14 -3
  28. package/dist/generators/ts/DefaultValueType.js +5 -8
  29. package/dist/generators/ts/FloatType.d.ts +1 -1
  30. package/dist/generators/ts/FloatType.js +13 -2
  31. package/dist/generators/ts/IdentifierType.js +9 -11
  32. package/dist/generators/ts/{imports.d.ts → Imports.d.ts} +3 -3
  33. package/dist/generators/ts/Imports.js +41 -0
  34. package/dist/generators/ts/IntType.d.ts +1 -1
  35. package/dist/generators/ts/IntType.js +13 -2
  36. package/dist/generators/ts/IriType.js +15 -20
  37. package/dist/generators/ts/LazyObjectOptionType.d.ts +8 -8
  38. package/dist/generators/ts/LazyObjectOptionType.js +21 -26
  39. package/dist/generators/ts/LazyObjectSetType.d.ts +5 -1
  40. package/dist/generators/ts/LazyObjectSetType.js +12 -20
  41. package/dist/generators/ts/LazyObjectType.d.ts +5 -1
  42. package/dist/generators/ts/LazyObjectType.js +20 -18
  43. package/dist/generators/ts/ListType.js +12 -15
  44. package/dist/generators/ts/LiteralType.js +8 -10
  45. package/dist/generators/ts/NamedObjectType.d.ts +1 -3
  46. package/dist/generators/ts/NamedObjectType.js +33 -32
  47. package/dist/generators/ts/NamedObjectUnionType.js +37 -29
  48. package/dist/generators/ts/OptionType.js +13 -15
  49. package/dist/generators/ts/Reusables.d.ts +11 -0
  50. package/dist/generators/ts/Reusables.js +14 -0
  51. package/dist/generators/ts/SetType.js +4 -6
  52. package/dist/generators/ts/Snippet.d.ts +3 -0
  53. package/dist/generators/ts/Snippet.js +2 -0
  54. package/dist/generators/ts/SnippetFactory.d.ts +14 -0
  55. package/dist/generators/ts/SnippetFactory.js +2 -0
  56. package/dist/generators/ts/Snippets.d.ts +126 -0
  57. package/dist/generators/ts/Snippets.js +825 -0
  58. package/dist/generators/ts/StringType.d.ts +2 -2
  59. package/dist/generators/ts/StringType.js +14 -12
  60. package/dist/generators/ts/TermType.js +14 -17
  61. package/dist/generators/ts/TsGenerator.d.ts +7 -1
  62. package/dist/generators/ts/TsGenerator.js +90 -14
  63. package/dist/generators/ts/TypeFactory.d.ts +4 -1
  64. package/dist/generators/ts/TypeFactory.js +29 -3
  65. package/dist/generators/ts/ZodGenerator.d.ts +1 -0
  66. package/dist/generators/ts/ZodGenerator.js +10 -8
  67. package/dist/generators/ts/_NamedObjectType/AbstractProperty.d.ts +9 -4
  68. package/dist/generators/ts/_NamedObjectType/AbstractProperty.js +10 -1
  69. package/dist/generators/ts/_NamedObjectType/DiscriminantProperty.d.ts +2 -2
  70. package/dist/generators/ts/_NamedObjectType/DiscriminantProperty.js +17 -24
  71. package/dist/generators/ts/_NamedObjectType/IdentifierProperty.d.ts +1 -1
  72. package/dist/generators/ts/_NamedObjectType/IdentifierProperty.js +10 -14
  73. package/dist/generators/ts/_NamedObjectType/NamedObjectType_createFunctionDeclaration.js +3 -4
  74. package/dist/generators/ts/_NamedObjectType/NamedObjectType_equalsFunctionDeclaration.js +2 -4
  75. package/dist/generators/ts/_NamedObjectType/NamedObjectType_filterFunctionDeclaration.js +1 -2
  76. package/dist/generators/ts/_NamedObjectType/NamedObjectType_filterTypeDeclaration.js +2 -3
  77. package/dist/generators/ts/_NamedObjectType/NamedObjectType_focusSparqlConstructTriplesFunctionDeclaration.js +7 -11
  78. package/dist/generators/ts/_NamedObjectType/NamedObjectType_focusSparqlWherePatternsFunctionDeclaration.js +11 -15
  79. package/dist/generators/ts/_NamedObjectType/NamedObjectType_fromJsonFunctionDeclaration.js +21 -3
  80. package/dist/generators/ts/_NamedObjectType/NamedObjectType_fromRdfResourceFunctionDeclaration.js +83 -8
  81. package/dist/generators/ts/_NamedObjectType/NamedObjectType_fromRdfResourceValuesFunctionDeclaration.js +2 -4
  82. package/dist/generators/ts/_NamedObjectType/NamedObjectType_fromRdfTypeVariableStatement.js +1 -4
  83. package/dist/generators/ts/_NamedObjectType/NamedObjectType_graphqlTypeVariableStatement.js +1 -2
  84. package/dist/generators/ts/_NamedObjectType/NamedObjectType_hashFunctionDeclarations.js +4 -6
  85. package/dist/generators/ts/_NamedObjectType/NamedObjectType_jsonParseFunctionDeclaration.js +3 -5
  86. package/dist/generators/ts/_NamedObjectType/NamedObjectType_jsonSchemaFunctionDeclaration.js +1 -3
  87. package/dist/generators/ts/_NamedObjectType/NamedObjectType_jsonTypeAliasDeclaration.js +1 -2
  88. package/dist/generators/ts/_NamedObjectType/NamedObjectType_jsonUiSchemaFunctionDeclaration.js +1 -2
  89. package/dist/generators/ts/_NamedObjectType/NamedObjectType_schemaVariableStatement.js +2 -3
  90. package/dist/generators/ts/_NamedObjectType/NamedObjectType_sparqlConstructQueryFunctionDeclaration.d.ts +2 -0
  91. package/dist/generators/ts/_NamedObjectType/NamedObjectType_sparqlConstructQueryFunctionDeclaration.js +4 -7
  92. package/dist/generators/ts/_NamedObjectType/NamedObjectType_sparqlConstructQueryStringFunctionDeclaration.d.ts +2 -0
  93. package/dist/generators/ts/_NamedObjectType/NamedObjectType_sparqlConstructQueryStringFunctionDeclaration.js +2 -4
  94. package/dist/generators/ts/_NamedObjectType/NamedObjectType_toJsonFunctionDeclaration.js +2 -3
  95. package/dist/generators/ts/_NamedObjectType/NamedObjectType_toRdfResourceFunctionDeclaration.js +14 -23
  96. package/dist/generators/ts/_NamedObjectType/NamedObjectType_toStringFunctionDeclarations.js +4 -5
  97. package/dist/generators/ts/_NamedObjectType/NamedObjectType_valueSparqlConstructTriplesFunctionDeclaration.js +2 -4
  98. package/dist/generators/ts/_NamedObjectType/NamedObjectType_valueSparqlWherePatternsFunctionDeclaration.js +3 -5
  99. package/dist/generators/ts/_NamedObjectType/ShaclProperty.d.ts +1 -1
  100. package/dist/generators/ts/_NamedObjectType/ShaclProperty.js +12 -15
  101. package/dist/generators/ts/_NamedObjectType/identifierTypeDeclarations.js +4 -5
  102. package/dist/generators/ts/_snippets/snippets_BlankNodeFilter.d.ts +2 -1
  103. package/dist/generators/ts/_snippets/snippets_BlankNodeFilter.js +1 -2
  104. package/dist/generators/ts/_snippets/snippets_BlankNodeSchema.d.ts +2 -1
  105. package/dist/generators/ts/_snippets/snippets_BlankNodeSchema.js +1 -2
  106. package/dist/generators/ts/_snippets/snippets_BooleanFilter.d.ts +2 -1
  107. package/dist/generators/ts/_snippets/snippets_BooleanFilter.js +1 -2
  108. package/dist/generators/ts/_snippets/snippets_BooleanSchema.d.ts +2 -1
  109. package/dist/generators/ts/_snippets/snippets_BooleanSchema.js +1 -2
  110. package/dist/generators/ts/_snippets/snippets_CollectionFilter.d.ts +2 -1
  111. package/dist/generators/ts/_snippets/snippets_CollectionFilter.js +1 -2
  112. package/dist/generators/ts/_snippets/snippets_CollectionSchema.d.ts +2 -1
  113. package/dist/generators/ts/_snippets/snippets_CollectionSchema.js +1 -2
  114. package/dist/generators/ts/_snippets/snippets_DateFilter.d.ts +2 -1
  115. package/dist/generators/ts/_snippets/snippets_DateFilter.js +1 -2
  116. package/dist/generators/ts/_snippets/snippets_DateSchema.d.ts +2 -1
  117. package/dist/generators/ts/_snippets/snippets_DateSchema.js +1 -2
  118. package/dist/generators/ts/_snippets/snippets_DefaultValueSchema.d.ts +2 -1
  119. package/dist/generators/ts/_snippets/snippets_DefaultValueSchema.js +1 -3
  120. package/dist/generators/ts/_snippets/snippets_EqualsResult.d.ts +2 -1
  121. package/dist/generators/ts/_snippets/snippets_EqualsResult.js +1 -3
  122. package/dist/generators/ts/_snippets/snippets_FocusSparqlConstructTriplesFunction.d.ts +2 -1
  123. package/dist/generators/ts/_snippets/snippets_FocusSparqlConstructTriplesFunction.js +1 -3
  124. package/dist/generators/ts/_snippets/snippets_FocusSparqlWherePatternsFunction.d.ts +2 -1
  125. package/dist/generators/ts/_snippets/snippets_FocusSparqlWherePatternsFunction.js +2 -5
  126. package/dist/generators/ts/_snippets/snippets_FromRdfResourceFunction.d.ts +2 -1
  127. package/dist/generators/ts/_snippets/snippets_FromRdfResourceFunction.js +1 -3
  128. package/dist/generators/ts/_snippets/snippets_FromRdfResourceValuesFunction.d.ts +2 -1
  129. package/dist/generators/ts/_snippets/snippets_FromRdfResourceValuesFunction.js +1 -3
  130. package/dist/generators/ts/_snippets/snippets_Hasher.d.ts +2 -1
  131. package/dist/generators/ts/_snippets/snippets_Hasher.js +1 -2
  132. package/dist/generators/ts/_snippets/snippets_IdentifierFilter.d.ts +2 -1
  133. package/dist/generators/ts/_snippets/snippets_IdentifierFilter.js +1 -3
  134. package/dist/generators/ts/_snippets/snippets_IdentifierSchema.d.ts +2 -1
  135. package/dist/generators/ts/_snippets/snippets_IdentifierSchema.js +1 -2
  136. package/dist/generators/ts/_snippets/snippets_IdentifierSet.d.ts +2 -1
  137. package/dist/generators/ts/_snippets/snippets_IdentifierSet.js +1 -3
  138. package/dist/generators/ts/_snippets/snippets_IriFilter.d.ts +2 -1
  139. package/dist/generators/ts/_snippets/snippets_IriFilter.js +1 -3
  140. package/dist/generators/ts/_snippets/snippets_IriSchema.d.ts +2 -1
  141. package/dist/generators/ts/_snippets/snippets_IriSchema.js +1 -3
  142. package/dist/generators/ts/_snippets/snippets_LazyObject.d.ts +2 -1
  143. package/dist/generators/ts/_snippets/snippets_LazyObject.js +1 -3
  144. package/dist/generators/ts/_snippets/snippets_LazyObjectOption.d.ts +2 -1
  145. package/dist/generators/ts/_snippets/snippets_LazyObjectOption.js +1 -3
  146. package/dist/generators/ts/_snippets/snippets_LazyObjectSet.d.ts +2 -1
  147. package/dist/generators/ts/_snippets/snippets_LazyObjectSet.js +1 -3
  148. package/dist/generators/ts/_snippets/snippets_LiteralFilter.d.ts +2 -1
  149. package/dist/generators/ts/_snippets/snippets_LiteralFilter.js +2 -5
  150. package/dist/generators/ts/_snippets/snippets_LiteralSchema.d.ts +2 -1
  151. package/dist/generators/ts/_snippets/snippets_LiteralSchema.js +1 -3
  152. package/dist/generators/ts/_snippets/snippets_MaybeFilter.d.ts +2 -1
  153. package/dist/generators/ts/_snippets/snippets_MaybeFilter.js +1 -2
  154. package/dist/generators/ts/_snippets/snippets_MaybeSchema.d.ts +2 -1
  155. package/dist/generators/ts/_snippets/snippets_MaybeSchema.js +1 -2
  156. package/dist/generators/ts/_snippets/snippets_NumericFilter.d.ts +2 -1
  157. package/dist/generators/ts/_snippets/snippets_NumericFilter.js +1 -2
  158. package/dist/generators/ts/_snippets/snippets_NumericSchema.d.ts +2 -1
  159. package/dist/generators/ts/_snippets/snippets_NumericSchema.js +1 -2
  160. package/dist/generators/ts/_snippets/snippets_PropertyPath.d.ts +2 -1
  161. package/dist/generators/ts/_snippets/snippets_PropertyPath.js +8 -13
  162. package/dist/generators/ts/_snippets/snippets_RdfVocabularies.d.ts +2 -1
  163. package/dist/generators/ts/_snippets/snippets_RdfVocabularies.js +1 -3
  164. package/dist/generators/ts/_snippets/snippets_ShaclPropertySchema.d.ts +2 -1
  165. package/dist/generators/ts/_snippets/snippets_ShaclPropertySchema.js +2 -4
  166. package/dist/generators/ts/_snippets/snippets_SparqlFilterPattern.d.ts +2 -1
  167. package/dist/generators/ts/_snippets/snippets_SparqlFilterPattern.js +1 -3
  168. package/dist/generators/ts/_snippets/snippets_SparqlPattern.d.ts +2 -1
  169. package/dist/generators/ts/_snippets/snippets_SparqlPattern.js +1 -4
  170. package/dist/generators/ts/_snippets/snippets_SparqlPattern_isSolutionGenerating.d.ts +2 -1
  171. package/dist/generators/ts/_snippets/snippets_SparqlPattern_isSolutionGenerating.js +2 -4
  172. package/dist/generators/ts/_snippets/snippets_StringFilter.d.ts +2 -1
  173. package/dist/generators/ts/_snippets/snippets_StringFilter.js +1 -2
  174. package/dist/generators/ts/_snippets/snippets_StringSchema.d.ts +2 -1
  175. package/dist/generators/ts/_snippets/snippets_StringSchema.js +1 -2
  176. package/dist/generators/ts/_snippets/snippets_TermFilter.d.ts +2 -1
  177. package/dist/generators/ts/_snippets/snippets_TermFilter.js +1 -3
  178. package/dist/generators/ts/_snippets/snippets_TermSchema.d.ts +2 -1
  179. package/dist/generators/ts/_snippets/snippets_TermSchema.js +1 -3
  180. package/dist/generators/ts/_snippets/snippets_ToRdfResourceFunction.d.ts +2 -1
  181. package/dist/generators/ts/_snippets/snippets_ToRdfResourceFunction.js +9 -5
  182. package/dist/generators/ts/_snippets/snippets_ToRdfResourceValuesFunction.d.ts +2 -1
  183. package/dist/generators/ts/_snippets/snippets_ToRdfResourceValuesFunction.js +5 -6
  184. package/dist/generators/ts/_snippets/snippets_UnwrapR.d.ts +2 -1
  185. package/dist/generators/ts/_snippets/snippets_UnwrapR.js +1 -3
  186. package/dist/generators/ts/_snippets/snippets_ValueSparqlConstructTriplesFunction.d.ts +2 -1
  187. package/dist/generators/ts/_snippets/snippets_ValueSparqlConstructTriplesFunction.js +1 -3
  188. package/dist/generators/ts/_snippets/snippets_ValueSparqlWherePatternsFunction.d.ts +2 -1
  189. package/dist/generators/ts/_snippets/snippets_ValueSparqlWherePatternsFunction.js +3 -6
  190. package/dist/generators/ts/_snippets/snippets__FromRdfResourceFunction.d.ts +3 -0
  191. package/dist/generators/ts/_snippets/snippets__FromRdfResourceFunction.js +13 -0
  192. package/dist/generators/ts/_snippets/snippets__ToRdfResourceFunction.d.ts +3 -0
  193. package/dist/generators/ts/_snippets/snippets__ToRdfResourceFunction.js +12 -0
  194. package/dist/generators/ts/_snippets/snippets_arrayEquals.d.ts +2 -1
  195. package/dist/generators/ts/_snippets/snippets_arrayEquals.js +7 -10
  196. package/dist/generators/ts/_snippets/snippets_arrayIntersection.d.ts +2 -1
  197. package/dist/generators/ts/_snippets/snippets_arrayIntersection.js +1 -2
  198. package/dist/generators/ts/_snippets/snippets_bigDecimalLiteral.d.ts +2 -1
  199. package/dist/generators/ts/_snippets/snippets_bigDecimalLiteral.js +2 -5
  200. package/dist/generators/ts/_snippets/snippets_bigDecimalSparqlWherePatterns.d.ts +2 -1
  201. package/dist/generators/ts/_snippets/snippets_bigDecimalSparqlWherePatterns.js +11 -19
  202. package/dist/generators/ts/_snippets/snippets_blankNodeSparqlWherePatterns.d.ts +2 -1
  203. package/dist/generators/ts/_snippets/snippets_blankNodeSparqlWherePatterns.js +2 -6
  204. package/dist/generators/ts/_snippets/snippets_booleanEquals.d.ts +2 -1
  205. package/dist/generators/ts/_snippets/snippets_booleanEquals.js +4 -6
  206. package/dist/generators/ts/_snippets/snippets_booleanSparqlWherePatterns.d.ts +2 -1
  207. package/dist/generators/ts/_snippets/snippets_booleanSparqlWherePatterns.js +5 -12
  208. package/dist/generators/ts/_snippets/snippets_compactRecord.d.ts +2 -1
  209. package/dist/generators/ts/_snippets/snippets_compactRecord.js +1 -2
  210. package/dist/generators/ts/_snippets/snippets_dateEquals.d.ts +2 -1
  211. package/dist/generators/ts/_snippets/snippets_dateEquals.js +4 -6
  212. package/dist/generators/ts/_snippets/snippets_dateSparqlWherePatterns.d.ts +2 -1
  213. package/dist/generators/ts/_snippets/snippets_dateSparqlWherePatterns.js +9 -17
  214. package/dist/generators/ts/_snippets/snippets_decodeBigDecimalLiteral.d.ts +2 -1
  215. package/dist/generators/ts/_snippets/snippets_decodeBigDecimalLiteral.js +1 -3
  216. package/dist/generators/ts/_snippets/snippets_deduplicateSparqlPatterns.d.ts +2 -1
  217. package/dist/generators/ts/_snippets/snippets_deduplicateSparqlPatterns.js +3 -5
  218. package/dist/generators/ts/_snippets/snippets_defaultValueSparqlWherePatterns.d.ts +2 -1
  219. package/dist/generators/ts/_snippets/snippets_defaultValueSparqlWherePatterns.js +3 -7
  220. package/dist/generators/ts/_snippets/snippets_filterArray.d.ts +2 -1
  221. package/dist/generators/ts/_snippets/snippets_filterArray.js +2 -4
  222. package/dist/generators/ts/_snippets/snippets_filterBigDecimal.d.ts +2 -1
  223. package/dist/generators/ts/_snippets/snippets_filterBigDecimal.js +2 -5
  224. package/dist/generators/ts/_snippets/snippets_filterBlankNode.d.ts +2 -1
  225. package/dist/generators/ts/_snippets/snippets_filterBlankNode.js +2 -5
  226. package/dist/generators/ts/_snippets/snippets_filterBoolean.d.ts +2 -1
  227. package/dist/generators/ts/_snippets/snippets_filterBoolean.js +2 -4
  228. package/dist/generators/ts/_snippets/snippets_filterDate.d.ts +2 -1
  229. package/dist/generators/ts/_snippets/snippets_filterDate.js +2 -4
  230. package/dist/generators/ts/_snippets/snippets_filterIdentifier.d.ts +2 -1
  231. package/dist/generators/ts/_snippets/snippets_filterIdentifier.js +2 -5
  232. package/dist/generators/ts/_snippets/snippets_filterIri.d.ts +2 -1
  233. package/dist/generators/ts/_snippets/snippets_filterIri.js +2 -5
  234. package/dist/generators/ts/_snippets/snippets_filterLiteral.d.ts +2 -1
  235. package/dist/generators/ts/_snippets/snippets_filterLiteral.js +3 -7
  236. package/dist/generators/ts/_snippets/snippets_filterMaybe.d.ts +2 -1
  237. package/dist/generators/ts/_snippets/snippets_filterMaybe.js +2 -5
  238. package/dist/generators/ts/_snippets/snippets_filterNumeric.d.ts +2 -1
  239. package/dist/generators/ts/_snippets/snippets_filterNumeric.js +2 -4
  240. package/dist/generators/ts/_snippets/snippets_filterString.d.ts +2 -1
  241. package/dist/generators/ts/_snippets/snippets_filterString.js +2 -4
  242. package/dist/generators/ts/_snippets/snippets_filterTerm.d.ts +2 -1
  243. package/dist/generators/ts/_snippets/snippets_filterTerm.js +2 -5
  244. package/dist/generators/ts/_snippets/snippets_fromRdfLanguageIn.d.ts +2 -1
  245. package/dist/generators/ts/_snippets/snippets_fromRdfLanguageIn.js +1 -3
  246. package/dist/generators/ts/_snippets/snippets_fromRdfPreferredLanguages.d.ts +2 -1
  247. package/dist/generators/ts/_snippets/snippets_fromRdfPreferredLanguages.js +1 -3
  248. package/dist/generators/ts/_snippets/snippets_identifierSparqlWherePatterns.d.ts +2 -1
  249. package/dist/generators/ts/_snippets/snippets_identifierSparqlWherePatterns.js +4 -10
  250. package/dist/generators/ts/_snippets/snippets_iriSparqlWherePatterns.d.ts +2 -1
  251. package/dist/generators/ts/_snippets/snippets_iriSparqlWherePatterns.js +5 -12
  252. package/dist/generators/ts/_snippets/snippets_isReadonlyBigIntArray.d.ts +2 -1
  253. package/dist/generators/ts/_snippets/snippets_isReadonlyBigIntArray.js +1 -2
  254. package/dist/generators/ts/_snippets/snippets_isReadonlyBooleanArray.d.ts +2 -1
  255. package/dist/generators/ts/_snippets/snippets_isReadonlyBooleanArray.js +1 -2
  256. package/dist/generators/ts/_snippets/snippets_isReadonlyNumberArray.d.ts +2 -1
  257. package/dist/generators/ts/_snippets/snippets_isReadonlyNumberArray.js +1 -2
  258. package/dist/generators/ts/_snippets/snippets_isReadonlyObjectArray.d.ts +2 -1
  259. package/dist/generators/ts/_snippets/snippets_isReadonlyObjectArray.js +1 -2
  260. package/dist/generators/ts/_snippets/snippets_isReadonlyStringArray.d.ts +2 -1
  261. package/dist/generators/ts/_snippets/snippets_isReadonlyStringArray.js +1 -2
  262. package/dist/generators/ts/_snippets/snippets_liftSparqlPatterns.d.ts +2 -1
  263. package/dist/generators/ts/_snippets/snippets_liftSparqlPatterns.js +4 -7
  264. package/dist/generators/ts/_snippets/snippets_listSparqlConstructTriples.d.ts +2 -1
  265. package/dist/generators/ts/_snippets/snippets_listSparqlConstructTriples.js +6 -12
  266. package/dist/generators/ts/_snippets/snippets_listSparqlWherePatterns.d.ts +2 -1
  267. package/dist/generators/ts/_snippets/snippets_listSparqlWherePatterns.js +9 -18
  268. package/dist/generators/ts/_snippets/snippets_literalFactory.d.ts +2 -1
  269. package/dist/generators/ts/_snippets/snippets_literalFactory.js +1 -3
  270. package/dist/generators/ts/_snippets/snippets_literalSchemaSparqlPatterns.d.ts +2 -1
  271. package/dist/generators/ts/_snippets/snippets_literalSchemaSparqlPatterns.js +7 -13
  272. package/dist/generators/ts/_snippets/snippets_literalSparqlWherePatterns.d.ts +2 -1
  273. package/dist/generators/ts/_snippets/snippets_literalSparqlWherePatterns.js +3 -8
  274. package/dist/generators/ts/_snippets/snippets_maybeEquals.d.ts +2 -1
  275. package/dist/generators/ts/_snippets/snippets_maybeEquals.js +5 -8
  276. package/dist/generators/ts/_snippets/snippets_maybeSparqlConstructTriples.d.ts +2 -1
  277. package/dist/generators/ts/_snippets/snippets_maybeSparqlConstructTriples.js +2 -6
  278. package/dist/generators/ts/_snippets/snippets_maybeSparqlWherePatterns.d.ts +2 -1
  279. package/dist/generators/ts/_snippets/snippets_maybeSparqlWherePatterns.js +4 -9
  280. package/dist/generators/ts/_snippets/snippets_normalizeSparqlWherePatterns.d.ts +2 -1
  281. package/dist/generators/ts/_snippets/snippets_normalizeSparqlWherePatterns.js +9 -14
  282. package/dist/generators/ts/_snippets/snippets_numericSparqlWherePatterns.d.ts +2 -1
  283. package/dist/generators/ts/_snippets/snippets_numericSparqlWherePatterns.js +9 -17
  284. package/dist/generators/ts/_snippets/snippets_parseBlankNode.d.ts +2 -1
  285. package/dist/generators/ts/_snippets/snippets_parseBlankNode.js +2 -5
  286. package/dist/generators/ts/_snippets/snippets_parseIdentifier.d.ts +2 -1
  287. package/dist/generators/ts/_snippets/snippets_parseIdentifier.js +1 -3
  288. package/dist/generators/ts/_snippets/snippets_parseIri.d.ts +2 -1
  289. package/dist/generators/ts/_snippets/snippets_parseIri.js +2 -5
  290. package/dist/generators/ts/_snippets/snippets_setSparqlConstructTriples.d.ts +2 -1
  291. package/dist/generators/ts/_snippets/snippets_setSparqlConstructTriples.js +2 -6
  292. package/dist/generators/ts/_snippets/snippets_setSparqlWherePatterns.d.ts +2 -1
  293. package/dist/generators/ts/_snippets/snippets_setSparqlWherePatterns.js +3 -8
  294. package/dist/generators/ts/_snippets/snippets_shaclPropertyFromRdf.d.ts +2 -1
  295. package/dist/generators/ts/_snippets/snippets_shaclPropertyFromRdf.js +2 -5
  296. package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlConstructTriples.d.ts +2 -1
  297. package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlConstructTriples.js +4 -9
  298. package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlWherePatterns.d.ts +2 -1
  299. package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlWherePatterns.js +8 -15
  300. package/dist/generators/ts/_snippets/snippets_sortSparqlPatterns.d.ts +2 -1
  301. package/dist/generators/ts/_snippets/snippets_sortSparqlPatterns.js +5 -7
  302. package/dist/generators/ts/_snippets/snippets_sparqlInstancesOfPattern.d.ts +2 -1
  303. package/dist/generators/ts/_snippets/snippets_sparqlInstancesOfPattern.js +3 -6
  304. package/dist/generators/ts/_snippets/snippets_sparqlPropertyPath.d.ts +2 -1
  305. package/dist/generators/ts/_snippets/snippets_sparqlPropertyPath.js +3 -6
  306. package/dist/generators/ts/_snippets/snippets_sparqlValueInPattern.d.ts +2 -1
  307. package/dist/generators/ts/_snippets/snippets_sparqlValueInPattern.js +3 -7
  308. package/dist/generators/ts/_snippets/snippets_strictEquals.d.ts +2 -1
  309. package/dist/generators/ts/_snippets/snippets_strictEquals.js +4 -6
  310. package/dist/generators/ts/_snippets/snippets_stringSparqlWherePatterns.d.ts +2 -1
  311. package/dist/generators/ts/_snippets/snippets_stringSparqlWherePatterns.js +7 -15
  312. package/dist/generators/ts/_snippets/snippets_termFilterSparqlPatterns.d.ts +2 -1
  313. package/dist/generators/ts/_snippets/snippets_termFilterSparqlPatterns.js +4 -9
  314. package/dist/generators/ts/_snippets/snippets_termSchemaSparqlPatterns.d.ts +2 -1
  315. package/dist/generators/ts/_snippets/snippets_termSchemaSparqlPatterns.js +6 -11
  316. package/dist/generators/ts/_snippets/snippets_termSparqlWherePatterns.d.ts +2 -1
  317. package/dist/generators/ts/_snippets/snippets_termSparqlWherePatterns.js +3 -9
  318. package/dist/generators/ts/_snippets/snippets_wrap_FromRdfResourceFunction.d.ts +3 -0
  319. package/dist/generators/ts/_snippets/snippets_wrap_FromRdfResourceFunction.js +10 -0
  320. package/dist/generators/ts/_snippets/snippets_wrap_ToRdfResourceFunction.d.ts +3 -0
  321. package/dist/generators/ts/_snippets/snippets_wrap_ToRdfResourceFunction.js +14 -0
  322. package/dist/generators/ts/graphqlSchemaVariableStatement.d.ts +2 -1
  323. package/dist/generators/ts/graphqlSchemaVariableStatement.js +13 -14
  324. package/dist/generators/ts/objectSetDeclarations.d.ts +2 -1
  325. package/dist/generators/ts/objectSetDeclarations.js +3 -3
  326. package/dist/generators/ts/objectSetInterfaceDeclaration.d.ts +2 -1
  327. package/dist/generators/ts/objectSetInterfaceDeclaration.js +4 -5
  328. package/dist/generators/ts/objectSetMethodSignatures.d.ts +2 -1
  329. package/dist/generators/ts/objectSetMethodSignatures.js +4 -5
  330. package/dist/generators/ts/rdfjsDatasetObjectSetClassDeclaration.d.ts +2 -1
  331. package/dist/generators/ts/rdfjsDatasetObjectSetClassDeclaration.js +49 -51
  332. package/dist/generators/ts/rdfjsTermExpression.d.ts +6 -2
  333. package/dist/generators/ts/rdfjsTermExpression.js +13 -15
  334. package/dist/generators/ts/sparqlObjectSetClassDeclaration.d.ts +2 -1
  335. package/dist/generators/ts/sparqlObjectSetClassDeclaration.js +43 -45
  336. package/dist/generators/ts/unsupportedObjectSetMethodDeclarations.d.ts +2 -1
  337. package/dist/generators/ts/unsupportedObjectSetMethodDeclarations.js +6 -7
  338. package/dist/input/ShapesGraph.d.ts +4 -4
  339. package/dist/input/ShapesGraph.js +4 -4
  340. package/dist/input/generated.d.ts +184 -267
  341. package/dist/input/generated.js +721 -779
  342. package/package.json +2 -2
  343. package/dist/generators/ts/_NamedObjectType/NamedObjectType_propertiesFromJsonFunctionDeclaration.d.ts +0 -5
  344. package/dist/generators/ts/_NamedObjectType/NamedObjectType_propertiesFromJsonFunctionDeclaration.js +0 -38
  345. package/dist/generators/ts/_NamedObjectType/NamedObjectType_propertiesFromRdfResourceFunctionDeclaration.d.ts +0 -5
  346. package/dist/generators/ts/_NamedObjectType/NamedObjectType_propertiesFromRdfResourceFunctionDeclaration.js +0 -101
  347. package/dist/generators/ts/_snippets/snippets_PropertiesFromRdfResourceFunction.d.ts +0 -2
  348. package/dist/generators/ts/_snippets/snippets_PropertiesFromRdfResourceFunction.js +0 -15
  349. package/dist/generators/ts/imports.js +0 -41
  350. package/dist/generators/ts/snippets.d.ts +0 -110
  351. package/dist/generators/ts/snippets.js +0 -217
  352. package/dist/generators/ts/synthesizeUberObjectUnionType.d.ts +0 -11
  353. package/dist/generators/ts/synthesizeUberObjectUnionType.js +0 -68
@@ -1,15 +1,13 @@
1
- import { imports } from "./imports.js";
2
1
  import { objectSetMethodSignatures } from "./objectSetMethodSignatures.js";
3
- import { snippets } from "./snippets.js";
4
2
  import { syntheticNamePrefix } from "./syntheticNamePrefix.js";
5
3
  import { code, joinCode } from "./ts-poet-wrapper.js";
6
4
  import { unsupportedObjectSetMethodDeclarations } from "./unsupportedObjectSetMethodDeclarations.js";
7
5
  export function rdfjsDatasetObjectSetClassDeclaration({ namedObjectTypes, namedObjectUnionTypes, }) {
8
6
  const namedObjectTypeType = code `\
9
7
  {
10
- ${syntheticNamePrefix}filter: (filter: ObjectFilterT, value: ObjectT) => boolean;
11
- ${syntheticNamePrefix}fromRdfResource: ${snippets.FromRdfResourceFunction}<ObjectT>;
12
- ${syntheticNamePrefix}fromRdfTypes: readonly ${imports.NamedNode}[]
8
+ filter: (filter: ObjectFilterT, value: ObjectT) => boolean;
9
+ fromRdfResource: ${this.reusables.snippets.FromRdfResourceFunction}<ObjectT>;
10
+ fromRdfTypes: readonly ${this.reusables.imports.NamedNode}[]
13
11
  }`;
14
12
  const parameters = {
15
13
  query: `query?: ${syntheticNamePrefix}ObjectSet.Query<ObjectFilterT, ObjectIdentifierT>`,
@@ -17,16 +15,16 @@ export function rdfjsDatasetObjectSetClassDeclaration({ namedObjectTypes, namedO
17
15
  const typeParameters = {
18
16
  ObjectT: code `ObjectT extends { readonly $identifier: () => ObjectIdentifierT }`,
19
17
  ObjectFilterT: code `ObjectFilterT`,
20
- ObjectIdentifierT: code `ObjectIdentifierT extends ${imports.BlankNode} | ${imports.NamedNode}`,
18
+ ObjectIdentifierT: code `ObjectIdentifierT extends ${this.reusables.imports.BlankNode} | ${this.reusables.imports.NamedNode}`,
21
19
  };
22
20
  return code `\
23
21
  export class ${syntheticNamePrefix}RdfjsDatasetObjectSet implements ${syntheticNamePrefix}ObjectSet {
24
- protected readonly ${syntheticNamePrefix}graph?: Exclude<${imports.Quad_Graph}, ${imports.Variable}>;
25
- readonly #dataset: ${imports.DatasetCore} | (() => ${imports.DatasetCore});
22
+ readonly #dataset: ${this.reusables.imports.DatasetCore} | (() => ${this.reusables.imports.DatasetCore});
23
+ readonly #graph?: Exclude<${this.reusables.imports.Quad_Graph}, ${this.reusables.imports.Variable}>;
26
24
 
27
- constructor(dataset: ${imports.DatasetCore} | (() => ${imports.DatasetCore}), options?: { graph?: Exclude<${imports.Quad_Graph}, ${imports.Variable}> }) {
25
+ constructor(dataset: ${this.reusables.imports.DatasetCore} | (() => ${this.reusables.imports.DatasetCore}), options?: { graph?: Exclude<${this.reusables.imports.Quad_Graph}, ${this.reusables.imports.Variable}> }) {
28
26
  this.#dataset = dataset;
29
- this.${syntheticNamePrefix}graph = options?.graph;
27
+ this.#graph = options?.graph;
30
28
  }
31
29
 
32
30
  protected ${syntheticNamePrefix}dataset(): DatasetCore {
@@ -36,18 +34,18 @@ export class ${syntheticNamePrefix}RdfjsDatasetObjectSet implements ${syntheticN
36
34
  return this.#dataset();
37
35
  }
38
36
 
39
- protected ${syntheticNamePrefix}resourceSet(): ${imports.ResourceSet} {
40
- return new ${imports.ResourceSet}({ dataFactory: ${imports.dataFactory}, dataset: this.${syntheticNamePrefix}dataset() });
37
+ protected ${syntheticNamePrefix}resourceSet(): ${this.reusables.imports.ResourceSet} {
38
+ return new ${this.reusables.imports.ResourceSet}({ dataFactory: ${this.reusables.imports.dataFactory}, dataset: this.${syntheticNamePrefix}dataset() });
41
39
  }
42
40
 
43
41
  ${joinCode([
44
42
  ...[...namedObjectTypes, ...namedObjectUnionTypes].flatMap((namedObjectType) => {
45
43
  if (!namedObjectType.features.has("rdf")) {
46
- return Object.values(unsupportedObjectSetMethodDeclarations({
44
+ return Object.values(unsupportedObjectSetMethodDeclarations.call(this, {
47
45
  namedObjectType,
48
46
  }));
49
47
  }
50
- const methodSignatures = objectSetMethodSignatures({
48
+ const methodSignatures = objectSetMethodSignatures.call(this, {
51
49
  namedObjectType,
52
50
  });
53
51
  const delegatingMethods = [
@@ -58,7 +56,7 @@ async ${methodSignatures.object.name}(${methodSignatures.object.parameters}): ${
58
56
  }`,
59
57
  // objectSync
60
58
  code `\
61
- ${methodSignatures.object.name}Sync(${methodSignatures.object.parameters}): ${imports.Either}<Error, ${namedObjectType.name}> {
59
+ ${methodSignatures.object.name}Sync(${methodSignatures.object.parameters}): ${this.reusables.imports.Either}<Error, ${namedObjectType.name}> {
62
60
  return this.${methodSignatures.objects.name}Sync({ identifiers: [identifier], preferredLanguages: options?.preferredLanguages }).map(objects => objects[0]);
63
61
  }`,
64
62
  // objectCount
@@ -68,7 +66,7 @@ async ${methodSignatures.objectCount.name}(${methodSignatures.objectCount.parame
68
66
  }`,
69
67
  // objectCountSync
70
68
  code `\
71
- ${methodSignatures.objectCount.name}Sync(${methodSignatures.objectCount.parameters}): ${imports.Either}<Error, number> {
69
+ ${methodSignatures.objectCount.name}Sync(${methodSignatures.objectCount.parameters}): ${this.reusables.imports.Either}<Error, number> {
72
70
  return this.${methodSignatures.objects.name}Sync(query).map(objects => objects.length);
73
71
  }`,
74
72
  // objectIdentifiers
@@ -78,7 +76,7 @@ async ${methodSignatures.objectIdentifiers.name}(${methodSignatures.objectIdenti
78
76
  }`,
79
77
  // objectIdentifiersSync
80
78
  code `\
81
- ${methodSignatures.objectIdentifiers.name}Sync(${methodSignatures.objectIdentifiers.parameters}): ${imports.Either}<Error, readonly ${namedObjectType.identifierTypeAlias}[]> {
79
+ ${methodSignatures.objectIdentifiers.name}Sync(${methodSignatures.objectIdentifiers.parameters}): ${this.reusables.imports.Either}<Error, readonly ${namedObjectType.identifierTypeAlias}[]> {
82
80
  return this.${methodSignatures.objects.name}Sync(query).map(objects => objects.map(object => object.${syntheticNamePrefix}identifier()));
83
81
  }`,
84
82
  // objects
@@ -92,18 +90,18 @@ async ${methodSignatures.objects.name}(${methodSignatures.objects.parameters}):
92
90
  const fromRdfTypes = namedObjectType.fromRdfTypeVariable
93
91
  .toList()
94
92
  .concat(namedObjectType.descendantFromRdfTypeVariables);
95
- return code `{ ${syntheticNamePrefix}filter: ${filterFunction}, ${syntheticNamePrefix}fromRdfResource: ${namedObjectType.name}.${syntheticNamePrefix}fromRdfResource, ${syntheticNamePrefix}fromRdfTypes: ${fromRdfTypes.length > 0 ? code `[${joinCode(fromRdfTypes, { on: ", " })}]` : "[]"} }`;
93
+ return code `{ filter: ${filterFunction}, fromRdfResource: ${namedObjectType.name}.fromRdfResource, fromRdfTypes: ${fromRdfTypes.length > 0 ? code `[${joinCode(fromRdfTypes, { on: ", " })}]` : "[]"} }`;
96
94
  };
97
95
  switch (namedObjectType.kind) {
98
96
  case "NamedObjectType": {
99
97
  return delegatingMethods.concat(code `\
100
- ${methodSignatures.objects.name}Sync(${methodSignatures.objects.parameters}): ${imports.Either}<Error, readonly ${namedObjectType.name}[]> {
98
+ ${methodSignatures.objects.name}Sync(${methodSignatures.objects.parameters}): ${this.reusables.imports.Either}<Error, readonly ${namedObjectType.name}[]> {
101
99
  return this.#objectsSync<${namedObjectType.name}, ${namedObjectType.filterType}, ${namedObjectType.identifierTypeAlias}>(${runtimeObjectType(namedObjectType.filterFunction, namedObjectType)}, query);
102
100
  }`);
103
101
  }
104
102
  case "NamedObjectUnionType":
105
103
  return delegatingMethods.concat(code `\
106
- ${methodSignatures.objects.name}Sync(${methodSignatures.objects.parameters}): ${imports.Either}<Error, readonly ${namedObjectType.name}[]> {
104
+ ${methodSignatures.objects.name}Sync(${methodSignatures.objects.parameters}): ${this.reusables.imports.Either}<Error, readonly ${namedObjectType.name}[]> {
107
105
  return this.#objectUnionsSync<${namedObjectType.name}, ${namedObjectType.filterType}, ${namedObjectType.identifierTypeAlias}>([
108
106
  ${joinCode(namedObjectType.members.map((member) => runtimeObjectType(namedObjectType.filterFunction, member.type)), { on: ", " })}
109
107
  ], query);
@@ -116,28 +114,28 @@ ${methodSignatures.objects.name}Sync(${methodSignatures.objects.parameters}): ${
116
114
  ...(namedObjectTypes.length > 0
117
115
  ? [
118
116
  code `\
119
- #objectsSync<${typeParameters.ObjectT}, ${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}>(namedObjectType: ${namedObjectTypeType}, ${parameters.query}): ${imports.Either}<Error, readonly ObjectT[]> {
120
- const graph = query?.graph ?? this.${syntheticNamePrefix}graph;
117
+ #objectsSync<${typeParameters.ObjectT}, ${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}>(namedObjectType: ${namedObjectTypeType}, ${parameters.query}): ${this.reusables.imports.Either}<Error, readonly ObjectT[]> {
118
+ const graph = query?.graph ?? this.#graph;
121
119
 
122
120
  const limit = query?.limit ?? Number.MAX_SAFE_INTEGER;
123
- if (limit <= 0) { return ${imports.Right}([]); }
121
+ if (limit <= 0) { return ${this.reusables.imports.Right}([]); }
124
122
 
125
123
  let offset = query?.offset ?? 0;
126
124
  if (offset < 0) { offset = 0; }
127
125
 
128
- const fromRdfResourceOptions: Parameters<${snippets.FromRdfResourceFunction}<ObjectT>>[1] = { graph, objectSet: this, preferredLanguages: query?.preferredLanguages };
126
+ const fromRdfResourceOptions: Parameters<${this.reusables.snippets.FromRdfResourceFunction}<ObjectT>>[1] = { graph, objectSet: this, preferredLanguages: query?.preferredLanguages };
129
127
 
130
- let resources: { object?: ObjectT, resource: ${imports.Resource} }[];
128
+ let resources: { object?: ObjectT, resource: ${this.reusables.imports.Resource} }[];
131
129
  const resourceSet = this.${syntheticNamePrefix}resourceSet(); // Access once, in case it's instantiated lazily
132
130
  let sortResources: boolean;
133
131
  if (query?.identifiers) {
134
132
  resources = query.identifiers.map(identifier => ({ resource: resourceSet.resource(identifier) }));
135
133
  sortResources = false;
136
- } else if (namedObjectType.${syntheticNamePrefix}fromRdfTypes.length > 0) {
137
- const identifierSet = new ${snippets.IdentifierSet}();
134
+ } else if (namedObjectType.fromRdfTypes.length > 0) {
135
+ const identifierSet = new ${this.reusables.snippets.IdentifierSet}();
138
136
  resources = [];
139
137
  sortResources = true;
140
- for (const fromRdfType of namedObjectType.${syntheticNamePrefix}fromRdfTypes) {
138
+ for (const fromRdfType of namedObjectType.fromRdfTypes) {
141
139
  for (const resource of resourceSet.instancesOf(fromRdfType, { graph })) {
142
140
  if (!identifierSet.has(resource.identifier)) {
143
141
  identifierSet.add(resource.identifier);
@@ -146,7 +144,7 @@ ${methodSignatures.objects.name}Sync(${methodSignatures.objects.parameters}): ${
146
144
  }
147
145
  }
148
146
  } else {
149
- const identifierSet = new ${snippets.IdentifierSet}();
147
+ const identifierSet = new ${this.reusables.snippets.IdentifierSet}();
150
148
  resources = [];
151
149
  sortResources = true;
152
150
  for (const quad of resourceSet.dataset) {
@@ -168,7 +166,7 @@ ${methodSignatures.objects.name}Sync(${methodSignatures.objects.parameters}): ${
168
166
  identifierSet.add(quad.subject);
169
167
  const resource = resourceSet.resource(quad.subject);
170
168
  // Eagerly eliminate the majority of resources that won't match the object type
171
- namedObjectType.${syntheticNamePrefix}fromRdfResource(resource, fromRdfResourceOptions).ifRight(object => {
169
+ namedObjectType.fromRdfResource(resource, fromRdfResourceOptions).ifRight(object => {
172
170
  resources.push({ object, resource });
173
171
  });
174
172
  }
@@ -183,54 +181,54 @@ ${methodSignatures.objects.name}Sync(${methodSignatures.objects.parameters}): ${
183
181
  const objects: ObjectT[] = [];
184
182
  for (let { object, resource } of resources) {
185
183
  if (!object) {
186
- const objectEither = namedObjectType.${syntheticNamePrefix}fromRdfResource(resource, fromRdfResourceOptions);
184
+ const objectEither = namedObjectType.fromRdfResource(resource, fromRdfResourceOptions);
187
185
  if (objectEither.isLeft()) {
188
186
  return objectEither;
189
187
  }
190
188
  object = objectEither.unsafeCoerce();
191
189
  }
192
190
 
193
- if (query?.filter && !namedObjectType.${syntheticNamePrefix}filter(query.filter, object)) {
191
+ if (query?.filter && !namedObjectType.filter(query.filter, object)) {
194
192
  continue;
195
193
  }
196
194
 
197
195
  if (objectI++ >= offset) {
198
196
  objects.push(object);
199
197
  if (objects.length === limit) {
200
- return ${imports.Right}(objects);
198
+ return ${this.reusables.imports.Right}(objects);
201
199
  }
202
200
  }
203
201
  }
204
- return ${imports.Right}(objects);
202
+ return ${this.reusables.imports.Right}(objects);
205
203
  }`,
206
204
  ]
207
205
  : []),
208
206
  ...(namedObjectUnionTypes.length > 0
209
207
  ? [
210
208
  code `\
211
- #objectUnionsSync<${typeParameters.ObjectT}, ${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}>(namedObjectTypes: readonly ${namedObjectTypeType}[], ${parameters.query}): ${imports.Either}<Error, readonly ObjectT[]> {
212
- const graph = query?.graph ?? this.${syntheticNamePrefix}graph;
209
+ #objectUnionsSync<${typeParameters.ObjectT}, ${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}>(namedObjectTypes: readonly ${namedObjectTypeType}[], ${parameters.query}): ${this.reusables.imports.Either}<Error, readonly ObjectT[]> {
210
+ const graph = query?.graph ?? this.#graph;
213
211
 
214
212
  const limit = query?.limit ?? Number.MAX_SAFE_INTEGER;
215
- if (limit <= 0) { return ${imports.Right}([]); }
213
+ if (limit <= 0) { return ${this.reusables.imports.Right}([]); }
216
214
 
217
215
  let offset = query?.offset ?? 0;
218
216
  if (offset < 0) { offset = 0; }
219
217
 
220
- const fromRdfResourceOptions: Parameters<${snippets.FromRdfResourceFunction}<ObjectT>>[1] = { graph, objectSet: this, preferredLanguages: query?.preferredLanguages };
218
+ const fromRdfResourceOptions: Parameters<${this.reusables.snippets.FromRdfResourceFunction}<ObjectT>>[1] = { graph, objectSet: this, preferredLanguages: query?.preferredLanguages };
221
219
 
222
- let resources: { object?: ObjectT, namedObjectType?: ${namedObjectTypeType}, resource: ${imports.Resource} }[];
220
+ let resources: { object?: ObjectT, namedObjectType?: ${namedObjectTypeType}, resource: ${this.reusables.imports.Resource} }[];
223
221
  const resourceSet = this.${syntheticNamePrefix}resourceSet(); // Access once, in case it's instantiated lazily
224
222
  let sortResources: boolean;
225
223
  if (query?.identifiers) {
226
224
  resources = query.identifiers.map(identifier => ({ resource: resourceSet.resource(identifier) }));
227
225
  sortResources = false;
228
- } else if (namedObjectTypes.every(namedObjectType => namedObjectType.${syntheticNamePrefix}fromRdfTypes.length > 0)) {
229
- const identifierSet = new ${snippets.IdentifierSet}();
226
+ } else if (namedObjectTypes.every(namedObjectType => namedObjectType.fromRdfTypes.length > 0)) {
227
+ const identifierSet = new ${this.reusables.snippets.IdentifierSet}();
230
228
  resources = [];
231
229
  sortResources = true;
232
230
  for (const namedObjectType of namedObjectTypes) {
233
- for (const fromRdfType of namedObjectType.${syntheticNamePrefix}fromRdfTypes) {
231
+ for (const fromRdfType of namedObjectType.fromRdfTypes) {
234
232
  for (const resource of resourceSet.instancesOf(fromRdfType, { graph })) {
235
233
  if (!identifierSet.has(resource.identifier)) {
236
234
  identifierSet.add(resource.identifier);
@@ -240,7 +238,7 @@ ${methodSignatures.objects.name}Sync(${methodSignatures.objects.parameters}): ${
240
238
  }
241
239
  }
242
240
  } else {
243
- const identifierSet = new ${snippets.IdentifierSet}();
241
+ const identifierSet = new ${this.reusables.snippets.IdentifierSet}();
244
242
  resources = [];
245
243
  sortResources = true;
246
244
  for (const quad of resourceSet.dataset) {
@@ -263,7 +261,7 @@ ${methodSignatures.objects.name}Sync(${methodSignatures.objects.parameters}): ${
263
261
  // Eagerly eliminate the majority of resources that won't match the object types
264
262
  const resource = resourceSet.resource(quad.subject);
265
263
  for (const namedObjectType of namedObjectTypes) {
266
- if (namedObjectType.${syntheticNamePrefix}fromRdfResource(resource, fromRdfResourceOptions).ifRight(object => {
264
+ if (namedObjectType.fromRdfResource(resource, fromRdfResourceOptions).ifRight(object => {
267
265
  resources.push({ object, namedObjectType, resource });
268
266
  }).isRight()) {
269
267
  break;
@@ -281,13 +279,13 @@ ${methodSignatures.objects.name}Sync(${methodSignatures.objects.parameters}): ${
281
279
  const objects: ObjectT[] = [];
282
280
  for (let { object, namedObjectType, resource } of resources) {
283
281
  if (!object) {
284
- let objectEither: ${imports.Either}<Error, ObjectT>;
282
+ let objectEither: ${this.reusables.imports.Either}<Error, ObjectT>;
285
283
  if (namedObjectType) {
286
- objectEither = namedObjectType.${syntheticNamePrefix}fromRdfResource(resource, fromRdfResourceOptions);
284
+ objectEither = namedObjectType.fromRdfResource(resource, fromRdfResourceOptions);
287
285
  } else {
288
- objectEither = ${imports.Left}(new Error("no object types"));
286
+ objectEither = ${this.reusables.imports.Left}(new Error("no object types"));
289
287
  for (const tryObjectType of namedObjectTypes) {
290
- objectEither = tryObjectType.${syntheticNamePrefix}fromRdfResource(resource, fromRdfResourceOptions);
288
+ objectEither = tryObjectType.fromRdfResource(resource, fromRdfResourceOptions);
291
289
  if (objectEither.isRight()) {
292
290
  namedObjectType = tryObjectType;
293
291
  break;
@@ -303,18 +301,18 @@ ${methodSignatures.objects.name}Sync(${methodSignatures.objects.parameters}): ${
303
301
  throw new Error("namedObjectType should be set here");
304
302
  }
305
303
 
306
- if (query?.filter && !namedObjectType.${syntheticNamePrefix}filter(query.filter, object)) {
304
+ if (query?.filter && !namedObjectType.filter(query.filter, object)) {
307
305
  continue;
308
306
  }
309
307
 
310
308
  if (objectI++ >= offset) {
311
309
  objects.push(object);
312
310
  if (objects.length === limit) {
313
- return ${imports.Right}(objects);
311
+ return ${this.reusables.imports.Right}(objects);
314
312
  }
315
313
  }
316
314
  }
317
- return ${imports.Right}(objects);
315
+ return ${this.reusables.imports.Right}(objects);
318
316
  }`,
319
317
  ]
320
318
  : []),
@@ -1,7 +1,11 @@
1
1
  import type { BlankNode, Literal, NamedNode, Variable } from "@rdfjs/types";
2
2
  import type { Logger } from "ts-log";
3
+ import type { Imports } from "./Imports.js";
4
+ import type { Snippets } from "./Snippets.js";
3
5
  import { type Code } from "./ts-poet-wrapper.js";
4
- export declare function rdfjsTermExpression(rdfjsTerm: Omit<BlankNode, "equals"> | Omit<Literal, "equals"> | Omit<NamedNode, "equals"> | Omit<Variable, "equals">, { logger }: {
6
+ export declare function rdfjsTermExpression(this: {
7
+ imports: Imports;
5
8
  logger: Logger;
6
- }): Code;
9
+ snippets: Snippets;
10
+ }, rdfjsTerm: Omit<BlankNode, "equals"> | Omit<Literal, "equals"> | Omit<NamedNode, "equals"> | Omit<Variable, "equals">): Code;
7
11
  //# sourceMappingURL=rdfjsTermExpression.d.ts.map
@@ -1,19 +1,17 @@
1
1
  import { rdf, rdfs, xsd } from "@tpluscode/rdf-ns-builders";
2
- import { snippets_RdfVocabularies } from "./_snippets/snippets_RdfVocabularies.js";
3
- import { imports } from "./imports.js";
4
2
  import { code, literalOf } from "./ts-poet-wrapper.js";
5
- export function rdfjsTermExpression(rdfjsTerm, { logger }) {
3
+ export function rdfjsTermExpression(rdfjsTerm) {
6
4
  switch (rdfjsTerm.termType) {
7
5
  case "BlankNode":
8
- return code `${imports.dataFactory}.blankNode(${literalOf(rdfjsTerm.value)})`;
6
+ return code `${this.imports.dataFactory}.blankNode(${literalOf(rdfjsTerm.value)})`;
9
7
  case "Literal":
10
8
  if (rdfjsTerm.datatype.equals(xsd.string)) {
11
9
  if (rdfjsTerm.language.length === 0) {
12
- return code `${imports.dataFactory}.literal(${literalOf(rdfjsTerm.value)})`;
10
+ return code `${this.imports.dataFactory}.literal(${literalOf(rdfjsTerm.value)})`;
13
11
  }
14
- return code `${imports.dataFactory}.literal(${literalOf(rdfjsTerm.value)}, ${literalOf(rdfjsTerm.language)})`;
12
+ return code `${this.imports.dataFactory}.literal(${literalOf(rdfjsTerm.value)}, ${literalOf(rdfjsTerm.language)})`;
15
13
  }
16
- return code `${imports.dataFactory}.literal(${literalOf(rdfjsTerm.value)}, ${rdfjsTermExpression(rdfjsTerm.datatype, { logger })})`;
14
+ return code `${this.imports.dataFactory}.literal(${literalOf(rdfjsTerm.value)}, ${rdfjsTermExpression.call(this, rdfjsTerm.datatype)})`;
17
15
  case "NamedNode": {
18
16
  if (rdfjsTerm.value.startsWith(rdf[""].value)) {
19
17
  const unqualifiedName = rdfjsTerm.value.substring(rdf[""].value.length);
@@ -23,18 +21,18 @@ export function rdfjsTermExpression(rdfjsTerm, { logger }) {
23
21
  case "rest":
24
22
  case "subject":
25
23
  case "type":
26
- return code `${snippets_RdfVocabularies}.rdf.${unqualifiedName}`;
24
+ return code `${this.snippets.RdfVocabularies}.rdf.${unqualifiedName}`;
27
25
  default:
28
- logger.warn("unrecognized rdf IRI: %s", rdfjsTerm.value);
26
+ this.logger.warn("unrecognized rdf IRI: %s", rdfjsTerm.value);
29
27
  }
30
28
  }
31
29
  else if (rdfjsTerm.value.startsWith(rdfs[""].value)) {
32
30
  const unqualifiedName = rdfjsTerm.value.substring(rdfs[""].value.length);
33
31
  switch (unqualifiedName) {
34
32
  case "subClassOf":
35
- return code `${snippets_RdfVocabularies}.rdfs.${unqualifiedName}`;
33
+ return code `${this.snippets.RdfVocabularies}.rdfs.${unqualifiedName}`;
36
34
  default:
37
- logger.warn("unrecognized rdfs IRI: %s", rdfjsTerm.value);
35
+ this.logger.warn("unrecognized rdfs IRI: %s", rdfjsTerm.value);
38
36
  }
39
37
  }
40
38
  else if (rdfjsTerm.value.startsWith(xsd[""].value)) {
@@ -60,15 +58,15 @@ export function rdfjsTermExpression(rdfjsTerm, { logger }) {
60
58
  case "unsignedInt":
61
59
  case "unsignedLong":
62
60
  case "unsignedShort":
63
- return code `${snippets_RdfVocabularies}.xsd.${unqualifiedName}`;
61
+ return code `${this.snippets.RdfVocabularies}.xsd.${unqualifiedName}`;
64
62
  default:
65
- logger.warn("unrecognized xsd IRI: %s", rdfjsTerm.value);
63
+ this.logger.warn("unrecognized xsd IRI: %s", rdfjsTerm.value);
66
64
  }
67
65
  }
68
- return code `${imports.dataFactory}.namedNode(${literalOf(rdfjsTerm.value)})`;
66
+ return code `${this.imports.dataFactory}.namedNode(${literalOf(rdfjsTerm.value)})`;
69
67
  }
70
68
  case "Variable":
71
- return code `${imports.dataFactory}.variable!(${literalOf(rdfjsTerm.value)})`;
69
+ return code `${this.imports.dataFactory}.variable!(${literalOf(rdfjsTerm.value)})`;
72
70
  }
73
71
  }
74
72
  //# sourceMappingURL=rdfjsTermExpression.js.map
@@ -1,7 +1,8 @@
1
1
  import type { NamedObjectType } from "./NamedObjectType.js";
2
2
  import type { NamedObjectUnionType } from "./NamedObjectUnionType.js";
3
+ import type { TsGenerator } from "./TsGenerator.js";
3
4
  import { type Code } from "./ts-poet-wrapper.js";
4
- export declare function sparqlObjectSetClassDeclaration({ namedObjectTypes, namedObjectUnionTypes, }: {
5
+ export declare function sparqlObjectSetClassDeclaration(this: TsGenerator, { namedObjectTypes, namedObjectUnionTypes, }: {
5
6
  namedObjectTypes: readonly NamedObjectType[];
6
7
  namedObjectUnionTypes: readonly NamedObjectUnionType[];
7
8
  }): Code;
@@ -1,45 +1,43 @@
1
- import { imports } from "./imports.js";
2
1
  import { objectSetMethodSignatures } from "./objectSetMethodSignatures.js";
3
- import { snippets } from "./snippets.js";
4
2
  import { syntheticNamePrefix } from "./syntheticNamePrefix.js";
5
3
  import { code, joinCode } from "./ts-poet-wrapper.js";
6
4
  import { unsupportedObjectSetMethodDeclarations } from "./unsupportedObjectSetMethodDeclarations.js";
7
5
  export function sparqlObjectSetClassDeclaration({ namedObjectTypes, namedObjectUnionTypes, }) {
8
6
  const parameters = {
9
7
  constructObjectType: code `namedObjectType: {\
10
- ${syntheticNamePrefix}focusSparqlWherePatterns: ${snippets.FocusSparqlWherePatternsFunction}<ObjectFilterT>;
11
- ${syntheticNamePrefix}fromRdfResource: ${snippets.FromRdfResourceFunction}<ObjectT>;
12
- ${syntheticNamePrefix}sparqlConstructQueryString: (parameters: { filter?: ObjectFilterT; subject: ${imports.NamedNode} | ${imports.Variable}; } & Omit<${imports.sparqljs}.ConstructQuery, "prefixes" | "queryType" | "type"> & ${imports.sparqljs}.GeneratorOptions) => string;
8
+ focusSparqlWherePatterns: ${this.reusables.snippets.FocusSparqlWherePatternsFunction}<ObjectFilterT>;
9
+ fromRdfResource: ${this.reusables.snippets.FromRdfResourceFunction}<ObjectT>;
10
+ sparqlConstructQueryString: (parameters: { filter?: ObjectFilterT; subject: ${this.reusables.imports.NamedNode} | ${this.reusables.imports.Variable}; } & Omit<${this.reusables.imports.sparqljs}.ConstructQuery, "prefixes" | "queryType" | "type"> & ${this.reusables.imports.sparqljs}.GeneratorOptions) => string;
13
11
  }`,
14
12
  query: code `query?: ${syntheticNamePrefix}SparqlObjectSet.Query<ObjectFilterT, ObjectIdentifierT>`,
15
- selectObjectTypeType: code `namedObjectType: { ${syntheticNamePrefix}focusSparqlWherePatterns: ${snippets.FocusSparqlWherePatternsFunction}<ObjectFilterT> }`,
13
+ selectObjectTypeType: code `namedObjectType: { focusSparqlWherePatterns: ${this.reusables.snippets.FocusSparqlWherePatternsFunction}<ObjectFilterT> }`,
16
14
  };
17
- const sparqlClientType = code `{ queryBindings: (query: string) => Promise<readonly Record<string, ${imports.BlankNode} | ${imports.Literal} | ${imports.NamedNode}>[]>; queryQuads: (query: string) => Promise<readonly ${imports.Quad}[]>; }`;
15
+ const sparqlClientType = code `{ queryBindings: (query: string) => Promise<readonly Record<string, ${this.reusables.imports.BlankNode} | ${this.reusables.imports.Literal} | ${this.reusables.imports.NamedNode}>[]>; queryQuads: (query: string) => Promise<readonly ${this.reusables.imports.Quad}[]>; }`;
18
16
  const typeParameters = {
19
17
  ObjectT: code `ObjectT extends { readonly $identifier: () => ObjectIdentifierT }`,
20
18
  ObjectFilterT: code `ObjectFilterT`,
21
- ObjectIdentifierT: code `ObjectIdentifierT extends ${imports.BlankNode} | ${imports.NamedNode}`,
19
+ ObjectIdentifierT: code `ObjectIdentifierT extends ${this.reusables.imports.BlankNode} | ${this.reusables.imports.NamedNode}`,
22
20
  };
23
21
  return code `\
24
22
  export class ${syntheticNamePrefix}SparqlObjectSet implements ${syntheticNamePrefix}ObjectSet {
25
- readonly #countVariable = ${imports.dataFactory}.variable!("count");;
26
- readonly #graph?: Exclude<${imports.Quad_Graph}, ${imports.Variable}>;
27
- readonly #objectVariable = ${imports.dataFactory}.variable!("object");
23
+ readonly #countVariable = ${this.reusables.imports.dataFactory}.variable!("count");;
24
+ readonly #graph?: Exclude<${this.reusables.imports.Quad_Graph}, ${this.reusables.imports.Variable}>;
25
+ readonly #objectVariable = ${this.reusables.imports.dataFactory}.variable!("object");
28
26
  readonly #sparqlClient: ${sparqlClientType};
29
- readonly #sparqlGenerator = new ${imports.sparqljs}.Generator();
27
+ readonly #sparqlGenerator = new ${this.reusables.imports.sparqljs}.Generator();
30
28
 
31
- constructor(sparqlClient: ${sparqlClientType}, options?: { graph?: Exclude<${imports.Quad_Graph}, ${imports.Variable}> }) {
29
+ constructor(sparqlClient: ${sparqlClientType}, options?: { graph?: Exclude<${this.reusables.imports.Quad_Graph}, ${this.reusables.imports.Variable}> }) {
32
30
  this.#graph = options?.graph;
33
31
  this.#sparqlClient = sparqlClient;
34
32
  }
35
33
 
36
34
  ${joinCode([...namedObjectTypes, ...namedObjectUnionTypes].flatMap((namedObjectType) => {
37
35
  if (!namedObjectType.features.has("sparql")) {
38
- return Object.values(unsupportedObjectSetMethodDeclarations({
36
+ return Object.values(unsupportedObjectSetMethodDeclarations.call(this, {
39
37
  namedObjectType,
40
38
  }));
41
39
  }
42
- const methodSignatures = objectSetMethodSignatures({
40
+ const methodSignatures = objectSetMethodSignatures.call(this, {
43
41
  namedObjectType,
44
42
  queryT: `${syntheticNamePrefix}SparqlObjectSet.Query`,
45
43
  });
@@ -64,29 +62,29 @@ async ${methodSignatures.objects.name}(${methodSignatures.objects.parameters}):
64
62
  ];
65
63
  }), { on: "\n\n" })}
66
64
 
67
- #mapBindingsToCount(bindings: readonly Record<string, ${imports.BlankNode} | ${imports.Literal} | ${imports.NamedNode}>[], variable: string): ${imports.Either}<Error, number> {
65
+ #mapBindingsToCount(bindings: readonly Record<string, ${this.reusables.imports.BlankNode} | ${this.reusables.imports.Literal} | ${this.reusables.imports.NamedNode}>[], variable: string): ${this.reusables.imports.Either}<Error, number> {
68
66
  if (bindings.length === 0) {
69
- return ${imports.Left}(new Error("empty result rows"));
67
+ return ${this.reusables.imports.Left}(new Error("empty result rows"));
70
68
  }
71
69
  if (bindings.length > 1) {
72
- return ${imports.Left}(new Error("more than one result row"));
70
+ return ${this.reusables.imports.Left}(new Error("more than one result row"));
73
71
  }
74
72
  const count = bindings[0][variable];
75
73
  if (count === undefined) {
76
- return ${imports.Left}(new Error("no 'count' variable in result row"));
74
+ return ${this.reusables.imports.Left}(new Error("no 'count' variable in result row"));
77
75
  }
78
76
  if (count.termType !== "Literal") {
79
- return ${imports.Left}(new Error("'count' variable is not a Literal"));
77
+ return ${this.reusables.imports.Left}(new Error("'count' variable is not a Literal"));
80
78
  }
81
79
  const parsedCount = Number.parseInt(count.value, 10);
82
80
  if (Number.isNaN(parsedCount)) {
83
- return ${imports.Left}(new Error("'count' variable is NaN"));
81
+ return ${this.reusables.imports.Left}(new Error("'count' variable is NaN"));
84
82
  }
85
- return ${imports.Right}(parsedCount);
83
+ return ${this.reusables.imports.Right}(parsedCount);
86
84
  }
87
85
 
88
- #mapBindingsToIdentifiers(bindings: readonly Record<string, ${imports.BlankNode} | ${imports.Literal} | ${imports.NamedNode}>[], variable: string): readonly ${imports.NamedNode}[] {
89
- const identifiers: ${imports.NamedNode}[] = [];
86
+ #mapBindingsToIdentifiers(bindings: readonly Record<string, ${this.reusables.imports.BlankNode} | ${this.reusables.imports.Literal} | ${this.reusables.imports.NamedNode}>[], variable: string): readonly ${this.reusables.imports.NamedNode}[] {
87
+ const identifiers: ${this.reusables.imports.NamedNode}[] = [];
90
88
  for (const bindings_ of bindings) {
91
89
  const identifier = bindings_[variable];
92
90
  if (
@@ -99,14 +97,14 @@ async ${methodSignatures.objects.name}(${methodSignatures.objects.parameters}):
99
97
  return identifiers;
100
98
  }
101
99
 
102
- async #objectIdentifiers<${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}>(${parameters.selectObjectTypeType}, ${parameters.query}): Promise<${imports.Either}<Error, readonly ObjectIdentifierT[]>> {
100
+ async #objectIdentifiers<${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}>(${parameters.selectObjectTypeType}, ${parameters.query}): Promise<${this.reusables.imports.Either}<Error, readonly ObjectIdentifierT[]>> {
103
101
  if (query?.identifiers) {
104
- return ${imports.Right}(query.identifiers);
102
+ return ${this.reusables.imports.Right}(query.identifiers);
105
103
  }
106
104
 
107
105
  const limit = query?.limit ?? Number.MAX_SAFE_INTEGER;
108
106
  if (limit <= 0) {
109
- return ${imports.Right}([]);
107
+ return ${this.reusables.imports.Right}([]);
110
108
  }
111
109
 
112
110
  let offset = query?.offset ?? 0;
@@ -116,7 +114,7 @@ async ${methodSignatures.objects.name}(${methodSignatures.objects.parameters}):
116
114
 
117
115
  const wherePatterns = this.#wherePatterns(namedObjectType, query);
118
116
  if (wherePatterns.length === 0) {
119
- return ${imports.Left}(new Error("no SPARQL WHERE patterns for identifiers"));
117
+ return ${this.reusables.imports.Left}(new Error("no SPARQL WHERE patterns for identifiers"));
120
118
  }
121
119
 
122
120
  const selectQueryString = \
@@ -132,7 +130,7 @@ async ${methodSignatures.objects.name}(${methodSignatures.objects.parameters}):
132
130
  where: wherePatterns.concat()
133
131
  });
134
132
 
135
- return ${imports.EitherAsync}(async () =>
133
+ return ${this.reusables.imports.EitherAsync}(async () =>
136
134
  this.#mapBindingsToIdentifiers(
137
135
  await this.#sparqlClient.queryBindings(selectQueryString),
138
136
  this.#objectVariable.value,
@@ -140,20 +138,20 @@ async ${methodSignatures.objects.name}(${methodSignatures.objects.parameters}):
140
138
  );
141
139
  }
142
140
 
143
- async #objects<${typeParameters.ObjectT}, ${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}>(${parameters.constructObjectType}, ${parameters.query}): Promise<${imports.Either}<Error, readonly ObjectT[]>> {
144
- return ${imports.EitherAsync}(async ({ liftEither }) => {
141
+ async #objects<${typeParameters.ObjectT}, ${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}>(${parameters.constructObjectType}, ${parameters.query}): Promise<${this.reusables.imports.Either}<Error, readonly ObjectT[]>> {
142
+ return ${this.reusables.imports.EitherAsync}(async ({ liftEither }) => {
145
143
  const identifiers = await liftEither(await this.#objectIdentifiers<ObjectFilterT, ObjectIdentifierT>(namedObjectType, query));
146
144
  if (identifiers.length === 0) {
147
145
  return [];
148
146
  }
149
147
 
150
- const constructQueryString = namedObjectType.${syntheticNamePrefix}sparqlConstructQueryString({
148
+ const constructQueryString = namedObjectType.sparqlConstructQueryString({
151
149
  subject: this.#objectVariable,
152
150
  where: [{
153
151
  type: "values" as const,
154
152
  values: identifiers.map((identifier) => {
155
- const valuePatternRow: ${imports.sparqljs}.ValuePatternRow = {};
156
- valuePatternRow["?object"] = identifier as ${imports.NamedNode};
153
+ const valuePatternRow: ${this.reusables.imports.sparqljs}.ValuePatternRow = {};
154
+ valuePatternRow["?object"] = identifier as ${this.reusables.imports.NamedNode};
157
155
  return valuePatternRow;
158
156
  }),
159
157
  }]
@@ -161,19 +159,19 @@ async ${methodSignatures.objects.name}(${methodSignatures.objects.parameters}):
161
159
 
162
160
  const quads = await this.#sparqlClient.queryQuads(constructQueryString);
163
161
 
164
- const dataset = ${imports.datasetFactory}.dataset(quads.concat());
162
+ const dataset = ${this.reusables.imports.datasetFactory}.dataset(quads.concat());
165
163
  const objects: ObjectT[] = [];
166
164
  for (const identifier of identifiers) {
167
- objects.push(await liftEither(namedObjectType.${syntheticNamePrefix}fromRdfResource(new ${imports.Resource}({ dataFactory: ${imports.dataFactory}, dataset: dataset, identifier: identifier as ${imports.NamedNode} }), { objectSet: this, preferredLanguages: query?.preferredLanguages })));
165
+ objects.push(await liftEither(namedObjectType.fromRdfResource(new ${this.reusables.imports.Resource}({ dataFactory: ${this.reusables.imports.dataFactory}, dataset: dataset, identifier: identifier as ${this.reusables.imports.NamedNode} }), { objectSet: this, preferredLanguages: query?.preferredLanguages })));
168
166
  }
169
167
  return objects;
170
168
  });
171
169
  }
172
170
 
173
- async #objectCount<${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}>(${parameters.selectObjectTypeType}, ${parameters.query}): Promise<${imports.Either}<Error, number>> {
171
+ async #objectCount<${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}>(${parameters.selectObjectTypeType}, ${parameters.query}): Promise<${this.reusables.imports.Either}<Error, number>> {
174
172
  const wherePatterns = this.#wherePatterns(namedObjectType, query);
175
173
  if (wherePatterns.length === 0) {
176
- return ${imports.Left}(new Error("no SPARQL WHERE patterns for count"));
174
+ return ${this.reusables.imports.Left}(new Error("no SPARQL WHERE patterns for count"));
177
175
  }
178
176
 
179
177
  const selectQueryString = \
@@ -195,7 +193,7 @@ async ${methodSignatures.objects.name}(${methodSignatures.objects.parameters}):
195
193
  where: wherePatterns.concat()
196
194
  });
197
195
 
198
- return ${imports.EitherAsync}(async ({ liftEither }) =>
196
+ return ${this.reusables.imports.EitherAsync}(async ({ liftEither }) =>
199
197
  liftEither(
200
198
  this.#mapBindingsToCount(
201
199
  await this.#sparqlClient.queryBindings(selectQueryString),
@@ -205,17 +203,17 @@ async ${methodSignatures.objects.name}(${methodSignatures.objects.parameters}):
205
203
  );
206
204
  }
207
205
 
208
- #wherePatterns<${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}>(${parameters.selectObjectTypeType}, ${parameters.query}): readonly ${imports.sparqljs}.Pattern[] {
206
+ #wherePatterns<${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}>(${parameters.selectObjectTypeType}, ${parameters.query}): readonly ${this.reusables.imports.sparqljs}.Pattern[] {
209
207
  // Patterns should be most to least specific.
210
- let patterns: ${imports.sparqljs}.Pattern[] = [];
208
+ let patterns: ${this.reusables.imports.sparqljs}.Pattern[] = [];
211
209
 
212
210
  if (query?.where) {
213
211
  patterns = patterns.concat(query.where(this.#objectVariable));
214
212
  }
215
213
 
216
- patterns = patterns.concat(namedObjectType.${syntheticNamePrefix}focusSparqlWherePatterns({ filter: query?.filter, focusIdentifier: this.#objectVariable, ignoreRdfType: false, preferredLanguages: query?.preferredLanguages, variablePrefix: this.#objectVariable.value }));
214
+ patterns = patterns.concat(namedObjectType.focusSparqlWherePatterns({ filter: query?.filter, focusIdentifier: this.#objectVariable, ignoreRdfType: false, preferredLanguages: query?.preferredLanguages, variablePrefix: this.#objectVariable.value }));
217
215
 
218
- patterns = ${snippets.normalizeSparqlWherePatterns}(patterns).concat();
216
+ patterns = ${this.reusables.snippets.normalizeSparqlWherePatterns}(patterns).concat();
219
217
 
220
218
  const graph = query?.graph ?? this.#graph;
221
219
  if (graph) {
@@ -227,12 +225,12 @@ async ${methodSignatures.objects.name}(${methodSignatures.objects.parameters}):
227
225
  }
228
226
  }
229
227
  // Union of all graphs: { ... patterns covering default graph ... } UNION { GRAPH ?g { ... patterns covering named graphs ... } }
230
- return [{ patterns: [{ patterns, type: "group" }, { name: ${imports.dataFactory}.variable!("g"), patterns, type: "graph" }], type: "union" }];
228
+ return [{ patterns: [{ patterns, type: "group" }, { name: ${this.reusables.imports.dataFactory}.variable!("g"), patterns, type: "graph" }], type: "union" }];
231
229
  }
232
230
  }
233
231
 
234
232
  export namespace ${syntheticNamePrefix}SparqlObjectSet {
235
- export type Query<${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}> = ${syntheticNamePrefix}ObjectSet.Query<ObjectFilterT, ObjectIdentifierT> & { readonly order?: (objectVariable: ${imports.Variable}) => readonly ${imports.sparqljs}.Ordering[]; readonly where?: (objectVariable: ${imports.Variable}) => readonly ${imports.sparqljs}.Pattern[] };
233
+ export type Query<${typeParameters.ObjectFilterT}, ${typeParameters.ObjectIdentifierT}> = ${syntheticNamePrefix}ObjectSet.Query<ObjectFilterT, ObjectIdentifierT> & { readonly order?: (objectVariable: ${this.reusables.imports.Variable}) => readonly ${this.reusables.imports.sparqljs}.Ordering[]; readonly where?: (objectVariable: ${this.reusables.imports.Variable}) => readonly ${this.reusables.imports.sparqljs}.Pattern[] };
236
234
  }`;
237
235
  }
238
236
  //# sourceMappingURL=sparqlObjectSetClassDeclaration.js.map
@@ -1,6 +1,7 @@
1
1
  import type { NamedObjectType } from "./NamedObjectType.js";
2
+ import type { TsGenerator } from "./TsGenerator.js";
2
3
  import { type Code } from "./ts-poet-wrapper.js";
3
- export declare function unsupportedObjectSetMethodDeclarations({ namedObjectType, }: {
4
+ export declare function unsupportedObjectSetMethodDeclarations(this: TsGenerator, { namedObjectType, }: {
4
5
  namedObjectType: {
5
6
  readonly filterType: Code;
6
7
  readonly identifierTypeAlias: Code;