@shaclmate/compiler 3.0.4 → 4.0.1
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 +40 -46
- 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,17 +1,23 @@
|
|
|
1
1
|
import TermMap from "@rdfjs/term-map";
|
|
2
2
|
import TermSet from "@rdfjs/term-set";
|
|
3
3
|
import { rdf, xsd } from "@tpluscode/rdf-ns-builders";
|
|
4
|
-
import {
|
|
5
|
-
import { fromRdf } from "rdf-literal";
|
|
4
|
+
import { LiteralDecoder, literalDatatypeDefinitions } from "rdfjs-resource";
|
|
6
5
|
import { invariant } from "ts-invariant";
|
|
7
|
-
import { Scope } from "ts-morph";
|
|
8
6
|
import { logger } from "../../logger.js";
|
|
7
|
+
import { BigDecimalType } from "./BigDecimalType.js";
|
|
8
|
+
import { BigIntType } from "./BigIntType.js";
|
|
9
|
+
import { BlankNodeType } from "./BlankNodeType.js";
|
|
9
10
|
import { BooleanType } from "./BooleanType.js";
|
|
10
11
|
import { DateTimeType } from "./DateTimeType.js";
|
|
11
12
|
import { DateType } from "./DateType.js";
|
|
13
|
+
import { DefaultValueType } from "./DefaultValueType.js";
|
|
12
14
|
import { FloatType } from "./FloatType.js";
|
|
13
15
|
import { IdentifierType } from "./IdentifierType.js";
|
|
14
16
|
import { IntType } from "./IntType.js";
|
|
17
|
+
import { IriType } from "./IriType.js";
|
|
18
|
+
import { LazyObjectOptionType } from "./LazyObjectOptionType.js";
|
|
19
|
+
import { LazyObjectSetType } from "./LazyObjectSetType.js";
|
|
20
|
+
import { LazyObjectType } from "./LazyObjectType.js";
|
|
15
21
|
import { ListType } from "./ListType.js";
|
|
16
22
|
import { LiteralType } from "./LiteralType.js";
|
|
17
23
|
import { ObjectType } from "./ObjectType.js";
|
|
@@ -19,90 +25,26 @@ import { ObjectUnionType } from "./ObjectUnionType.js";
|
|
|
19
25
|
import { OptionType } from "./OptionType.js";
|
|
20
26
|
import { SetType } from "./SetType.js";
|
|
21
27
|
import { StringType } from "./StringType.js";
|
|
22
|
-
import { TermType } from "./TermType.js";
|
|
23
|
-
import { UnionType } from "./UnionType.js";
|
|
24
28
|
import { syntheticNamePrefix } from "./syntheticNamePrefix.js";
|
|
29
|
+
import { TermType } from "./TermType.js";
|
|
30
|
+
import { code } from "./ts-poet-wrapper.js";
|
|
25
31
|
import { tsName } from "./tsName.js";
|
|
32
|
+
import { UnionType } from "./UnionType.js";
|
|
26
33
|
export class TypeFactory {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
languageIn: [],
|
|
32
|
-
primitiveDefaultValue: Maybe.empty(),
|
|
33
|
-
primitiveIn: [],
|
|
34
|
-
});
|
|
35
|
-
cachedDateType = new DateType({
|
|
36
|
-
defaultValue: Maybe.empty(),
|
|
37
|
-
hasValues: [],
|
|
38
|
-
in_: [],
|
|
39
|
-
languageIn: [],
|
|
40
|
-
primitiveDefaultValue: Maybe.empty(),
|
|
41
|
-
primitiveIn: [],
|
|
42
|
-
});
|
|
43
|
-
cachedDateTimeType = new DateTimeType({
|
|
44
|
-
defaultValue: Maybe.empty(),
|
|
45
|
-
hasValues: [],
|
|
46
|
-
in_: [],
|
|
47
|
-
languageIn: [],
|
|
48
|
-
primitiveDefaultValue: Maybe.empty(),
|
|
49
|
-
primitiveIn: [],
|
|
50
|
-
});
|
|
51
|
-
cachedFloatType = new FloatType({
|
|
52
|
-
defaultValue: Maybe.empty(),
|
|
53
|
-
hasValues: [],
|
|
54
|
-
in_: [],
|
|
55
|
-
languageIn: [],
|
|
56
|
-
primitiveDefaultValue: Maybe.empty(),
|
|
57
|
-
primitiveIn: [],
|
|
58
|
-
});
|
|
59
|
-
cachedIdentifierType = new IdentifierType({
|
|
60
|
-
defaultValue: Maybe.empty(),
|
|
61
|
-
hasValues: [],
|
|
62
|
-
in_: [],
|
|
63
|
-
nodeKinds: new Set(["BlankNode", "NamedNode"]),
|
|
64
|
-
});
|
|
65
|
-
cachedIntType = new IntType({
|
|
66
|
-
defaultValue: Maybe.empty(),
|
|
67
|
-
hasValues: [],
|
|
68
|
-
in_: [],
|
|
69
|
-
languageIn: [],
|
|
70
|
-
primitiveDefaultValue: Maybe.empty(),
|
|
71
|
-
primitiveIn: [],
|
|
72
|
-
});
|
|
73
|
-
cachedNamedIdentifierType = new IdentifierType({
|
|
74
|
-
defaultValue: Maybe.empty(),
|
|
75
|
-
hasValues: [],
|
|
76
|
-
in_: [],
|
|
77
|
-
nodeKinds: new Set(["NamedNode"]),
|
|
78
|
-
});
|
|
79
|
-
cachedObjectTypePropertiesByIdentifier = new TermMap();
|
|
80
|
-
cachedObjectTypesByIdentifier = new TermMap();
|
|
81
|
-
cachedObjectUnionTypesByIdentifier = new TermMap();
|
|
82
|
-
cachedStringType = new StringType({
|
|
83
|
-
defaultValue: Maybe.empty(),
|
|
84
|
-
hasValues: [],
|
|
85
|
-
in_: [],
|
|
86
|
-
languageIn: [],
|
|
87
|
-
primitiveDefaultValue: Maybe.empty(),
|
|
88
|
-
primitiveIn: [],
|
|
89
|
-
});
|
|
90
|
-
createObjectTypeFromAstType(astType) {
|
|
34
|
+
cachedObjectTypePropertiesByShapeIdentifier = new TermMap();
|
|
35
|
+
cachedObjectTypesByShapeIdentifier = new TermMap();
|
|
36
|
+
cachedObjectUnionTypesByShapeIdentifier = new TermMap();
|
|
37
|
+
createObjectType(astType) {
|
|
91
38
|
{
|
|
92
|
-
const cachedObjectType = this.
|
|
39
|
+
const cachedObjectType = this.cachedObjectTypesByShapeIdentifier.get(astType.shapeIdentifier);
|
|
93
40
|
if (cachedObjectType) {
|
|
94
41
|
return cachedObjectType;
|
|
95
42
|
}
|
|
96
43
|
}
|
|
97
|
-
const identifierType =
|
|
98
|
-
defaultValue: Maybe.empty(),
|
|
99
|
-
hasValues: [],
|
|
100
|
-
in_: astType.identifierIn,
|
|
101
|
-
nodeKinds: astType.identifierNodeKinds,
|
|
102
|
-
});
|
|
44
|
+
const identifierType = this.createIdentifierType(astType.identifierType);
|
|
103
45
|
const staticModuleName = astType.childObjectTypes.length > 0
|
|
104
|
-
? `${tsName(astType
|
|
105
|
-
: tsName(astType
|
|
46
|
+
? `${tsName(astType)}Static`
|
|
47
|
+
: tsName(astType);
|
|
106
48
|
const objectType = new ObjectType({
|
|
107
49
|
abstract: astType.abstract,
|
|
108
50
|
comment: astType.comment,
|
|
@@ -111,12 +53,13 @@ export class TypeFactory {
|
|
|
111
53
|
extern: astType.extern,
|
|
112
54
|
features: astType.tsFeatures,
|
|
113
55
|
fromRdfType: astType.fromRdfType,
|
|
56
|
+
identifierType,
|
|
114
57
|
imports: astType.tsImports,
|
|
115
58
|
label: astType.label,
|
|
116
|
-
lazyAncestorObjectTypes: () => astType.ancestorObjectTypes.map((astType) => this.
|
|
117
|
-
lazyChildObjectTypes: () => astType.childObjectTypes.map((astType) => this.
|
|
118
|
-
lazyDescendantObjectTypes: () => astType.descendantObjectTypes.map((astType) => this.
|
|
119
|
-
lazyParentObjectTypes: () => astType.parentObjectTypes.map((astType) => this.
|
|
59
|
+
lazyAncestorObjectTypes: () => astType.ancestorObjectTypes.map((astType) => this.createObjectType(astType)),
|
|
60
|
+
lazyChildObjectTypes: () => astType.childObjectTypes.map((astType) => this.createObjectType(astType)),
|
|
61
|
+
lazyDescendantObjectTypes: () => astType.descendantObjectTypes.map((astType) => this.createObjectType(astType)),
|
|
62
|
+
lazyParentObjectTypes: () => astType.parentObjectTypes.map((astType) => this.createObjectType(astType)),
|
|
120
63
|
lazyProperties: (objectType) => {
|
|
121
64
|
const properties = astType.properties
|
|
122
65
|
.toSorted((left, right) => {
|
|
@@ -126,35 +69,32 @@ export class TypeFactory {
|
|
|
126
69
|
if (left.order > right.order) {
|
|
127
70
|
return 1;
|
|
128
71
|
}
|
|
129
|
-
return tsName(left
|
|
72
|
+
return tsName(left).localeCompare(tsName(right));
|
|
130
73
|
})
|
|
131
|
-
.map((astProperty) => this.
|
|
74
|
+
.map((astProperty) => this.createObjectTypeProperty({
|
|
132
75
|
astObjectTypeProperty: astProperty,
|
|
133
76
|
objectType,
|
|
134
77
|
}));
|
|
135
|
-
// Type
|
|
136
|
-
const
|
|
137
|
-
? objectType.
|
|
78
|
+
// Type discriminant property
|
|
79
|
+
const typeDiscriminantOwnValue = !astType.abstract
|
|
80
|
+
? objectType.discriminantValue
|
|
138
81
|
: undefined;
|
|
139
|
-
const
|
|
82
|
+
const typeDiscriminantDescendantValues = new Set();
|
|
140
83
|
for (const descendantObjectType of objectType.descendantObjectTypes) {
|
|
141
84
|
if (!descendantObjectType.abstract) {
|
|
142
|
-
|
|
85
|
+
typeDiscriminantDescendantValues.add(descendantObjectType.discriminantValue);
|
|
143
86
|
}
|
|
144
87
|
}
|
|
145
|
-
if (
|
|
146
|
-
|
|
147
|
-
properties.splice(0, 0, new ObjectType.
|
|
148
|
-
abstract: astType.abstract,
|
|
88
|
+
if (typeDiscriminantOwnValue ||
|
|
89
|
+
typeDiscriminantDescendantValues.size > 0) {
|
|
90
|
+
properties.splice(0, 0, new ObjectType.TypeDiscriminantProperty({
|
|
149
91
|
name: `${syntheticNamePrefix}type`,
|
|
150
|
-
initializer: objectType.discriminatorValue,
|
|
151
92
|
objectType,
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
descendantValues: [...typeDiscriminatorDescendantValues].sort(),
|
|
93
|
+
type: new ObjectType.TypeDiscriminantProperty.Type({
|
|
94
|
+
descendantValues: [...typeDiscriminantDescendantValues].sort(),
|
|
155
95
|
mutable: false,
|
|
156
|
-
ownValues:
|
|
157
|
-
? [
|
|
96
|
+
ownValues: typeDiscriminantOwnValue
|
|
97
|
+
? [typeDiscriminantOwnValue]
|
|
158
98
|
: [],
|
|
159
99
|
}),
|
|
160
100
|
visibility: "public",
|
|
@@ -163,345 +103,350 @@ export class TypeFactory {
|
|
|
163
103
|
// Some ObjectTypes have an identifierPrefix property, depending on their identifier minting strategy.
|
|
164
104
|
if (objectTypeNeedsIdentifierPrefixProperty(astType)) {
|
|
165
105
|
properties.splice(0, 0, new ObjectType.IdentifierPrefixProperty({
|
|
166
|
-
own: !astType.ancestorObjectTypes.some(objectTypeNeedsIdentifierPrefixProperty),
|
|
167
106
|
name: `${syntheticNamePrefix}identifierPrefix`,
|
|
168
107
|
objectType,
|
|
169
|
-
|
|
108
|
+
own: !astType.ancestorObjectTypes.some(objectTypeNeedsIdentifierPrefixProperty),
|
|
109
|
+
type: new StringType({
|
|
110
|
+
comment: astType.comment,
|
|
111
|
+
datatype: xsd.string,
|
|
112
|
+
hasValues: [],
|
|
113
|
+
in_: [],
|
|
114
|
+
label: astType.label,
|
|
115
|
+
languageIn: [],
|
|
116
|
+
primitiveIn: [],
|
|
117
|
+
}),
|
|
170
118
|
visibility: "protected",
|
|
171
119
|
}));
|
|
172
120
|
}
|
|
173
121
|
// Every ObjectType has an identifier property. Some are abstract.
|
|
174
122
|
properties.splice(0, 0, new ObjectType.IdentifierProperty({
|
|
175
|
-
abstract: astType.abstract,
|
|
176
|
-
getAccessorScope: (() => {
|
|
177
|
-
if (astType.abstract) {
|
|
178
|
-
return Maybe.empty();
|
|
179
|
-
}
|
|
180
|
-
if (astType.identifierMintingStrategy.isJust() ||
|
|
181
|
-
astType.ancestorObjectTypes.some((ancestorObjectType) => ancestorObjectType.identifierMintingStrategy.isJust())) {
|
|
182
|
-
return Maybe.of(Scope.Public);
|
|
183
|
-
}
|
|
184
|
-
return Maybe.empty();
|
|
185
|
-
})(),
|
|
186
123
|
identifierMintingStrategy: astType.identifierMintingStrategy,
|
|
187
124
|
identifierPrefixPropertyName: `${syntheticNamePrefix}identifierPrefix`,
|
|
188
125
|
name: `${syntheticNamePrefix}identifier`,
|
|
189
126
|
objectType,
|
|
190
|
-
override: astType.parentObjectTypes.length > 0,
|
|
191
|
-
propertyDeclarationVisibility: (() => {
|
|
192
|
-
if (astType.abstract) {
|
|
193
|
-
// If the type is abstract, don't declare an identifier property.
|
|
194
|
-
return Maybe.empty();
|
|
195
|
-
}
|
|
196
|
-
if (astType.ancestorObjectTypes.some((ancestorObjectType) => !ancestorObjectType.abstract)) {
|
|
197
|
-
// If the type has a non-abstract ancestor, that ancestor will declare the identifier property.
|
|
198
|
-
return Maybe.empty();
|
|
199
|
-
}
|
|
200
|
-
if (astType.descendantObjectTypes.some((descendantObjectType) => !descendantObjectType.abstract)) {
|
|
201
|
-
// If the type has a non-abstract descendant, declare the identifier property for it.
|
|
202
|
-
return Maybe.of("protected");
|
|
203
|
-
}
|
|
204
|
-
return Maybe.of("private");
|
|
205
|
-
})(),
|
|
206
127
|
type: identifierType,
|
|
207
|
-
typeAlias: `${staticModuleName}.${syntheticNamePrefix}Identifier`,
|
|
128
|
+
typeAlias: code `${staticModuleName}.${syntheticNamePrefix}Identifier`,
|
|
208
129
|
visibility: "public",
|
|
209
130
|
}));
|
|
210
131
|
return properties;
|
|
211
132
|
},
|
|
212
133
|
identifierMintingStrategy: astType.identifierMintingStrategy,
|
|
213
|
-
name: tsName(astType
|
|
134
|
+
name: tsName(astType),
|
|
214
135
|
staticModuleName,
|
|
215
136
|
synthetic: astType.synthetic,
|
|
216
137
|
toRdfTypes: astType.toRdfTypes,
|
|
217
138
|
});
|
|
218
|
-
this.
|
|
139
|
+
this.cachedObjectTypesByShapeIdentifier.set(astType.shapeIdentifier, objectType);
|
|
219
140
|
return objectType;
|
|
220
141
|
}
|
|
221
|
-
|
|
142
|
+
createObjectUnionType(astType) {
|
|
143
|
+
{
|
|
144
|
+
const cachedObjectUnionType = this.cachedObjectUnionTypesByShapeIdentifier.get(astType.shapeIdentifier);
|
|
145
|
+
if (cachedObjectUnionType) {
|
|
146
|
+
return cachedObjectUnionType;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const objectUnionType = new ObjectUnionType({
|
|
150
|
+
comment: astType.comment,
|
|
151
|
+
export_: astType.export,
|
|
152
|
+
features: astType.tsFeatures,
|
|
153
|
+
identifierType: this.createIdentifierType(astType.identifierType),
|
|
154
|
+
label: astType.label,
|
|
155
|
+
memberTypes: astType.memberObjectTypes.map((objectType) => this.createObjectType(objectType)),
|
|
156
|
+
name: tsName(astType),
|
|
157
|
+
});
|
|
158
|
+
this.cachedObjectUnionTypesByShapeIdentifier.set(astType.shapeIdentifier, objectUnionType);
|
|
159
|
+
return objectUnionType;
|
|
160
|
+
}
|
|
161
|
+
createType(astType, parameters) {
|
|
222
162
|
switch (astType.kind) {
|
|
163
|
+
case "BlankNodeType":
|
|
164
|
+
return this.createBlankNodeType(astType);
|
|
165
|
+
case "DefaultValueType":
|
|
166
|
+
return this.createDefaultValueType(astType);
|
|
223
167
|
case "IdentifierType":
|
|
224
|
-
|
|
225
|
-
astType.hasValues.length === 0 &&
|
|
226
|
-
astType.in_.length === 0) {
|
|
227
|
-
if (astType.nodeKinds.size === 2) {
|
|
228
|
-
return this.cachedIdentifierType;
|
|
229
|
-
}
|
|
230
|
-
if (astType.nodeKinds.size === 1 &&
|
|
231
|
-
astType.nodeKinds.has("NamedNode")) {
|
|
232
|
-
return this.cachedNamedIdentifierType;
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
return new IdentifierType({
|
|
236
|
-
defaultValue: astType.defaultValue,
|
|
237
|
-
hasValues: astType.hasValues,
|
|
238
|
-
in_: astType.in_.filter((_) => _.termType === "NamedNode"),
|
|
239
|
-
nodeKinds: astType.nodeKinds,
|
|
240
|
-
});
|
|
168
|
+
return this.createIdentifierType(astType);
|
|
241
169
|
case "IntersectionType":
|
|
242
170
|
throw new Error("not implemented");
|
|
243
|
-
case "
|
|
244
|
-
return
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
// Otherwise default to rdfjs.Literal
|
|
256
|
-
const datatypes = new TermSet();
|
|
257
|
-
astType.datatype.ifJust((datatype) => datatypes.add(datatype));
|
|
258
|
-
astType.defaultValue.ifJust((defaultValue) => datatypes.add(defaultValue.datatype));
|
|
259
|
-
for (const hasValue of astType.hasValues) {
|
|
260
|
-
datatypes.add(hasValue.datatype);
|
|
261
|
-
}
|
|
262
|
-
for (const value of astType.in_) {
|
|
263
|
-
datatypes.add(value.datatype);
|
|
264
|
-
}
|
|
265
|
-
if (datatypes.size === 1) {
|
|
266
|
-
const datatype = [...datatypes][0];
|
|
267
|
-
if (datatype.equals(xsd.boolean)) {
|
|
268
|
-
if (astType.defaultValue.isNothing() &&
|
|
269
|
-
astType.hasValues.length === 0 &&
|
|
270
|
-
astType.in_.length === 0) {
|
|
271
|
-
return this.cachedBooleanType;
|
|
272
|
-
}
|
|
273
|
-
return new BooleanType({
|
|
274
|
-
defaultValue: astType.defaultValue,
|
|
275
|
-
hasValues: astType.hasValues,
|
|
276
|
-
languageIn: [],
|
|
277
|
-
in_: astType.in_,
|
|
278
|
-
primitiveDefaultValue: astType.defaultValue
|
|
279
|
-
.map((value) => fromRdf(value, true))
|
|
280
|
-
.filter((value) => typeof value === "boolean"),
|
|
281
|
-
primitiveIn: astType.in_
|
|
282
|
-
.map((value) => fromRdf(value, true))
|
|
283
|
-
.filter((value) => typeof value === "boolean"),
|
|
284
|
-
});
|
|
285
|
-
}
|
|
286
|
-
if (datatype.equals(xsd.date) || datatype.equals(xsd.dateTime)) {
|
|
287
|
-
if (astType.defaultValue.isNothing() &&
|
|
288
|
-
astType.hasValues.length === 0 &&
|
|
289
|
-
astType.in_.length === 0) {
|
|
290
|
-
return datatype.equals(xsd.date)
|
|
291
|
-
? this.cachedDateType
|
|
292
|
-
: this.cachedDateTimeType;
|
|
293
|
-
}
|
|
294
|
-
return new (datatype.equals(xsd.date) ? DateType : DateTimeType)({
|
|
295
|
-
defaultValue: astType.defaultValue,
|
|
296
|
-
hasValues: astType.hasValues,
|
|
297
|
-
in_: astType.in_,
|
|
298
|
-
languageIn: [],
|
|
299
|
-
primitiveDefaultValue: astType.defaultValue
|
|
300
|
-
.map((value) => fromRdf(value, true))
|
|
301
|
-
.filter((value) => typeof value === "object" && value instanceof Date),
|
|
302
|
-
primitiveIn: astType.in_
|
|
303
|
-
.map((value) => fromRdf(value, true))
|
|
304
|
-
.filter((value) => typeof value === "object" && value instanceof Date),
|
|
305
|
-
});
|
|
306
|
-
}
|
|
307
|
-
for (const [floatOrInt, numberDatatypes_] of Object.entries(numberDatatypes)) {
|
|
308
|
-
for (const numberDatatype of numberDatatypes_) {
|
|
309
|
-
if (datatype.equals(numberDatatype)) {
|
|
310
|
-
if (astType.defaultValue.isNothing() &&
|
|
311
|
-
astType.hasValues.length === 0 &&
|
|
312
|
-
astType.in_.length === 0) {
|
|
313
|
-
return floatOrInt === "float"
|
|
314
|
-
? this.cachedFloatType
|
|
315
|
-
: this.cachedIntType;
|
|
316
|
-
}
|
|
317
|
-
return new (floatOrInt === "float" ? FloatType : IntType)({
|
|
318
|
-
defaultValue: astType.defaultValue,
|
|
319
|
-
hasValues: astType.hasValues,
|
|
320
|
-
in_: astType.in_,
|
|
321
|
-
languageIn: [],
|
|
322
|
-
primitiveDefaultValue: astType.defaultValue
|
|
323
|
-
.map((value) => fromRdf(value, true))
|
|
324
|
-
.filter((value) => typeof value === "number"),
|
|
325
|
-
primitiveIn: astType.in_
|
|
326
|
-
.map((value) => fromRdf(value, true))
|
|
327
|
-
.filter((value) => typeof value === "number"),
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
if (datatype.equals(xsd.anyURI) || datatype.equals(xsd.string)) {
|
|
333
|
-
if (astType.defaultValue.isNothing() &&
|
|
334
|
-
astType.hasValues.length === 0 &&
|
|
335
|
-
astType.in_.length === 0 &&
|
|
336
|
-
astType.languageIn.length === 0) {
|
|
337
|
-
return this.cachedStringType;
|
|
338
|
-
}
|
|
339
|
-
return new StringType({
|
|
340
|
-
defaultValue: astType.defaultValue,
|
|
341
|
-
hasValues: astType.hasValues,
|
|
342
|
-
languageIn: astType.languageIn,
|
|
343
|
-
in_: astType.in_,
|
|
344
|
-
primitiveDefaultValue: astType.defaultValue.map((value) => value.value),
|
|
345
|
-
primitiveIn: astType.in_.map((value) => value.value),
|
|
346
|
-
});
|
|
347
|
-
}
|
|
348
|
-
if (datatype.equals(rdf.langString)) {
|
|
349
|
-
// Drop down
|
|
350
|
-
}
|
|
351
|
-
else {
|
|
352
|
-
logger.warn("unrecognized literal datatype: %s", datatype.value);
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
else if (datatypes.size > 0) {
|
|
356
|
-
logger.warn("literal type has multiple datatypes: %s", JSON.stringify([...datatypes].map((datatype) => datatype.value)));
|
|
357
|
-
}
|
|
358
|
-
else {
|
|
359
|
-
logger.debug("literal type has no datatypes");
|
|
360
|
-
}
|
|
361
|
-
return new LiteralType({
|
|
362
|
-
defaultValue: astType.defaultValue,
|
|
363
|
-
hasValues: astType.hasValues,
|
|
364
|
-
in_: astType.in_,
|
|
365
|
-
languageIn: astType.languageIn,
|
|
366
|
-
});
|
|
367
|
-
}
|
|
171
|
+
case "IriType":
|
|
172
|
+
return this.createIriType(astType);
|
|
173
|
+
case "LazyObjectOptionType":
|
|
174
|
+
return this.createLazyObjectOptionType(astType);
|
|
175
|
+
case "LazyObjectSetType":
|
|
176
|
+
return this.createLazyObjectSetType(astType);
|
|
177
|
+
case "LazyObjectType":
|
|
178
|
+
return this.createLazyObjectType(astType);
|
|
179
|
+
case "ListType":
|
|
180
|
+
return this.createListType(astType);
|
|
181
|
+
case "LiteralType":
|
|
182
|
+
return this.createLiteralType(astType, parameters);
|
|
368
183
|
case "ObjectIntersectionType":
|
|
369
184
|
throw new Error("not implemented");
|
|
370
185
|
case "ObjectType":
|
|
371
|
-
return this.
|
|
186
|
+
return this.createObjectType(astType);
|
|
372
187
|
case "ObjectUnionType":
|
|
373
|
-
return this.
|
|
188
|
+
return this.createObjectUnionType(astType);
|
|
374
189
|
case "OptionType":
|
|
375
|
-
return
|
|
376
|
-
itemType: this.createTypeFromAstType(astType.itemType),
|
|
377
|
-
});
|
|
190
|
+
return this.createOptionType(astType);
|
|
378
191
|
case "PlaceholderType":
|
|
379
192
|
throw new Error(astType.kind);
|
|
380
193
|
case "SetType":
|
|
381
|
-
return
|
|
382
|
-
itemType: this.createTypeFromAstType(astType.itemType),
|
|
383
|
-
mutable: astType.mutable.orDefault(false),
|
|
384
|
-
minCount: astType.minCount,
|
|
385
|
-
});
|
|
194
|
+
return this.createSetType(astType);
|
|
386
195
|
case "TermType":
|
|
387
|
-
return
|
|
388
|
-
defaultValue: astType["defaultValue"],
|
|
389
|
-
hasValues: astType["hasValues"],
|
|
390
|
-
in_: astType["in_"],
|
|
391
|
-
nodeKinds: astType["nodeKinds"],
|
|
392
|
-
});
|
|
196
|
+
return this.createTermType(astType);
|
|
393
197
|
case "UnionType":
|
|
394
|
-
return
|
|
395
|
-
|
|
198
|
+
return this.createUnionType(astType);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
createBlankNodeType(astType) {
|
|
202
|
+
return new BlankNodeType({
|
|
203
|
+
comment: astType.comment,
|
|
204
|
+
label: astType.label,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
createDefaultValueType(astType) {
|
|
208
|
+
const itemType = this.createType(astType.itemType, {
|
|
209
|
+
defaultValue: astType.defaultValue,
|
|
210
|
+
});
|
|
211
|
+
invariant(DefaultValueType.isItemType(itemType));
|
|
212
|
+
return new DefaultValueType({
|
|
213
|
+
comment: astType.comment,
|
|
214
|
+
defaultValue: astType.defaultValue,
|
|
215
|
+
itemType,
|
|
216
|
+
label: astType.label,
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
createIdentifierType(astType) {
|
|
220
|
+
switch (astType.kind) {
|
|
221
|
+
case "BlankNodeType":
|
|
222
|
+
return this.createBlankNodeType(astType);
|
|
223
|
+
case "IdentifierType":
|
|
224
|
+
return new IdentifierType({
|
|
225
|
+
comment: astType.comment,
|
|
226
|
+
label: astType.label,
|
|
396
227
|
});
|
|
228
|
+
case "IriType":
|
|
229
|
+
return this.createIriType(astType);
|
|
397
230
|
}
|
|
398
231
|
}
|
|
399
|
-
|
|
400
|
-
{
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
232
|
+
createIriType(astType) {
|
|
233
|
+
return new IriType({
|
|
234
|
+
comment: astType.comment,
|
|
235
|
+
hasValues: astType.hasValues,
|
|
236
|
+
in_: astType.in_,
|
|
237
|
+
label: astType.label,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
createLazyObjectOptionType(astType) {
|
|
241
|
+
return new LazyObjectOptionType({
|
|
242
|
+
comment: astType.comment,
|
|
243
|
+
label: astType.label,
|
|
244
|
+
partialType: this.createOptionType(astType.partialType),
|
|
245
|
+
resolveType: this.createOptionType(astType.resolveType),
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
createLazyObjectSetType(astType) {
|
|
249
|
+
return new LazyObjectSetType({
|
|
250
|
+
comment: astType.comment,
|
|
251
|
+
label: astType.label,
|
|
252
|
+
partialType: this.createSetType(astType.partialType),
|
|
253
|
+
resolveType: this.createSetType(astType.resolveType),
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
createLazyObjectType(astType) {
|
|
257
|
+
return new LazyObjectType({
|
|
258
|
+
comment: astType.comment,
|
|
259
|
+
label: astType.label,
|
|
260
|
+
partialType: this.createType(astType.partialType),
|
|
261
|
+
resolveType: this.createType(astType.resolveType),
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
createListType(astType) {
|
|
265
|
+
const itemType = this.createType(astType.itemType);
|
|
266
|
+
invariant(ListType.isItemType(itemType));
|
|
267
|
+
return new ListType({
|
|
268
|
+
comment: astType.comment,
|
|
269
|
+
identifierNodeKind: astType.identifierNodeKind,
|
|
270
|
+
itemType,
|
|
271
|
+
label: astType.label,
|
|
272
|
+
minCount: 0,
|
|
273
|
+
mutable: astType.mutable,
|
|
274
|
+
identifierMintingStrategy: astType.identifierMintingStrategy,
|
|
275
|
+
toRdfTypes: astType.toRdfTypes,
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
createLiteralType(astType, parameters) {
|
|
279
|
+
// Look at sh:datatype as well as sh:defaultValue, sh:hasValue, and sh:in datatypes
|
|
280
|
+
// If there's one common datatype than we can refine the type
|
|
281
|
+
// Otherwise default to rdfjs.Literal
|
|
282
|
+
const datatypes = new TermSet();
|
|
283
|
+
astType.datatype.ifJust((datatype) => datatypes.add(datatype));
|
|
284
|
+
if (datatypes.size === 0) {
|
|
285
|
+
if (parameters?.defaultValue &&
|
|
286
|
+
parameters.defaultValue.termType === "Literal") {
|
|
287
|
+
datatypes.add(parameters.defaultValue.datatype);
|
|
404
288
|
}
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
const name = tsName(astObjectTypeProperty.name);
|
|
408
|
-
if (astObjectTypeProperty.stubType.isJust()) {
|
|
409
|
-
const resolvedType = this.createTypeFromAstType(astObjectTypeProperty.type);
|
|
410
|
-
let lazyType;
|
|
411
|
-
const stubType = this.createTypeFromAstType(astObjectTypeProperty.stubType.unsafeCoerce());
|
|
412
|
-
if (resolvedType instanceof OptionType) {
|
|
413
|
-
invariant(resolvedType.itemType instanceof ObjectType ||
|
|
414
|
-
resolvedType.itemType instanceof ObjectUnionType, `lazy property ${name} on ${objectType.name} has ${resolvedType.kind} ${resolvedType.itemType.kind} items`);
|
|
415
|
-
invariant(stubType instanceof OptionType, `lazy property ${name} on ${objectType.name} has ${stubType.kind} stubs`);
|
|
416
|
-
lazyType = new ObjectType.LazyShaclProperty.OptionalObjectType({
|
|
417
|
-
resolvedType,
|
|
418
|
-
stubType,
|
|
419
|
-
});
|
|
289
|
+
for (const hasValue of astType.hasValues) {
|
|
290
|
+
datatypes.add(hasValue.datatype);
|
|
420
291
|
}
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
invariant(stubType instanceof ObjectType || stubType instanceof ObjectUnionType, `lazy property ${name} on ${objectType.name} has ${stubType.kind} stubs`);
|
|
424
|
-
lazyType = new ObjectType.LazyShaclProperty.RequiredObjectType({
|
|
425
|
-
resolvedType: resolvedType,
|
|
426
|
-
stubType: stubType,
|
|
427
|
-
});
|
|
292
|
+
for (const value of astType.in_) {
|
|
293
|
+
datatypes.add(value.datatype);
|
|
428
294
|
}
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
295
|
+
}
|
|
296
|
+
if (datatypes.size === 1) {
|
|
297
|
+
const datatype = [...datatypes][0];
|
|
298
|
+
const datatypeDefinition = literalDatatypeDefinitions[datatype.value];
|
|
299
|
+
if (datatypeDefinition) {
|
|
300
|
+
switch (datatypeDefinition.kind) {
|
|
301
|
+
case "bigdecimal":
|
|
302
|
+
return new BigDecimalType({
|
|
303
|
+
comment: astType.comment,
|
|
304
|
+
hasValues: astType.hasValues,
|
|
305
|
+
in_: astType.in_,
|
|
306
|
+
label: astType.label,
|
|
307
|
+
languageIn: [],
|
|
308
|
+
});
|
|
309
|
+
case "bigint":
|
|
310
|
+
return new BigIntType({
|
|
311
|
+
comment: astType.comment,
|
|
312
|
+
datatype,
|
|
313
|
+
hasValues: astType.hasValues,
|
|
314
|
+
in_: astType.in_,
|
|
315
|
+
label: astType.label,
|
|
316
|
+
languageIn: [],
|
|
317
|
+
primitiveIn: astType.in_.map((value) => LiteralDecoder.decodeBigIntLiteral(value).unsafeCoerce()),
|
|
318
|
+
});
|
|
319
|
+
case "boolean":
|
|
320
|
+
return new BooleanType({
|
|
321
|
+
comment: astType.comment,
|
|
322
|
+
datatype,
|
|
323
|
+
hasValues: astType.hasValues,
|
|
324
|
+
label: astType.label,
|
|
325
|
+
languageIn: [],
|
|
326
|
+
in_: astType.in_,
|
|
327
|
+
primitiveIn: astType.in_.map((value) => LiteralDecoder.decodeBooleanLiteral(value).unsafeCoerce()),
|
|
328
|
+
});
|
|
329
|
+
case "date":
|
|
330
|
+
case "datetime":
|
|
331
|
+
return new (datatypeDefinition.kind === "date" ? DateType : DateTimeType)({
|
|
332
|
+
comment: astType.comment,
|
|
333
|
+
datatype,
|
|
334
|
+
hasValues: astType.hasValues,
|
|
335
|
+
in_: astType.in_,
|
|
336
|
+
label: astType.label,
|
|
337
|
+
languageIn: [],
|
|
338
|
+
primitiveIn: astType.in_.map((value) => (datatypeDefinition.kind === "date"
|
|
339
|
+
? LiteralDecoder.decodeDateLiteral
|
|
340
|
+
: LiteralDecoder.decodeDateTimeLiteral)(value).unsafeCoerce()),
|
|
341
|
+
});
|
|
342
|
+
case "float":
|
|
343
|
+
case "int":
|
|
344
|
+
return new (datatypeDefinition.kind === "float" ? FloatType : IntType)({
|
|
345
|
+
comment: astType.comment,
|
|
346
|
+
datatype,
|
|
347
|
+
hasValues: astType.hasValues,
|
|
348
|
+
in_: astType.in_,
|
|
349
|
+
label: astType.label,
|
|
350
|
+
languageIn: [],
|
|
351
|
+
primitiveIn: astType.in_.map((value) => (datatypeDefinition.kind === "float"
|
|
352
|
+
? LiteralDecoder.decodeFloatLiteral
|
|
353
|
+
: LiteralDecoder.decodeIntLiteral)(value).unsafeCoerce()),
|
|
354
|
+
});
|
|
355
|
+
case "string":
|
|
356
|
+
if (!datatype.equals(rdf.langString)) {
|
|
357
|
+
return new StringType({
|
|
358
|
+
comment: astType.comment,
|
|
359
|
+
datatype,
|
|
360
|
+
hasValues: astType.hasValues,
|
|
361
|
+
label: astType.label,
|
|
362
|
+
languageIn: astType.languageIn,
|
|
363
|
+
in_: astType.in_,
|
|
364
|
+
primitiveIn: astType.in_.map((value) => value.value),
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
break;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
if (datatype.equals(rdf.langString)) {
|
|
371
|
+
// Drop down
|
|
437
372
|
}
|
|
438
373
|
else {
|
|
439
|
-
|
|
374
|
+
logger.warn("unrecognized literal datatype: %s", datatype.value);
|
|
440
375
|
}
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
label: astObjectTypeProperty.label,
|
|
445
|
-
objectType,
|
|
446
|
-
name,
|
|
447
|
-
path: astObjectTypeProperty.path.iri,
|
|
448
|
-
type: lazyType,
|
|
449
|
-
visibility: astObjectTypeProperty.visibility,
|
|
450
|
-
});
|
|
376
|
+
}
|
|
377
|
+
else if (datatypes.size > 0) {
|
|
378
|
+
logger.warn("literal type has multiple datatypes: %s", JSON.stringify([...datatypes].map((datatype) => datatype.value)));
|
|
451
379
|
}
|
|
452
380
|
else {
|
|
453
|
-
|
|
454
|
-
comment: astObjectTypeProperty.comment,
|
|
455
|
-
description: astObjectTypeProperty.description,
|
|
456
|
-
label: astObjectTypeProperty.label,
|
|
457
|
-
mutable: astObjectTypeProperty.mutable.orDefault(false),
|
|
458
|
-
objectType,
|
|
459
|
-
name,
|
|
460
|
-
path: astObjectTypeProperty.path.iri,
|
|
461
|
-
recursive: !!astObjectTypeProperty.recursive,
|
|
462
|
-
type: this.createTypeFromAstType(astObjectTypeProperty.type),
|
|
463
|
-
visibility: astObjectTypeProperty.visibility,
|
|
464
|
-
});
|
|
381
|
+
logger.debug("literal type has no datatypes");
|
|
465
382
|
}
|
|
466
|
-
|
|
467
|
-
|
|
383
|
+
return new LiteralType({
|
|
384
|
+
comment: astType.comment,
|
|
385
|
+
hasValues: astType.hasValues,
|
|
386
|
+
in_: astType.in_,
|
|
387
|
+
label: astType.label,
|
|
388
|
+
languageIn: astType.languageIn,
|
|
389
|
+
});
|
|
468
390
|
}
|
|
469
|
-
|
|
391
|
+
createObjectTypeProperty({ astObjectTypeProperty, objectType, }) {
|
|
470
392
|
{
|
|
471
|
-
const
|
|
472
|
-
if (
|
|
473
|
-
return
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
const memberTypes = astType.memberTypes
|
|
477
|
-
.map((astType) => this.createTypeFromAstType(astType))
|
|
478
|
-
.filter((memberType) => memberType instanceof ObjectType);
|
|
479
|
-
const memberIdentifierTypeNodeKinds = new Set();
|
|
480
|
-
const memberIdentifierTypesIn = new TermSet();
|
|
481
|
-
for (const memberType of memberTypes) {
|
|
482
|
-
for (const nodeKind of memberType.identifierType.nodeKinds) {
|
|
483
|
-
memberIdentifierTypeNodeKinds.add(nodeKind);
|
|
484
|
-
}
|
|
485
|
-
for (const in_ of memberType.identifierType.in_) {
|
|
486
|
-
memberIdentifierTypesIn.add(in_);
|
|
393
|
+
const cachedProperty = this.cachedObjectTypePropertiesByShapeIdentifier.get(astObjectTypeProperty.shapeIdentifier);
|
|
394
|
+
if (cachedProperty) {
|
|
395
|
+
return cachedProperty;
|
|
487
396
|
}
|
|
488
397
|
}
|
|
489
|
-
const
|
|
398
|
+
const name = tsName(astObjectTypeProperty);
|
|
399
|
+
const property = new ObjectType.ShaclProperty({
|
|
400
|
+
comment: astObjectTypeProperty.comment,
|
|
401
|
+
description: astObjectTypeProperty.description,
|
|
402
|
+
label: astObjectTypeProperty.label,
|
|
403
|
+
mutable: astObjectTypeProperty.mutable,
|
|
404
|
+
objectType,
|
|
405
|
+
name,
|
|
406
|
+
path: astObjectTypeProperty.path,
|
|
407
|
+
recursive: !!astObjectTypeProperty.recursive,
|
|
408
|
+
type: this.createType(astObjectTypeProperty.type),
|
|
409
|
+
visibility: astObjectTypeProperty.visibility,
|
|
410
|
+
});
|
|
411
|
+
this.cachedObjectTypePropertiesByShapeIdentifier.set(astObjectTypeProperty.shapeIdentifier, property);
|
|
412
|
+
return property;
|
|
413
|
+
}
|
|
414
|
+
createOptionType(astType) {
|
|
415
|
+
const itemType = this.createType(astType.itemType);
|
|
416
|
+
invariant(OptionType.isItemType(itemType));
|
|
417
|
+
return new OptionType({
|
|
490
418
|
comment: astType.comment,
|
|
491
|
-
|
|
492
|
-
features: astType.tsFeatures,
|
|
493
|
-
identifierType: new IdentifierType({
|
|
494
|
-
defaultValue: Maybe.empty(),
|
|
495
|
-
hasValues: [],
|
|
496
|
-
in_: [...memberIdentifierTypesIn],
|
|
497
|
-
nodeKinds: memberIdentifierTypeNodeKinds,
|
|
498
|
-
}),
|
|
419
|
+
itemType,
|
|
499
420
|
label: astType.label,
|
|
500
|
-
memberTypes,
|
|
501
|
-
name: tsName(astType.name),
|
|
502
421
|
});
|
|
503
|
-
|
|
504
|
-
|
|
422
|
+
}
|
|
423
|
+
createSetType(astType) {
|
|
424
|
+
const itemType = this.createType(astType.itemType);
|
|
425
|
+
invariant(SetType.isItemType(itemType));
|
|
426
|
+
return new SetType({
|
|
427
|
+
comment: astType.comment,
|
|
428
|
+
itemType,
|
|
429
|
+
label: astType.label,
|
|
430
|
+
mutable: astType.mutable,
|
|
431
|
+
minCount: astType.minCount,
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
createTermType(astType) {
|
|
435
|
+
return new TermType({
|
|
436
|
+
comment: astType.comment,
|
|
437
|
+
hasValues: astType.hasValues,
|
|
438
|
+
in_: astType.in_,
|
|
439
|
+
label: astType.label,
|
|
440
|
+
nodeKinds: astType.nodeKinds,
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
createUnionType(astType) {
|
|
444
|
+
return new UnionType({
|
|
445
|
+
comment: astType.comment,
|
|
446
|
+
label: astType.label,
|
|
447
|
+
memberDiscriminantValues: astType.memberDiscriminantValues,
|
|
448
|
+
memberTypes: astType.memberTypes.map((astType) => this.createType(astType)),
|
|
449
|
+
});
|
|
505
450
|
}
|
|
506
451
|
}
|
|
507
452
|
function objectTypeNeedsIdentifierPrefixProperty(objectType) {
|
|
@@ -513,26 +458,11 @@ function objectTypeNeedsIdentifierPrefixProperty(objectType) {
|
|
|
513
458
|
case "sha256":
|
|
514
459
|
case "uuidv4":
|
|
515
460
|
return true;
|
|
461
|
+
default:
|
|
462
|
+
identifierMintingStrategy;
|
|
463
|
+
throw new RangeError(identifierMintingStrategy);
|
|
516
464
|
}
|
|
517
465
|
})
|
|
518
466
|
.orDefault(false);
|
|
519
467
|
}
|
|
520
|
-
const numberDatatypes = {
|
|
521
|
-
float: [xsd.decimal, xsd.double, xsd.float],
|
|
522
|
-
int: [
|
|
523
|
-
xsd.byte,
|
|
524
|
-
xsd.int,
|
|
525
|
-
xsd.integer,
|
|
526
|
-
xsd.long,
|
|
527
|
-
xsd.negativeInteger,
|
|
528
|
-
xsd.nonNegativeInteger,
|
|
529
|
-
xsd.nonPositiveInteger,
|
|
530
|
-
xsd.positiveInteger,
|
|
531
|
-
xsd.short,
|
|
532
|
-
xsd.unsignedByte,
|
|
533
|
-
xsd.unsignedInt,
|
|
534
|
-
xsd.unsignedLong,
|
|
535
|
-
xsd.unsignedShort,
|
|
536
|
-
],
|
|
537
|
-
};
|
|
538
468
|
//# sourceMappingURL=TypeFactory.js.map
|