@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.
- package/dist/Compiler.d.ts +2 -3
- package/dist/Compiler.js +5 -8
- package/dist/Eithers.d.ts +14 -0
- package/dist/Eithers.js +67 -0
- package/dist/ShapesGraphToAstTransformer.d.ts +3 -8
- package/dist/ShapesGraphToAstTransformer.js +22 -23
- package/dist/_ShapesGraphToAstTransformer/CurieFactory.d.ts +16 -0
- package/dist/_ShapesGraphToAstTransformer/CurieFactory.js +45 -0
- package/dist/_ShapesGraphToAstTransformer/ShapeStack.d.ts +1 -1
- package/dist/_ShapesGraphToAstTransformer/ShapeStack.js +1 -2
- package/dist/_ShapesGraphToAstTransformer/index.d.ts +1 -5
- package/dist/_ShapesGraphToAstTransformer/index.js +1 -5
- package/dist/_ShapesGraphToAstTransformer/nodeShapeIdentifierMintingStrategy.d.ts +5 -0
- package/dist/_ShapesGraphToAstTransformer/nodeShapeIdentifierMintingStrategy.js +28 -0
- package/dist/_ShapesGraphToAstTransformer/nodeShapeTsFeatures.d.ts +5 -0
- package/dist/_ShapesGraphToAstTransformer/nodeShapeTsFeatures.js +8 -0
- package/dist/_ShapesGraphToAstTransformer/shapeIdentifier.d.ts +5 -0
- package/dist/_ShapesGraphToAstTransformer/shapeIdentifier.js +9 -0
- package/dist/_ShapesGraphToAstTransformer/shapeNodeKinds.d.ts +8 -0
- package/dist/_ShapesGraphToAstTransformer/shapeNodeKinds.js +175 -0
- package/dist/_ShapesGraphToAstTransformer/transformNodeShapeToAstType.d.ts +3 -3
- package/dist/_ShapesGraphToAstTransformer/transformNodeShapeToAstType.js +302 -231
- package/dist/_ShapesGraphToAstTransformer/transformPropertyShapeToAstObjectTypeProperty.d.ts +6 -3
- package/dist/_ShapesGraphToAstTransformer/transformPropertyShapeToAstObjectTypeProperty.js +168 -170
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstAbstractTypeProperties.d.ts +12 -0
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstAbstractTypeProperties.js +31 -0
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstCompoundType.d.ts +10 -0
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstCompoundType.js +141 -0
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstTermType.d.ts +5 -5
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstTermType.js +92 -11
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstType.d.ts +3 -3
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstType.js +8 -4
- package/dist/ast/AbstractCollectionType.d.ts +20 -0
- package/dist/ast/AbstractCollectionType.js +27 -0
- package/dist/ast/AbstractCompoundType.d.ts +23 -0
- package/dist/ast/AbstractCompoundType.js +39 -0
- package/dist/ast/AbstractContainerType.d.ts +36 -0
- package/dist/ast/AbstractContainerType.js +58 -0
- package/dist/ast/AbstractLazyObjectType.d.ts +25 -0
- package/dist/ast/AbstractLazyObjectType.js +30 -0
- package/dist/ast/AbstractObjectCompoundType.d.ts +45 -0
- package/dist/ast/AbstractObjectCompoundType.js +180 -0
- package/dist/ast/AbstractTermType.d.ts +24 -0
- package/dist/ast/AbstractTermType.js +41 -0
- package/dist/ast/AbstractType.d.ts +21 -0
- package/dist/ast/AbstractType.js +29 -0
- package/dist/ast/BlankNodeType.d.ts +11 -0
- package/dist/ast/BlankNodeType.js +17 -0
- package/dist/ast/Curie.d.ts +10 -3
- package/dist/ast/Curie.js +14 -6
- package/dist/ast/DefaultValueType.d.ts +26 -0
- package/dist/ast/DefaultValueType.js +41 -0
- package/dist/ast/IdentifierType.d.ts +5 -4
- package/dist/ast/IdentifierType.js +19 -1
- package/dist/ast/IntersectionType.d.ts +3 -3
- package/dist/ast/IntersectionType.js +7 -1
- package/dist/ast/IriType.d.ts +10 -0
- package/dist/ast/IriType.js +10 -0
- package/dist/ast/LazyObjectOptionType.d.ts +6 -0
- package/dist/ast/LazyObjectOptionType.js +5 -0
- package/dist/ast/LazyObjectSetType.d.ts +6 -0
- package/dist/ast/LazyObjectSetType.js +5 -0
- package/dist/ast/LazyObjectType.d.ts +5 -0
- package/dist/ast/LazyObjectType.js +5 -0
- package/dist/ast/ListType.d.ts +28 -24
- package/dist/ast/ListType.js +68 -1
- package/dist/ast/LiteralType.d.ts +13 -4
- package/dist/ast/LiteralType.js +24 -1
- package/dist/ast/ObjectIntersectionType.d.ts +3 -3
- package/dist/ast/ObjectIntersectionType.js +7 -1
- package/dist/ast/ObjectType.d.ts +79 -72
- package/dist/ast/ObjectType.js +402 -9
- package/dist/ast/ObjectUnionType.d.ts +3 -3
- package/dist/ast/ObjectUnionType.js +7 -1
- package/dist/ast/OptionType.d.ts +9 -4
- package/dist/ast/OptionType.js +17 -1
- package/dist/ast/PlaceholderType.d.ts +10 -2
- package/dist/ast/PlaceholderType.js +18 -1
- package/dist/ast/SetType.d.ts +12 -9
- package/dist/ast/SetType.js +32 -1
- package/dist/ast/TermType.d.ts +8 -13
- package/dist/ast/TermType.js +15 -1
- package/dist/ast/Type.d.ts +10 -4
- package/dist/ast/Type.js +47 -1
- package/dist/ast/UnionType.d.ts +7 -3
- package/dist/ast/UnionType.js +12 -1
- package/dist/ast/equals.d.ts +12 -0
- package/dist/ast/equals.js +65 -0
- package/dist/ast/index.d.ts +10 -2
- package/dist/ast/index.js +10 -2
- package/dist/generators/json/AstJsonGenerator.js +53 -49
- package/dist/generators/ts/AbstractCollectionType.d.ts +47 -0
- package/dist/generators/ts/AbstractCollectionType.js +235 -0
- package/dist/generators/ts/AbstractContainerType.d.ts +51 -0
- package/dist/generators/ts/AbstractContainerType.js +72 -0
- package/dist/generators/ts/AbstractDateType.d.ts +31 -0
- package/dist/generators/ts/AbstractDateType.js +71 -0
- package/dist/generators/ts/AbstractDeclaredType.d.ts +23 -0
- package/dist/generators/ts/AbstractDeclaredType.js +17 -0
- package/dist/generators/ts/AbstractIdentifierType.d.ts +14 -0
- package/dist/generators/ts/AbstractIdentifierType.js +38 -0
- package/dist/generators/ts/AbstractLazyObjectType.d.ts +63 -0
- package/dist/generators/ts/AbstractLazyObjectType.js +140 -0
- package/dist/generators/ts/AbstractLiteralType.d.ts +24 -0
- package/dist/generators/ts/AbstractLiteralType.js +36 -0
- package/dist/generators/ts/AbstractNumericType.d.ts +32 -0
- package/dist/generators/ts/AbstractNumericType.js +85 -0
- package/dist/generators/ts/AbstractPrimitiveType.d.ts +30 -0
- package/dist/generators/ts/AbstractPrimitiveType.js +60 -0
- package/dist/generators/ts/AbstractTermType.d.ts +60 -0
- package/dist/generators/ts/AbstractTermType.js +171 -0
- package/dist/generators/ts/AbstractType.d.ts +267 -0
- package/dist/generators/ts/AbstractType.js +85 -0
- package/dist/generators/ts/BigDecimalType.d.ts +21 -0
- package/dist/generators/ts/BigDecimalType.js +91 -0
- package/dist/generators/ts/BigIntType.d.ts +15 -0
- package/dist/generators/ts/BigIntType.js +49 -0
- package/dist/generators/ts/BlankNodeType.d.ts +26 -0
- package/dist/generators/ts/BlankNodeType.js +61 -0
- package/dist/generators/ts/BooleanType.d.ts +18 -10
- package/dist/generators/ts/BooleanType.js +28 -51
- package/dist/generators/ts/DateTimeType.d.ts +8 -22
- package/dist/generators/ts/DateTimeType.js +10 -89
- package/dist/generators/ts/DateType.d.ts +7 -8
- package/dist/generators/ts/DateType.js +11 -18
- package/dist/generators/ts/DefaultValueType.d.ts +48 -0
- package/dist/generators/ts/DefaultValueType.js +178 -0
- package/dist/generators/ts/FloatType.d.ts +9 -4
- package/dist/generators/ts/FloatType.js +13 -15
- package/dist/generators/ts/IdentifierType.d.ts +18 -16
- package/dist/generators/ts/IdentifierType.js +45 -172
- package/dist/generators/ts/IntType.d.ts +9 -4
- package/dist/generators/ts/IntType.js +13 -15
- package/dist/generators/ts/IriType.d.ts +24 -0
- package/dist/generators/ts/IriType.js +106 -0
- package/dist/generators/ts/LazyObjectOptionType.d.ts +31 -0
- package/dist/generators/ts/LazyObjectOptionType.js +87 -0
- package/dist/generators/ts/LazyObjectSetType.d.ts +15 -0
- package/dist/generators/ts/LazyObjectSetType.js +78 -0
- package/dist/generators/ts/LazyObjectType.d.ts +14 -0
- package/dist/generators/ts/LazyObjectType.js +59 -0
- package/dist/generators/ts/ListType.d.ts +33 -31
- package/dist/generators/ts/ListType.js +76 -271
- package/dist/generators/ts/LiteralType.d.ts +16 -18
- package/dist/generators/ts/LiteralType.js +35 -114
- package/dist/generators/ts/ObjectType.d.ts +60 -66
- package/dist/generators/ts/ObjectType.js +151 -190
- package/dist/generators/ts/ObjectUnionType.d.ts +38 -74
- package/dist/generators/ts/ObjectUnionType.js +144 -559
- package/dist/generators/ts/OptionType.d.ts +33 -27
- package/dist/generators/ts/OptionType.js +93 -83
- package/dist/generators/ts/SetType.d.ts +13 -32
- package/dist/generators/ts/SetType.js +27 -160
- package/dist/generators/ts/StringType.d.ts +19 -11
- package/dist/generators/ts/StringType.js +33 -53
- package/dist/generators/ts/TermType.d.ts +22 -56
- package/dist/generators/ts/TermType.js +67 -219
- package/dist/generators/ts/TsGenerator.d.ts +0 -1
- package/dist/generators/ts/TsGenerator.js +30 -71
- package/dist/generators/ts/Type.d.ts +24 -245
- package/dist/generators/ts/Type.js +1 -121
- package/dist/generators/ts/TypeFactory.d.ts +24 -15
- package/dist/generators/ts/TypeFactory.js +330 -400
- package/dist/generators/ts/Typeof.d.ts +2 -0
- package/dist/generators/ts/Typeof.js +2 -0
- package/dist/generators/ts/UnionType.d.ts +32 -28
- package/dist/generators/ts/UnionType.js +299 -230
- package/dist/generators/ts/_ObjectType/AbstractProperty.d.ts +191 -0
- package/dist/generators/ts/_ObjectType/AbstractProperty.js +49 -0
- package/dist/generators/ts/_ObjectType/IdentifierPrefixProperty.d.ts +22 -25
- package/dist/generators/ts/_ObjectType/IdentifierPrefixProperty.js +34 -56
- package/dist/generators/ts/_ObjectType/IdentifierProperty.d.ts +38 -36
- package/dist/generators/ts/_ObjectType/IdentifierProperty.js +238 -191
- package/dist/generators/ts/_ObjectType/ObjectType_classDeclaration.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_classDeclaration.js +69 -0
- package/dist/generators/ts/_ObjectType/ObjectType_createFunctionDeclaration.d.ts +5 -0
- package/dist/generators/ts/_ObjectType/ObjectType_createFunctionDeclaration.js +52 -0
- package/dist/generators/ts/_ObjectType/ObjectType_equalsFunctionOrMethodDeclaration.d.ts +5 -0
- package/dist/generators/ts/_ObjectType/ObjectType_equalsFunctionOrMethodDeclaration.js +51 -0
- package/dist/generators/ts/_ObjectType/ObjectType_filterFunctionDeclaration.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_filterFunctionDeclaration.js +21 -0
- package/dist/generators/ts/_ObjectType/ObjectType_filterTypeDeclaration.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_filterTypeDeclaration.js +22 -0
- package/dist/generators/ts/_ObjectType/ObjectType_fromRdfTypeVariableStatement.d.ts +5 -0
- package/dist/generators/ts/_ObjectType/ObjectType_fromRdfTypeVariableStatement.js +13 -0
- package/dist/generators/ts/_ObjectType/ObjectType_graphqlTypeVariableStatement.d.ts +5 -0
- package/dist/generators/ts/_ObjectType/ObjectType_graphqlTypeVariableStatement.js +35 -0
- package/dist/generators/ts/_ObjectType/ObjectType_hashFunctionOrMethodDeclarations.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_hashFunctionOrMethodDeclarations.js +73 -0
- package/dist/generators/ts/_ObjectType/ObjectType_interfaceDeclaration.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_interfaceDeclaration.js +16 -0
- package/dist/generators/ts/_ObjectType/ObjectType_isTypeFunctionDeclaration.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_isTypeFunctionDeclaration.js +14 -0
- package/dist/generators/ts/_ObjectType/ObjectType_jsonFunctionDeclarations.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_jsonFunctionDeclarations.js +122 -0
- package/dist/generators/ts/_ObjectType/ObjectType_jsonTypeAliasDeclaration.d.ts +5 -0
- package/dist/generators/ts/_ObjectType/ObjectType_jsonTypeAliasDeclaration.js +17 -0
- package/dist/generators/ts/_ObjectType/ObjectType_objectSetMethodNames.d.ts +9 -0
- package/dist/generators/ts/_ObjectType/{objectSetMethodNames.js → ObjectType_objectSetMethodNames.js} +3 -3
- package/dist/generators/ts/_ObjectType/ObjectType_rdfFunctionDeclarations.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_rdfFunctionDeclarations.js +132 -0
- package/dist/generators/ts/_ObjectType/ObjectType_schemaVariableStatement.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_schemaVariableStatement.js +10 -0
- package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryFunctionDeclaration.d.ts +6 -0
- package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryFunctionDeclaration.js +12 -0
- package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryStringFunctionDeclaration.d.ts +6 -0
- package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryStringFunctionDeclaration.js +10 -0
- package/dist/generators/ts/_ObjectType/ObjectType_sparqlFunctionDeclarations.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_sparqlFunctionDeclarations.js +143 -0
- package/dist/generators/ts/_ObjectType/ObjectType_toJsonFunctionOrMethodDeclaration.d.ts +5 -0
- package/dist/generators/ts/_ObjectType/{toJsonFunctionOrMethodDeclaration.js → ObjectType_toJsonFunctionOrMethodDeclaration.js} +18 -18
- package/dist/generators/ts/_ObjectType/ObjectType_toRdfFunctionOrMethodDeclaration.d.ts +5 -0
- package/dist/generators/ts/_ObjectType/ObjectType_toRdfFunctionOrMethodDeclaration.js +65 -0
- package/dist/generators/ts/_ObjectType/Property.d.ts +5 -168
- package/dist/generators/ts/_ObjectType/Property.js +1 -32
- package/dist/generators/ts/_ObjectType/ShaclProperty.d.ts +41 -32
- package/dist/generators/ts/_ObjectType/ShaclProperty.js +178 -134
- package/dist/generators/ts/_ObjectType/TypeDiscriminantProperty.d.ts +48 -0
- package/dist/generators/ts/_ObjectType/TypeDiscriminantProperty.js +142 -0
- package/dist/generators/ts/_ObjectType/identifierTypeDeclarations.d.ts +2 -5
- package/dist/generators/ts/_ObjectType/identifierTypeDeclarations.js +9 -44
- package/dist/generators/ts/_ObjectUnionType/MemberType.d.ts +34 -0
- package/dist/generators/ts/_ObjectUnionType/MemberType.js +105 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_equalsFunctionDeclaration.d.ts +5 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_equalsFunctionDeclaration.js +29 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_filterFunctionDeclaration.d.ts +4 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_filterFunctionDeclaration.js +19 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_filterTypeDeclaration.d.ts +4 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_filterTypeDeclaration.js +10 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_graphqlTypeVariableStatement.d.ts +5 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_graphqlTypeVariableStatement.js +18 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_hashFunctionDeclaration.d.ts +5 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_hashFunctionDeclaration.js +28 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_identifierTypeDeclarations.d.ts +4 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_identifierTypeDeclarations.js +9 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_isTypeFunctionDeclaration.d.ts +5 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_isTypeFunctionDeclaration.js +13 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_jsonFunctionDeclarations.d.ts +4 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_jsonFunctionDeclarations.js +50 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_jsonTypeAliasDeclaration.d.ts +5 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_jsonTypeAliasDeclaration.js +10 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_rdfFunctionDeclarations.d.ts +4 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_rdfFunctionDeclarations.js +60 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_schemaVariableStatement.d.ts +4 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_schemaVariableStatement.js +37 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_sparqlFunctionDeclarations.d.ts +4 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_sparqlFunctionDeclarations.js +45 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_typeAliasDeclaration.d.ts +4 -0
- package/dist/generators/ts/_ObjectUnionType/ObjectUnionType_typeAliasDeclaration.js +10 -0
- package/dist/generators/ts/_snippets/snippets_BlankNodeFilter.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_BlankNodeFilter.js +6 -0
- package/dist/generators/ts/_snippets/snippets_BlankNodeSchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_BlankNodeSchema.js +7 -0
- package/dist/generators/ts/_snippets/snippets_BooleanFilter.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_BooleanFilter.js +7 -0
- package/dist/generators/ts/_snippets/snippets_BooleanSchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_BooleanSchema.js +8 -0
- package/dist/generators/ts/_snippets/snippets_CollectionFilter.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_CollectionFilter.js +8 -0
- package/dist/generators/ts/_snippets/snippets_CollectionSchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_CollectionSchema.js +9 -0
- package/dist/generators/ts/_snippets/snippets_DateFilter.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_DateFilter.js +11 -0
- package/dist/generators/ts/_snippets/snippets_DateSchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_DateSchema.js +8 -0
- package/dist/generators/ts/_snippets/snippets_DefaultValueSchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_DefaultValueSchema.js +10 -0
- package/dist/generators/ts/_snippets/snippets_EqualsResult.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_EqualsResult.js +65 -0
- package/dist/generators/ts/_snippets/snippets_FromRdfOptions.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_FromRdfOptions.js +5 -0
- package/dist/generators/ts/_snippets/snippets_Hasher.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_Hasher.js +4 -0
- package/dist/generators/ts/_snippets/snippets_IdentifierFilter.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_IdentifierFilter.js +9 -0
- package/dist/generators/ts/_snippets/snippets_IdentifierSchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_IdentifierSchema.js +7 -0
- package/dist/generators/ts/_snippets/snippets_IdentifierSet.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_IdentifierSet.js +29 -0
- package/dist/generators/ts/_snippets/snippets_IriFilter.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_IriFilter.js +8 -0
- package/dist/generators/ts/_snippets/snippets_IriSchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_IriSchema.js +9 -0
- package/dist/generators/ts/_snippets/snippets_LazyObject.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_LazyObject.js +24 -0
- package/dist/generators/ts/_snippets/snippets_LazyObjectOption.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_LazyObjectOption.js +27 -0
- package/dist/generators/ts/_snippets/snippets_LazyObjectSet.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_LazyObjectSet.js +42 -0
- package/dist/generators/ts/_snippets/snippets_LiteralFilter.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_LiteralFilter.js +9 -0
- package/dist/generators/ts/_snippets/snippets_LiteralSchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_LiteralSchema.js +10 -0
- package/dist/generators/ts/_snippets/snippets_MaybeFilter.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_MaybeFilter.js +5 -0
- package/dist/generators/ts/_snippets/snippets_MaybeSchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_MaybeSchema.js +8 -0
- package/dist/generators/ts/_snippets/snippets_NumericFilter.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_NumericFilter.js +11 -0
- package/dist/generators/ts/_snippets/snippets_NumericSchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_NumericSchema.js +8 -0
- package/dist/generators/ts/_snippets/snippets_PropertiesFromRdfParameters.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_PropertiesFromRdfParameters.js +5 -0
- package/dist/generators/ts/_snippets/snippets_RdfVocabularies.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_RdfVocabularies.js +42 -0
- package/dist/generators/ts/_snippets/snippets_ShaclPropertySchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_ShaclPropertySchema.js +10 -0
- package/dist/generators/ts/_snippets/snippets_SparqlConstructTriplesFunction.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_SparqlConstructTriplesFunction.js +6 -0
- package/dist/generators/ts/_snippets/snippets_SparqlConstructTriplesFunctionParameters.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_SparqlConstructTriplesFunctionParameters.js +12 -0
- package/dist/generators/ts/_snippets/snippets_SparqlFilterPattern.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_SparqlFilterPattern.js +5 -0
- package/dist/generators/ts/_snippets/snippets_SparqlPattern.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_SparqlPattern.js +6 -0
- package/dist/generators/ts/_snippets/snippets_SparqlPattern_isSolutionGenerating.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_SparqlPattern_isSolutionGenerating.js +32 -0
- package/dist/generators/ts/_snippets/snippets_SparqlWherePatternsFunction.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_SparqlWherePatternsFunction.js +6 -0
- package/dist/generators/ts/_snippets/snippets_SparqlWherePatternsFunctionParameters.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_SparqlWherePatternsFunctionParameters.js +15 -0
- package/dist/generators/ts/_snippets/snippets_StringFilter.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_StringFilter.js +9 -0
- package/dist/generators/ts/_snippets/snippets_StringSchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_StringSchema.js +8 -0
- package/dist/generators/ts/_snippets/snippets_TermFilter.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_TermFilter.js +11 -0
- package/dist/generators/ts/_snippets/snippets_TermSchema.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_TermSchema.js +9 -0
- package/dist/generators/ts/_snippets/snippets_UnwrapR.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_UnwrapR.js +6 -0
- package/dist/generators/ts/_snippets/snippets_arrayEquals.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_arrayEquals.js +71 -0
- package/dist/generators/ts/_snippets/snippets_arrayIntersection.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_arrayIntersection.js +30 -0
- package/dist/generators/ts/_snippets/snippets_bigDecimalLiteral.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_bigDecimalLiteral.js +12 -0
- package/dist/generators/ts/_snippets/snippets_bigDecimalSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_bigDecimalSparqlWherePatterns.js +91 -0
- package/dist/generators/ts/_snippets/snippets_blankNodeFromString.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_blankNodeFromString.js +11 -0
- package/dist/generators/ts/_snippets/snippets_blankNodeSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_blankNodeSparqlWherePatterns.js +9 -0
- package/dist/generators/ts/_snippets/snippets_booleanEquals.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_booleanEquals.js +18 -0
- package/dist/generators/ts/_snippets/snippets_booleanSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_booleanSparqlWherePatterns.js +22 -0
- package/dist/generators/ts/_snippets/snippets_dateEquals.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_dateEquals.js +15 -0
- package/dist/generators/ts/_snippets/snippets_dateSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_dateSparqlWherePatterns.js +79 -0
- package/dist/generators/ts/_snippets/snippets_decodeBigDecimalLiteral.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_decodeBigDecimalLiteral.js +11 -0
- package/dist/generators/ts/_snippets/snippets_deduplicateSparqlPatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_deduplicateSparqlPatterns.js +21 -0
- package/dist/generators/ts/_snippets/snippets_defaultValueSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_defaultValueSparqlWherePatterns.js +13 -0
- package/dist/generators/ts/_snippets/snippets_filterArray.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_filterArray.js +24 -0
- package/dist/generators/ts/_snippets/snippets_filterBigDecimal.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_filterBigDecimal.js +29 -0
- package/dist/generators/ts/_snippets/snippets_filterBlankNode.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_filterBlankNode.js +9 -0
- package/dist/generators/ts/_snippets/snippets_filterBoolean.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_filterBoolean.js +12 -0
- package/dist/generators/ts/_snippets/snippets_filterDate.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_filterDate.js +28 -0
- package/dist/generators/ts/_snippets/snippets_filterIdentifier.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_filterIdentifier.js +17 -0
- package/dist/generators/ts/_snippets/snippets_filterIri.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_filterIri.js +13 -0
- package/dist/generators/ts/_snippets/snippets_filterLiteral.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_filterLiteral.js +10 -0
- package/dist/generators/ts/_snippets/snippets_filterMaybe.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_filterMaybe.js +25 -0
- package/dist/generators/ts/_snippets/snippets_filterNumeric.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_filterNumeric.js +28 -0
- package/dist/generators/ts/_snippets/snippets_filterString.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_filterString.js +20 -0
- package/dist/generators/ts/_snippets/snippets_filterTerm.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_filterTerm.js +26 -0
- package/dist/generators/ts/_snippets/snippets_fromRdfLanguageIn.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_fromRdfLanguageIn.js +17 -0
- package/dist/generators/ts/_snippets/snippets_fromRdfPreferredLanguages.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_fromRdfPreferredLanguages.js +25 -0
- package/dist/generators/ts/_snippets/snippets_identifierFromString.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_identifierFromString.js +8 -0
- package/dist/generators/ts/_snippets/snippets_identifierSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_identifierSparqlWherePatterns.js +36 -0
- package/dist/generators/ts/_snippets/snippets_iriSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_iriSparqlWherePatterns.js +20 -0
- package/dist/generators/ts/_snippets/snippets_isReadonlyBigIntArray.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_isReadonlyBigIntArray.js +7 -0
- package/dist/generators/ts/_snippets/snippets_isReadonlyBooleanArray.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_isReadonlyBooleanArray.js +7 -0
- package/dist/generators/ts/_snippets/snippets_isReadonlyNumberArray.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_isReadonlyNumberArray.js +7 -0
- package/dist/generators/ts/_snippets/snippets_isReadonlyObjectArray.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_isReadonlyObjectArray.js +7 -0
- package/dist/generators/ts/_snippets/snippets_isReadonlyStringArray.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_isReadonlyStringArray.js +7 -0
- package/dist/generators/ts/_snippets/snippets_liftSparqlPatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_liftSparqlPatterns.js +18 -0
- package/dist/generators/ts/_snippets/snippets_listSparqlConstructTriples.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_listSparqlConstructTriples.js +43 -0
- package/dist/generators/ts/_snippets/snippets_listSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_listSparqlWherePatterns.js +121 -0
- package/dist/generators/ts/_snippets/snippets_literalFactory.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_literalFactory.js +5 -0
- package/dist/generators/ts/_snippets/snippets_literalSchemaSparqlPatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_literalSchemaSparqlPatterns.js +45 -0
- package/dist/generators/ts/_snippets/snippets_literalSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_literalSparqlWherePatterns.js +10 -0
- package/dist/generators/ts/_snippets/snippets_maybeEquals.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_maybeEquals.js +34 -0
- package/dist/generators/ts/_snippets/snippets_maybeSparqlConstructTriples.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_maybeSparqlConstructTriples.js +10 -0
- package/dist/generators/ts/_snippets/snippets_maybeSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_maybeSparqlWherePatterns.js +26 -0
- package/dist/generators/ts/_snippets/snippets_normalizeSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_normalizeSparqlWherePatterns.js +97 -0
- package/dist/generators/ts/_snippets/snippets_numericSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_numericSparqlWherePatterns.js +71 -0
- package/dist/generators/ts/_snippets/snippets_setSparqlConstructTriples.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_setSparqlConstructTriples.js +10 -0
- package/dist/generators/ts/_snippets/snippets_setSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_setSparqlWherePatterns.js +22 -0
- package/dist/generators/ts/_snippets/snippets_shaclPropertyFromRdf.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_shaclPropertyFromRdf.js +14 -0
- package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlConstructTriples.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlConstructTriples.js +94 -0
- package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_shaclPropertySparqlWherePatterns.js +92 -0
- package/dist/generators/ts/_snippets/snippets_sortSparqlPatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_sortSparqlPatterns.js +26 -0
- package/dist/generators/ts/_snippets/snippets_sparqlInstancesOfPattern.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_sparqlInstancesOfPattern.js +32 -0
- package/dist/generators/ts/_snippets/snippets_sparqlPropertyPath.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_sparqlPropertyPath.js +61 -0
- package/dist/generators/ts/_snippets/snippets_sparqlValueInPattern.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_sparqlValueInPattern.js +27 -0
- package/dist/generators/ts/_snippets/snippets_strictEquals.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_strictEquals.js +14 -0
- package/dist/generators/ts/_snippets/snippets_stringSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_stringSparqlWherePatterns.js +47 -0
- package/dist/generators/ts/_snippets/snippets_termFilterSparqlPatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_termFilterSparqlPatterns.js +98 -0
- package/dist/generators/ts/_snippets/snippets_termSchemaSparqlPatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_termSchemaSparqlPatterns.js +29 -0
- package/dist/generators/ts/_snippets/snippets_termSparqlWherePatterns.d.ts +2 -0
- package/dist/generators/ts/_snippets/snippets_termSparqlWherePatterns.js +11 -0
- package/dist/generators/ts/codeEquals.d.ts +3 -0
- package/dist/generators/ts/codeEquals.js +7 -0
- package/dist/generators/ts/graphqlSchemaVariableStatement.d.ts +2 -2
- package/dist/generators/ts/graphqlSchemaVariableStatement.js +56 -60
- package/dist/generators/ts/imports.d.ts +40 -0
- package/dist/generators/ts/imports.js +41 -0
- package/dist/generators/ts/objectSetDeclarations.d.ts +2 -2
- package/dist/generators/ts/objectSetDeclarations.js +5 -7
- package/dist/generators/ts/objectSetInterfaceDeclaration.d.ts +2 -2
- package/dist/generators/ts/objectSetInterfaceDeclaration.js +19 -41
- package/dist/generators/ts/objectSetMethodSignatures.d.ts +9 -3
- package/dist/generators/ts/objectSetMethodSignatures.js +14 -34
- package/dist/generators/ts/rdfjsDatasetObjectSetClassDeclaration.d.ts +2 -2
- package/dist/generators/ts/rdfjsDatasetObjectSetClassDeclaration.js +279 -359
- package/dist/generators/ts/rdfjsTermExpression.d.ts +2 -1
- package/dist/generators/ts/rdfjsTermExpression.js +28 -10
- package/dist/generators/ts/removeUndefined.d.ts +2 -0
- package/dist/generators/ts/removeUndefined.js +17 -0
- package/dist/generators/ts/snippets.d.ts +104 -0
- package/dist/generators/ts/snippets.js +205 -0
- package/dist/generators/ts/sparqlObjectSetClassDeclaration.d.ts +2 -2
- package/dist/generators/ts/sparqlObjectSetClassDeclaration.js +209 -388
- package/dist/generators/ts/synthesizeUberObjectUnionType.d.ts +9 -0
- package/dist/generators/ts/synthesizeUberObjectUnionType.js +59 -0
- package/dist/generators/ts/ts-poet-wrapper.d.ts +5 -0
- package/dist/generators/ts/ts-poet-wrapper.js +13 -0
- package/dist/generators/ts/tsName.d.ts +11 -2
- package/dist/generators/ts/tsName.js +25 -28
- package/dist/generators/ts/unsupportedObjectSetMethodDeclarations.d.ts +4 -3
- package/dist/generators/ts/unsupportedObjectSetMethodDeclarations.js +18 -15
- package/dist/index.d.ts +6 -1
- package/dist/index.js +5 -1
- package/dist/input/NodeShape.d.ts +14 -11
- package/dist/input/NodeShape.js +87 -80
- package/dist/input/Ontology.d.ts +1 -1
- package/dist/input/Ontology.js +13 -0
- package/dist/input/PropertyShape.d.ts +8 -5
- package/dist/input/PropertyShape.js +46 -9
- package/dist/input/ShapesGraph.d.ts +23 -6
- package/dist/input/ShapesGraph.js +58 -39
- package/dist/input/ancestorClassIris.js +4 -1
- package/dist/input/descendantClassIris.js +8 -2
- package/dist/input/generated.d.ts +3032 -1044
- package/dist/input/generated.js +3595 -2734
- package/dist/input/index.d.ts +1 -1
- package/dist/input/index.js +1 -1
- package/dist/input/tsFeatures.d.ts +1 -1
- package/package.json +39 -45
- package/dist/_ShapesGraphToAstTransformer/InheritableShapeConstraints.d.ts +0 -2
- package/dist/_ShapesGraphToAstTransformer/InheritableShapeConstraints.js +0 -2
- package/dist/_ShapesGraphToAstTransformer/flattenAstObjectCompositeTypeMemberTypes.d.ts +0 -13
- package/dist/_ShapesGraphToAstTransformer/flattenAstObjectCompositeTypeMemberTypes.js +0 -51
- package/dist/_ShapesGraphToAstTransformer/pickLiteral.d.ts +0 -4
- package/dist/_ShapesGraphToAstTransformer/pickLiteral.js +0 -18
- package/dist/_ShapesGraphToAstTransformer/propertyShapeNodeKinds.d.ts +0 -4
- package/dist/_ShapesGraphToAstTransformer/propertyShapeNodeKinds.js +0 -26
- package/dist/_ShapesGraphToAstTransformer/shapeAstName.d.ts +0 -5
- package/dist/_ShapesGraphToAstTransformer/shapeAstName.js +0 -69
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstCompositeType.d.ts +0 -10
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstCompositeType.js +0 -185
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstIdentifierType.d.ts +0 -10
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstIdentifierType.js +0 -32
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstLiteralType.d.ts +0 -10
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstLiteralType.js +0 -46
- package/dist/ast/CompositeType.d.ts +0 -13
- package/dist/ast/CompositeType.js +0 -2
- package/dist/ast/Name.d.ts +0 -49
- package/dist/ast/Name.js +0 -2
- package/dist/ast/ObjectCompositeType.d.ts +0 -33
- package/dist/ast/ObjectCompositeType.js +0 -2
- package/dist/generators/ts/DeclaredType.d.ts +0 -17
- package/dist/generators/ts/DeclaredType.js +0 -13
- package/dist/generators/ts/Import.d.ts +0 -20
- package/dist/generators/ts/Import.js +0 -65
- package/dist/generators/ts/NumberType.d.ts +0 -13
- package/dist/generators/ts/NumberType.js +0 -71
- package/dist/generators/ts/PrimitiveType.d.ts +0 -21
- package/dist/generators/ts/PrimitiveType.js +0 -57
- package/dist/generators/ts/SnippetDeclarations.d.ts +0 -17
- package/dist/generators/ts/SnippetDeclarations.js +0 -367
- package/dist/generators/ts/_ObjectType/EagerShaclProperty.d.ts +0 -12
- package/dist/generators/ts/_ObjectType/EagerShaclProperty.js +0 -31
- package/dist/generators/ts/_ObjectType/LazyShaclProperty.d.ts +0 -100
- package/dist/generators/ts/_ObjectType/LazyShaclProperty.js +0 -315
- package/dist/generators/ts/_ObjectType/TypeDiscriminatorProperty.d.ts +0 -51
- package/dist/generators/ts/_ObjectType/TypeDiscriminatorProperty.js +0 -138
- package/dist/generators/ts/_ObjectType/classDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/classDeclaration.js +0 -122
- package/dist/generators/ts/_ObjectType/createFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/createFunctionDeclaration.js +0 -73
- package/dist/generators/ts/_ObjectType/equalsFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/equalsFunctionDeclaration.js +0 -19
- package/dist/generators/ts/_ObjectType/equalsFunctionOrMethodDeclaration.d.ts +0 -11
- package/dist/generators/ts/_ObjectType/equalsFunctionOrMethodDeclaration.js +0 -73
- package/dist/generators/ts/_ObjectType/fromRdfTypeVariableStatement.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/fromRdfTypeVariableStatement.js +0 -28
- package/dist/generators/ts/_ObjectType/graphqlTypeVariableStatement.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/graphqlTypeVariableStatement.js +0 -49
- package/dist/generators/ts/_ObjectType/hashFunctionDeclarations.d.ts +0 -4
- package/dist/generators/ts/_ObjectType/hashFunctionDeclarations.js +0 -18
- package/dist/generators/ts/_ObjectType/hashFunctionOrMethodDeclarations.d.ts +0 -13
- package/dist/generators/ts/_ObjectType/hashFunctionOrMethodDeclarations.js +0 -96
- package/dist/generators/ts/_ObjectType/index.d.ts +0 -22
- package/dist/generators/ts/_ObjectType/index.js +0 -22
- package/dist/generators/ts/_ObjectType/interfaceDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/interfaceDeclaration.js +0 -21
- package/dist/generators/ts/_ObjectType/jsonFunctionDeclarations.d.ts +0 -4
- package/dist/generators/ts/_ObjectType/jsonFunctionDeclarations.js +0 -189
- package/dist/generators/ts/_ObjectType/jsonTypeAliasDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/jsonTypeAliasDeclaration.js +0 -28
- package/dist/generators/ts/_ObjectType/objectSetMethodNames.d.ts +0 -9
- package/dist/generators/ts/_ObjectType/propertiesVariableStatement.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/propertiesVariableStatement.js +0 -37
- package/dist/generators/ts/_ObjectType/rdfFunctionDeclarations.d.ts +0 -4
- package/dist/generators/ts/_ObjectType/rdfFunctionDeclarations.js +0 -169
- package/dist/generators/ts/_ObjectType/sparqlConstructQueryFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/sparqlConstructQueryFunctionDeclaration.js +0 -22
- package/dist/generators/ts/_ObjectType/sparqlConstructQueryStringFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/sparqlConstructQueryStringFunctionDeclaration.js +0 -21
- package/dist/generators/ts/_ObjectType/sparqlFunctionDeclarations.d.ts +0 -4
- package/dist/generators/ts/_ObjectType/sparqlFunctionDeclarations.js +0 -166
- package/dist/generators/ts/_ObjectType/toJsonFunctionOrMethodDeclaration.d.ts +0 -10
- package/dist/generators/ts/_ObjectType/toRdfFunctionOrMethodDeclaration.d.ts +0 -10
- package/dist/generators/ts/_ObjectType/toRdfFunctionOrMethodDeclaration.js +0 -76
- package/dist/generators/ts/forwardingObjectSetClassDeclaration.d.ts +0 -8
- package/dist/generators/ts/forwardingObjectSetClassDeclaration.js +0 -29
- package/dist/generators/ts/objectInitializer.d.ts +0 -2
- package/dist/generators/ts/objectInitializer.js +0 -14
- package/dist/input/PropertyPath.d.ts +0 -41
- package/dist/input/PropertyPath.js +0 -95
|
@@ -1,20 +1,101 @@
|
|
|
1
|
-
import { Either } from "purify-ts";
|
|
2
|
-
import {
|
|
1
|
+
import { Either, Left } from "purify-ts";
|
|
2
|
+
import { invariant } from "ts-invariant";
|
|
3
|
+
import * as ast from "../ast/index.js";
|
|
4
|
+
import { Eithers } from "../Eithers.js";
|
|
5
|
+
import { shapeNodeKinds } from "./shapeNodeKinds.js";
|
|
6
|
+
import { transformShapeToAstAbstractTypeProperties } from "./transformShapeToAstAbstractTypeProperties.js";
|
|
3
7
|
/**
|
|
4
8
|
* Try to convert a shape to an AST TermType using some heuristics.
|
|
5
9
|
*/
|
|
6
10
|
export function transformShapeToAstTermType(shape, shapeStack) {
|
|
7
11
|
shapeStack.push(shape);
|
|
8
12
|
try {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
return Eithers.chain2(transformShapeToAstAbstractTypeProperties(shape), shapeNodeKinds(shape)).chain(([astAbstractTypeProperties, nodeKinds]) => {
|
|
14
|
+
const hasValues = shapeStack.constraints.hasValues;
|
|
15
|
+
const in_ = shapeStack.constraints.in_;
|
|
16
|
+
let termType;
|
|
17
|
+
if (nodeKinds.size === 1) {
|
|
18
|
+
const nodeKind = [...nodeKinds][0];
|
|
19
|
+
switch (nodeKind) {
|
|
20
|
+
case "BlankNode":
|
|
21
|
+
invariant(in_.length === 0);
|
|
22
|
+
termType = new ast.BlankNodeType({
|
|
23
|
+
...astAbstractTypeProperties,
|
|
24
|
+
});
|
|
25
|
+
break;
|
|
26
|
+
case "IRI":
|
|
27
|
+
termType = new ast.IriType({
|
|
28
|
+
...astAbstractTypeProperties,
|
|
29
|
+
hasValues: hasValues.filter((_) => _.termType === "NamedNode"),
|
|
30
|
+
in_: in_.filter((_) => _.termType === "NamedNode"),
|
|
31
|
+
});
|
|
32
|
+
break;
|
|
33
|
+
case "Literal":
|
|
34
|
+
termType = new ast.LiteralType({
|
|
35
|
+
...astAbstractTypeProperties,
|
|
36
|
+
datatype: shape.constraints.datatype,
|
|
37
|
+
hasValues: hasValues.filter((_) => _.termType === "Literal"),
|
|
38
|
+
in_: in_.filter((_) => _.termType === "Literal"),
|
|
39
|
+
languageIn: [...new Set(shape.constraints.languageIn)],
|
|
40
|
+
maxExclusive: shape.constraints.maxExclusive,
|
|
41
|
+
maxInclusive: shape.constraints.maxInclusive,
|
|
42
|
+
minExclusive: shape.constraints.minExclusive,
|
|
43
|
+
minInclusive: shape.constraints.minInclusive,
|
|
44
|
+
});
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else if (nodeKinds.size === 2 &&
|
|
49
|
+
nodeKinds.has("BlankNode") &&
|
|
50
|
+
nodeKinds.has("IRI")) {
|
|
51
|
+
invariant(in_.length === 0);
|
|
52
|
+
termType = new ast.IdentifierType({
|
|
53
|
+
...astAbstractTypeProperties,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
invariant(nodeKinds.size >= 2 && nodeKinds.has("Literal"));
|
|
58
|
+
termType = new ast.TermType({
|
|
59
|
+
...astAbstractTypeProperties,
|
|
60
|
+
hasValues,
|
|
61
|
+
in_,
|
|
62
|
+
nodeKinds,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
if (termType.in_.length > 0) {
|
|
66
|
+
for (const hasValue of termType.hasValues) {
|
|
67
|
+
if (!termType.in_.some((in_) => hasValue.equals(in_))) {
|
|
68
|
+
return Left(new Error(`${shape}: has-value conflicts with in`));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return shapeStack.defaultValue
|
|
73
|
+
.map((defaultValue) => {
|
|
74
|
+
switch (termType.kind) {
|
|
75
|
+
case "BlankNodeType":
|
|
76
|
+
return Left(new Error(`${shape}: blank node identifier types cannot have default values`));
|
|
77
|
+
}
|
|
78
|
+
switch (termType.hasValues.length) {
|
|
79
|
+
case 0:
|
|
80
|
+
break;
|
|
81
|
+
case 1:
|
|
82
|
+
if (!termType.hasValues[0].equals(defaultValue)) {
|
|
83
|
+
return Left(new Error(`${shape}: default value conflicts with has-value`));
|
|
84
|
+
}
|
|
85
|
+
break;
|
|
86
|
+
default:
|
|
87
|
+
return Left(new Error(`${shape}: has a default value and multiple has-values`));
|
|
88
|
+
}
|
|
89
|
+
if (termType.in_.length > 0 &&
|
|
90
|
+
!termType.in_.some((in_) => in_.equals(defaultValue))) {
|
|
91
|
+
return Left(new Error(`${shape}: default value conflicts with in value`));
|
|
92
|
+
}
|
|
93
|
+
return Either.of(new ast.DefaultValueType({
|
|
94
|
+
defaultValue,
|
|
95
|
+
itemType: termType,
|
|
96
|
+
}));
|
|
97
|
+
})
|
|
98
|
+
.orDefault(Either.of(termType));
|
|
18
99
|
});
|
|
19
100
|
}
|
|
20
101
|
finally {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { ShapesGraphToAstTransformer } from "../ShapesGraphToAstTransformer.js";
|
|
1
|
+
import { Either } from "purify-ts";
|
|
3
2
|
import type * as ast from "../ast/index.js";
|
|
4
3
|
import type * as input from "../input/index.js";
|
|
4
|
+
import type { ShapesGraphToAstTransformer } from "../ShapesGraphToAstTransformer.js";
|
|
5
5
|
import type { ShapeStack } from "./ShapeStack.js";
|
|
6
6
|
/**
|
|
7
7
|
* Try to convert a shape to a type using some heuristics.
|
|
@@ -9,5 +9,5 @@ import type { ShapeStack } from "./ShapeStack.js";
|
|
|
9
9
|
* We don't try to handle exotic cases allowed by the SHACL spec, such as combinations of sh:in and sh:node. Instead we assume
|
|
10
10
|
* a shape has one type.
|
|
11
11
|
*/
|
|
12
|
-
export declare function transformShapeToAstType(this: ShapesGraphToAstTransformer, shape: input.Shape, shapeStack: ShapeStack): Either<Error, ast.Type
|
|
12
|
+
export declare function transformShapeToAstType(this: ShapesGraphToAstTransformer, shape: input.Shape, shapeStack: ShapeStack): Either<Error, Exclude<ast.Type, ast.PlaceholderType>>;
|
|
13
13
|
//# sourceMappingURL=transformShapeToAstType.d.ts.map
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { Either } from "purify-ts";
|
|
2
|
+
import { transformShapeToAstCompoundType } from "./transformShapeToAstCompoundType.js";
|
|
3
|
+
import { transformShapeToAstTermType } from "./transformShapeToAstTermType.js";
|
|
1
4
|
/**
|
|
2
5
|
* Try to convert a shape to a type using some heuristics.
|
|
3
6
|
*
|
|
@@ -6,9 +9,10 @@
|
|
|
6
9
|
*/
|
|
7
10
|
export function transformShapeToAstType(shape, shapeStack) {
|
|
8
11
|
// Try to transform the property shape into an AST type without cardinality constraints
|
|
9
|
-
return
|
|
10
|
-
.
|
|
11
|
-
.
|
|
12
|
-
.
|
|
12
|
+
return transformShapeToAstCompoundType
|
|
13
|
+
.bind(this)(shape, shapeStack)
|
|
14
|
+
.chain((astType) => astType
|
|
15
|
+
.map((_) => Either.of(_))
|
|
16
|
+
.orDefaultLazy(() => transformShapeToAstTermType.bind(this)(shape, shapeStack)));
|
|
13
17
|
}
|
|
14
18
|
//# sourceMappingURL=transformShapeToAstType.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AbstractContainerType } from "./AbstractContainerType.js";
|
|
2
|
+
/**
|
|
3
|
+
* Abstract base class for a collection of items of a single type. This is the parent of ListType and SetType.
|
|
4
|
+
*/
|
|
5
|
+
export declare abstract class AbstractCollectionType<ItemTypeT extends AbstractCollectionType.ItemType = AbstractCollectionType.ItemType> extends AbstractContainerType<ItemTypeT> {
|
|
6
|
+
abstract readonly kind: "ListType" | "SetType";
|
|
7
|
+
/**
|
|
8
|
+
* The collection should be mutable in generated code.
|
|
9
|
+
*/
|
|
10
|
+
readonly mutable: boolean;
|
|
11
|
+
constructor({ mutable, ...superParameters }: {
|
|
12
|
+
mutable: boolean;
|
|
13
|
+
} & ConstructorParameters<typeof AbstractContainerType<ItemTypeT>>[0]);
|
|
14
|
+
equals(other: AbstractCollectionType<ItemTypeT>): boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare namespace AbstractCollectionType {
|
|
17
|
+
type ItemType = AbstractContainerType.ItemType;
|
|
18
|
+
const isItemType: typeof AbstractContainerType.isItemType;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=AbstractCollectionType.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AbstractContainerType } from "./AbstractContainerType.js";
|
|
2
|
+
/**
|
|
3
|
+
* Abstract base class for a collection of items of a single type. This is the parent of ListType and SetType.
|
|
4
|
+
*/
|
|
5
|
+
export class AbstractCollectionType extends AbstractContainerType {
|
|
6
|
+
/**
|
|
7
|
+
* The collection should be mutable in generated code.
|
|
8
|
+
*/
|
|
9
|
+
mutable;
|
|
10
|
+
constructor({ mutable, ...superParameters }) {
|
|
11
|
+
super(superParameters);
|
|
12
|
+
this.mutable = mutable;
|
|
13
|
+
}
|
|
14
|
+
equals(other) {
|
|
15
|
+
if (!super.equals(other)) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (this.mutable !== other.mutable) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
(function (AbstractCollectionType) {
|
|
25
|
+
AbstractCollectionType.isItemType = AbstractContainerType.isItemType;
|
|
26
|
+
})(AbstractCollectionType || (AbstractCollectionType = {}));
|
|
27
|
+
//# sourceMappingURL=AbstractCollectionType.js.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AbstractType } from "./AbstractType.js";
|
|
2
|
+
import { Type } from "./Type.js";
|
|
3
|
+
/**
|
|
4
|
+
* A compound of types, such as an intersection or union.
|
|
5
|
+
*
|
|
6
|
+
* Compound = combining types at the type level e.g., functions, intersections, unions
|
|
7
|
+
* Composite = combining values at runtime (e.g., arrays, structs whose members have the same type)
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class AbstractCompoundType<MemberTypeT extends Type> extends AbstractType {
|
|
10
|
+
#private;
|
|
11
|
+
/**
|
|
12
|
+
* Type discriminant
|
|
13
|
+
*/
|
|
14
|
+
abstract readonly kind: "IntersectionType" | "ObjectIntersectionType" | "ObjectUnionType" | "UnionType";
|
|
15
|
+
constructor({ memberTypes, ...superParameters }: {
|
|
16
|
+
memberTypes?: readonly MemberTypeT[];
|
|
17
|
+
} & ConstructorParameters<typeof AbstractType>[0]);
|
|
18
|
+
addMemberType(memberType: MemberTypeT): void;
|
|
19
|
+
equals(other: AbstractCompoundType<MemberTypeT>): boolean;
|
|
20
|
+
get memberTypes(): readonly MemberTypeT[];
|
|
21
|
+
toString(): string;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=AbstractCompoundType.d.ts.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { invariant } from "ts-invariant";
|
|
2
|
+
import { AbstractType } from "./AbstractType.js";
|
|
3
|
+
import { arrayEquals } from "./equals.js";
|
|
4
|
+
import { Type } from "./Type.js";
|
|
5
|
+
/**
|
|
6
|
+
* A compound of types, such as an intersection or union.
|
|
7
|
+
*
|
|
8
|
+
* Compound = combining types at the type level e.g., functions, intersections, unions
|
|
9
|
+
* Composite = combining values at runtime (e.g., arrays, structs whose members have the same type)
|
|
10
|
+
*/
|
|
11
|
+
export class AbstractCompoundType extends AbstractType {
|
|
12
|
+
/**
|
|
13
|
+
* Member types.
|
|
14
|
+
*
|
|
15
|
+
* Mutable to support cycle-handling logic in the compiler.
|
|
16
|
+
*/
|
|
17
|
+
#memberTypes;
|
|
18
|
+
constructor({ memberTypes, ...superParameters }) {
|
|
19
|
+
super(superParameters);
|
|
20
|
+
this.#memberTypes = memberTypes?.concat() ?? [];
|
|
21
|
+
}
|
|
22
|
+
addMemberType(memberType) {
|
|
23
|
+
this.#memberTypes.push(memberType);
|
|
24
|
+
}
|
|
25
|
+
equals(other) {
|
|
26
|
+
if (!super.equals(other)) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
return arrayEquals(Type.equals)(this.memberTypes, other.memberTypes);
|
|
30
|
+
}
|
|
31
|
+
get memberTypes() {
|
|
32
|
+
invariant(this.#memberTypes.length > 0);
|
|
33
|
+
return this.#memberTypes;
|
|
34
|
+
}
|
|
35
|
+
toString() {
|
|
36
|
+
return `${this.kind}(memberTypes=[${this.memberTypes.map((memberType) => memberType.toString()).join(", ")}])`;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=AbstractCompoundType.js.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { AbstractType } from "./AbstractType.js";
|
|
2
|
+
import type { BlankNodeType } from "./BlankNodeType.js";
|
|
3
|
+
import type { IdentifierType } from "./IdentifierType.js";
|
|
4
|
+
import type { IntersectionType } from "./IntersectionType.js";
|
|
5
|
+
import type { IriType } from "./IriType.js";
|
|
6
|
+
import type { ListType } from "./ListType.js";
|
|
7
|
+
import type { LiteralType } from "./LiteralType.js";
|
|
8
|
+
import type { ObjectIntersectionType } from "./ObjectIntersectionType.js";
|
|
9
|
+
import type { ObjectType } from "./ObjectType.js";
|
|
10
|
+
import type { ObjectUnionType } from "./ObjectUnionType.js";
|
|
11
|
+
import type { PlaceholderType } from "./PlaceholderType.js";
|
|
12
|
+
import type { TermType } from "./TermType.js";
|
|
13
|
+
import { Type } from "./Type.js";
|
|
14
|
+
import type { UnionType } from "./UnionType.js";
|
|
15
|
+
/**
|
|
16
|
+
* Abstract base class for types that contain other types e.g., ListType, OptionType, SetType.
|
|
17
|
+
*/
|
|
18
|
+
export declare abstract class AbstractContainerType<ItemTypeT extends AbstractContainerType.ItemType = AbstractContainerType.ItemType> extends AbstractType {
|
|
19
|
+
abstract readonly kind: "DefaultValueType" | "ListType" | "OptionType" | "SetType";
|
|
20
|
+
/**
|
|
21
|
+
* Container item type.
|
|
22
|
+
*
|
|
23
|
+
* Mutable to support cycle-handling logic in the compiler.
|
|
24
|
+
*/
|
|
25
|
+
itemType: ItemTypeT;
|
|
26
|
+
constructor({ itemType, ...superParameters }: {
|
|
27
|
+
itemType: ItemTypeT;
|
|
28
|
+
} & ConstructorParameters<typeof AbstractType>[0]);
|
|
29
|
+
equals(other: AbstractContainerType<ItemTypeT>): boolean;
|
|
30
|
+
toString(): string;
|
|
31
|
+
}
|
|
32
|
+
export declare namespace AbstractContainerType {
|
|
33
|
+
type ItemType = BlankNodeType | IdentifierType | IntersectionType | IriType | ListType | LiteralType | ObjectIntersectionType | ObjectType | ObjectUnionType | PlaceholderType | TermType | UnionType;
|
|
34
|
+
function isItemType(type: Type): type is ItemType;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=AbstractContainerType.d.ts.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { AbstractType } from "./AbstractType.js";
|
|
2
|
+
import { Type } from "./Type.js";
|
|
3
|
+
/**
|
|
4
|
+
* Abstract base class for types that contain other types e.g., ListType, OptionType, SetType.
|
|
5
|
+
*/
|
|
6
|
+
export class AbstractContainerType extends AbstractType {
|
|
7
|
+
/**
|
|
8
|
+
* Container item type.
|
|
9
|
+
*
|
|
10
|
+
* Mutable to support cycle-handling logic in the compiler.
|
|
11
|
+
*/
|
|
12
|
+
itemType;
|
|
13
|
+
constructor({ itemType, ...superParameters }) {
|
|
14
|
+
super(superParameters);
|
|
15
|
+
this.itemType = itemType;
|
|
16
|
+
}
|
|
17
|
+
equals(other) {
|
|
18
|
+
if (!super.equals(other)) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
if (!Type.equals(this.itemType, other.itemType)) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
toString() {
|
|
27
|
+
return `${this.kind}(itemType=${this.itemType})`;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
(function (AbstractContainerType) {
|
|
31
|
+
function isItemType(type) {
|
|
32
|
+
switch (type.kind) {
|
|
33
|
+
case "BlankNodeType":
|
|
34
|
+
case "IdentifierType":
|
|
35
|
+
case "IntersectionType":
|
|
36
|
+
case "IriType":
|
|
37
|
+
case "ListType":
|
|
38
|
+
case "LiteralType":
|
|
39
|
+
case "ObjectIntersectionType":
|
|
40
|
+
case "ObjectType":
|
|
41
|
+
case "ObjectUnionType":
|
|
42
|
+
case "TermType":
|
|
43
|
+
case "UnionType":
|
|
44
|
+
return true;
|
|
45
|
+
case "DefaultValueType":
|
|
46
|
+
case "LazyObjectOptionType":
|
|
47
|
+
case "LazyObjectSetType":
|
|
48
|
+
case "LazyObjectType":
|
|
49
|
+
case "OptionType":
|
|
50
|
+
case "SetType":
|
|
51
|
+
return false;
|
|
52
|
+
case "PlaceholderType":
|
|
53
|
+
throw new Error("should never happen");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
AbstractContainerType.isItemType = isItemType;
|
|
57
|
+
})(AbstractContainerType || (AbstractContainerType = {}));
|
|
58
|
+
//# sourceMappingURL=AbstractContainerType.js.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AbstractType } from "./AbstractType.js";
|
|
2
|
+
import type { ObjectType } from "./ObjectType.js";
|
|
3
|
+
import type { ObjectUnionType } from "./ObjectUnionType.js";
|
|
4
|
+
import type { OptionType } from "./OptionType.js";
|
|
5
|
+
import type { SetType } from "./SetType.js";
|
|
6
|
+
/**
|
|
7
|
+
* Abstract base class of LazyObjectOptionType, LazyObjectSetType, and LazyObjectType.
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class AbstractLazyObjectType<PartialTypeT extends AbstractLazyObjectType.PartialTypeConstraint, ResolveTypeT extends AbstractLazyObjectType.ResolveTypeConstraint> extends AbstractType {
|
|
10
|
+
abstract readonly kind: "LazyObjectOptionType" | "LazyObjectSetType" | "LazyObjectType";
|
|
11
|
+
readonly partialType: PartialTypeT;
|
|
12
|
+
readonly resolveType: ResolveTypeT;
|
|
13
|
+
constructor({ partialType, resolveType, ...superParameters }: {
|
|
14
|
+
partialType: PartialTypeT;
|
|
15
|
+
resolveType: ResolveTypeT;
|
|
16
|
+
} & ConstructorParameters<typeof AbstractType>[0]);
|
|
17
|
+
equals(other: AbstractLazyObjectType<PartialTypeT, ResolveTypeT>): boolean;
|
|
18
|
+
toString(): string;
|
|
19
|
+
}
|
|
20
|
+
export declare namespace AbstractLazyObjectType {
|
|
21
|
+
type ObjectTypeConstraint = ObjectType | ObjectUnionType;
|
|
22
|
+
type PartialTypeConstraint = ObjectTypeConstraint | OptionType<ObjectTypeConstraint> | SetType<ObjectTypeConstraint>;
|
|
23
|
+
type ResolveTypeConstraint = PartialTypeConstraint;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=AbstractLazyObjectType.d.ts.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AbstractType } from "./AbstractType.js";
|
|
2
|
+
import { Type } from "./Type.js";
|
|
3
|
+
/**
|
|
4
|
+
* Abstract base class of LazyObjectOptionType, LazyObjectSetType, and LazyObjectType.
|
|
5
|
+
*/
|
|
6
|
+
export class AbstractLazyObjectType extends AbstractType {
|
|
7
|
+
partialType;
|
|
8
|
+
resolveType;
|
|
9
|
+
constructor({ partialType, resolveType, ...superParameters }) {
|
|
10
|
+
super(superParameters);
|
|
11
|
+
this.partialType = partialType;
|
|
12
|
+
this.resolveType = resolveType;
|
|
13
|
+
}
|
|
14
|
+
equals(other) {
|
|
15
|
+
if (!super.equals(other)) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (!Type.equals(this.partialType, other.partialType)) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
if (!Type.equals(this.resolveType, other.resolveType)) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
toString() {
|
|
27
|
+
return `${this.kind}(partialType=${this.partialType}, resolveType=${this.resolveType})`;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=AbstractLazyObjectType.js.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { BlankNode, NamedNode } from "@rdfjs/types";
|
|
2
|
+
import { Either, Maybe } from "purify-ts";
|
|
3
|
+
import type { TsFeature } from "../enums/TsFeature.js";
|
|
4
|
+
import { AbstractCompoundType } from "./AbstractCompoundType.js";
|
|
5
|
+
import { BlankNodeType } from "./BlankNodeType.js";
|
|
6
|
+
import { IdentifierType } from "./IdentifierType.js";
|
|
7
|
+
import { IriType } from "./IriType.js";
|
|
8
|
+
import type { ObjectIntersectionType } from "./ObjectIntersectionType.js";
|
|
9
|
+
import type { ObjectType } from "./ObjectType.js";
|
|
10
|
+
import type { ObjectUnionType } from "./ObjectUnionType.js";
|
|
11
|
+
import type { Type } from "./Type.js";
|
|
12
|
+
/**
|
|
13
|
+
* Abstract base class for a compound of object types, such as an intersection or union.
|
|
14
|
+
*/
|
|
15
|
+
export declare abstract class AbstractObjectCompoundType<ObjectCompoundTypeT extends ObjectIntersectionType | ObjectUnionType> extends AbstractCompoundType<ObjectCompoundTypeT | ObjectType> {
|
|
16
|
+
#private;
|
|
17
|
+
/**
|
|
18
|
+
* Should generated code derived from this type be visible outside its module?
|
|
19
|
+
*
|
|
20
|
+
* Defaults to true.
|
|
21
|
+
*/
|
|
22
|
+
readonly export: boolean;
|
|
23
|
+
abstract readonly kind: "ObjectIntersectionType" | "ObjectUnionType";
|
|
24
|
+
/**
|
|
25
|
+
* Name of this type, from shaclmate:name.
|
|
26
|
+
*/
|
|
27
|
+
readonly name: Maybe<string>;
|
|
28
|
+
/**
|
|
29
|
+
* Identifier of the shape this ObjectType was derived from.
|
|
30
|
+
*/
|
|
31
|
+
readonly shapeIdentifier: BlankNode | NamedNode;
|
|
32
|
+
constructor({ export_, name, shapeIdentifier, tsFeatures, ...superParameters }: {
|
|
33
|
+
export_: boolean;
|
|
34
|
+
name: Maybe<string>;
|
|
35
|
+
shapeIdentifier: BlankNode | NamedNode;
|
|
36
|
+
tsFeatures: Maybe<ReadonlySet<TsFeature>>;
|
|
37
|
+
} & ConstructorParameters<typeof AbstractCompoundType<ObjectCompoundTypeT | ObjectType>>[0]);
|
|
38
|
+
equals(other: AbstractObjectCompoundType<ObjectCompoundTypeT>): boolean;
|
|
39
|
+
get identifierType(): BlankNodeType | IdentifierType | IriType;
|
|
40
|
+
get memberObjectTypes(): readonly ObjectType[];
|
|
41
|
+
get tsFeatures(): ReadonlySet<TsFeature>;
|
|
42
|
+
addMemberType(memberType: Type): Either<Error, void>;
|
|
43
|
+
toString(): string;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=AbstractObjectCompoundType.d.ts.map
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import TermSet from "@rdfjs/term-set";
|
|
8
|
+
import { Either, Maybe } from "purify-ts";
|
|
9
|
+
import { Resource } from "rdfjs-resource";
|
|
10
|
+
import { invariant } from "ts-invariant";
|
|
11
|
+
import { Memoize } from "typescript-memoize";
|
|
12
|
+
import { AbstractCompoundType } from "./AbstractCompoundType.js";
|
|
13
|
+
import { BlankNodeType } from "./BlankNodeType.js";
|
|
14
|
+
import { IdentifierType } from "./IdentifierType.js";
|
|
15
|
+
import { IriType } from "./IriType.js";
|
|
16
|
+
/**
|
|
17
|
+
* Abstract base class for a compound of object types, such as an intersection or union.
|
|
18
|
+
*/
|
|
19
|
+
export class AbstractObjectCompoundType extends AbstractCompoundType {
|
|
20
|
+
/**
|
|
21
|
+
* Should generated code derived from this type be visible outside its module?
|
|
22
|
+
*
|
|
23
|
+
* Defaults to true.
|
|
24
|
+
*/
|
|
25
|
+
export;
|
|
26
|
+
/**
|
|
27
|
+
* Name of this type, from shaclmate:name.
|
|
28
|
+
*/
|
|
29
|
+
name;
|
|
30
|
+
/**
|
|
31
|
+
* Identifier of the shape this ObjectType was derived from.
|
|
32
|
+
*/
|
|
33
|
+
shapeIdentifier;
|
|
34
|
+
/**
|
|
35
|
+
* TypeScript features to generate.
|
|
36
|
+
*/
|
|
37
|
+
#tsFeatures;
|
|
38
|
+
constructor({ export_, name, shapeIdentifier, tsFeatures, ...superParameters }) {
|
|
39
|
+
super(superParameters);
|
|
40
|
+
this.export = export_;
|
|
41
|
+
this.name = name;
|
|
42
|
+
this.shapeIdentifier = shapeIdentifier;
|
|
43
|
+
this.#tsFeatures = tsFeatures;
|
|
44
|
+
}
|
|
45
|
+
equals(other) {
|
|
46
|
+
// Don't recurse
|
|
47
|
+
return this.shapeIdentifier.equals(other.shapeIdentifier);
|
|
48
|
+
}
|
|
49
|
+
get identifierType() {
|
|
50
|
+
const memberIdentifierTypeNodeKinds = new Set();
|
|
51
|
+
const memberIdentifierTypesIn = new TermSet();
|
|
52
|
+
for (const memberType of this.memberTypes) {
|
|
53
|
+
for (const nodeKind of memberType.identifierType.nodeKinds) {
|
|
54
|
+
memberIdentifierTypeNodeKinds.add(nodeKind);
|
|
55
|
+
}
|
|
56
|
+
for (const in_ of memberType.identifierType.in_) {
|
|
57
|
+
memberIdentifierTypesIn.add(in_);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
invariant(memberIdentifierTypeNodeKinds.size > 0);
|
|
61
|
+
if (memberIdentifierTypeNodeKinds.size === 2) {
|
|
62
|
+
return new IdentifierType({
|
|
63
|
+
comment: Maybe.empty(),
|
|
64
|
+
label: Maybe.empty(),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
const memberIdentifierTypeNodeKind = [...memberIdentifierTypeNodeKinds][0];
|
|
68
|
+
switch (memberIdentifierTypeNodeKind) {
|
|
69
|
+
case "BlankNode":
|
|
70
|
+
return new BlankNodeType({
|
|
71
|
+
comment: Maybe.empty(),
|
|
72
|
+
label: Maybe.empty(),
|
|
73
|
+
});
|
|
74
|
+
case "IRI":
|
|
75
|
+
return new IriType({
|
|
76
|
+
comment: Maybe.empty(),
|
|
77
|
+
hasValues: [],
|
|
78
|
+
in_: [...memberIdentifierTypesIn],
|
|
79
|
+
label: Maybe.empty(),
|
|
80
|
+
});
|
|
81
|
+
default:
|
|
82
|
+
memberIdentifierTypeNodeKind;
|
|
83
|
+
throw new Error("should never reach here");
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
get memberObjectTypes() {
|
|
87
|
+
const memberObjectTypes = [];
|
|
88
|
+
for (const memberType of this.memberTypes) {
|
|
89
|
+
switch (memberType.kind) {
|
|
90
|
+
case "ObjectType":
|
|
91
|
+
memberObjectTypes.push(memberType);
|
|
92
|
+
break;
|
|
93
|
+
case "ObjectIntersectionType":
|
|
94
|
+
case "ObjectUnionType": {
|
|
95
|
+
invariant(memberType.kind === this.kind);
|
|
96
|
+
memberObjectTypes.push(...memberType.memberObjectTypes);
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
invariant(memberObjectTypes.length >= this.memberTypes.length);
|
|
102
|
+
// Member object types must have distinct RDF types or no RDF types at all.
|
|
103
|
+
const fromRdfTypes = new TermSet();
|
|
104
|
+
let expectUniqueFromRdfTypesCount = 0;
|
|
105
|
+
for (const memberObjectType of memberObjectTypes) {
|
|
106
|
+
if (memberObjectType.extern) {
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
expectUniqueFromRdfTypesCount++;
|
|
110
|
+
memberObjectType.fromRdfType.ifJust((fromRdfType) => fromRdfTypes.add(fromRdfType));
|
|
111
|
+
}
|
|
112
|
+
if (fromRdfTypes.size > 0 &&
|
|
113
|
+
fromRdfTypes.size !== expectUniqueFromRdfTypesCount) {
|
|
114
|
+
throw new Error(`one or more ${this} members ([${memberObjectTypes.map((memberType) => memberType.toString()).join(", ")}]) lack distinguishing fromRdfType's ({${[...fromRdfTypes].map((fromRdfType) => Resource.Identifier.toString(fromRdfType)).join(", ")}})`);
|
|
115
|
+
}
|
|
116
|
+
return memberObjectTypes;
|
|
117
|
+
}
|
|
118
|
+
get tsFeatures() {
|
|
119
|
+
// Members of the compound type must have the same tsFeatures.
|
|
120
|
+
// They must also have distinct RDF types or no RDF types at all.
|
|
121
|
+
const mergedMemberTsFeatures = new Set();
|
|
122
|
+
for (let memberTypeI = 0; memberTypeI < this.memberObjectTypes.length; memberTypeI++) {
|
|
123
|
+
const memberType = this.memberObjectTypes[memberTypeI];
|
|
124
|
+
if (memberTypeI === 0) {
|
|
125
|
+
for (const tsFeature of memberType.tsFeatures) {
|
|
126
|
+
mergedMemberTsFeatures.add(tsFeature);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (memberType.tsFeatures.size !== mergedMemberTsFeatures.size) {
|
|
130
|
+
throw new Error(`${this} has a member ObjectType (${memberType}) with different tsFeatures than the other member ObjectType's`);
|
|
131
|
+
}
|
|
132
|
+
for (const tsFeature of memberType.tsFeatures) {
|
|
133
|
+
if (!mergedMemberTsFeatures.has(tsFeature)) {
|
|
134
|
+
throw new Error(`${this} has a member ObjectType (${memberType}) with different tsFeatures than the other member ObjectType's`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return this.#tsFeatures.orDefault(mergedMemberTsFeatures);
|
|
139
|
+
}
|
|
140
|
+
addMemberType(memberType) {
|
|
141
|
+
return Either.encase(() => {
|
|
142
|
+
switch (memberType.kind) {
|
|
143
|
+
case "ObjectType":
|
|
144
|
+
super.addMemberType(memberType);
|
|
145
|
+
break;
|
|
146
|
+
case "ObjectIntersectionType":
|
|
147
|
+
if (this.kind === memberType.kind) {
|
|
148
|
+
super.addMemberType(memberType);
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
throw new Error(`${this}: has incompatible compound type composition (has-a ${memberType})`);
|
|
152
|
+
}
|
|
153
|
+
break;
|
|
154
|
+
case "ObjectUnionType":
|
|
155
|
+
if (this.kind === memberType.kind) {
|
|
156
|
+
super.addMemberType(memberType);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
throw new Error(`${this}: has incompatible compound type composition (has-a ${memberType})`);
|
|
160
|
+
}
|
|
161
|
+
break;
|
|
162
|
+
default:
|
|
163
|
+
throw new Error(`${this} has one or more non-(ObjectIntersectionType | ObjectType | ObjectUnionType) node shapes in its logical constraint`);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
toString() {
|
|
168
|
+
return `${this.kind}(shapeIdentifier=${Resource.Identifier.toString(this.shapeIdentifier)})`;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
__decorate([
|
|
172
|
+
Memoize()
|
|
173
|
+
], AbstractObjectCompoundType.prototype, "identifierType", null);
|
|
174
|
+
__decorate([
|
|
175
|
+
Memoize()
|
|
176
|
+
], AbstractObjectCompoundType.prototype, "memberObjectTypes", null);
|
|
177
|
+
__decorate([
|
|
178
|
+
Memoize()
|
|
179
|
+
], AbstractObjectCompoundType.prototype, "tsFeatures", null);
|
|
180
|
+
//# sourceMappingURL=AbstractObjectCompoundType.js.map
|