@shaclmate/compiler 4.0.40 → 4.0.42
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/ShapesGraphToAstTransformer.d.ts +1 -8
- package/dist/ShapesGraphToAstTransformer.js +11 -126
- package/dist/_ShapesGraphToAstTransformer/shapeNodeKinds.js +128 -160
- package/dist/_ShapesGraphToAstTransformer/transformPropertyShapeToAstStructTypeField.d.ts +17 -0
- package/dist/_ShapesGraphToAstTransformer/{transformPropertyShapeToAstObjectTypeProperty.js → transformPropertyShapeToAstStructTypeField.js} +71 -48
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstListType.d.ts +1 -1
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstListType.js +29 -20
- package/dist/_ShapesGraphToAstTransformer/{transformShapeToAstObjectType.d.ts → transformShapeToAstStructType.d.ts} +3 -3
- package/dist/_ShapesGraphToAstTransformer/{transformShapeToAstObjectType.js → transformShapeToAstStructType.js} +35 -45
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstTermType.js +2 -1
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstType.d.ts +1 -1
- package/dist/_ShapesGraphToAstTransformer/transformShapeToAstType.js +3 -3
- package/dist/ast/AbstractCompoundType.d.ts +3 -2
- package/dist/ast/AbstractCompoundType.js +5 -5
- package/dist/ast/AbstractContainerType.d.ts +2 -2
- package/dist/ast/AbstractContainerType.js +4 -4
- package/dist/ast/{AbstractLazyObjectType.d.ts → AbstractLazyType.d.ts} +10 -12
- package/dist/ast/{AbstractLazyObjectType.js → AbstractLazyType.js} +3 -3
- package/dist/ast/AbstractType.d.ts +1 -1
- package/dist/ast/AbstractType.js +3 -0
- package/dist/ast/Ast.d.ts +2 -6
- package/dist/ast/DefaultValueType.js +2 -1
- package/dist/ast/IntersectionType.d.ts +2 -2
- package/dist/ast/IntersectionType.js +3 -3
- package/dist/ast/LazyOptionType.d.ts +6 -0
- package/dist/ast/LazyOptionType.js +5 -0
- package/dist/ast/LazySetType.d.ts +6 -0
- package/dist/ast/LazySetType.js +5 -0
- package/dist/ast/LazyType.d.ts +5 -0
- package/dist/ast/LazyType.js +5 -0
- package/dist/ast/ListType.d.ts +2 -2
- package/dist/ast/ListType.js +5 -5
- package/dist/ast/OptionType.js +2 -1
- package/dist/ast/SetType.js +2 -1
- package/dist/ast/StructCompoundType.d.ts +12 -0
- package/dist/ast/{ObjectCompoundType.js → StructCompoundType.js} +18 -18
- package/dist/ast/StructIntersectionType.d.ts +4 -0
- package/dist/ast/StructIntersectionType.js +2 -0
- package/dist/ast/{ObjectType.d.ts → StructType.d.ts} +28 -39
- package/dist/ast/{ObjectType.js → StructType.js} +81 -156
- package/dist/ast/StructUnionType.d.ts +4 -0
- package/dist/ast/StructUnionType.js +2 -0
- package/dist/ast/Type.d.ts +5 -5
- package/dist/ast/Type.js +4 -4
- package/dist/ast/UnionType.d.ts +2 -2
- package/dist/ast/UnionType.js +3 -3
- package/dist/ast/index.d.ts +7 -7
- package/dist/ast/index.js +7 -7
- package/dist/generators/AstJsonGenerator.js +7 -3
- package/dist/generators/transformAstToLabeledPropertyGraph.js +59 -56
- package/dist/generators/ts/AbstractCollectionType.d.ts +4 -11
- package/dist/generators/ts/AbstractCollectionType.js +3 -62
- package/dist/generators/ts/AbstractContainerType.d.ts +1 -2
- package/dist/generators/ts/AbstractContainerType.js +7 -10
- package/dist/generators/ts/AbstractDateType.d.ts +5 -8
- package/dist/generators/ts/AbstractDateType.js +7 -12
- package/dist/generators/ts/AbstractIdentifierType.d.ts +4 -0
- package/dist/generators/ts/AbstractIdentifierType.js +3 -0
- package/dist/generators/ts/{AbstractLazyObjectType.d.ts → AbstractLazyType.d.ts} +8 -8
- package/dist/generators/ts/{AbstractLazyObjectType.js → AbstractLazyType.js} +30 -17
- package/dist/generators/ts/AbstractLiteralType.d.ts +3 -5
- package/dist/generators/ts/AbstractLiteralType.js +0 -21
- package/dist/generators/ts/AbstractNumericType.d.ts +1 -7
- package/dist/generators/ts/AbstractNumericType.js +17 -27
- package/dist/generators/ts/AbstractObjectSetType.d.ts +1 -1
- package/dist/generators/ts/AbstractObjectSetType.js +2 -2
- package/dist/generators/ts/AbstractPrimitiveType.d.ts +2 -1
- package/dist/generators/ts/AbstractPrimitiveType.js +1 -1
- package/dist/generators/ts/AbstractTermType.d.ts +7 -23
- package/dist/generators/ts/AbstractTermType.js +27 -58
- package/dist/generators/ts/AbstractType.d.ts +86 -63
- package/dist/generators/ts/AbstractType.js +48 -22
- package/dist/generators/ts/BigDecimalType.d.ts +7 -3
- package/dist/generators/ts/BigDecimalType.js +7 -9
- package/dist/generators/ts/BigIntType.d.ts +5 -3
- package/dist/generators/ts/BigIntType.js +8 -5
- package/dist/generators/ts/BlankNodeType.d.ts +2 -7
- package/dist/generators/ts/BlankNodeType.js +4 -9
- package/dist/generators/ts/BooleanType.d.ts +6 -4
- package/dist/generators/ts/BooleanType.js +13 -15
- package/dist/generators/ts/DateTimeType.d.ts +2 -2
- package/dist/generators/ts/DateTimeType.js +14 -4
- package/dist/generators/ts/DateType.d.ts +2 -2
- package/dist/generators/ts/DateType.js +14 -4
- package/dist/generators/ts/DefaultValueType.d.ts +40 -2
- package/dist/generators/ts/DefaultValueType.js +15 -14
- package/dist/generators/ts/FloatType.d.ts +5 -3
- package/dist/generators/ts/FloatType.js +8 -5
- package/dist/generators/ts/GraphqlSchema.js +2 -2
- package/dist/generators/ts/IdentifierType.d.ts +2 -2
- package/dist/generators/ts/IdentifierType.js +8 -11
- package/dist/generators/ts/IntType.d.ts +5 -3
- package/dist/generators/ts/IntType.js +8 -5
- package/dist/generators/ts/IriType.d.ts +2 -2
- package/dist/generators/ts/IriType.js +16 -16
- package/dist/generators/ts/{LazyObjectOptionType.d.ts → LazyOptionType.d.ts} +13 -11
- package/dist/generators/ts/LazyOptionType.js +75 -0
- package/dist/generators/ts/LazySetType.d.ts +20 -0
- package/dist/generators/ts/LazySetType.js +76 -0
- package/dist/generators/ts/LazyType.d.ts +19 -0
- package/dist/generators/ts/LazyType.js +65 -0
- package/dist/generators/ts/ListType.d.ts +11 -2
- package/dist/generators/ts/ListType.js +53 -26
- package/dist/generators/ts/LiteralType.d.ts +7 -2
- package/dist/generators/ts/LiteralType.js +12 -5
- package/dist/generators/ts/ObjectType.d.ts +24 -25
- package/dist/generators/ts/ObjectType.js +303 -161
- package/dist/generators/ts/ObjectUnionType.js +42 -42
- package/dist/generators/ts/OptionType.d.ts +6 -2
- package/dist/generators/ts/OptionType.js +16 -9
- package/dist/generators/ts/RdfjsDatasetObjectSetType.js +1 -4
- package/dist/generators/ts/SetType.d.ts +17 -2
- package/dist/generators/ts/SetType.js +85 -9
- package/dist/generators/ts/Snippets.d.ts +29 -9
- package/dist/generators/ts/Snippets.js +179 -39
- package/dist/generators/ts/StringType.d.ts +7 -4
- package/dist/generators/ts/StringType.js +23 -12
- package/dist/generators/ts/TermType.d.ts +9 -3
- package/dist/generators/ts/TermType.js +29 -7
- package/dist/generators/ts/TsGenerator.d.ts +1 -1
- package/dist/generators/ts/TsGenerator.js +62 -32
- package/dist/generators/ts/Type.d.ts +4 -4
- package/dist/generators/ts/TypeFactory.d.ts +5 -5
- package/dist/generators/ts/TypeFactory.js +90 -82
- package/dist/generators/ts/UnionType.d.ts +25 -23
- package/dist/generators/ts/UnionType.js +254 -261
- package/dist/generators/ts/ZodGenerator.d.ts +1 -1
- package/dist/generators/ts/ZodGenerator.js +29 -14
- package/dist/generators/ts/_ObjectType/AbstractProperty.d.ts +28 -16
- package/dist/generators/ts/_ObjectType/AbstractProperty.js +1 -24
- package/dist/generators/ts/_ObjectType/DiscriminantProperty.d.ts +15 -17
- package/dist/generators/ts/_ObjectType/DiscriminantProperty.js +24 -54
- package/dist/generators/ts/_ObjectType/IdentifierProperty.d.ts +8 -2
- package/dist/generators/ts/_ObjectType/IdentifierProperty.js +48 -20
- package/dist/generators/ts/_ObjectType/ObjectType_createFunctionExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_createFunctionExpression.js +28 -0
- package/dist/generators/ts/_ObjectType/ObjectType_equalsFunctionExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_equalsFunctionExpression.js +15 -0
- package/dist/generators/ts/_ObjectType/ObjectType_filterFunctionExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_filterFunctionExpression.js +12 -0
- package/dist/generators/ts/_ObjectType/ObjectType_filterTypeExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/{ObjectType_filterTypeDeclaration.js → ObjectType_filterTypeExpression.js} +5 -10
- package/dist/generators/ts/_ObjectType/{ObjectType_focusSparqlConstructTriplesFunctionDeclaration.d.ts → ObjectType_focusSparqlConstructTriplesFunctionExpression.d.ts} +2 -3
- package/dist/generators/ts/_ObjectType/{ObjectType_focusSparqlConstructTriplesFunctionDeclaration.js → ObjectType_focusSparqlConstructTriplesFunctionExpression.js} +5 -13
- package/dist/generators/ts/_ObjectType/{ObjectType_focusSparqlWherePatternsFunctionDeclaration.d.ts → ObjectType_focusSparqlWherePatternsFunctionExpression.d.ts} +2 -3
- package/dist/generators/ts/_ObjectType/{ObjectType_focusSparqlWherePatternsFunctionDeclaration.js → ObjectType_focusSparqlWherePatternsFunctionExpression.js} +8 -31
- package/dist/generators/ts/_ObjectType/ObjectType_fromJsonFunctionExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_fromJsonFunctionExpression.js +12 -0
- package/dist/generators/ts/_ObjectType/ObjectType_fromRdfResourceFunctionExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_fromRdfResourceFunctionExpression.js +43 -0
- package/dist/generators/ts/_ObjectType/ObjectType_graphqlTypeExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/{ObjectType_graphqlTypeVariableStatement.js → ObjectType_graphqlTypeExpression.js} +6 -13
- package/dist/generators/ts/_ObjectType/ObjectType_hashFunctionExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_hashFunctionExpression.js +30 -0
- package/dist/generators/ts/_ObjectType/ObjectType_identifierTypeDeclarations.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_identifierTypeDeclarations.js +13 -0
- package/dist/generators/ts/_ObjectType/ObjectType_isTypeFunctionDeclaration.js +11 -8
- package/dist/generators/ts/_ObjectType/ObjectType_jsonParseFunctionDeclaration.d.ts +1 -2
- package/dist/generators/ts/_ObjectType/ObjectType_jsonParseFunctionDeclaration.js +2 -6
- package/dist/generators/ts/_ObjectType/ObjectType_jsonSchemaExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_jsonSchemaExpression.js +18 -0
- package/dist/generators/ts/_ObjectType/ObjectType_jsonTypeExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_jsonTypeExpression.js +5 -0
- package/dist/generators/ts/_ObjectType/ObjectType_jsonUiSchemaFunctionExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_jsonUiSchemaFunctionExpression.js +17 -0
- package/dist/generators/ts/_ObjectType/ObjectType_objectSetMethodNames.d.ts +1 -1
- package/dist/generators/ts/_ObjectType/ObjectType_objectSetMethodNames.js +2 -2
- package/dist/generators/ts/_ObjectType/ObjectType_schemaExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_schemaExpression.js +18 -0
- package/dist/generators/ts/_ObjectType/ObjectType_schemaTypeExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_schemaTypeExpression.js +18 -0
- package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryFunctionDeclaration.d.ts +2 -3
- package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryFunctionDeclaration.js +5 -9
- package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryStringFunctionDeclaration.d.ts +2 -3
- package/dist/generators/ts/_ObjectType/ObjectType_sparqlConstructQueryStringFunctionDeclaration.js +4 -8
- package/dist/generators/ts/_ObjectType/ObjectType_toJsonFunctionExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_toJsonFunctionExpression.js +14 -0
- package/dist/generators/ts/_ObjectType/ObjectType_toRdfResourceFunctionExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/{ObjectType_toRdfResourceFunctionDeclaration.js → ObjectType_toRdfResourceFunctionExpression.js} +7 -13
- package/dist/generators/ts/_ObjectType/ObjectType_toStringFunctionExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_toStringFunctionExpression.js +7 -0
- package/dist/generators/ts/_ObjectType/ObjectType_toStringRecordFunctionExpression.d.ts +4 -0
- package/dist/generators/ts/_ObjectType/ObjectType_toStringRecordFunctionExpression.js +5 -0
- package/dist/generators/ts/_ObjectType/{ObjectType_valueSparqlConstructTriplesFunctionDeclaration.d.ts → ObjectType_valueSparqlConstructTriplesFunctionExpression.d.ts} +2 -3
- package/dist/generators/ts/_ObjectType/ObjectType_valueSparqlConstructTriplesFunctionExpression.js +8 -0
- package/dist/generators/ts/_ObjectType/{ObjectType_valueSparqlWherePatternsFunctionDeclaration.d.ts → ObjectType_valueSparqlWherePatternsFunctionExpression.d.ts} +2 -3
- package/dist/generators/ts/_ObjectType/ObjectType_valueSparqlWherePatternsFunctionExpression.js +10 -0
- package/dist/generators/ts/_ObjectType/ShaclProperty.d.ts +9 -2
- package/dist/generators/ts/_ObjectType/ShaclProperty.js +70 -38
- package/dist/generators/ts/_snippets/snippets_BooleanSchema.js +4 -3
- package/dist/generators/ts/_snippets/snippets_DateSchema.js +4 -3
- package/dist/generators/ts/_snippets/snippets_DefaultValueSchema.js +3 -3
- package/dist/generators/ts/_snippets/snippets_FromRdfResourceValuesFunction.js +6 -5
- package/dist/generators/ts/_snippets/snippets_IdentifierSchema.js +2 -1
- package/dist/generators/ts/_snippets/snippets_IriSchema.js +1 -0
- package/dist/generators/ts/_snippets/snippets_Lazy.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_Lazy.js +22 -0
- package/dist/generators/ts/_snippets/snippets_LazyOption.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_LazyOption.js +25 -0
- package/dist/generators/ts/_snippets/snippets_LazySet.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_LazySet.js +40 -0
- package/dist/generators/ts/_snippets/snippets_LiteralFilter.js +1 -3
- package/dist/generators/ts/_snippets/snippets_LiteralSchema.js +1 -0
- package/dist/generators/ts/_snippets/snippets_NumericSchema.js +2 -1
- package/dist/generators/ts/_snippets/snippets_PropertyPath.js +6 -8
- package/dist/generators/ts/_snippets/snippets_RdfVocabularies.js +32 -32
- package/dist/generators/ts/_snippets/snippets_ShaclPropertySchema.js +1 -1
- package/dist/generators/ts/_snippets/snippets_StringSchema.js +5 -3
- package/dist/generators/ts/_snippets/snippets_TermFilter.js +3 -3
- package/dist/generators/ts/_snippets/snippets_TermSchema.js +4 -2
- package/dist/generators/ts/_snippets/snippets_bigDecimalFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_bigDecimalFromRdfResourceValues.js +6 -0
- package/dist/generators/ts/_snippets/snippets_bigIntFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_bigIntFromRdfResourceValues.js +6 -0
- package/dist/generators/ts/_snippets/snippets_blankNodeFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_blankNodeFromRdfResourceValues.js +6 -0
- package/dist/generators/ts/_snippets/snippets_booleanFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_booleanFromRdfResourceValues.js +6 -0
- package/dist/generators/ts/_snippets/snippets_convertToArraySet.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_convertToArraySet.js +8 -0
- package/dist/generators/ts/_snippets/snippets_convertToLazy.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_convertToLazy.js +15 -0
- package/dist/generators/ts/_snippets/snippets_convertToLazyOption.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_convertToLazyOption.js +33 -0
- package/dist/generators/ts/_snippets/snippets_convertToLazySet.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_convertToLazySet.js +27 -0
- package/dist/generators/ts/_snippets/snippets_convertToList.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_convertToList.js +7 -0
- package/dist/generators/ts/_snippets/snippets_convertToScalarSet.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_convertToScalarSet.js +15 -0
- package/dist/generators/ts/_snippets/snippets_dateFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_dateFromRdfResourceValues.js +6 -0
- package/dist/generators/ts/_snippets/snippets_dateTimeFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_dateTimeFromRdfResourceValues.js +6 -0
- package/dist/generators/ts/_snippets/snippets_defaultValueFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_defaultValueFromRdfResourceValues.js +10 -0
- package/dist/generators/ts/_snippets/snippets_defaultValueSparqlWherePatterns.js +1 -1
- package/dist/generators/ts/_snippets/snippets_filterNumeric.js +1 -1
- package/dist/generators/ts/_snippets/snippets_filterTerm.js +1 -2
- package/dist/generators/ts/_snippets/snippets_floatFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_floatFromRdfResourceValues.js +6 -0
- package/dist/generators/ts/_snippets/snippets_identifierFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_identifierFromRdfResourceValues.js +6 -0
- package/dist/generators/ts/_snippets/snippets_intFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_intFromRdfResourceValues.js +6 -0
- package/dist/generators/ts/_snippets/snippets_iriFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_iriFromRdfResourceValues.js +6 -0
- package/dist/generators/ts/_snippets/snippets_listFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_listFromRdfResourceValues.js +15 -0
- package/dist/generators/ts/_snippets/snippets_literalFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_literalFromRdfResourceValues.js +6 -0
- package/dist/generators/ts/_snippets/snippets_maybeFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_maybeFromRdfResourceValues.js +11 -0
- package/dist/generators/ts/_snippets/snippets_mutableListFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_mutableListFromRdfResourceValues.js +8 -0
- package/dist/generators/ts/_snippets/snippets_mutableSetFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_mutableSetFromRdfResourceValues.js +8 -0
- package/dist/generators/ts/_snippets/snippets_numericSparqlWherePatterns.js +1 -1
- package/dist/generators/ts/_snippets/snippets_setFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_setFromRdfResourceValues.js +9 -0
- package/dist/generators/ts/_snippets/snippets_shaclPropertyFromRdf.js +13 -7
- package/dist/generators/ts/_snippets/snippets_stringFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_stringFromRdfResourceValues.js +6 -0
- package/dist/generators/ts/_snippets/snippets_termFilterSparqlPatterns.js +1 -1
- package/dist/generators/ts/_snippets/snippets_termFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_termFromRdfResourceValues.js +17 -0
- package/dist/generators/ts/_snippets/snippets_termLikeFromRdfResourceValues.d.ts +3 -0
- package/dist/generators/ts/_snippets/snippets_termLikeFromRdfResourceValues.js +60 -0
- package/dist/generators/ts/_snippets/snippets_termSparqlWherePatterns.js +2 -2
- package/dist/input/generated.d.ts +1116 -400
- package/dist/input/generated.js +1879 -1917
- package/package.json +2 -4
- package/dist/_ShapesGraphToAstTransformer/transformPropertyShapeToAstObjectTypeProperty.d.ts +0 -9
- package/dist/ast/LazyObjectOptionType.d.ts +0 -6
- package/dist/ast/LazyObjectOptionType.js +0 -5
- package/dist/ast/LazyObjectSetType.d.ts +0 -6
- package/dist/ast/LazyObjectSetType.js +0 -5
- package/dist/ast/LazyObjectType.d.ts +0 -5
- package/dist/ast/LazyObjectType.js +0 -5
- package/dist/ast/ObjectCompoundType.d.ts +0 -12
- package/dist/ast/ObjectIntersectionType.d.ts +0 -4
- package/dist/ast/ObjectIntersectionType.js +0 -2
- package/dist/ast/ObjectUnionType.d.ts +0 -4
- package/dist/ast/ObjectUnionType.js +0 -2
- package/dist/generators/ts/LazyObjectOptionType.js +0 -62
- package/dist/generators/ts/LazyObjectSetType.d.ts +0 -20
- package/dist/generators/ts/LazyObjectSetType.js +0 -61
- package/dist/generators/ts/LazyObjectType.d.ts +0 -19
- package/dist/generators/ts/LazyObjectType.js +0 -53
- package/dist/generators/ts/_ObjectType/ObjectType_createFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_createFunctionDeclaration.js +0 -65
- package/dist/generators/ts/_ObjectType/ObjectType_equalsFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_equalsFunctionDeclaration.js +0 -23
- package/dist/generators/ts/_ObjectType/ObjectType_filterFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_filterFunctionDeclaration.js +0 -24
- package/dist/generators/ts/_ObjectType/ObjectType_filterTypeDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_fromJsonFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_fromJsonFunctionDeclaration.js +0 -43
- package/dist/generators/ts/_ObjectType/ObjectType_fromRdfResourceFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_fromRdfResourceFunctionDeclaration.js +0 -80
- package/dist/generators/ts/_ObjectType/ObjectType_fromRdfResourceValuesFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_fromRdfResourceValuesFunctionDeclaration.js +0 -15
- package/dist/generators/ts/_ObjectType/ObjectType_fromRdfTypeVariableStatement.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_fromRdfTypeVariableStatement.js +0 -10
- package/dist/generators/ts/_ObjectType/ObjectType_graphqlTypeVariableStatement.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_hashFunctionDeclarations.d.ts +0 -4
- package/dist/generators/ts/_ObjectType/ObjectType_hashFunctionDeclarations.js +0 -45
- package/dist/generators/ts/_ObjectType/ObjectType_interfaceDeclaration.d.ts +0 -4
- package/dist/generators/ts/_ObjectType/ObjectType_interfaceDeclaration.js +0 -16
- package/dist/generators/ts/_ObjectType/ObjectType_jsonSchemaFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_jsonSchemaFunctionDeclaration.js +0 -31
- package/dist/generators/ts/_ObjectType/ObjectType_jsonTypeAliasDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_jsonTypeAliasDeclaration.js +0 -16
- package/dist/generators/ts/_ObjectType/ObjectType_jsonUiSchemaFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_jsonUiSchemaFunctionDeclaration.js +0 -17
- package/dist/generators/ts/_ObjectType/ObjectType_schemaVariableStatement.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_schemaVariableStatement.js +0 -14
- package/dist/generators/ts/_ObjectType/ObjectType_toJsonFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_toJsonFunctionDeclaration.js +0 -41
- package/dist/generators/ts/_ObjectType/ObjectType_toRdfResourceFunctionDeclaration.d.ts +0 -5
- package/dist/generators/ts/_ObjectType/ObjectType_toStringFunctionDeclarations.d.ts +0 -4
- package/dist/generators/ts/_ObjectType/ObjectType_toStringFunctionDeclarations.js +0 -36
- package/dist/generators/ts/_ObjectType/ObjectType_valueSparqlConstructTriplesFunctionDeclaration.js +0 -11
- package/dist/generators/ts/_ObjectType/ObjectType_valueSparqlWherePatternsFunctionDeclaration.js +0 -13
- package/dist/generators/ts/_ObjectType/identifierTypeDeclarations.d.ts +0 -4
- package/dist/generators/ts/_ObjectType/identifierTypeDeclarations.js +0 -27
- package/dist/generators/ts/_snippets/snippets_LazyObject.d.ts +0 -3
- package/dist/generators/ts/_snippets/snippets_LazyObject.js +0 -22
- package/dist/generators/ts/_snippets/snippets_LazyObjectOption.d.ts +0 -3
- package/dist/generators/ts/_snippets/snippets_LazyObjectOption.js +0 -25
- package/dist/generators/ts/_snippets/snippets_LazyObjectSet.d.ts +0 -3
- package/dist/generators/ts/_snippets/snippets_LazyObjectSet.js +0 -40
- package/dist/generators/ts/_snippets/snippets_convertToArray.d.ts +0 -3
- package/dist/generators/ts/_snippets/snippets_convertToArray.js +0 -8
- package/dist/generators/ts/_snippets/snippets_convertToLazyObject.d.ts +0 -3
- package/dist/generators/ts/_snippets/snippets_convertToLazyObject.js +0 -15
- package/dist/generators/ts/_snippets/snippets_convertToLazyObjectOption.d.ts +0 -3
- package/dist/generators/ts/_snippets/snippets_convertToLazyObjectOption.js +0 -31
- package/dist/generators/ts/_snippets/snippets_convertToLazyObjectSet.d.ts +0 -3
- package/dist/generators/ts/_snippets/snippets_convertToLazyObjectSet.js +0 -25
- package/dist/generators/ts/_snippets/snippets_fromRdfLanguageIn.d.ts +0 -3
- package/dist/generators/ts/_snippets/snippets_fromRdfLanguageIn.js +0 -15
- package/dist/generators/ts/_snippets/snippets_fromRdfPreferredLanguages.d.ts +0 -3
- package/dist/generators/ts/_snippets/snippets_fromRdfPreferredLanguages.js +0 -23
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Logger } from "ts-log";
|
|
2
|
-
import * as ast from "../../ast/index.js";
|
|
2
|
+
import type * as ast from "../../ast/index.js";
|
|
3
3
|
import type { Generator } from "../Generator.js";
|
|
4
4
|
export declare class ZodGenerator implements Generator {
|
|
5
5
|
private readonly logger;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import { ObjectType_jsonTypeAliasDeclaration } from "./_ObjectType/ObjectType_jsonTypeAliasDeclaration.js";
|
|
1
|
+
import { ObjectType_jsonSchemaExpression } from "./_ObjectType/ObjectType_jsonSchemaExpression.js";
|
|
2
|
+
import { ObjectType_jsonTypeExpression } from "./_ObjectType/ObjectType_jsonTypeExpression.js";
|
|
4
3
|
import { Reusables } from "./Reusables.js";
|
|
5
4
|
import { TsGenerator } from "./TsGenerator.js";
|
|
6
5
|
import { TypeFactory } from "./TypeFactory.js";
|
|
@@ -19,24 +18,40 @@ export class ZodGenerator {
|
|
|
19
18
|
reusables,
|
|
20
19
|
});
|
|
21
20
|
const declarations = [];
|
|
22
|
-
for (const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
for (const astNamedType of ast_.namedTypes) {
|
|
22
|
+
switch (astNamedType.kind) {
|
|
23
|
+
case "Struct": {
|
|
24
|
+
const tsNamedObjectType = typeFactory.createObjectType(astNamedType);
|
|
25
|
+
declarations.push(code `\
|
|
26
|
+
export namespace ${tsNamedObjectType.name.unsafeCoerce()} {
|
|
27
|
+
export type Json = ${ObjectType_jsonTypeExpression.call(tsNamedObjectType)};
|
|
26
28
|
|
|
27
29
|
export namespace Json {
|
|
28
|
-
|
|
30
|
+
export function schema() {
|
|
31
|
+
return ${ObjectType_jsonSchemaExpression.call(tsNamedObjectType)};
|
|
32
|
+
}
|
|
29
33
|
}
|
|
30
34
|
}`);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
case "Union": {
|
|
38
|
+
const tsNamedUnionType = typeFactory.createUnionType(astNamedType);
|
|
39
|
+
declarations.push(code `\
|
|
40
|
+
export namespace ${tsNamedUnionType.name.unsafeCoerce()} {
|
|
41
|
+
${tsNamedUnionType.jsonTypeAliasDeclaration}
|
|
36
42
|
export namespace Json {
|
|
37
|
-
${
|
|
43
|
+
${tsNamedUnionType.jsonSchemaFunctionDeclaration}
|
|
38
44
|
}
|
|
39
45
|
}`);
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
default: {
|
|
49
|
+
const type = typeFactory.createType(astNamedType);
|
|
50
|
+
type.declaration.ifJust((declaration) => {
|
|
51
|
+
declarations.push(declaration);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
40
55
|
}
|
|
41
56
|
declarations.splice(0, 0, joinCode(reusables.snippets.ifUsed, { on: "\n\n" }));
|
|
42
57
|
return joinCode(declarations, { on: "\n\n" }).toString({});
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Maybe } from "purify-ts";
|
|
1
|
+
import type { Maybe } from "purify-ts";
|
|
2
2
|
import type { Logger } from "ts-log";
|
|
3
|
-
import type { ObjectType } from "../ObjectType.js";
|
|
4
3
|
import type { Reusables } from "../Reusables.js";
|
|
5
4
|
import { rdfjsTermExpression } from "../rdfjsTermExpression.js";
|
|
6
5
|
import type { TsGenerator } from "../TsGenerator.js";
|
|
@@ -9,18 +8,23 @@ import { type Code } from "../ts-poet-wrapper.js";
|
|
|
9
8
|
export declare abstract class AbstractProperty<TypeT extends Pick<Type, "expression" | "filterFunction" | "mutable" | "schema">> {
|
|
10
9
|
protected readonly configuration: TsGenerator.Configuration;
|
|
11
10
|
protected readonly logger: Logger;
|
|
12
|
-
protected readonly objectType:
|
|
11
|
+
protected readonly objectType: {
|
|
12
|
+
readonly name: Maybe<string>;
|
|
13
|
+
};
|
|
13
14
|
protected readonly reusables: Reusables;
|
|
14
15
|
/**
|
|
15
16
|
* Optional parameter to include in the parameters object of constructor function.
|
|
16
17
|
*/
|
|
17
|
-
abstract readonly constructorParameter: Maybe<
|
|
18
|
+
abstract readonly constructorParameter: Maybe<{
|
|
19
|
+
readonly hasQuestionToken: boolean;
|
|
20
|
+
readonly signature: Code;
|
|
21
|
+
}>;
|
|
18
22
|
/**
|
|
19
|
-
* Property declaration to include in
|
|
23
|
+
* Property declaration to include in the type declaration of the ObjectType.
|
|
20
24
|
*/
|
|
21
25
|
abstract readonly declaration: Code;
|
|
22
26
|
/**
|
|
23
|
-
* Optional property in the
|
|
27
|
+
* Optional property in the ObjectType's filter.
|
|
24
28
|
*/
|
|
25
29
|
abstract readonly filterProperty: Maybe<{
|
|
26
30
|
readonly name: string;
|
|
@@ -38,6 +42,12 @@ export declare abstract class AbstractProperty<TypeT extends Pick<Type, "express
|
|
|
38
42
|
resolve: Code;
|
|
39
43
|
type: Code;
|
|
40
44
|
}>;
|
|
45
|
+
/**
|
|
46
|
+
* Parameter to include in the expression of the ObjectType passed to its hash function.
|
|
47
|
+
*
|
|
48
|
+
* Only specified if different from declaration.
|
|
49
|
+
*/
|
|
50
|
+
abstract readonly hashFunctionParameter: Code;
|
|
41
51
|
/**
|
|
42
52
|
* zod object key: schema.
|
|
43
53
|
*/
|
|
@@ -65,6 +75,14 @@ export declare abstract class AbstractProperty<TypeT extends Pick<Type, "express
|
|
|
65
75
|
* Is the property's type the ObjectType or does its type indirectly reference the ObjectType?
|
|
66
76
|
*/
|
|
67
77
|
abstract readonly recursive: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* TypeScript object describing this type, for runtime use.
|
|
80
|
+
*/
|
|
81
|
+
abstract readonly schema: Maybe<Code>;
|
|
82
|
+
/**
|
|
83
|
+
* TypeScript type describing .schema.
|
|
84
|
+
*/
|
|
85
|
+
abstract readonly schemaType: Maybe<Code>;
|
|
68
86
|
/**
|
|
69
87
|
* Property type
|
|
70
88
|
. */
|
|
@@ -73,18 +91,12 @@ export declare abstract class AbstractProperty<TypeT extends Pick<Type, "express
|
|
|
73
91
|
configuration: TsGenerator.Configuration;
|
|
74
92
|
logger: Logger;
|
|
75
93
|
name: string;
|
|
76
|
-
objectType:
|
|
94
|
+
objectType: {
|
|
95
|
+
readonly name: Maybe<string>;
|
|
96
|
+
};
|
|
77
97
|
reusables: Reusables;
|
|
78
98
|
type: TypeT;
|
|
79
99
|
});
|
|
80
|
-
/**
|
|
81
|
-
* TypeScript object describing this type, for runtime use.
|
|
82
|
-
*/
|
|
83
|
-
get schema(): Maybe<Code>;
|
|
84
|
-
/**
|
|
85
|
-
* Helper to compose the result of schema along the type hierarchy.
|
|
86
|
-
*/
|
|
87
|
-
protected get schemaInitializers(): readonly Code[];
|
|
88
100
|
/**
|
|
89
101
|
* Expression to access the value of this property on an object instance. May evaluate a thunk.
|
|
90
102
|
*/
|
|
@@ -115,10 +127,10 @@ export declare abstract class AbstractProperty<TypeT extends Pick<Type, "express
|
|
|
115
127
|
abstract fromRdfResourceValuesInitializer(parameters: {
|
|
116
128
|
variables: {
|
|
117
129
|
context: Code;
|
|
130
|
+
focusResource: Code;
|
|
118
131
|
graph: Code;
|
|
119
132
|
objectSet: Code;
|
|
120
133
|
preferredLanguages: Code;
|
|
121
|
-
resource: Code;
|
|
122
134
|
};
|
|
123
135
|
}): Maybe<Code>;
|
|
124
136
|
/**
|
|
@@ -1,13 +1,5 @@
|
|
|
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 { Maybe } from "purify-ts";
|
|
8
|
-
import { Memoize } from "typescript-memoize";
|
|
9
1
|
import { rdfjsTermExpression } from "../rdfjsTermExpression.js";
|
|
10
|
-
import { code
|
|
2
|
+
import { code } from "../ts-poet-wrapper.js";
|
|
11
3
|
export class AbstractProperty {
|
|
12
4
|
configuration;
|
|
13
5
|
logger;
|
|
@@ -34,18 +26,6 @@ export class AbstractProperty {
|
|
|
34
26
|
snippets: this.reusables.snippets,
|
|
35
27
|
});
|
|
36
28
|
}
|
|
37
|
-
/**
|
|
38
|
-
* TypeScript object describing this type, for runtime use.
|
|
39
|
-
*/
|
|
40
|
-
get schema() {
|
|
41
|
-
return Maybe.of(code `{ ${joinCode(this.schemaInitializers.concat(), { on: ", " })} }`);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Helper to compose the result of schema along the type hierarchy.
|
|
45
|
-
*/
|
|
46
|
-
get schemaInitializers() {
|
|
47
|
-
return [code `kind: ${literalOf(this.kind)}`];
|
|
48
|
-
}
|
|
49
29
|
/**
|
|
50
30
|
* Expression to access the value of this property on an object instance. May evaluate a thunk.
|
|
51
31
|
*/
|
|
@@ -54,7 +34,4 @@ export class AbstractProperty {
|
|
|
54
34
|
}
|
|
55
35
|
rdfjsTermExpression;
|
|
56
36
|
}
|
|
57
|
-
__decorate([
|
|
58
|
-
Memoize()
|
|
59
|
-
], AbstractProperty.prototype, "schema", null);
|
|
60
37
|
//# sourceMappingURL=AbstractProperty.js.map
|
|
@@ -2,20 +2,24 @@ import { Maybe } from "purify-ts";
|
|
|
2
2
|
import { type Code } from "../ts-poet-wrapper.js";
|
|
3
3
|
import { AbstractProperty } from "./AbstractProperty.js";
|
|
4
4
|
export declare class DiscriminantProperty extends AbstractProperty<DiscriminantProperty.Type> {
|
|
5
|
-
readonly constructorParameter:
|
|
5
|
+
readonly constructorParameter: AbstractProperty<DiscriminantProperty.Type>["constructorParameter"];
|
|
6
|
+
readonly declaration: Code;
|
|
6
7
|
readonly filterProperty: AbstractProperty<DiscriminantProperty.Type>["filterProperty"];
|
|
7
8
|
readonly graphqlField: AbstractProperty<DiscriminantProperty.Type>["graphqlField"];
|
|
9
|
+
readonly hashFunctionParameter: Code;
|
|
10
|
+
readonly jsonName = "@type";
|
|
11
|
+
readonly jsonSignature: Maybe<Code>;
|
|
8
12
|
readonly kind = "Discriminant";
|
|
9
13
|
readonly mutable = false;
|
|
10
14
|
readonly recursive = false;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
readonly schema: Maybe<Code>;
|
|
16
|
+
readonly schemaType: Maybe<Code>;
|
|
17
|
+
readonly value: string;
|
|
18
|
+
constructor({ value, ...superParameters }: {
|
|
19
|
+
value: string;
|
|
20
|
+
} & Omit<ConstructorParameters<typeof AbstractProperty>[0], "type">);
|
|
16
21
|
get jsonSchema(): AbstractProperty<DiscriminantProperty.Type>["jsonSchema"];
|
|
17
|
-
get
|
|
18
|
-
get schema(): Maybe<Code>;
|
|
22
|
+
get values(): readonly string[];
|
|
19
23
|
private get constValue();
|
|
20
24
|
constructorInitializer(): Maybe<Code>;
|
|
21
25
|
fromJsonInitializer(): Maybe<Code>;
|
|
@@ -30,18 +34,12 @@ export declare class DiscriminantProperty extends AbstractProperty<DiscriminantP
|
|
|
30
34
|
}
|
|
31
35
|
export declare namespace DiscriminantProperty {
|
|
32
36
|
class Type {
|
|
37
|
+
readonly value: string;
|
|
33
38
|
readonly filterFunction: Code;
|
|
34
|
-
readonly mutable
|
|
35
|
-
|
|
36
|
-
readonly ownValues: readonly string[];
|
|
37
|
-
constructor({ descendantValues, mutable, ownValues, }: {
|
|
38
|
-
descendantValues: readonly string[];
|
|
39
|
-
mutable: boolean;
|
|
40
|
-
ownValues: readonly string[];
|
|
41
|
-
});
|
|
39
|
+
readonly mutable = false;
|
|
40
|
+
constructor(value: string);
|
|
42
41
|
get expression(): Code;
|
|
43
42
|
get schema(): Code;
|
|
44
|
-
get values(): string[];
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
//# sourceMappingURL=DiscriminantProperty.d.ts.map
|
|
@@ -6,43 +6,37 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { Maybe } from "purify-ts";
|
|
8
8
|
import { Memoize } from "typescript-memoize";
|
|
9
|
-
import {
|
|
9
|
+
import { code, literalOf } from "../ts-poet-wrapper.js";
|
|
10
10
|
import { AbstractProperty } from "./AbstractProperty.js";
|
|
11
11
|
export class DiscriminantProperty extends AbstractProperty {
|
|
12
12
|
constructorParameter = Maybe.empty();
|
|
13
|
+
declaration = code `readonly ${this.name}: ${this.type.expression};`;
|
|
13
14
|
filterProperty = Maybe.empty();
|
|
14
15
|
graphqlField = Maybe.empty();
|
|
16
|
+
hashFunctionParameter = code `readonly ${this.name}?: ${this.type.expression};`;
|
|
17
|
+
jsonName = "@type";
|
|
18
|
+
jsonSignature = Maybe.of(code `readonly "${this.jsonName}": ${this.type.expression}`);
|
|
15
19
|
kind = "Discriminant";
|
|
16
20
|
mutable = false;
|
|
17
21
|
recursive = false;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
get jsonName() {
|
|
25
|
-
return "@type";
|
|
22
|
+
schema = Maybe.empty();
|
|
23
|
+
schemaType = Maybe.empty();
|
|
24
|
+
value;
|
|
25
|
+
constructor({ value, ...superParameters }) {
|
|
26
|
+
super({ ...superParameters, type: new DiscriminantProperty.Type(value) });
|
|
27
|
+
this.value = value;
|
|
26
28
|
}
|
|
27
29
|
get jsonSchema() {
|
|
28
30
|
return Maybe.of({
|
|
29
31
|
key: this.jsonName,
|
|
30
|
-
schema: this.
|
|
31
|
-
? code `${this.reusables.imports.z}.enum(${arrayOf(...this.type.values)})`
|
|
32
|
-
: code `${this.reusables.imports.z}.literal(${literalOf(this.type.values[0])})`,
|
|
32
|
+
schema: code `${this.reusables.imports.z}.literal(${literalOf(this.value)})`,
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
|
-
get
|
|
36
|
-
return
|
|
37
|
-
}
|
|
38
|
-
get schema() {
|
|
39
|
-
return Maybe.empty();
|
|
35
|
+
get values() {
|
|
36
|
+
return [this.value];
|
|
40
37
|
}
|
|
41
|
-
// protected override get schemaInitializers(): readonly Code[] {
|
|
42
|
-
// return super.schemaInitializers.concat(code`type: ${this.type.schema}`);
|
|
43
|
-
// }
|
|
44
38
|
get constValue() {
|
|
45
|
-
return code `${literalOf(this.
|
|
39
|
+
return code `${literalOf(this.value)} as const`;
|
|
46
40
|
}
|
|
47
41
|
constructorInitializer() {
|
|
48
42
|
return Maybe.empty();
|
|
@@ -54,15 +48,11 @@ export class DiscriminantProperty extends AbstractProperty {
|
|
|
54
48
|
return Maybe.empty();
|
|
55
49
|
}
|
|
56
50
|
hashStatements({ variables, }) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
return [code `${variables.hasher}.update(${variables.value});`];
|
|
51
|
+
return [
|
|
52
|
+
code `if (${variables.value}) { ${variables.hasher}.update(${variables.value}); }`,
|
|
53
|
+
];
|
|
61
54
|
}
|
|
62
55
|
jsonUiSchemaElement({ variables, }) {
|
|
63
|
-
if (this.objectType.parentObjectTypes.length > 0) {
|
|
64
|
-
return Maybe.empty();
|
|
65
|
-
}
|
|
66
56
|
const scope = code `\`\${${variables.scopePrefix}}/properties/${this.jsonName}\``;
|
|
67
57
|
return Maybe.of(code `{ rule: { condition: { schema: { const: ${this.constValue} }, scope: ${scope} }, effect: "HIDE" }, scope: ${scope}, type: "Control" }`);
|
|
68
58
|
}
|
|
@@ -82,42 +72,25 @@ export class DiscriminantProperty extends AbstractProperty {
|
|
|
82
72
|
return Maybe.empty();
|
|
83
73
|
}
|
|
84
74
|
}
|
|
85
|
-
__decorate([
|
|
86
|
-
Memoize()
|
|
87
|
-
], DiscriminantProperty.prototype, "jsonName", null);
|
|
88
75
|
__decorate([
|
|
89
76
|
Memoize()
|
|
90
77
|
], DiscriminantProperty.prototype, "jsonSchema", null);
|
|
91
78
|
__decorate([
|
|
92
79
|
Memoize()
|
|
93
|
-
], DiscriminantProperty.prototype, "
|
|
80
|
+
], DiscriminantProperty.prototype, "values", null);
|
|
94
81
|
(function (DiscriminantProperty) {
|
|
95
82
|
class Type {
|
|
83
|
+
value;
|
|
96
84
|
filterFunction = code `nonextant`;
|
|
97
|
-
mutable;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
constructor({ descendantValues, mutable, ownValues, }) {
|
|
101
|
-
this.descendantValues = descendantValues;
|
|
102
|
-
this.mutable = mutable;
|
|
103
|
-
this.ownValues = ownValues;
|
|
85
|
+
mutable = false;
|
|
86
|
+
constructor(value) {
|
|
87
|
+
this.value = value;
|
|
104
88
|
}
|
|
105
89
|
get expression() {
|
|
106
|
-
return code `${this.
|
|
90
|
+
return code `${literalOf(this.value)}`;
|
|
107
91
|
}
|
|
108
92
|
get schema() {
|
|
109
93
|
throw new Error("should never be called");
|
|
110
|
-
// const initializers: Record<string, unknown> = {};
|
|
111
|
-
// if (this.descendantValues.length > 0) {
|
|
112
|
-
// initializers["descendantValues"] = this.descendantValues;
|
|
113
|
-
// }
|
|
114
|
-
// if (this.ownValues.length > 0) {
|
|
115
|
-
// initializers["ownValues"] = this.ownValues;
|
|
116
|
-
// }
|
|
117
|
-
// return code`${initializers}`;
|
|
118
|
-
}
|
|
119
|
-
get values() {
|
|
120
|
-
return this.ownValues.concat(this.descendantValues);
|
|
121
94
|
}
|
|
122
95
|
}
|
|
123
96
|
__decorate([
|
|
@@ -126,9 +99,6 @@ __decorate([
|
|
|
126
99
|
__decorate([
|
|
127
100
|
Memoize()
|
|
128
101
|
], Type.prototype, "schema", null);
|
|
129
|
-
__decorate([
|
|
130
|
-
Memoize()
|
|
131
|
-
], Type.prototype, "values", null);
|
|
132
102
|
DiscriminantProperty.Type = Type;
|
|
133
103
|
})(DiscriminantProperty || (DiscriminantProperty = {}));
|
|
134
104
|
//# sourceMappingURL=DiscriminantProperty.js.map
|
|
@@ -8,17 +8,23 @@ export declare class IdentifierProperty extends AbstractProperty<BlankNodeType |
|
|
|
8
8
|
readonly kind = "Identifier";
|
|
9
9
|
readonly mutable = false;
|
|
10
10
|
readonly recursive = false;
|
|
11
|
-
get constructorParameter(): Maybe<
|
|
11
|
+
get constructorParameter(): Maybe<{
|
|
12
|
+
hasQuestionToken: boolean;
|
|
13
|
+
signature: Code;
|
|
14
|
+
}>;
|
|
12
15
|
get declaration(): Code;
|
|
13
16
|
get filterProperty(): Maybe<{
|
|
14
17
|
name: string;
|
|
15
18
|
type: Code;
|
|
16
19
|
}>;
|
|
17
20
|
get graphqlField(): AbstractProperty<IdentifierType>["graphqlField"];
|
|
21
|
+
get hashFunctionParameter(): Code;
|
|
18
22
|
get jsonSchema(): AbstractProperty<IdentifierType>["jsonSchema"];
|
|
19
23
|
get jsonSignature(): Maybe<Code>;
|
|
20
|
-
|
|
24
|
+
get schema(): Maybe<Code>;
|
|
25
|
+
get schemaType(): Maybe<Code>;
|
|
21
26
|
private get typeExpression();
|
|
27
|
+
private get typeSchemaVariable();
|
|
22
28
|
accessExpression({ variables, }: Parameters<AbstractProperty<BlankNodeType | IdentifierType | IriType>["accessExpression"]>[0]): Code;
|
|
23
29
|
constructorInitializer({ variables, }: Parameters<AbstractProperty<IdentifierType>["constructorInitializer"]>[0]): Maybe<Code>;
|
|
24
30
|
fromJsonInitializer({ variables, }: Parameters<AbstractProperty<IdentifierType>["fromJsonInitializer"]>[0]): Maybe<Code>;
|
|
@@ -17,17 +17,20 @@ export class IdentifierProperty extends AbstractProperty {
|
|
|
17
17
|
recursive = false;
|
|
18
18
|
get constructorParameter() {
|
|
19
19
|
let hasQuestionToken = false;
|
|
20
|
-
const
|
|
20
|
+
const typeExpressions = [code `(() => ${this.typeExpression})`];
|
|
21
21
|
for (const type of this.type.conversionFunction.unsafeCoerce()
|
|
22
22
|
.sourceTypes) {
|
|
23
|
-
if (type.typeof === "undefined") {
|
|
23
|
+
if (type.jsType.typeof === "undefined") {
|
|
24
24
|
hasQuestionToken = true;
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
|
-
|
|
27
|
+
typeExpressions.push(code `${type.expression}`);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
return Maybe.of(
|
|
30
|
+
return Maybe.of({
|
|
31
|
+
hasQuestionToken,
|
|
32
|
+
signature: code `readonly ${this.name}${hasQuestionToken ? "?" : ""}: ${joinCode(typeExpressions, { on: "|" })};`,
|
|
33
|
+
});
|
|
31
34
|
}
|
|
32
35
|
get declaration() {
|
|
33
36
|
return code `readonly ${this.name}: () => ${this.typeExpression};`;
|
|
@@ -45,10 +48,13 @@ export class IdentifierProperty extends AbstractProperty {
|
|
|
45
48
|
args: Maybe.empty(),
|
|
46
49
|
description: Maybe.empty(),
|
|
47
50
|
name: `_${this.name.substring(syntheticNamePrefix.length)}`,
|
|
48
|
-
resolve: code `(source) => ${this.
|
|
49
|
-
type: this.type.graphqlType.
|
|
51
|
+
resolve: code `(source) => ${this.type.stringifyFunction}(${this.accessExpression({ variables: { object: code `source` } })})`,
|
|
52
|
+
type: this.type.graphqlType.expression,
|
|
50
53
|
});
|
|
51
54
|
}
|
|
55
|
+
get hashFunctionParameter() {
|
|
56
|
+
return code `readonly ${this.name}?: () => ${this.typeExpression};`;
|
|
57
|
+
}
|
|
52
58
|
get jsonSchema() {
|
|
53
59
|
let schema;
|
|
54
60
|
if (this.type.in_.length > 0 && this.type.kind === "Iri") {
|
|
@@ -70,14 +76,25 @@ export class IdentifierProperty extends AbstractProperty {
|
|
|
70
76
|
}
|
|
71
77
|
return Maybe.of(code `readonly "@id": string`);
|
|
72
78
|
}
|
|
73
|
-
get
|
|
74
|
-
return
|
|
79
|
+
get schema() {
|
|
80
|
+
return Maybe.of(code `{ ${joinCode([code `kind: ${literalOf(this.kind)}`, code `type: ${this.type.schema}`], { on: ", " })} }`);
|
|
81
|
+
}
|
|
82
|
+
get schemaType() {
|
|
83
|
+
return Maybe.of(code `{ ${joinCode([
|
|
84
|
+
code `readonly kind: ${literalOf(this.kind)}`,
|
|
85
|
+
code `readonly type: ${this.type.schemaType}`,
|
|
86
|
+
], { on: ", " })} }`);
|
|
75
87
|
}
|
|
76
88
|
get typeExpression() {
|
|
77
|
-
return this.objectType.
|
|
89
|
+
return this.objectType.name
|
|
78
90
|
.map((objectTypeAlias) => code `${objectTypeAlias}.Identifier`)
|
|
79
91
|
.orDefault(this.type.expression);
|
|
80
92
|
}
|
|
93
|
+
get typeSchemaVariable() {
|
|
94
|
+
return this.objectType.name
|
|
95
|
+
.map((name) => code `${name}.schema.properties.${this.name}.type`)
|
|
96
|
+
.orDefaultLazy(() => this.type.schema);
|
|
97
|
+
}
|
|
81
98
|
accessExpression({ variables, }) {
|
|
82
99
|
return code `${variables.object}.${this.name}()`;
|
|
83
100
|
}
|
|
@@ -106,16 +123,26 @@ export class IdentifierProperty extends AbstractProperty {
|
|
|
106
123
|
})}`);
|
|
107
124
|
}
|
|
108
125
|
fromRdfResourceValuesInitializer({ variables, }) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
126
|
+
const options = {
|
|
127
|
+
context: variables.context,
|
|
128
|
+
graph: variables.graph,
|
|
129
|
+
focusResource: variables.focusResource,
|
|
130
|
+
preferredLanguages: variables.preferredLanguages,
|
|
131
|
+
propertyPath: this.rdfjsTermExpression(rdf.subject),
|
|
132
|
+
schema: this.typeSchemaVariable,
|
|
133
|
+
};
|
|
134
|
+
if (this.configuration.features.has("ObjectSet")) {
|
|
135
|
+
options["objectSet"] = variables.objectSet;
|
|
136
|
+
}
|
|
137
|
+
return Maybe.of(code `${this.name}: ${this.type.fromRdfResourceValuesFunction}(
|
|
138
|
+
new ${this.reusables.imports.Resource}.Value(${{ dataFactory: this.reusables.imports.dataFactory, focusResource: variables.focusResource, propertyPath: this.rdfjsTermExpression(rdf.subject), term: code `${variables.focusResource}.identifier` }}).toValues(),
|
|
139
|
+
${options}
|
|
140
|
+
).chain(values => values.head())`);
|
|
116
141
|
}
|
|
117
142
|
hashStatements({ variables, }) {
|
|
118
|
-
return [
|
|
143
|
+
return [
|
|
144
|
+
code `if (${variables.value}) { ${variables.hasher}.update(${variables.value}().value); }`,
|
|
145
|
+
];
|
|
119
146
|
}
|
|
120
147
|
jsonUiSchemaElement({ variables, }) {
|
|
121
148
|
return Maybe.of(code `{ label: "Identifier", scope: \`\${${variables.scopePrefix}}/properties/@id\`, type: "Control" }`);
|
|
@@ -131,9 +158,7 @@ export class IdentifierProperty extends AbstractProperty {
|
|
|
131
158
|
ignoreRdfType: true, // Unused
|
|
132
159
|
preferredLanguages: variables.preferredLanguages,
|
|
133
160
|
propertyPatterns: code `[]`,
|
|
134
|
-
schema: this.
|
|
135
|
-
.map((objectTypeAlias) => code `${objectTypeAlias}.schema.properties.${this.name}.type`)
|
|
136
|
-
.orDefault(this.type.schema),
|
|
161
|
+
schema: this.typeSchemaVariable,
|
|
137
162
|
valueVariable: variables.focusIdentifier,
|
|
138
163
|
variablePrefix: variables.variablePrefix, // Unused
|
|
139
164
|
}})`,
|
|
@@ -176,6 +201,9 @@ __decorate([
|
|
|
176
201
|
__decorate([
|
|
177
202
|
Memoize()
|
|
178
203
|
], IdentifierProperty.prototype, "graphqlField", null);
|
|
204
|
+
__decorate([
|
|
205
|
+
Memoize()
|
|
206
|
+
], IdentifierProperty.prototype, "hashFunctionParameter", null);
|
|
179
207
|
__decorate([
|
|
180
208
|
Memoize()
|
|
181
209
|
], IdentifierProperty.prototype, "jsonSchema", null);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { invariant } from "ts-invariant";
|
|
2
|
+
import { code, joinCode, literalOf } from "../ts-poet-wrapper.js";
|
|
3
|
+
export function ObjectType_createFunctionExpression() {
|
|
4
|
+
const parametersVariable = code `parameters${this.constructorParameters.hasQuestionToken ? "?" : ""}`;
|
|
5
|
+
const propertyInitializers = this.properties.flatMap((property) => property
|
|
6
|
+
.constructorInitializer({
|
|
7
|
+
variables: { parameters: parametersVariable },
|
|
8
|
+
})
|
|
9
|
+
.toList());
|
|
10
|
+
invariant(propertyInitializers.length > 0);
|
|
11
|
+
let returnExpression = code `${this.reusables.snippets.sequenceRecord}({ ${joinCode(propertyInitializers, { on: "," })} })`;
|
|
12
|
+
this.discriminantProperty.ifJust((discriminantProperty) => {
|
|
13
|
+
returnExpression = code `${returnExpression}.map(properties => ({ ...properties, ${discriminantProperty.name}: ${literalOf(discriminantProperty.value)} as const }))`;
|
|
14
|
+
});
|
|
15
|
+
const monkeyPatchMethods = {};
|
|
16
|
+
if (this.configuration.features.has("Object.toJson")) {
|
|
17
|
+
monkeyPatchMethods["toJson"] = this.toJsonFunction;
|
|
18
|
+
}
|
|
19
|
+
if (this.configuration.features.has("Object.toString")) {
|
|
20
|
+
monkeyPatchMethods[`${this.configuration.syntheticNamePrefix}toString`] =
|
|
21
|
+
this.toStringFunction;
|
|
22
|
+
}
|
|
23
|
+
if (Object.keys(monkeyPatchMethods).length > 0) {
|
|
24
|
+
returnExpression = code `${returnExpression}.map(object => ${this.reusables.snippets.monkeyPatchObject}(object, ${monkeyPatchMethods}))`;
|
|
25
|
+
}
|
|
26
|
+
return code `((parameters${this.name.map(() => code ``).orDefaultLazy(() => code `: ${this.constructorParameters.type.expression}`)}) => ${returnExpression})`;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=ObjectType_createFunctionExpression.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { code, joinCode } from "../ts-poet-wrapper.js";
|
|
2
|
+
export function ObjectType_equalsFunctionExpression() {
|
|
3
|
+
const chain = [];
|
|
4
|
+
for (const property of this.properties) {
|
|
5
|
+
if (property.kind === "Discriminant") {
|
|
6
|
+
continue;
|
|
7
|
+
}
|
|
8
|
+
chain.push(code `(${property.type.equalsFunction})(${property.accessExpression({ variables: { object: code `left` } })}, ${property.accessExpression({ variables: { object: code `right` } })}).mapLeft(propertyValuesUnequal => ({ left, right, propertyName: "${property.name}", propertyValuesUnequal, type: "property" as const }))`);
|
|
9
|
+
}
|
|
10
|
+
return code `\
|
|
11
|
+
((left, right) =>
|
|
12
|
+
${joinCode(chain.map((chainPart, chainPartI) => chainPartI === 0 ? chainPart : code `chain(() => ${chainPart})`), { on: "." })}
|
|
13
|
+
)`;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ObjectType_equalsFunctionExpression.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { code, joinCode } from "../ts-poet-wrapper.js";
|
|
2
|
+
export function ObjectType_filterFunctionExpression() {
|
|
3
|
+
const statements = [];
|
|
4
|
+
for (const property of this.properties) {
|
|
5
|
+
property.filterProperty.ifJust(({ name }) => {
|
|
6
|
+
statements.push(code `if (filter.${name} !== undefined && !${property.type.filterFunction}(filter.${name}, ${property.accessExpression({ variables: { object: code `value` } })})) { return false; }`);
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
statements.push(code `return true;`);
|
|
10
|
+
return code `((filter, value) => { ${joinCode(statements)} })`;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=ObjectType_filterFunctionExpression.js.map
|